Sadržaj:
- Korak 1: Početak rada s Node-red
- Korak 2: Razdvajanje podataka crvenim čvorom
- Korak 3: Baza podataka s Wampserverom
- Korak 4: Baza podataka
- Korak 5: Crveni čvor do Wampservera
- Korak 6: Korištenje podataka od Wampservera do Node-red
- Korak 7: Dovršavanje
Video: UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Svrha ove gradnje je poučiti povezivanju Arduina s Node-redom i bazom podataka, tako da možete bilježiti podatke i prikupljati ih za kasniju upotrebu.
Za ovu gradnju koristim jednostavan arduino alarmni sustav koji emitira 5 podatkovnih brojeva, svaki odvojen zarezom.
Nije potrebno imati točnu količinu podataka, a program bi mogao biti bilo što.
Važan dio je da su podaci odvojeni zarezima kako se vidi na ovoj snimci zaslona.
Na primjer, izlaz bi mogao izgledati ovako: "324, 0, 0, 1, 1"
(završeno programiranje i upute za stvaranje arduina povezani su na dnu ovog vodiča)
Korak 1: Početak rada s Node-red
Za ovaj vodič pretpostavljamo da ste već instalirali Node-red, ali postoje neke dodatne palete koje se koriste za ovaj projekt i potrebne su nam za rad
Pronađite gumb "Upravljanje paletom" i instalirajte sljedeće palete.
- node-red-dashboard
- node-red-node-mysql
- čvor-crveni-čvor-arduino
- node-red-node-serialport
Trebala bi prikazati neke nove palete sa strane izbornika gumba s crvenim čvorom.
Korak 2: Razdvajanje podataka crvenim čvorom
Sada kada je Node-red spreman za rad, moramo početi razdvajanjem naših podataka na zasebne dijelove.
Zato smo ih pobrinuli da ih odvojimo zarezima unutar Arduino koda.
Prvo počnimo spuštajući Arduino Input čvor, koji se nalazi na lijevoj bočnoj ploči.
Morate se uvjeriti da ima ispravan serijski (moj koristi COM4) port i brzinu prijenosa (u svom programu koristim brzinu prijenosa od 9600)
Ako je ispravno postavljen, trebao bi reći da je spojen.
Zatim stvaramo Javascript funkcijski blok i povezujemo ga nakon Arduino ulaznog čvora. Ovaj nam blok omogućuje programiranje u Javascriptu, a ovdje pišemo kod koji može podijeliti naše podatke za svaki zarez.
U ovom funkcionalnom bloku podijelio sam svojih 5 podataka pomoću sljedećeg koda:
var m1 = {topic: "light1", korisni teret: msg.payload.split (",") [0]}; var m2 = {topic: "light2", korisni teret: msg.payload.split (",") [1]}; var m3 = {topic: "light3", korisni teret: msg.payload.split (",") [2]}; var m4 = {topic: "millis", korisni teret: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", korisni teret: msg.payload.split (",") [4]}; povrat [m1, m2, m3, m4, m5];
(po potrebi promijenite kôd)
Provjerite je li čvor postavljen na 5 izlaza (ili vaš ekvivalent)
Kao što se vidi na snimci zaslona, sada imamo 5 izlaza koje svaki povezujemo na čvor za otklanjanje pogrešaka i čvor na nadzornoj ploči s tekstom. To će biti korisno kada ga trebamo vidjeti na korisničkom sučelju.
Korak 3: Baza podataka s Wampserverom
Da bi naša baza podataka radila, morate imati instaliran Wampserver. Nakon što je instaliran i prikazuje se kao zelena ikona (nakon što ste pokrenuli sve usluge), trebali biste otvoriti "phpMyAdmin" koji bi vas trebao odvesti na zaslon za prijavu. Osim ako nemate prethodno promijenili, jednostavno unesite "root" u korisničko ime i prijavu.
Pritisnite gumb phpmyadmin ispod alata dolje na lijevoj traci i trebao bi otvoriti izbornik baze podataka koji izgleda nešto poput prikazanog na gornjoj slici.
Napravite novu bazu podataka i dajte joj ime u vezi s vašim projektom, moj se zove "alarmni sustav" (ti će nazivi razlikovati velika i mala slova)
Pod tom bazom podataka stvorite novu tablicu i dajte joj ime, moje se zove "alarmdata"
pitat će vas želite li koristiti "latin1_swedish_ci", a mi ćemo ga samo zadržati.
Sada stvarate 6 tablica (1 više od podataka koje imamo)
Prva tablica mora koristiti tip podataka "longtext"
a ostatak skupa podataka koristi "mediumtext"
Nazovite ih imenom. (prvi skup podataka trebao bi se zvati "vrijeme"
Korak 4: Baza podataka
Skup podataka Wampservera trebao bi izgledati otprilike ovako.
(ali bez stvarnih podataka, jer do toga još nismo došli)
Korak 5: Crveni čvor do Wampservera
Sada želimo da podaci koje izlazimo iz našeg arduina idu na naš Wampserver.
Počnite stvaranjem drugog funkcionalnog bloka Javascript i povežite ga s našim arduino ulaznim čvorom.
U ovom bloku skripti ponovno smo podijelili svoje podatke, ali ih također ubacujemo u svoju bazu podataka.
var data = msg.payload.split (","); var Green1 = podaci [0]; var Green2 = podaci [1]; var Alarm = podaci [2]; var Millis = podaci [3]; var IsActive = podaci [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+novi datum (). toISOString (). slice (0, 19).replace (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = out; return msg;
Napomena Unosim "INSERT INTO alarmsystem.alarmdata", ovo je ime koje smo dali našoj bazi podataka i tablici, svakako unesite točan naziv koji ste dali svojoj bazi podataka.
Sada povežite Javascript blok s čvorom za otklanjanje pogrešaka i čvorom "mysql" koji se nalazi ispod palete za pohranu na lijevoj strani.
pod mysql blokom dajete mu isto ime kao i "alarmni sustav" vaše baze podataka
promijeniti korisnika u "root" (naziv koji smo koristili za prijavu na naš poslužitelj)
host, port i baza podataka već trebaju biti ispunjeni sa:
Domaćin: 127.0.0.1
Luka: 3306
Baza podataka: sustav alarma
Ako je sve učinjeno ispravno, trebalo bi ga povezati nakon implementacije promjena.
Također biste trebali moći vidjeti da baza podataka sada izravno bilježi vaše podatke s Arduina.
Korak 6: Korištenje podataka od Wampservera do Node-red
Za kraj, želimo vidjeti možemo li uzeti podatke koje smo spremili i vratiti ih u naš Node-red i nadamo se da ćemo ih prikazati.
Započnite postavljanjem čvora za "ubrizgavanje"
Pod temu u ovom čvoru stavljamo kôd: SELECT*FROM alarmsystem.alarmdata
To će moći pronaći našu bazu podataka kada je pritisnemo.
Povežite čvor za ubrizgavanje s novim "mysql" čvorom postavljenim točno onako kako smo to učinili u prethodnom koraku.
Povežite mysql čvor s čvorom za otklanjanje pogrešaka i čvorom predloška koji se nalazi ispod nadzorne ploče.
Čvor predloška bit će naša tablica koju možemo ažurirati kako bi prikazali podatke iz baze podataka kako se proizvodi.
Unesite kôd prikazan na gornjoj snimci zaslona (promijenite po potrebi) i sada bi trebao prikazati tablicu podataka u našem Node-crvenom korisničkom sučelju.
Također možemo dodati gumb nadzorne ploče za ažuriranje tablice iz samog korisničkog sučelja.
Počnite stvaranjem čvora gumba.
spojite čvor gumba s funkcionalnim blokom Javascripta.
u funkcijski blok umetnemo sljedeći kôd.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; return msg;
(Zelena1 je prva varijabla podataka u tablici)
ovaj funkcijski blok tada treba spojiti na ulaz našeg mysql čvora koji smo prethodno napravili u ovom koraku.
Korak 7: Dovršavanje
Sada bi naše korisničko sučelje trebalo uključivati ažuriranje naših podataka uživo i tablicu s podacima sa samog poslužitelja.
To znači da smo stvorili vezu između Arduina, programa temeljenog na korisničkom sučelju i baze podataka.
Ako vas zanima kako radi moj Arduino alarmni sustav, dodao sam dokument koji objašnjava kako je to programirano i postavljeno.
Kao i potpuni izvoz node-red programiranja.
Preporučeni:
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD karticom - DHT11 Simulator zapisivača podataka u Proteusu: 5 koraka
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD karticom | Simulacija DHT11 zapisničara u Proteusu: Uvod: Bok, ovdje Liono Maker, ovdje je veza na YouTube. Radimo na kreativnom projektu s Arduinom i radimo na ugrađenim sustavima. Zapisnik podataka: Zapisnik podataka (ujedno i zapisnik podataka ili snimač podataka) je elektronički uređaj koji bilježi podatke tijekom vremena s
Sustav prisutnosti na temelju otiska prsta i RFID -a koji koristi Raspberry Pi i MySQL bazu podataka: 5 koraka
Sustav prisutnosti na temelju otisaka prstiju i RFID -a koji koristi Raspberry Pi i MySQL bazu podataka: video ovog projekta
NODEMCU LUA ESP8266 Povezivanje s MySQL bazom podataka: 6 koraka
NODEMCU LUA ESP8266 Povežite se s MySQL bazom podataka: Ovo uputstvo nije za osobe sa slabim srcem jer koristi XAMPP (Apache, MySQL & PHP), HTML i naravno LUA. Ako ste sigurni u rješavanju ovih problema, čitajte dalje! Koristim XAMPP jer se može postaviti na olovku ili tvrdi disk i konfiguriran je
IOT bežični osjetnik temperature i vlažnosti na daljinu s crvenim čvorom: 27 koraka
IOT bežični osjetnik temperature i vlažnosti na daljinu IOT s Node-Red: Predstavlja NCD-ov bežični senzor temperature i vlažnosti na daljinu, koji se može pohvaliti do 28 milja koristeći bežičnu mrežnu arhitekturu. Uključujući Honeywell HIH9130 osjetnik temperature i vlažnosti odašilje vrlo točnu temperaturu i
EAL-Industri4.0-RFID skupljanje podataka do baze podataka: 10 koraka (sa slikama)
EAL-Industri4.0-RFID skupljanje podataka u bazi podataka: Dette projekt omhandler opsamling iz v æ gtdata, registracija od identiteta vha. RFID, zaostajanje podataka u MySQL bazi podataka. node-RED, samo ažuriranje i ponašanje u skladu s opsamlede podacima u et C# programu formiranim u aplikaciji Windows Form