ААААААА! Не смогу пройти мимо этой статьи habrahabr.ru/company/sap/blog/326526/ это же тот самый SAP lurkmore.to/SAP (осторожно МИДовская лексика)(можете смеяться читая, но там каждое слово правда). И вот никак не ждешь от SAP ничего бесплатного и работающего(только 30 дней) и вот на тебе, это как прям купить брелок Ferrari или кепку Porsche!!! Сразу скажу что trial(если его делать как по ссылке в хабрахабр) решение не рабочее, база останавливается каждые 12 часов, запуск в ручную, хочешь чтобы не останавливать 400 БАКСОВ в месяц!
В статье все хорошо разжованно, как всегда увидел возможность сделать все за 3 копейки и не устоял. Arduino Yun у меня нет, да и от куда она даже у китайцев стоит пол мрот и что?! вешать её на каждый датчик!!! Да и это решение вроде как специально для IoT значит всем подойдет!
Поехали по инструкции «Для того, чтобы зарегистрироваться в SAP Cloud Platform, нужно пройти по ссылке:
https://hcp.sap.com » и попробуйте не заглядывая в инструкцию зарегиться (да это уже началься тот самый SAP)
Идем дальше активируем Internte of Things модуль
идем на Home -> Services -> и тут крутим до Internte of Things
Тут нажмем Enable после того как она станет зеленой нажмем Go to services
Следующим появится окно где много чего
Жмем на Message Type и делам там как на картинке
Жмем Devices Type и делаем как на картинке
Жмем (есть нюанс) Device и делаем как на картинке
После нажатия Create появится токен который надо записать, если этот токен потеряется его не где смотреть, его надо будет генерировать занова
И еще нам нужны будут два ID из Message Type и Devices.
Далее надо нажать Deploy Message и там нажать Deploy
Протестировать у меня не получилось раздел Send and view messages,… пока не работает, чтобы он заработал надо пойти назад, я обычно жму на свой ID сверху от туда можно двигаться дальше
p1942561135trial > Java Applications > iotmms > Security > Roles
И добиваемся как на этой картине Assign и тут ручками, выбора не предлогается, вписывваем свой ID обязательно без слова trial. Это нам нужно было чтобы заработал раздел Send and view messages,….
Уже можно передавать в САП Облако данныеееее, но мне понадобиться следующее:
Метео станция на Arduino Uno которая просто генерирует сайт со строкой данных, вот по это статье Мониторим по сети — свет, температуру, движение с Arduino Uno R3 CH340G и строим графики!
и
Компьютер на Linux для сбора и передачи данных, подойдет любой но у меня вот этот, многострадальный Обзор-тестирование[пришлось еще одну купить] Orange Pi Zero 512Mb с коробкой и платой расширения!
И так сбор статистики на Orange Pi Zero
Ставим консольный браузер
sudo apt-get install lynx
Читаем сайт который нам генерирует Arduino с данными датчиков
lynx -source 192.168.1.177
Делаем скрипт, беру тот что у меня работал в FreeBSD только проверяю пути команд, . Работает не совсем так как на FreeBSD появляется сообщение Looking for не отключаемое, режу его awk. И сразу вставляю туда команду писать в облако. Скрипт сначала пишет данные в файл потом отдельно в облако (немного коряво потому что перед этим читаю файл).
vi andmon.sh
вставляю
#!/bin/bash d=`/usr/bin/lynx -source -connect_timeout=10 192.168.1.177 | awk 'NR==2'` if [ -z "$d" ] then t=`/bin/date +%Y"."%m"."%d"-"%H":"%M" "` data=`/bin/cat /root/mon.log | /usr/bin/tail -n -1 | /usr/bin/awk '{print $2, $3,$4,$5,$6}'` /bin/echo "${t}${data}" >> /root/mon.log exit elif ! [ -z "$d" ] then t=`/bin/date +%Y"."%m"."%d"-"%H":"%M" "` /bin/echo "${t}${d}" >> /root/mon.log temp=`/bin/cat /root/mon.log | /usr/bin/tail -n -1 | /usr/bin/awk '{print $2}'` humd=`/bin/cat /root/mon.log | /usr/bin/tail -n -1 | /usr/bin/awk '{print $3}'` leig=`/bin/cat /root/mon.log | /usr/bin/tail -n -1 | /usr/bin/awk '{print $4}'` /usr/bin/curl --header 'Authorization: Bearer b9f746c1edd6c319e0b5e201a9db6' --header 'Content-Type:application/json;charset=UTF-8' -k -X POST https://iotmmsp1942561135trial.hanatrial.ondemand.com/com.sap.iotservices.mms/v1/api/http/data/024c4240-c405-4431-9290-736f92098896 --data '{"mode":"async","messageType":"633509c4e7ccc5b082d4","messages":[{"Temperature":'$temp', "Light":'$leig', "Humidity":'$humd'}]}' fi
Вот это надо заменить на ваши данные, смотрим в p1942561135trial > Services > Internet of Things — Overview > Go to services полезная ссылка надо её выучить наизусть
b9f746c1edd6c319e0b5e201a9db6 — секретный токен который показывают один раз при генерации в Device
024c4240-c405-4431-9290-736f92098896 — это ID в Devices
633509c4e7ccc5b082d4 — это ID в Message Types
Делаем скрипт исполняемым
chmod +x andmon.sh
И засовываем в крон
crontab -e
срочку
*/1 * * * * /root/andmon.sh
Это все теперь ждем пару дней и идем в облако смотреть. Просто 10 раз нажимаем мышкой по следующим пунктам меню, кстати меня всегда удивляло как SAP удалось сделать тормозящее текстовое меню, это не только тут и везде у них!
p1942561135trial > Services > Internet of Things — Overview > Go to services > Send and view messages, or perform other acctions > Display stored messages > нажимаю строку где упомянут ID Message Types(у меня 633509c4e7ccc5b082d4) > значок с графиками
Настройки по-умолчнаию ничего не позволяют увидеть, на настройки по-умолчанию сбрасывает каждый раз по закрытию страницы. Тут просто еще 5-10 щелчков мыши и мы сразу увидим график
И вот тут меня постигло главное разочарование, нет не то когда я узнал что всего 30 дней будет работать, нет не то когда я выучил наизусть беспорядочное и хаотичное меню(у них все так чесна чесна) а вот сейчас все ради чего это делалось — этот график показывает только последние 500 значений и все ничего не сделать!!!!
Но статья писалась не для практического использования а для знакомства с SAP о котором все так много говорят, опыт использвания SAP Cloud Platform можно экстраполировать на другие SAP продукты! Но вы не отчаивайтесь покупайте SAP облако за 400 бакс в месяц и комманду разработчиков и через пол года у вас будут такие же красивые графики, какие может сделать с gnuplot любой школьник за час!
Добавить комментарий