Sadržaj:

UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka

Video: UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka

Video: UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom: 7 koraka
Video: Часть 3 — Аудиокнига «Бэббит» Синклера Льюиса (главы 10–15) 2024, Studeni
Anonim
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom
UCL-IIOT-alarmni sustav s bazom podataka i crvenim čvorom

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

Početak rada s Node-red
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

Dijeljenje podataka u Node-red
Dijeljenje podataka u Node-red

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

Baza podataka s Wampserverom
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

Baza podataka
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

Node-red to Wampserver
Node-red to Wampserver

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

Korištenje podataka od Wampservera do Node-red
Korištenje podataka od Wampservera do Node-red
Korištenje podataka od Wampservera do Node-red
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

Dovršavanje
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: