How sunny is the Blue? (partea a II-a)

Dacă în prima parte a acestui proiect am explicat cum construim un dispozitiv electronic ce măsoară câțiva parametrii asociați cu radiația solară (intensitate luminoasă, index radiații ultraviolete, temperatură ambientală generată) și cum configurăm serviciul Cloud IBM BlueMixTM pentru a putea conecta dispozitivul la acest serviciu, în cadrul părții a doua vom vedea ce alte posibilități interesante oferă platforma cloud.

Configurarea serviciului IBM Watson IoT Platform – Boards and Cards

Cea mai la îndemână facilitate pusă la dispoziție de serviciul IoT IBM Watson este realizarea unui panou de control (dashboard sau board) în care pot fi urmărite în timp real toate informațiile transmise de dispozitivul nostru IoT. La crearea serviciului panoul vine preconfigurat cu 3 secțiuni de supraveghere (boards): Usage Overview – secțiune în care pot fi vizualizate informații legate de cantitatea de informații transferată de dispozitivul IoT către platforma Watson; Device-Centric Analytics – secțiune în care se pot consulta informații legate de proprietățile de bază ale dispozitivului și un istoric al alarmelor generate de aceste (vom vedea imediat într-o secțiune următoare cum definim alarme asociate dispozitivului); Rule-Centric Analytics – similar cu precedenta secțiune dar cu un grad de detaliere mai mare asupra evenimentelor generate de dispozitiv.

2

Bineînțeles, putem crea noi secțiuni de supraveghere (+ Create New Board) în care putem defini afișaje personalizate (+ Add New Card). Pentru dispozitivul nostru vom defini o secțiune pe care o vom denumi DATA și în care vom adăuga 3 afișaje (Cards) – câte unul pentru fiecare dintre parametrii transmiși de dispozitivul nostru: un indicator de tip gauge pentru indexul UV, un  indicator de tip bar chart pentru intensitatea luminoasă și un indicator de tip grafic pentru temperatura ambientală.

3

4

Configurarea unui astfel de afișaj este foarte simplă, trebuie indicate: dispozitivul (în cazul nostru WICED), parametrul dorit pentru afișare (în captura de mai jos Temperature) și tipul de date al parametrului, tipul de afișaj și schema de culoare.

5

Aceste afișaje nu arată istoricul de evoluție al unui parametru ci doar valorile măsurate în timp real. În acest moment platforma nu stochează în nici un fel informațiile transmise de dispozitivul nostru ci doar este capabilă să le afișeze pe măsură ce sunt recepționate.

Configurarea serviciului IBM Watson IoT Platform – Data Storage

Dacă dorim ca informațiile transmise de dispozitivul nostru să fie stocate pentru a putea fi prelucrate ulterior (statistic sau în scopul afișării pe anumite perioade de timp) trebuie să activăm extensia Historical Data Storage. Acest lucru este posibil accesând secțiunea Extension / Historical Data Storage.

6

Această extensie va utiliza baza de date implicită a aplicației create în platforma cloud în lecția anterioară. Datele salvate nu sunt utile direct platformei IBM Watson IoT dar pot fi utilizate de către o aplicație cloud asociată.

7

 

Configurarea serviciului IBM Watson IoT Platform – Definirea de alarme

O altă facilitate utilă oferită de platforma IBM Watson IoT este definirea de alarme asociate datelor recepționate de serviciul IoT. Acestea se definesc în secțiunea Rules. Există două tipuri de alarme Edge Rule și Cloud Rule. Edge Rule este un tip de alarmă ce permite generarea de evenimente către alte aplicații din cloud – un fel de preprocesor de alarme – nu dă naștere la o alarmă propriu-zisă ci trimite mai departe evenimentul. Cloud Rule permite generarea de evenimente imediate: trimiterea unui email, trimiterea evenimentului către IFTTT sau către o aplicație Node-RED. Pentru exemplificare vom defini o alertă de tip Cloud Rule ce va trimite un email de fiecare dată când parametrul temperatură va depăși valoarea de 35oC.

8

9

Astfel, de fiecare când temperatura va depăși valoarea dată vom primi un email de tipul:

10

 

Configurarea unei aplicații Node-RED – postarea de mesaje pe Twitter

În momentul în care am creat aplicația inițială (sundetector – în lecția anterioară), pe lângă baza de date asociată și activarea serviciului Watson, a fost generată și o aplicație implicită Node-RED cu domeniul asociat numeaplicatie.mybluemix.net (în cazul nostru sundetectori.mybluemix.net).

Node-RED este un instrument de programare vizuală destinat sistemelor IoT. Pentru mai multe informații legate de Node-RED puteți consulta și:

Node-RED

https://nodered.org/

What is Node-RED? How can it be used for the Internet of Things?

http://heidloff.net/article/21.01.2015081841NHEAL8.htm

Node RED Programming Guide – Programming the IoT

http://noderedguide.com/

11

Accesând domeniul asociat aplicației Node-RED vom putea utiliza editorul ce ne va permite dezvoltarea aplicației propriu-zise. Aplicația Node-RED poate fi de tip web și atunci domeniul asociat aplicației se va transforma într-un portal web conectat la sistemul nostru IoT. În cazul exemplului de față vom realiza o aplicație ce va prelua datele primite de serviciul Watson și va transmite periodic valoare indexului UV ca postare pe Twitter.

12

Vom șterge toate diagramele predefinite – aplicația conține un flux Node-RED predefinit (o mică aplicație demonstrativă) – și vom realiza următoarea aplicație:

13

în care vom utiliza următoarele următoarele blocuri funcționale:

14

Nod de tip ibmiot ce ne va furniza datele provenite de la serviciul Watson. Trebuie configurat cu tipul și numele dispozitivului IoT.

15

 

16

Nod de tip function ce va extrage valoarea indexului UV din mesajul json transmis de dispozitivul IoT.

17

 

18

Nod de tip rbe ce va lăsa să treacă mai departe fluxul de informații doar dacă indexul UV se modifică – facem acest lucru pentru a nu posta mesaje duplicat pe Twitter.

19

 

20

Nod de tip function ce va contrui textul postării pe Twitter.

21

 

22

Nod de ieșire ce va trasmite datele către Twitter. Trebuie configurat cu credențialele de acces ale unui cont valid Twitter.

23

Nod de ieșire pentru depanarea aplicației. Va afișa în fereastra de debug ieșirile nodurilor conectate la el. Nu este esențial în funcționarea aplicației.

După construirea aplicației și după ce vom activa (Deploy) aplicația vom putea deja să vedem pe Twitter primele postări.

24

Facilitățile platformei Cloud IBM BlueMixTM prezentate în acest proiect acoperă într-o foarte mică măsură funcționalitățile acesteia. Platforma pune la dispoziție limbaje multiple de programare pentru dezvoltarea de aplicații cloud, diverse tipuri de baze de date și o multitudine de servicii conexe extrem de interesante (machine learning, analiză de imagini, analiză lexicală ș.a.m.d.). Sperăm doar să vă fi trezit interesul și în acest sens dăm ca exemplu și:

IBM Bluemix, IoT, and Star Wars Droids

https://youtu.be/_pMG6TL04Q0

A sample project to control BB-8 Droid using Bluemix IoTF and MQTT

https://github.com/shamimshossain/bb8-bluemix

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s