Kazalo:

UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem: 7 korakov
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem: 7 korakov

Video: UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem: 7 korakov

Video: UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem: 7 korakov
Video: Часть 3 — Аудиокнига «Бэббит» Синклера Льюиса (главы 10–15) 2024, November
Anonim
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem

Namen te gradnje je poučiti o povezovanju Arduina z Node-red in zbirko podatkov, tako da lahko beležite podatke in jih tudi zbirate za kasnejšo uporabo.

Za to gradnjo uporabljam preprost arduino alarmni sistem, ki odda 5 podatkovnih številk, od katerih je vsaka ločena z vejico.

Ni nujno, da imate točno količino podatkov, program pa bi lahko bil karkoli.

Pomemben del je, da so podatki ločeni z vejicami, kot je prikazano na tem posnetku zaslona.

Izhod bi lahko na primer izgledal tako: "324, 0, 0, 1, 1"

(končano programiranje in navodila za ustvarjanje arduina so povezana na dnu te vadnice)

1. korak: Začnite z Node-red

Kako začeti z Node-red
Kako začeti z Node-red

Za to vadnico predvidevamo, da ste že namestili Node-red, vendar za ta projekt uporabljamo nekaj dodatnih palet, ki jih potrebujemo za delovanje

Poiščite gumb "Upravljanje palete" in namestite naslednje palete.

  • node-red-armaturna plošča
  • node-red-node-mysql
  • node-red-node-arduino
  • node-red-node-serialport

Prikazati bi moralo nekaj novih palet na strani menija gumba Node-red.

2. korak: Razdelitev podatkov v Node-red

Razdelitev podatkov v rdečem vozlišču
Razdelitev podatkov v rdečem vozlišču

Zdaj, ko je Node-red pripravljen za uporabo, moramo začeti tako, da svoje podatke razdelimo na ločene kose.

Zato smo jih v kodi Arduino ločili z vejicami.

Najprej začnimo s spuščanjem vozlišča Arduino Input na levi stranski plošči.

Prepričati se morate, da ima ustrezna serijska (moja uporablja COM4) vrata in hitrost prenosa (v svojem programu uporabljam hitrost 9600 baud)

Če je pravilno nastavljen, mora povedati, da je povezan.

Nato ustvarimo funkcijski blok Javascript in ga povežemo po vhodnem vozlišču Arduino, ki nam omogoča programiranje v Javascriptu, tukaj pa napišemo kodo, ki lahko razdeli naše podatke za vsako vejico.

V tem funkcionalnem bloku razdelim svojih 5 podatkov z naslednjo kodo:

