INHOUDSOPGAWE:
- Stap 1: Begin met Node-rooi
- Stap 2: Verdeel data in Node-rooi
- Stap 3: Databasis met Wampserver
- Stap 4: Databasis
- Stap 5: Knooprooi na Wampserver
- Stap 6: Gebruik data van Wampserver tot Node-rooi
- Stap 7: afronding
Video: UCL-IIOT-Alarmstelsel met databasis en knooppuntrooi: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Die doel van hierdie build is om te leer oor die koppeling van Arduino met Node-red en 'n databasis, sodat u data kan aanteken en dit ook kan versamel vir later gebruik.
Vir hierdie konstruksie gebruik ek 'n eenvoudige arduino alarmstelsel wat 5 datanommers uitvoer, elk met 'n komma geskei.
Dit is nie nodig om die presiese hoeveelheid data te hê nie, en die program kan enigiets wees.
Die belangrikste deel is dat die data met kommas geskei word, soos op hierdie skermkiekie gesien word.
Die uitset kan byvoorbeeld so lyk: "324, 0, 0, 1, 1"
(die voltooide programmering en instruksies vir die maak van die arduino is onderaan hierdie tutoriaal gekoppel)
Stap 1: Begin met Node-rooi
Vir hierdie tutoriaal neem ons aan dat u reeds Node-red geïnstalleer het, maar daar is 'n paar ekstra palette wat vir hierdie projek gebruik word wat ons nodig het om dit te laat werk
Soek die knoppie "Beheer palet" en installeer die volgende palette.
- node-rooi-dashboard
- node-red-node-mysql
- knoop-rooi-knoop-arduino
- node-red-node-serialport
Daar moet 'n paar nuwe palette aan die kant van die knoppie-rooi knoppie-kieslys verskyn.
Stap 2: Verdeel data in Node-rooi
Noudat Node-red gereed is, moet ons begin deur ons data in aparte stukke te verdeel.
Daarom het ons seker gemaak dat ons dit met kommas in die Arduino -kode kan skei.
Laat ons eers die Arduino -invoerknooppunt, wat aan die linkerkant van die paneel is, neersit.
U moet seker maak dat dit die korrekte seriële poort (Myne gebruik COM4) en Baud rate het (in my program gebruik ek 9600 baud rate)
As dit korrek opgestel is, moet dit sê dat dit gekoppel is.
Vervolgens skep ons 'n Javascript -funksieblok en verbind dit na die Arduino -invoerknooppunt. Met hierdie blok kan ons in Javascript programmeer, en hier skryf ons 'n kode wat ons data vir elke komma kan verdeel.
In hierdie funksieblok verdeel ek my 5 data met behulp van die volgende kode:
var m1 = {topic: "light1", payload: msg.payload.split (",") [0]}; var m2 = {topic: "light2", payload: msg.payload.split (",") [1]}; var m3 = {topic: "light3", payload: msg.payload.split (",") [2]}; var m4 = {topic: "millis", payload: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", payload: msg.payload.split (",") [4]}; opbrengs [m1, m2, m3, m4, m5];
(verander die kode indien nodig)
Maak seker dat die knoop op 5 uitsette (of u ekwivalent) ingestel is
Soos in die skermkiekie gesien word, het ons nou 5 uitsette wat ons elkeen kan koppel aan 'n ontfoutingsknoop en 'n teksdashboardknooppunt. Dit sal handig wees as ons dit in die UI moet sien.
Stap 3: Databasis met Wampserver
Om ons databasis te laat werk, moet Wampserver geïnstalleer word. Nadat dit geïnstalleer is en as 'n groen ikoon verskyn (nadat u alle dienste begin het), moet u die 'phpMyAdmin' oopmaak wat u na 'n aanmeldskerm moet bring. het dit voorheen verander, tik eenvoudig 'root' in die gebruikersnaam en meld aan.
Druk die phpmyadmin -knoppie onder die gereedskap in die linkerbalk, en dit moet die databasiskieslys oopmaak, wat lyk soos in die prent hierbo.
Skep 'n nuwe databasis en noem dit iets wat verband hou met u projek; myne heet 'alarmsystem' (hierdie name sal hooflettergevoelig wees)
Skep onder die databasis 'n nuwe tabel en noem dit, myne heet "alarmdata"
dit sal vra of u 'latin1_swedish_ci' wil gebruik, en ons hou dit net so.
Nou skep u 6 tabelle (1 meer as die data wat ons het)
Die eerste tabel moet die datatipe "langteks" gebruik
en die res van die datastel gebruik "mediumteks"
Maak seker dat jy hulle noem. (die eerste datastel moet 'tyd' genoem word
Stap 4: Databasis
Die Wampserver -datastel moet so lyk.
(maar sonder die werklike data, aangesien ons dit nog nie bereik het nie)
Stap 5: Knooprooi na Wampserver
Nou wil ons hê dat die data wat ons van ons arduino afgee, na ons Wampserver moet gaan.
Begin deur 'n ander Javascript -funksieblok te skep en koppel dit aan ons arduino -invoerknooppunt.
In hierdie scriptblok verdeel ons ons data weer, maar ons plaas dit ook in ons databasis.
var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var Alarm = data [2]; var Millis = data [3]; var IsActive = data [4]; var out = "INSET IN alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) WAARDES ('"+new Date (). toISOString (). sny (0, 19).vervang (' T ',' ')+"', '"+Groen1+"', '"+Groen2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = uit; terugkeer msg;
Let op dat ek 'INSERT IN alarmsystem.alarmdata' invoer, dit is die naam wat ons aan ons databasis en tabel gegee het; maak seker dat u die presiese naam wat u in u databasis gegee het, skryf.
Koppel nou die Javascript -blok aan 'n ontfoutingsknoop en ook 'n "mysql" -knoop wat onder die stoorpalet aan die linkerkant gevind word.
onder die mysql -blok noem u dit dieselfde as u databasis "alarmstelsel"
verander gebruiker na "root" (die naam waarmee ons by ons bediener aangemeld het)
gasheer, poort en databasis moet reeds ingevul word met:
Gasheer: 127.0.0.1
Hawe: 3306
Databasis: alarmstelsel
As alles reg gedoen is, moet dit verbind word nadat u u veranderinge geïmplementeer het.
U moet ook kan sien dat die databasis u data direk vanaf die Arduino registreer.
Stap 6: Gebruik data van Wampserver tot Node-rooi
Vir die laaste gedeelte wil ons kyk of ons die data wat ons gestoor het, kan terugneem en dit weer in ons Node-rooi kan plaas en dit hopelik kan vertoon.
Begin deur 'n "inspuit" -knoop te plaas
Onder die onderwerp in hierdie node sit ons die kode: SELECT*FROM alarmsystem.alarmdata
Dit sal ons databasis kan vind as ons daarop druk.
Koppel die inspuitknoop aan 'n nuwe "mysql" -knoop wat presies opgestel is soos in die vorige stap.
Koppel die mysql -knoop aan 'n ontfoutingsknoop en 'n sjabloonknoop wat onder die paneelbord gevind word.
Die sjabloonknoop is ons tabel wat ons kan bywerk om data uit die databasis te wys terwyl dit vervaardig word.
Voer die kode in die skermkiekie hierbo in (verander indien nodig) en dit moet nou 'n datatabel in ons Node-red UI vertoon.
Ons kan ook 'n paneelbordknoppie byvoeg om die tabel by te werk vanaf die UI self.
Begin deur 'n knoppie -knoop te skep.
koppel die knoppieknoop aan 'n Javascript -funksieblok.
in die funksieblok voeg ons die volgende kode in.
msg.topic = "KIES * VAN alarmdata BESTEL DEUR Green1 DESC LIMIT 20"; stuur boodskap;
(Green1 is die eerste dataveranderlike in die tabel)
Hierdie funksieblok moet dan gekoppel word aan die invoer van ons mysql -knoop wat ons voorheen in hierdie stap gemaak het.
Stap 7: afronding
Nou moet ons UI 'n lewendige opdatering van ons data bevat en 'n tabel met data van ons bediener self.
Dit beteken dat ons 'n verbinding tussen Arduino, 'n UI -program en 'n databasis geskep het.
As u belangstel in hoe my Arduino -alarmstelsel werk, het ek 'n dokument bygevoeg wat verduidelik hoe dit geprogrammeer en opgestel word.
Sowel as die volledige uitvoer van die knooprooi programmering.
Aanbeveel:
Vingerafdruk- en RFID -gebaseerde bywoningstelsel met behulp van Raspberry Pi en MySQL -databasis: 5 stappe
Vingerafdruk- en RFID -gebaseerde bywoningstelsel met behulp van Raspberry Pi en MySQL -databasis: video van hierdie projek
Skep 'n databasis met XAMPP: 4 stappe
Die skep van 'n databasis met XAMPP: XAMPP is 'n heeltemal gratis Apache -verspreiding wat MariaDB, PHP en Perl bevat. XAMPP bied 'n grafiese koppelvlak vir SQL, waarmee u inligting kan stoor in die databasis wat ons vandag sal skep. Toe ek die eerste keer databasisse vir projekte begin gebruik het
Arduino -projek: beheer elektronika oor die internet met behulp van Nodejs + SQL -databasis en webwerf: 6 stappe
Arduino -projek: Beheer elektronika oor die internet met behulp van Nodejs + SQL -databasis en webwerf: Projek deur: Mahmed.techDate Made: 14 July 2017 Moeilikheidsgraad: Beginner met 'n bietjie programmeringskennis. Hardewarevereiste: - Arduino Uno, Nano, Mega (ek dink die meeste MCU met die seriële verbinding sal werk) - Enkel LED & Huidige beperkende res
Koppel Raspberry Pi IOT -databasis met MS Excel - Opstel: 3 stappe
Koppel Raspberry Pi IOT -databasis aan met MS Excel - Opstel: In die wêreld van IOT -datavaslegging, skep 'n mens baie data wat altyd gestoor word in 'n databasisstelsel soos Mysql of Oracle. Om toegang tot hierdie data te kry en te manipuleer, is die gebruik van Microsoft Office prod
EAL-Industri4.0-RFID Dataopsamling Til databasis: 10 stappe (met foto's)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dit is 'n projek wat al die funksies van die gtdata kan registreer, en die identiteit daarvan kan registreer. RFID, agtergeblewe data en MySQL -databasis. node-RED, en ook uitstallings en behandelings vir die opsamele data en C# -program wat ek vir Windows Form Application vorm