Sisukord:

UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega: 7 sammu
UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega: 7 sammu

Video: UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega: 7 sammu

Video: UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega: 7 sammu
Video: Приваловские миллионы (1972) (1 серия) фильм 2024, Juuli
Anonim
UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega
UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega
UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega
UCL-IIOT-häiresüsteem andmebaasi ja punase sõlmega

Selle ehituse eesmärk on õpetada Arduino ühendamist sõlmepunase ja andmebaasiga, nii et saate andmeid logida ja ka hilisemaks kasutamiseks koguda.

Selle ehituse jaoks kasutan lihtsat arduino häiresüsteemi, mis väljastab 5 andmenumbrit, millest igaüks on eraldatud komaga.

Täpset andmemahtu ei pea olema ja programm võib olla ükskõik.

Oluline osa on see, et andmed on eraldatud komadega, nagu on näha sellel ekraanipildil.

Väljund võib näiteks välja näha selline: "324, 0, 0, 1, 1"

(valmis programmeerimine ja juhised arduino loomiseks on lingitud selle õpetuse allosas)

1. samm: punase sõlmega alustamine

Alustamine punase sõlmega
Alustamine punase sõlmega

Selle õpetuse jaoks eeldame, et olete sõlme punase juba installinud, kuid selle projekti jaoks on mõned täiendavad paletid, mida vajame selle toimimiseks

Leidke nupp "Halda paletti" ja installige järgmised paletid.

  • sõlm-punane-armatuurlaud
  • node-red-node-mysql
  • sõlm-punane-sõlm-arduino
  • node-red-node-serialport

See peaks Node-punase nupu menüü küljel näitama mõnda uut paletti.

2. samm: andmete jagamine punaseks

Andmete jagamine punases sõlmes
Andmete jagamine punases sõlmes

Nüüd, kui sõlm-punane on valmis minema, peame alustama, jagades oma andmed eraldi tükkideks.

Seetõttu eraldasime need kindlasti komadega Arduino koodi sees.

Alustuseks paneme maha Arduino sisendsõlme, mis asub vasakul külgpaneelil.

Peate veenduma, et sellel on õige jada (minu kasutab COM4) port ja Baud -kiirus (oma programmis kasutan 9600 baudikiirust)

Kui see on õigesti seadistatud, peaks see ütlema, et see on ühendatud.

Järgmisena loome Javascripti funktsiooniploki ja ühendame selle pärast Arduino sisendsõlme. See plokk võimaldab meil programmeerida Javascriptis ja siin kirjutame koodi, mis võib jagada meie andmed iga koma jaoks.

Selles funktsiooniplokis jagasin oma 5 andmeid järgmise koodi abil:

var m1 = {teema: "valgus1", kasulik koormus: msg.payload.split (",") [0]}; var m2 = {teema: "light2", kasulik koormus: msg.payload.split (",") [1]}; var m3 = {teema: "light3", kasulik koormus: msg.payload.split (",") [2]}; var m4 = {teema: "millis", kasulik koormus: msg.payload.split (",") [3]}; var m5 = {teema: "onoff", kasulik koormus: msg.payload.split (",") [4]}; tagasitulek [m1, m2, m3, m4, m5];

(muutke koodi vastavalt vajadusele)

Veenduge, et sõlm on seatud 5 väljundisse (või teie samaväärsesse)

Nagu ekraanipildilt näha, on meil nüüd 5 väljundit, mille igaüks ühendame silumissõlme ja teksti armatuurlaua sõlmega. See on kasulik, kui peame seda kasutajaliideses nägema.

Samm: andmebaas Wampserveriga

Andmebaas Wampserveriga
Andmebaas Wampserveriga

Meie andmebaasi toimimiseks peab teil olema installitud Wampserver. Kui see on installitud ja kuvatakse rohelise ikoonina (pärast kõigi teenuste käivitamist), peaksite avama "phpMyAdmin", mis peaks viima teid sisselogimisekraanile. Kui teil pole varem seda muutnud, sisestage lihtsalt kasutajanime ja sisselogimise "root".

Vajutage vasakpoolsel ribal tööriistade all olevat nuppu phpmyadmin ja see peaks avama andmebaasi menüü, mis näeb välja nagu ülaltoodud pildil.

Looge uus andmebaas ja pange sellele oma projektiga seotud nimi, minu nimi on "alarmsystem" (need nimed on tõstutundlikud)

Looge selle andmebaasi all uus tabel ja pange sellele nimi, minu nimi on "alarmdata"

see küsib, kas soovite kasutada "latin1_swedish_ci" ja me lihtsalt jätame selle selliseks.

Nüüd loote 6 tabelit (1 rohkem kui meie andmed)

Esimeses tabelis tuleb kasutada andmetüüpi "longtext"

ja ülejäänud andmekogum kasutab "keskmise teksti"

Nimetage need kindlasti. (esimese andmekogumi nimi peaks olema "aeg"

4. samm: andmebaas

Andmebaas
Andmebaas

Wampserveri andmekogum peaks välja nägema umbes selline.

(kuid ilma tegelike andmeteta, kuna me pole selleni veel jõudnud)

Samm: sõlmpunane Wampserverile

Sõlm-punane Wampserverile
Sõlm-punane Wampserverile

Nüüd tahame, et meie arduino väljastatud andmed läheksid meie Wampserverisse.

Alustage teise Javascripti funktsiooniploki loomisega ja ühendage see meie arduino sisendsõlmega.

Selles skriptiplokis jagame veel kord oma andmed, kuid sisestame need ka oma andmebaasi.

var andmed = msg.payload.split (","); var Green1 = andmed [0]; var Green2 = andmed [1]; var Alarm = andmed [2]; var Millis = andmed [3]; var IsActive = andmed [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date (). toISOString (). slice (0, 19).replace (' T ',' ')+"', '"+Roheline1+"', '"+Roheline2+"', '"+Alarm+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = väljas; tagasiside;

Märkus. Sisestan "INSERT INTO alarmsystem.alarmdata", selle nime andsime oma andmebaasile ja tabelile. Veenduge, et kirjutate sellesse täpselt oma andmebaasi nime.

Nüüd ühendage Javascripti plokk silumissõlmega ja ka "mysql" sõlmega, mis on leitud vasakpoolsest salvestuspaleti alt.

ploki mysql all nimetate selle samamoodi nagu oma andmebaasi "alarmsystem"

muuta kasutaja "root" (nimi, mida kasutasime oma serverisse sisselogimiseks)

hosti, porti ja andmebaasi tuleks juba täita:

Host: 127.0.0.1

Sadam: 3306

Andmebaas: häiresüsteem

Kui kõik on õigesti tehtud, tuleb see pärast muudatuste juurutamist ühendada.

Samuti peaksite nägema, et andmebaas logib nüüd teie andmed otse Arduino kaudu.

6. samm: andmete kasutamine Wampserverist sõlmpunaseks

Andmete kasutamine Wampserverist sõlmpunaseks
Andmete kasutamine Wampserverist sõlmpunaseks
Andmete kasutamine Wampserverist sõlmpunaseks
Andmete kasutamine Wampserverist sõlmpunaseks

Viimase etapi jaoks tahame näha, kas suudame salvestatud andmed võtta ja need tagasi oma sõlmpunaseks muuta ning loodetavasti kuvada.

Alustage "süstimise" sõlme asetamisega

Selle sõlme teema alla panime koodi: SELECT*FROM alarmsystem.alarmdata

See avab meie andmebaasi selle vajutamisel.

Ühendage süstimissõlm uue "mysql" sõlmega, mis on seadistatud täpselt samamoodi nagu eelmises etapis.

Ühendage mysql -sõlme silumissõlmega ja armatuurlaua alt leitud malli sõlmega.

Malli sõlm on meie tabel, mida saame värskendada, et kuvada andmebaasi andmed selle koostamise ajal.

Sisestage ülaltoodud ekraanipildil näidatud kood (vajadusel muutke) ja see peaks nüüd näitama meie sõlmpunase kasutajaliidese andmetabelit.

Tabeli värskendamiseks kasutajaliideselt saame lisada ka armatuurlaua nupu.

Alustage nupusõlme loomisega.

ühendage nupusõlm Javascripti funktsiooniplokiga.

funktsiooniplokki sisestame järgmise koodi.

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

(Green1 on tabeli esimene andmemuutuja)

see funktsiooniplokk tuleb seejärel ühendada meie mysql -sõlme sisendiga, mille oleme selles etapis varem teinud.

Samm: viimistlemine

Viimistlemine
Viimistlemine

Nüüd peaks meie kasutajaliides sisaldama meie andmete reaalajas värskendust ja tabelit meie serveri andmetega.

See tähendab, et oleme loonud ühenduse Arduino, kasutajaliidesel põhineva programmi ja andmebaasi vahel.

Kui olete huvitatud sellest, kuidas minu Arduino häiresüsteem töötab, olen lisanud dokumendi, mis selgitab selle programmeerimist ja seadistamist.

Nagu ka sõlmepunase programmeerimise täielik eksport.

Soovitan: