Cuprins:
- Pasul 1: Noțiuni introductive despre Node-red
- Pasul 2: Împărțirea datelor în roșu nod
- Pasul 3: Baza de date cu Wampserver
- Pasul 4: Baza de date
- Pasul 5: roșu nod la Wampserver
- Pasul 6: Utilizarea datelor de la Wampserver la Node-red
- Pasul 7: Finalizarea
Video: UCL-IIOT - Sistem de alarmă cu bază de date și nod roșu: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
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
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
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
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
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
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:
Crearea de alerte prin e-mail a senzorului de temperatură și umiditate fără fir NCD folosind roșu nod: 22 de pași
Crearea de alerte prin e-mail ale senzorului de temperatură și umiditate fără fir NCD folosind roșu nod: folosim aici senzorul de temperatură și umiditate al NCD, dar pașii rămân egali pentru oricare dintre produsele ncd, deci dacă aveți alți senzori fără fir ncd, experiența este gratuită. observă alături. Prin oprirea acestui text, trebuie să
Senzor de temperatură și umiditate fără fir IOT cu rază lungă de acțiune cu roșu nod: 27 de pași
Senzor de temperatură și umiditate fără fir cu rază lungă de acțiune IOT cu roșu nod: Introducerea senzorului de temperatură și umiditate fără fir cu rază lungă de acțiune al NCD, oferind o gamă de până la 28 de mile utilizând o arhitectură de rețea fără fir cu plasă. Incorporarea senzorului de temperatură-umiditate Honeywell HIH9130 transmite o temperatură foarte precisă și
Cum să preluați date dintr-o bază de date Firebase pe NodeMCU: 7 pași
Cum să preluăm date dintr-o bază de date Firebase pe NodeMCU: Pentru acest lucru instructiv, vom prelua date dintr-o bază de date în Google Firebase și le vom prelua folosind un NodeMCU pentru analiză ulterioară. CERINȚE DE PROIECT: 1) NodeMCU sau controler ESP8266 cont pentru crearea unei baze de date Firebase. 3) Descărcați
Cronometru de zi folosind nod roșu cu memorie persistentă: 6 pași
Cronometru de zi folosind nodul roșu cu memorie persistentă: folosesc extensiv nodul roșu pentru proiectele mele de automatizare la domiciliu. Nu sunt un programator de progrese, dar cu ajutorul diferiților colaboratori încerc să configurez lucrurile în funcție de cerința mea. Uneori funcționează și alteori nu:) Pentru unul o
Cum se face un indicator cu punct roșu pentru punct roșu: 9 pași
Cum se realizează un indicator cu punct roșu cu punct roșu: Acesta este un instructiv cu privire la modul de realizare a unui indicator cu punct roșu cu punct roșu pentru a juca jocuri video. Acesta este un mod la îndemână de a trage arma cu precizie atunci când obiectivele furnizate sunt dificil de vizat sau nu sunt furnizate. Eu folosesc