var m1 = {topic: "light1", koristna obremenitev: msg.payload.split (",") [0]}; var m2 = {topic: "light2", koristna obremenitev: msg.payload.split (",") [1]}; var m3 = {topic: "light3", koristna obremenitev: msg.payload.split (",") [2]}; var m4 = {topic: "millis", koristna obremenitev: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", koristna obremenitev: msg.payload.split (",") [4]}; povrat [m1, m2, m3, m4, m5];

(po potrebi spremenite kodo)

Prepričajte se, da je vozlišče nastavljeno na 5 izhodov (ali enakovreden)

Kot je razvidno iz posnetka zaslona, imamo zdaj 5 izhodov, ki jih povežemo do vozlišča za odpravljanje napak in vozlišča besedilne nadzorne plošče. To bo koristno, ko ga bomo morali videti v uporabniškem vmesniku.

3. korak: zbirka podatkov z Wampserverjem

Baza podatkov z Wampserverjem
Baza podatkov z Wampserverjem

Za delovanje naše baze podatkov morate imeti nameščen Wampserver. Ko je nameščen in se prikaže kot zelena ikona (po zagonu vseh storitev), morate odpreti »phpMyAdmin«, ki vas bo pripeljal na prijavni zaslon. prej spremenjeno, preprosto vnesite "root" v uporabniško ime in prijavo.

Pritisnite gumb phpmyadmin pod orodji v levi vrstici in odprl se bo meni baze podatkov, ki je videti nekako tako, kot je prikazano na zgornji sliki.

Ustvarite novo bazo podatkov in ji poimenujte nekaj, kar je povezano z vašim projektom, moje se imenuje "alarmni sistem" (ta imena bodo občutljiva na velike in male črke)

V tej bazi podatkov ustvarite novo tabelo in jo poimenujte, moja se imenuje "alarmni podatki"

vprašal vas bo, če želite uporabiti "latin1_swedish_ci", in tako ostanemo.

Zdaj ustvarite 6 tabel (1 več od podatkov, ki jih imamo)

Prva tabela mora uporabiti podatkovni tip "longtext"

in preostali nabor podatkov uporablja "mediumtext"

Poimenujte jih. (prvi niz podatkov mora biti imenovan "čas"

4. korak: zbirka podatkov

Baza podatkov
Baza podatkov

Nabor podatkov Wampserver bi moral izgledati nekako tako.

(vendar brez dejanskih podatkov, saj do tega še nismo prišli)

5. korak: Node-red do Wampserverja

Rdečasto do vozlišča Wampserver
Rdečasto do vozlišča Wampserver

Zdaj želimo, da podatki, ki jih oddajamo iz našega arduina, gredo v naš Wampserver.

Začnite z ustvarjanjem drugega funkcijskega bloka Javascript in ga povežite z vhodnim vozliščem arduino.

V tem skriptnem bloku smo spet razdelili svoje podatke, vendar jih vstavimo tudi v svojo bazo podatkov.

var data = msg.payload.split (","); var Green1 = podatki [0]; var Green2 = podatki [1]; var Alarm = podatki [2]; var Millis = podatki [3]; var IsActive = podatki [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+nov datum (). toISOString (). slice (0, 19).replace (' T ',' ')+"'," "+Green1+" ',' "+Green2+" ',' "+Alarm+" ',' "+Millis+" ',' "+IsActive+" ') "; msg.topic = ven; return msg;

Opomba Vnesem "INSERT INTO alarmsystem.alarmdata", to je ime, ki smo ga dali naši zbirki podatkov in tabeli. Prepričajte se, da ste v to vpisali točno ime, ki ste ga dali svoji bazi podatkov.

Zdaj povežite blok Javascript z vozliščem za odpravljanje napak in tudi vozliščem "mysql", ki ga najdete pod paleto za shranjevanje na levi strani.

pod blokom mysql ga poimenujete enako kot vašo bazo podatkov "alarmni sistem"

spremenite uporabnika v "root" (ime, ki smo ga uporabili za prijavo v strežnik)

gostitelja, vrata in bazo podatkov je treba že napolniti z:

Gostitelj: 127.0.0.1

Pristanišče: 3306

Baza podatkov: alarmni sistem

Če je vse opravljeno pravilno, ga morate po uvedbi sprememb povezati.

Prav tako bi morali videti, da zbirka podatkov zdaj beleži vaše podatke neposredno iz Arduina.

Korak 6: Uporaba podatkov od Wampserverja do Node-red

Uporaba podatkov od Wampserverja do Node-red
Uporaba podatkov od Wampserverja do Node-red
Uporaba podatkov od Wampserverja do Node-red
Uporaba podatkov od Wampserverja do Node-red

Za končni odsek želimo preveriti, ali lahko vzamemo shranjene podatke in jih vrnemo v naš Node-red in upajmo, da jih prikažemo.

Začnite tako, da postavite vozlišče "inject"

Pod temo v tem vozlišču damo kodo: SELECT*FROM alarmsystem.alarmdata

Ta bo lahko našel našo bazo podatkov, ko jo pritisnemo.

Vozlišče za vbrizgavanje povežite z novim vozliščem "mysql", ki je nastavljeno tako, kot smo ga naredili v prejšnjem koraku.

Vozlišče mysql povežite z vozliščem za odpravljanje napak in vozliščem predloge, ki ga najdete pod nadzorno ploščo.

Vozlišče predloge bo naša tabela, ki jo lahko posodobimo, da prikaže podatke iz zbirke podatkov, ko je izdelana.

Vnesite kodo, prikazano na zgornjem posnetku zaslona (po potrebi spremenite) in zdaj bi morala prikazati podatkovno tabelo v našem uporabniškem vmesniku rdečega vozlišča.

Dodamo lahko tudi gumb armaturne plošče za posodobitev tabele iz samega uporabniškega vmesnika.

Začnite z ustvarjanjem vozlišča gumba.

vozlišče gumba povežite s funkcijskim blokom Javascript.

v funkcijski blok vstavimo naslednjo kodo.

msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; return msg;

(Zelena1 je prva podatkovna spremenljivka v tabeli)

ta funkcijski blok je treba nato povezati z vhodom našega vozlišča mysql, ki smo ga naredili prej v tem koraku.

7. korak: Dokončanje

Dokončanje
Dokončanje

Zdaj bi moral naš uporabniški vmesnik vključevati posodobitev naših podatkov v živo in tabelo s podatki iz samega strežnika.

To pomeni, da smo ustvarili povezavo med Arduinom, programom, ki temelji na uporabniškem vmesniku, in zbirko podatkov.

Če vas zanima, kako deluje moj alarmni sistem Arduino, sem dodal dokument, ki pojasnjuje, kako je to programirano in nastavljeno.

Pa tudi popoln izvoz vozlišča rdečega programiranja.

Priporočena: