Cuprins:

UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu: 7 pași
UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu: 7 pași

Video: UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu: 7 pași

Video: UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu: 7 pași
Video: Part 3 - Babbitt Audiobook by Sinclair Lewis (Chs 10-15) 2024, Iulie
Anonim
UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu
UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu
UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu
UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu

Scopul acestei construcții este de a învăța despre conectarea Arduino cu Node-red și o bază de date, astfel încât să puteți înregistra date și, de asemenea, să le colectați pentru o utilizare ulterioară.

Pentru această construcție folosesc un sistem simplu de alarmă arduino care scoate 5 numere de date, fiecare separat cu o virgulă.

Nu este necesar să aveți acea cantitate exactă de date, iar programul ar putea fi orice.

Partea importantă este că datele sunt separate prin virgule, așa cum se vede în această captură de ecran.

Ieșirea ar putea, de exemplu, să arate astfel: „324, 0, 0, 1, 1”

(programarea terminată și instrucțiunile pentru crearea arduino sunt legate în partea de jos a acestui tutorial)

Pasul 1: Noțiuni introductive despre Node-red

Noțiuni introductive despre Node-red
Noțiuni introductive despre Node-red

Pentru acest tutorial presupunem că ați instalat deja Node-red, dar există câteva palete suplimentare care sunt utilizate pentru acest proiect de care avem nevoie pentru ca acesta să funcționeze

Găsiți butonul „Gestionați paleta” și instalați următoarele palete.

  • nod-roșu-tablou de bord
  • nod-roșu-nod-mysql
  • nod-roșu-nod-arduino
  • nod-roșu-nod-serialport

Ar trebui să afișeze câteva palete noi pe partea laterală a meniului butonului roșu nod.

Pasul 2: Împărțirea datelor în roșu nod

Împărțirea datelor în roșu nod
Împărțirea datelor în roșu nod

Acum, când Node-red este gata de pornire, trebuie să începem împărțind datele noastre în bucăți separate.

Acesta este motivul pentru care ne-am asigurat că le separăm cu virgule în interiorul codului Arduino.

Mai întâi să începem prin a pune jos nodul de intrare Arduino, aflat pe panoul lateral stâng.

Trebuie să vă asigurați că are portul serial corect (al meu folosește COM4) și rata Baud (în programul meu folosesc 9600 baud rate)

Dacă este configurat corect, ar trebui să spună că este conectat.

Apoi creăm un bloc funcțional Javascript și îl conectăm după nodul de intrare Arduino. Acest bloc ne permite să programăm în Javascript și aici scriem un cod care ne poate împărți datele pentru fiecare virgulă.

În acest bloc funcțional, am împărțit cele 5 date folosind următorul cod:

var m1 = {topic: "light1", sarcină utilă: msg.payload.split (",") [0]}; var m2 = {topic: "light2", sarcină utilă: msg.payload.split (",") [1]}; var m3 = {topic: "light3", sarcină utilă: msg.payload.split (",") [2]}; var m4 = {topic: "millis", sarcină utilă: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", sarcină utilă: msg.payload.split (",") [4]}; retur [m1, m2, m3, m4, m5];

(modificați codul după cum este necesar)

Asigurați-vă că nodul este setat la 5 ieșiri (sau echivalentul dvs.)

După cum se vede în captura de ecran, avem acum 5 ieșiri pe care le conectăm fiecare la un nod de depanare și un nod de tablou de bord text. Acest lucru va fi util atunci când trebuie să-l vedem în interfața de utilizare.

Pasul 3: Baza de date cu Wampserver

Baza de date cu Wampserver
Baza de date cu Wampserver

Pentru ca baza noastră de date să funcționeze, trebuie să aveți instalat Wampserver. După ce este instalat și se afișează ca o pictogramă verde (după ce ați început toate serviciile), ar trebui să deschideți „phpMyAdmin” care ar trebui să vă aducă la un ecran de conectare. l-ați schimbat anterior, pur și simplu introduceți „rădăcină” în numele de utilizator și autentificare.

Apăsați butonul phpmyadmin de sub instrumente în bara din stânga și ar trebui să deschidă meniul bazei de date, care arată cam așa cum se arată în imaginea de mai sus.

Creați o nouă bază de date și denumiți-o ceva legat de proiectul dvs., al meu se numește "alarmsystem" (aceste nume vor fi sensibile la majuscule)

Sub acea bază de date, creați un tabel nou și denumiți-l, al meu se numește „alarmdata”

vă va întreba dacă doriți să utilizați „latin1_sw Swedish_ci” și o păstrăm așa.

Acum creați 6 tabele (cu 1 mai mult decât datele pe care le avem)

Primul tabel trebuie să utilizeze tipul de date „text lung”

iar restul setului de date folosește „mediumtext”

Asigurați-vă că le denumiți. (primul set de date ar trebui să fie numit „ora”

Pasul 4: Baza de date

Bază de date
Bază de date

Setul de date Wampserver ar trebui să arate cam așa.

(dar fără datele reale, deoarece nu am ajuns încă la asta)

Pasul 5: roșu nod la Wampserver

Red-nod la Wampserver
Red-nod la Wampserver

Acum vrem ca datele pe care le furnizăm din arduino să ajungă la Wampserver.

Începeți prin crearea unui alt bloc funcțional Javascript și conectați-l la nodul nostru de intrare arduino.

În acest bloc de scripturi, ne-am împărțit din nou datele, dar le inserăm și în baza noastră de date.

var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = date [1]; var Alarmă = date [2]; var Millis = date [3]; var IsActive = date [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALORI ('" + New Date (). toISOString (). felie (0, 19).replace (' T ',' ') + "', '" + Green1 + "', '" + Green2 + "', '" + Alarma + "', '" + Millis + "', '" + IsActive + "')"; msg.topic = afară; returnează msg;

Observați că am introdus „INSERT INTO alarmsystem.alarmdata”, acesta este numele pe care l-am dat baza de date și tabelul nostru, asigurați-vă că scrieți exact numele pe care l-ați dat în baza de date.

Acum conectați blocul Javascript la un nod de depanare și, de asemenea, un nod "mysql" găsit sub paleta de stocare din partea stângă.

sub blocul mysql îl denumiți la fel ca baza de date "alarmsystem"

schimbați utilizatorul în „rădăcină” (numele pe care l-am folosit pentru a ne conecta la serverul nostru)

gazda, portul și baza de date ar trebui completate deja cu:

Gazdă: 127.0.0.1

Port: 3306

Baza de date: sistem de alarmă

Dacă totul este corect, ar trebui să fie conectat după ce implementați modificările.

De asemenea, ar trebui să puteți vedea că baza de date acum vă înregistrează datele direct de pe Arduino.

Pasul 6: Utilizarea datelor de la Wampserver la Node-red

Utilizarea datelor de la Wampserver la roșu-nod
Utilizarea datelor de la Wampserver la roșu-nod
Utilizarea datelor de la Wampserver la roșu-nod
Utilizarea datelor de la Wampserver la roșu-nod

Pentru ultima treaptă vrem să vedem dacă putem prelua datele pe care le-am salvat și le putem pune din nou în roșu Node și, sperăm, să le afișăm.

Începeți prin plasarea unui nod „injectat”

Sub subiectul din acest nod punem codul: SELECT * FROM alarmsystem.alarmdata

Aceasta va putea găsi baza noastră de date atunci când o vom apăsa.

Conectați nodul de injectare la un nou nod "mysql" configurat exact ca cel pe care l-am făcut în pasul anterior.

Conectați nodul mysql la un nod de depanare și la un nod șablon aflat sub tabloul de bord.

Nodul șablon va fi tabelul nostru pe care îl putem actualiza pentru a afișa datele din baza de date pe măsură ce sunt produse.

Introduceți codul afișat în captura de ecran de mai sus (modificați după cum este necesar) și acum ar trebui să afișeze un tabel de date în interfața noastră de utilizare roșu nod.

De asemenea, putem adăuga un buton de bord pentru a actualiza tabelul din interfața de utilizare în sine.

Începeți prin crearea unui nod de buton.

conectați nodul butonului la un bloc funcțional Javascript.

în blocul funcțional inserăm următorul cod.

msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; returnează msg;

(Green1 fiind prima variabilă de date din tabel)

acest bloc funcțional trebuie apoi conectat la intrarea nodului nostru mysql pe care l-am realizat anterior în acest pas.

Pasul 7: Finalizarea

Finalizând
Finalizând

Acum, interfața noastră de utilizare ar trebui să includă o actualizare live a datelor noastre și un tabel cu date de la serverul nostru însuși.

Aceasta înseamnă că am creat o conexiune între Arduino, un program bazat pe interfața de utilizare și o bază de date.

Dacă sunteți interesat de modul în care funcționează sistemul meu de alarmă Arduino, am adăugat un document care explică modul în care este programat și configurat.

Precum și un export complet al programării roșu nod.

Recomandat: