Turinys:
- 1 žingsnis: Darbo su raudonu mazgu pradžia
- 2 žingsnis: Duomenų padalijimas raudonu mazgu
- 3 veiksmas: duomenų bazė su „Wampserver“
- 4 žingsnis: duomenų bazė
- 5 veiksmas: raudonas mazgas į „Wampserver“
- 6 veiksmas: duomenų naudojimas iš „Wampserver“į raudoną mazgą
- 7 žingsnis: užbaigimas
Video: UCL-IIOT-signalizacijos sistema su duomenų baze ir raudonu mazgu: 7 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šio kūrinio tikslas yra išmokyti prijungti „Arduino“prie „Node-red“ir duomenų bazės, kad galėtumėte registruoti duomenis ir rinkti juos vėlesniam naudojimui.
Šiam kūriniui aš naudoju paprastą arduino signalizacijos sistemą, kuri pateikia 5 duomenų numerius, atskirtus kableliu.
Nebūtina turėti tokio tikslaus duomenų kiekio ir programa gali būti bet kokia.
Svarbiausia, kad duomenys būtų atskirti kableliais, kaip parodyta šioje ekrano kopijoje.
Pavyzdžiui, išvestis gali atrodyti taip: "324, 0, 0, 1, 1"
(baigtas programavimas ir instrukcijos, kaip sukurti „arduino“, yra šios pamokos apačioje)
1 žingsnis: Darbo su raudonu mazgu pradžia
Šioje pamokoje darome prielaidą, kad jau įdiegėte raudoną mazgą, tačiau šiam projektui naudojamos kai kurios papildomos paletės, kurių mums reikia, kad jis veiktų
Raskite mygtuką „Tvarkyti paletę“ir įdiekite šias paletes.
- mazgas-raudonas-prietaisų skydelis
- node-red-node-mysql
- mazgas-raudonas-mazgas-arduino
- node-red-node-serialport
Turėtų būti rodomos naujos paletės raudono mazgo mygtuko meniu šone.
2 žingsnis: Duomenų padalijimas raudonu mazgu
Dabar, kai „Node-red“yra paruoštas veikti, turime pradėti skaidydami savo duomenis į atskirus gabalus.
Štai kodėl mes būtinai skyrėme juos kableliais „Arduino“kode.
Pirmiausia pradėkime nuleisdami „Arduino“įvesties mazgą, esantį kairiajame šoniniame skydelyje.
Turite įsitikinti, kad jis turi teisingą nuoseklųjį („Mine“naudoja COM4) prievadą ir „Baud“greitį (savo programoje naudoju 9600 baudų spartą)
Jei jis teisingai nustatytas, jis turėtų pasakyti, kad jis prijungtas.
Toliau sukuriame „Javascript“funkcijų bloką ir prijungiame jį po „Arduino“įvesties mazgo. Šis blokas leidžia mums programuoti „Javascript“, o čia rašome kodą, kuris gali padalinti mūsų duomenis kiekvienam kableliui.
Šiame funkcijų bloke aš padalinau savo 5 duomenis naudodami šį kodą:
var m1 = {tema: "šviesa1", naudingoji apkrova: msg.payload.split (",") [0]}; var m2 = {tema: "light2", naudingoji apkrova: msg.payload.split (",") [1]}; var m3 = {tema: "light3", naudingoji apkrova: msg.payload.split (",") [2]}; var m4 = {tema: "millis", naudingoji apkrova: msg.payload.split (",") [3]}; var m5 = {tema: "onoff", naudingoji apkrova: msg.payload.split (",") [4]}; grąža [m1, m2, m3, m4, m5];
(jei reikia, pakeiskite kodą)
Įsitikinkite, kad mazgas nustatytas į 5 išėjimus (arba jūsų ekvivalentą)
Kaip matyti ekrano kopijoje, dabar turime 5 išėjimus, kuriuos kiekvienas susiejame su derinimo mazgu ir teksto prietaisų skydelio mazgu. Tai bus naudinga, kai mums reikia tai pamatyti vartotojo sąsajoje.
3 veiksmas: duomenų bazė su „Wampserver“
Kad mūsų duomenų bazė veiktų, turite įdiegti „Wampserver“. Kai ji bus įdiegta ir rodoma kaip žalia piktograma (paleidus visas paslaugas), turėtumėte atidaryti „phpMyAdmin“, kuris turėtų nukreipti jus į prisijungimo ekraną. Nebent turite anksčiau jį pakeitę, tiesiog įveskite „root“į vartotojo vardą ir prisijungimą.
Paspauskite phpmyadmin mygtuką po įrankiais žemyn kairėje juostoje ir jis turėtų atidaryti duomenų bazės meniu, kuris atrodo maždaug taip, kaip parodyta aukščiau esančiame paveikslėlyje.
Sukurkite naują duomenų bazę ir pavadinkite ją kažkuo, susijusiu su jūsų projektu, mano pavadinimas yra „signalizacijos sistema“(šie pavadinimai bus didžiosios ir mažosios raidės)
Pagal tą duomenų bazę sukurkite naują lentelę ir pavadinkite ją, mano pavadinimas yra „alarmdata“
jis paklaus, ar norite naudoti „latin1_swedish_ci“, o mes tiesiog paliekame tai.
Dabar sukuriate 6 lenteles (1 daugiau nei mūsų turimi duomenys)
Pirmoje lentelėje reikia naudoti duomenų tipą „longtext“
o likusioje duomenų rinkinio dalyje naudojamas „vidutinis tekstas“
Būtinai pavadinkite juos. (pirmasis duomenų rinkinys turėtų būti pavadintas „laikas“
4 žingsnis: duomenų bazė
„Wampserver“duomenų rinkinys turėtų atrodyti maždaug taip.
(bet be tikrųjų duomenų, nes mes to dar nesame pasiekę)
5 veiksmas: raudonas mazgas į „Wampserver“
Dabar norime, kad duomenys, kuriuos mes siunčiame iš savo arduino, patektų į mūsų „Wampserver“.
Pradėkite sukurdami kitą „Javascript“funkcijų bloką ir prijunkite jį prie mūsų arduino įvesties mazgo.
Šiame scenarijų bloke mes dar kartą padalijome savo duomenis, bet taip pat įterpiame juos į savo duomenų bazę.
var duomenys = msg.payload.split (","); var Green1 = duomenys [0]; var Green2 = duomenys [1]; var Alarm = duomenys [2]; var Millis = duomenys [3]; var IsActive = duomenys [4]; var out = "INSERT INTO alarmsystem.alarmda ')+"', '"+Žalia1+"', '"+Žalia2+"', '"+Pavojaus signalas+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = išeina; grąžinti pranešimą;
Pastaba Aš įvedu „INSERT INTO alarmsystem.alarmdata“, tokį pavadinimą davėme savo duomenų bazei ir lentelei. Įsitikinkite, kad į ją įrašėte tikslų pavadinimą.
Dabar prijunkite „Javascript“bloką prie derinimo mazgo, taip pat „mysql“mazgo, esančio saugojimo paletėje kairėje pusėje.
pagal „mysql“bloką pavadinate jį taip pat, kaip ir jūsų duomenų bazę „signalizacijos sistema“
pakeisti vartotoją į „root“(vardą, kurį naudojome prisijungdami prie savo serverio)
priegloba, prievadas ir duomenų bazė jau turi būti užpildyti:
Priimančioji: 127.0.0.1
Uostas: 3306
Duomenų bazė: signalizacijos sistema
Jei viskas padaryta teisingai, įdiegus pakeitimus, jis turėtų būti prijungtas.
Taip pat turėtumėte matyti, kad duomenų bazė dabar tiesiogiai registruoja jūsų duomenis iš „Arduino“.
6 veiksmas: duomenų naudojimas iš „Wampserver“į raudoną mazgą
Paskutiniame etape norime pamatyti, ar galime paimti išsaugotus duomenis ir grąžinti juos į raudoną mazgą ir, tikiuosi, parodyti.
Pradėkite dėdami „įpurškimo“mazgą
Po šio mazgo tema įvedame kodą: SELECT*FROM alarmsystem.alarmdata
Tai galės rasti mūsų duomenų bazę, kai ją paspausime.
Prijunkite įpurškimo mazgą prie naujo „mysql“mazgo, nustatyto tiksliai taip, kaip atlikome ankstesniame žingsnyje.
Prijunkite „mysql“mazgą prie derinimo mazgo ir šablono mazgo, esančio po prietaisų skydeliu.
Šablono mazgas bus mūsų lentelė, kurią galime atnaujinti, kad būtų rodomi duomenys iš duomenų bazės, kai ji kuriama.
Įveskite kodą, parodytą aukščiau esančioje ekrano kopijoje (jei reikia, pakeiskite) ir dabar mūsų mazgo raudonojoje vartotojo sąsajoje turėtų būti rodoma duomenų lentelė.
Taip pat galime pridėti prietaisų skydelio mygtuką, kad atnaujintume lentelę iš pačios vartotojo sąsajos.
Pradėkite nuo mygtuko mazgo sukūrimo.
Prijunkite mygtuko mazgą prie „Javascript“funkcijų bloko.
į funkcijų bloką įterpiame šį kodą.
msg.topic = "SELECT * FROM alarmdata ORDER BY Green1 DESC LIMIT 20"; return msg;
(„Green1“yra pirmasis duomenų kintamasis lentelėje)
tada šis funkcijų blokas turi būti prijungtas prie mūsų „mysql“mazgo įvesties, kurią padarėme anksčiau šiame veiksme.
7 žingsnis: užbaigimas
Dabar mūsų vartotojo sąsaja turėtų apimti tiesioginį mūsų duomenų atnaujinimą ir lentelę su duomenimis iš paties serverio.
Tai reiškia, kad sukūrėme ryšį tarp „Arduino“, UI pagrįstos programos ir duomenų bazės.
Jei jus domina, kaip veikia mano „Arduino“signalizacijos sistema, pridėjau dokumentą, kuriame paaiškinama, kaip tai užprogramuota ir nustatyta.
Taip pat visiškai eksportuoti raudono mazgo programavimą.
Rekomenduojamas:
Kaip padaryti drėgmės ir temperatūros realaus laiko duomenų įrašymo įrenginį naudojant „Arduino UNO“ir SD kortelę - DHT11 duomenų kaupiklio modeliavimas „Proteus“: 5 žingsniai
Kaip padaryti drėgmės ir temperatūros realaus laiko duomenų įrašymo įrenginį naudojant „Arduino UNO“ir SD kortelę | DHT11 duomenų kaupiklio modeliavimas „Proteus“: Įvadas: Sveiki, tai „Liono Maker“, čia yra „YouTube“nuoroda. Mes kuriame kūrybinį projektą su „Arduino“ir dirbame prie įterptųjų sistemų
Pirštų atspaudų ir RFID stebėjimo sistema naudojant „Raspberry Pi“ir „MySQL“duomenų bazę: 5 žingsniai
Pirštų atspaudų ir RFID pagrįsta dalyvavimo sistema naudojant „Raspberry Pi“ir „MySQL“duomenų bazę: šio projekto vaizdo įrašas
Duomenų rinkimo ir duomenų vizualizavimo sistema „MotoStudent“lenktyniniam dviračiui: 23 žingsniai
„MotoStudent“elektrinio lenktyninio dviračio duomenų rinkimo ir duomenų vizualizavimo sistema: Duomenų surinkimo sistema yra techninės ir programinės įrangos, veikiančios kartu, rinkinys, siekiant surinkti duomenis iš išorinių jutiklių, po to juos saugoti ir apdoroti, kad būtų galima vizualizuoti grafiškai ir analizuoti, leidžia inžinieriams padaryti
IOT ilgo nuotolio belaidis temperatūros ir drėgmės jutiklis su raudonu mazgu: 27 žingsniai
IOT ilgo nuotolio belaidis temperatūros ir drėgmės jutiklis su raudonu mazgu: pristatomas NCD ilgo nuotolio belaidis temperatūros ir drėgmės jutiklis, galintis pasigirti iki 28 mylių atstumu, naudojant belaidžio tinklo tinklo architektūrą. Sudėtyje esantis Honeywell HIH9130 temperatūros ir drėgmės jutiklis perduoda labai tikslią temperatūrą ir
EAL-Industri4.0-RFID duomenų rinkimo duomenų bazė: 10 žingsnių (su nuotraukomis)
EAL-Industri4.0-RFID duomenų kopijavimas iki duomenų bazės: „Dette projekt omhandler opsamling af v æ gtdata“, registruojantis tapatybę. RFID, bauginantys duomenys ir „MySQL“duomenų bazė. „NOD-RED“, „fremvisning“ir „elgsena“naudojant duomenų rinkinius ir C# programą, kurią sudaro „Windows Form Application“