Sadržaj:
- Korak 1: Započnite s Node-red
- Korak 2: Razdvajanje podataka crvenim čvorom
- Korak 3: Baza podataka sa Wampserverom
- Korak 4: Baza podataka
- Korak 5: Node-red do Wampservera
- Korak 6: Korištenje podataka s Wampservera na Node-red
- Korak 7: Dovršavanje
Video: UCL-IIOT-alarmni sistem sa bazom podataka i crvenim čvorom: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Svrha ove verzije je poučavanje o povezivanju Arduina s Node-redom i bazom podataka, tako da možete bilježiti podatke i prikupljati ih za kasniju upotrebu.
Za ovu verziju koristim jednostavan arduino alarmni sistem koji emituje 5 brojeva podataka, 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: Započnite 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 dugme "Upravljanje paletom" i instalirajte sljedeće palete.
- node-red-dashboard
- node-red-node-mysql
- node-red-node-arduino
- node-red-node-serialport
Trebao bi prikazati neke nove palete sa strane menija dugmeta sa 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 se pobrinuli da ih odvojimo zarezima unutar Arduino koda.
Prvo počnimo spuštanjem Arduino ulaznog čvora, koji se nalazi na lijevoj bočnoj ploči.
Morate biti sigurni da ima ispravan serijski (moj koristi COM4) port i brzinu prijenosa (u svom programu koristim 9600 brzina prijenosa)
Ako je pravilno postavljeno, trebalo bi reći da je povezano.
Zatim kreiramo Javascript funkcijski blok i povezujemo ga nakon Arduino ulaznog čvora. Ovaj blok nam omogućava programiranje u Javascriptu, a ovdje pišemo kod koji može podijeliti naše podatke za svaku 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]}; povratak [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 snimku zaslona, sada imamo 5 izlaza koje svaki povezujemo s čvorom za otklanjanje grešaka i čvorom s tekstualnom nadzornom pločom. Ovo će biti korisno kada ga trebamo vidjeti na korisničkom sučelju.
Korak 3: Baza podataka sa 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 ekran za prijavu. Osim ako imate prethodno promijenili, jednostavno unesite "root" u korisničko ime i prijavu.
Pritisnite dugme phpmyadmin ispod alata dole na levoj traci i trebalo bi da otvorite meni baze podataka, koji izgleda otprilike kao što je prikazano na gornjoj slici.
Kreirajte novu bazu podataka i dajte joj ime u vezi s vašim projektom, moj se zove "alarmni sistem" (ova imena će razlikovati velika i mala slova)
U toj bazi podataka kreirajte 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 kreirate 6 tablica (1 više od podataka koje imamo)
Prva tablica mora koristiti tip podataka "longtext"
a ostatak skupa podataka koristi "mediumtext"
Dajte im ime. (prvi skup podataka trebao bi biti nazvan "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: Node-red 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 naše podatke, ali ih također ubacujemo u našu 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;
Obratite pažnju da sam uneo "INSERT INTO alarmsystem.alarmdata", ovo je ime koje smo dali našoj bazi podataka i tabeli, obavezno unesite tačno ime koje ste dali svojoj bazi podataka.
Sada povežite Javascript blok sa čvorom za otklanjanje grešaka, a takođe i sa "mysql" čvorom koji se nalazi ispod skladišne palete na lijevoj strani.
pod mysql blokom dajete mu isto ime kao i "alarmni sistem" vaše baze podataka
promijenite korisnika u "root" (ime koje smo koristili za prijavu na naš server)
host, port i baza podataka već trebaju biti popunjeni sa:
Domaćin: 127.0.0.1
Luka: 3306
Baza podataka: alarmni sistem
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 s Wampservera na 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.
Počnite postavljanjem čvora za "ubrizgavanje"
Pod temu u ovom čvoru stavljamo kôd: SELECT*FROM alarmsystem.alarmdata
Ovo ć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 greš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 dok se proizvodi.
Unesite kôd prikazan na gornjoj slici (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 dugmeta.
spojite čvor dugmeta na Javascript funkcijski blok.
u funkcijski blok ubacujemo sljedeći kod.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; return msg;
(Zelena1 je prva varijabla podataka u tabeli)
ovaj funkcijski blok tada treba povezati s ulazom 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 servera.
To znači da smo stvorili vezu između Arduina, programa zasnovanog na korisničkom sučelju i baze podataka.
Ako vas zanima kako radi moj Arduino alarmni sistem, dodao sam dokument koji objašnjava kako je to programirano i postavljeno.
Kao i potpuni izvoz node-red programiranja.
Preporučuje se:
LLLT LED terapija crvenim svjetlom za gubitak sluha u ušima: 4 koraka
LLLT LED terapija crvenim svjetlom za gubitak sluha u ušima: Imam bijesan tinitus (zujanje u ušima) otkad se sjećam. Dakle, nije došlo do " brzog rješavanja " čini se da to pomaže u ublažavanju. Neki ljudi misle da tinitus može biti reakcija na antibiotike, reakcija na steroide, osjetljivost
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom - DHT11 Zapisnik podataka Simulacija u Proteusu: 5 koraka
Kako napraviti snimač podataka o vlažnosti i temperaturi u stvarnom vremenu s Arduino UNO i SD-karticom | DHT11 Simulator zapisnika podataka u Proteusu: Uvod: zdravo, ovdje Liono Maker, ovdje je YouTube veza. Radimo na kreativnom projektu s Arduinom i radimo na ugrađenim sistemima. Zapisnik podataka: Zapisnik podataka (također zapisnik podataka ili snimač podataka) je elektronički uređaj koji bilježi podatke tokom vremena sa
Kostur sa zatamnjenim crvenim očima: 16 koraka (sa slikama)
Kostur sa prigušenim crvenim očima: Ko ne voli dobar rekvizit za Noć vještica? Ovaj Instructable pokazuje kako sastaviti par užarenih crvenih očiju za vaš kostur (ili samo lubanju) koji se zatamnjuju i posvjetljuju, pružajući jeziv efekt za vaš Trik ili Učesnike i druge
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 sa 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 senzor temperature i vlažnosti odašilje vrlo preciznu temperaturu i
EAL-Industri4.0-RFID prikupljanje podataka do baze podataka: 10 koraka (sa slikama)
EAL-Industri4.0-RFID podatkovno prikupljanje podataka u bazi podataka: Ovaj projektni upravitelj opsamlira sve podatke i podatke, registrovane kao identifikator u vašoj bazi podataka. RFID, zaostajanje podataka u MySQL bazi podataka. node-RED, samo ažuriranje i ponašanje u skladu sa općenitim podacima u et C# programu koji se formira u aplikaciji Windows Form