30 aprilie 2021

T08:Transmitere date (mqtt) : Controller IoT LK3 -> Node Red->grafana.com

 *link pentru configurare grafana :

 https://simonhearne.com/2020/pi-influx-grafana/

http://pdacontrolen.com/complete-installation-grafana-dashboard-in-raspberry-pi-3-b-b/


-pe platforma IoT GRAFANA adaugati o sursa de date catre baza de date influxDB creata in postarea anterioara







-creati un dashboard

-adaugati un panel

-in interogare selectati tabelul "pm10" (creat in postarea anterioara)





T07:Transmitere date(insert) - Node Red <-> baza de date influxDB

 *instalati in Node Red nodul : node-red-contrib-influxdb

*instalati influxDB :

https://simonhearne.com/2020/pi-influx-grafana/

https://pimylifeup.com/raspberry-pi-influxdb/


 1.CONFIGURARE  influxDB

-deschidem un flow in Node Red

-adugati un obiect "influxdb out" si creati o baza de date (ex : senzori)

-va conectati la baza de date "senzori"








-adaugam date in tabelul "pm10"








 2.adaugare/inserare date in influxDB

-adaugam in flow urmatoarele obiecte : "mqtt in" , "change" , "function" si "debug"








-datele (protocol mqtt) sunt primite de la un Lan Controller v3.7 care are conectat pe portul I2C un senzor de praf SPS30

-cu obiectul "change" transform mesajul text in numar

-editam obiectul "function":








-apasati "deploy" si observati in "debug" daca primiti date de la senzor


 3.verificare date in influxDB

-pentru a selecta date din baza de date editati obiectul "function" -SELECT-:







-pentru a sterge date din baza de date editati obiectul "function" -DELETE-:







-apasati "timestamp" si verificati in "debug" datele din baza de date influxDB



29 aprilie 2021

T06:Transmitere date (mqtt) : Controller IoT LK3 -> Node Red->thingspeak.com

*link pentru configurare thingspeak https://thingspeak.com/

1.CONFIGURARE THINGSPEAK

-creati un cont pe platforma IoT 

-mergeti la sectiune "channel setting"

-in acest test voi folosi canalul nr. 4 care va primi date de la un senzor de CO2








-mergeti in sectiunea "api keys" si notati cheia "write api key"

-mergeti in sectiunea "my profile" si notati cheia "mqtt apy key"

 2.conexiunea mqtt

-pentru acest test am folosit un senzor de CO2 model  MH-16 conectat la portul SERIAL al unui controler IoT - Lan Controller v3.7

-transmiterea datelor trebuie sa se faca la un interval de sub 15 secunde








-in Node Red adaugam un flow si  obiectele :  "mqtt in"  , "function" , "mqtt out" si "debug"








-editam obiectul "function" - transform mesaj text in numar








-configuram obiectul "mqtt out"

-editam topicul astfel - in loc de "1354216" completati numarul dvs de canal iar in loc de S..........5 completati "write api key"








-la sectiunea "security" completati orice la "username" iar la "password" completati "mqtt apy key"

-trebuie sa primiti mesaje in "debug"

 3.vizualizarea graficului din THINGSPEAK

-poate dura cateva minute pana apar primele valori pe grafic

-mergeti in sectiune "private view"




T05:Dashboard(Node Red) cu date preluate din SQLite

-adugati la tab ul "BROKER" inca un grup (ex:GENERARE GRAFIC)

-adaugati un obiect tip "button"








-adaugati un obiect tip "function" si editati :

var newMsg = {

    "topic": "select * from senzor_pow_A;"

                        }

return newMsg;


-adaugati un obiect tip "sqlite"

-adaugati un obiect tip "function" si editati :

 var series = ["POW-A"];  

 var labels = ["VALORI"];  

 var data = "[[";  

   

 for (var i=0; i < msg.payload.length; i++) {  

   data += '{ "x":' + msg.payload[i].timp + ', "y":' + msg.payload[i].valoare + '}';  

   if (i < (msg.payload.length - 1)) {  

     data += ","  

   } else {  

     data += "]]"  

   }  

 }  

 var jsondata = JSON.parse(data);  

 msg.payload = [{"series": series, "data": jsondata, "labels": labels}];  

  return msg;


-adaugati un obiect tip "chart"








-apasati "deploy"

-deschideti dashboard ul si apsati butonul "GENERARE GRAFIC"



T04:Transmitere date(insert) - Node Red <-> baza de date SQLite

*instalati in Node Red nodul : node-red-node-sqlite

*instalati SQLLite :  https://www.sqlite.org/download.html


 1.CONFIGURARE  SQLITE

-adugati un obiect "sqlite" si creati o baza de date (ex : senzori)







 2.creare tabel in baza de date

-in baza de date sqlite creati un tabel ("senzor_pow_A") cu structura :

CREATE TABLE `senzor_pow_A` (

`an` INTEGER,

`luna` INTEGER,

`zi` INTEGER,

`ora` INTEGER,

`minut` INTEGER,

`secunda` INTEGER,

`timp` INTEGER,

`tip` TEXT,

`valoare` REAL

);


 3.adaugare/inserare date in tabel

-adugati un obiect functie si editati la "function" :

var newMsg = {

"topic": "INSERT INTO senzor_pow_A VALUES (strftime('%Y','now'),strftime('%m','now'),strftime('%d','now'),strftime('%H','now'),strftime('%M','now'),strftime('%S','now'),(strftime('%s%f','now'))*10, 'pow', " +msg.payload + ")"

                           }

return newMsg;

 4.conexiunea mqtt

-pentru acest test am folosit un senzor de curent SCT-013-000 conectat la portul analog inpa2 al unui controler IoT - Lan Controller v3.5










-in partea de "debug" al Node Red o sa va apara mesajele de inserare date in tabel











T03:Tablou de bord (dashboard) pe platforma Node Red

instalati in Node Red nodul : node-red-dashboard

 -folosim conexiunea mqtt din postarea precedenta

-adaugam un obiect "gauge" si un obiect "chart"








-apasam butonul "dashboard" si adaugam un "tab" (ex :BLOG)








-dupa adaugarea tab ului BLOG adaugam la acest tab un grup (ex: TEMPERATURA)








-dupa adaugarea tab -ului si grupului revenim la configurarea obiectelor "gauge" si "chart"














-apasati butonul "deploy"

-deschideti dashboard




28 aprilie 2021

T02:Transmitere date (mqtt) : Controller IoT LK3 -> Node Red

*link pentru instalarea Node RED : https://nodered.org/docs/getting-started/

*link pentru instalare server/broker Mosquitto : https://mosquitto.org/download/

*https://tinycontrol.pl/en/lan-controller-35/docs/

1.CONFIGURARE PROTOCOL MQTT








Se acceseaza interfata web a controlerului IoT - Lan Controller v3.7

Setari in fereastra MQTT :

-server address : adresa serverului(broker) MQTT

-port:1883 (port server(broker) MQTT

-login/password : user si parola de access la server MQTT

-topic prefix : editati topicul pentru comunicatia MQTT ( ex: lk3/d02)

-sending period : perioada la care se trasnmite valorile senzorilor(secunde)(ex : 30 secunde)






-selectati senzorii care vor transmite date prin protocolul MQTT

-in acest test voi folosi senzorul AM2320 (componenta : temperatura)

-dupa ce conectati senzorul AM2320 la controlerul IoT apasati butonul T1(T9) din fereastra 

-dupa aceste setari controlerul IoT va PUBLICA valorile(temperatura) obtinute de la senzorul AM2320  la fiecare 30 de secunde


 2.CONFIGURARE NODE-RED

-intr un FLOW din NODE-RED adaugati un obiect "mqtt-in" si un obiect "debug"








-deschideti obiectul "mqtt-in" si completati la topic : lk3/d02/t1 (abonare la topicul "lk3/d02"(prefix) publicat de controlerul IoT + "t1" care este topicul pentru senzorul(temperatura) AM2320 )








-configurati conexiunea catre server(broker) mqtt

-la server completati adresa IP  (server mqtt)








-apasati butonul "deploy"

-apasati butonul "debug messages" si o sa obtineti valorile transmise de controlerul IoT