Talaan ng mga Nilalaman:
- Hakbang 1: Pagsisimula Sa Node-red
- Hakbang 2: Paghahati ng Data sa Node-red
- Hakbang 3: Database Sa Wamperver
- Hakbang 4: Database
- Hakbang 5: Node-red sa Wampserver
- Hakbang 6: Paggamit ng Data Mula sa Wampserver hanggang sa Node-red
- Hakbang 7: Pagtatapos
Video: UCL-IIOT - Alarm System Na May Database at Node-red: 7 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang layunin ng pagbuo na ito ay upang magturo tungkol sa pagkonekta sa Arduino sa Node-red at isang database, upang maaari kang mag-log ng data at kolektahin din ito para magamit sa paglaon.
Para sa pagbuo na ito ay gumagamit ako ng isang simpleng sistema ng alarma ng arduino na naglalabas ng 5 mga numero ng data, bawat isa ay pinaghiwalay ng isang kuwit.
Hindi kinakailangan na magkaroon ng eksaktong dami ng data at ang programa ay maaaring maging anuman.
Ang mahalagang bahagi ay ang data ay nakahiwalay sa mga kuwit tulad ng nakikita sa screenshot na ito.
Ang output ay maaaring halimbawa magmukhang ganito: "324, 0, 0, 1, 1"
(ang tapos na programa at mga tagubilin sa paglikha ng arduino ay naka-link sa ilalim ng tutorial na ito)
Hakbang 1: Pagsisimula Sa Node-red
Para sa tutorial na ito ipinapalagay na na-install mo na ang Node-red, ngunit mayroong ilang mga sobrang palette na ginagamit para sa proyektong ito na kailangan namin upang gumana ito
Hanapin ang pindutang "Pamahalaan ang Palette" at i-install ang mga sumusunod na palette.
- node-red-dashboard
- node-red-node-MySQL
- node-red-node-arduino
- node-red-node-serialport
Dapat itong magpakita ng ilang mga bagong palette sa gilid ng menu ng button na Pulang pula.
Hakbang 2: Paghahati ng Data sa Node-red
Ngayon na ang Node-red ay handa nang umalis kailangan naming magsimula sa pamamagitan ng paghahati ng aming data sa magkakahiwalay na mga piraso.
Ito ang dahilan kung bakit tinitiyak namin na paghiwalayin ang mga ito ng mga kuwit sa loob ng Arduino code.
Magsimula muna tayo sa pamamagitan ng paglalagay ng node ng Arduino Input, na matatagpuan sa kaliwang panel.
Kailangan mong tiyakin na mayroon itong tamang serial (Ang gumagamit ay gumagamit ng COM4) port at rate ng Baud (sa aking programa ay gumagamit ako ng 9600 baud rate)
Kung wastong na-set up, dapat sabihin na konektado ito.
Susunod na lumikha kami ng isang Javascript function block at ikonekta ito pagkatapos ng Arduino input node. Pinapayagan kami ng block na ito na mag-program sa Javascript, at dito nagsusulat kami ng isang code na maaaring hatiin ang aming data para sa bawat kuwit.
Sa pagpapaandar na ito hinati ko ang aking 5 data gamit ang sumusunod na code:
var m1 = {paksa: "light1", payload: msg.payload.split (",") [0]}; var m2 = {paksa: "light2", payload: msg.payload.split (",") [1]}; var m3 = {paksa: "light3", payload: msg.payload.split (",") [2]}; var m4 = {paksa: "millis", payload: msg.payload.split (",") [3]}; var m5 = {paksa: "onoff", payload: msg.payload.split (",") [4]}; ibalik [m1, m2, m3, m4, m5];
(baguhin ang code kung kinakailangan)
Tiyaking ang node ay nakatakda sa 5 output (o iyong katumbas)
Tulad ng nakikita sa screenshot, mayroon na kaming 5 output na bawat link namin hanggang sa isang debug node at isang text dashboard node. Magiging kapaki-pakinabang ito para sa kung kailan namin kailangan itong makita sa UI.
Hakbang 3: Database Sa Wamperver
Para gumana ang aming database kailangan mong i-install ang Wampserver. Matapos itong mai-install at ipakita bilang isang berdeng icon (pagkatapos mong simulan ang lahat ng mga serbisyo), dapat mong buksan ang "phpMyAdmin" na dapat magdala sa iyo sa isang login screen. Maliban kung mayroon ka dating binago ito, i-input lamang ang "ugat" sa username at pag-login.
Pindutin ang pindutan ng phpmyadmin sa ilalim ng mga tool pababa sa kaliwang bar at dapat itong buksan ang menu ng database, na mukhang may ipinapakita sa imahe sa itaas.
Lumikha ng isang bagong database at pangalanan ito ng isang bagay na nauugnay sa iyong proyekto, ang minahan ay pinangalanang "alarmsystem" (ang mga pangalang ito ay magiging sensitibo sa kaso)
Sa ilalim ng database na iyon, lumikha ng isang bagong talahanayan at pangalanan ito, ang minahan ay pinangalanang "alarmdata"
tatanungin nito kung nais mong gamitin ang "latin1_swedish_ci" at panatilihin namin ito bilang iyon.
Gumagawa ka ngayon ng 6 na talahanayan (1 higit sa data na mayroon kami)
Kailangang gamitin ng unang talahanayan ang datatype na "longtext"
at ang natitirang bahagi ng dataset ay gumagamit ng "mediumtext"
Siguraduhing pangalanan ang mga ito. (ang unang dataset ay dapat na pinangalanan "oras"
Hakbang 4: Database
Ang Wampserver dataset ay dapat magmukhang ganito.
(ngunit nang walang aktwal na data, dahil hindi pa namin napupuntahan iyon)
Hakbang 5: Node-red sa Wampserver
Ngayon nais namin ang data na inilalabas namin mula sa aming arduino upang pumunta sa aming Wampserver.
Magsimula sa pamamagitan ng paglikha ng isa pang block ng pag-andar ng Javascript at ikonekta ito sa aming arduino input node.
Sa script block na ito, muli naming hinati ang aming data, ngunit inilalagay din namin ito sa aming database.
var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var Alarm = data [2]; var Millis = data [3]; var IsActive = data [4]; var out = "INSERT SA alarmsystem.alarmdata (Oras, Green1, Green2, Alarm, Millis, IsActive) VALUES ('" + bagong Petsa (). toISOString (). hiwa (0, 19).replace (' T ',' ') + "', '" + Green1 + "', '" + Green2 + "', '" + Alarm + "', '" + Millis + "', '" + IsActive + "')"; msg.topic = out; ibalik ang msg;
Pansinin na nai-input ko ang "INSERT INTO alarmsystem.alarmdata", ito ang pangalang ibinigay namin sa aming database at talahanayan, siguraduhing isulat mo ang eksaktong pangalan na ibinigay mo sa iyong database doon.
Ikonekta ngayon ang bloke ng Javascript sa isang debug node at isang node na "mysql" na matatagpuan sa ilalim ng storage palette sa kaliwang bahagi.
sa ilalim ng block ng MySQL papangalanan mo ito pareho sa iyong database na "alarmsystem"
baguhin ang gumagamit sa "root" (ang pangalan na ginamit namin upang mag-log in sa aming server)
host, port at database ay dapat na napunan na may:
Host: 127.0.0.1
Port: 3306
Database: alarmsystem
Kung tapos na ang lahat ng tama, dapat itong konektado pagkatapos mong mai-deploy ang iyong mga pagbabago.
Dapat mo ring makita na ang database ngayon ay nag-log ng iyong data mula sa Arduino nang direkta.
Hakbang 6: Paggamit ng Data Mula sa Wampserver hanggang sa Node-red
Para sa pangwakas na kahabaan na nais naming makita kung maaari naming kunin ang data na nai-save at ibalik ito sa aming Node-red at sana ay ipakita ito.
Magsimula sa pamamagitan ng paglalagay ng isang "inject" node
Sa ilalim ng paksa sa node na ito inilalagay namin ang code: SELECT * MULA sa alarmsystem.alarmdata
Mahahanap nito ang aming database kapag pinindot namin ito.
Ikonekta ang inject node sa isang bagong "MySQL" na node set up nang eksakto tulad ng isa na ginawa namin sa nakaraang hakbang.
Ikonekta ang MySQL node sa isang debug node at isang template node na matatagpuan sa ilalim ng dashboard.
Ang template node ang aming magiging talahanayan na maaari naming i-update upang maipakita ang data mula sa database habang ginawa ito.
Ipasok ang code na ipinapakita sa screenshot sa itaas (baguhin kung kinakailangan) at dapat itong magpakita ngayon ng isang talahanayan ng data sa aming Node-red UI.
Maaari din kaming magdagdag ng isang pindutan ng dashboard upang mai-update ang talahanayan mula sa UI mismo.
Magsimula sa pamamagitan ng paglikha ng isang button node.
ikonekta ang node ng pindutan sa isang Javascript function block.
sa pag-andar ng block ipinasok namin ang sumusunod na code.
msg.topic = "SELECT * MULA sa alarmdata ORDER BY Green1 DESC LIMIT 20"; ibalik ang msg;
(Green1 ang unang variable ng data sa talahanayan)
ang pag-andar ng pag-andar na ito pagkatapos ay kailangang maiugnay sa pag-input ng aming MySQL node na ginawa namin dati sa hakbang na ito.
Hakbang 7: Pagtatapos
Ngayon ang aming UI ay dapat magsama ng isang live na pag-update ng aming data at isang talahanayan na may data mula sa aming server mismo.
Nangangahulugan ito na lumikha kami ng isang koneksyon sa pagitan ng Arduino, isang programa batay sa UI at isang database.
Kung interesado ka sa kung paano gumagana ang aking Arduino Alarm System, nagdagdag ako ng isang dokumento na nagpapaliwanag kung paano ito nai-program at na-set up.
Pati na rin ang isang buong pag-export ng node-red na programa.
Inirerekumendang:
Paano ikonekta ang NodeMCU ESP8266 sa MySQL Database: 7 Mga Hakbang
Paano ikonekta ang NodeMCU ESP8266 sa MySQL Database: Ang MySQL ay isang malawak na ginagamit na pamanggit na sistema ng pamamahala ng database (RDBMS) na gumagamit ng nakabalangkas na wika ng query (SQL). Sa ilang mga punto, baka gusto mong i-upload ang data ng sensor ng Arduino / NodeMCU sa MySQL database. Sa Instructable na ito, makikita natin kung paano kumonekta
Lumikha ng Ms Access Database Software upang Maghanda ng Suweldo sa Iyong Kumpanya: 6 na Hakbang
Lumikha ng Ms Access Database Software upang Maghanda ng Suweldo sa Iyong Kumpanya: bibigyan kita ng maikling tagubilin upang lumikha ng isang sistema ng Payroll gamit ang pag-access sa MS para makabuo ng buwanang suweldo at madaling mai-print ang mga slip ng suweldo kasama nito. Sa ganitong paraan maaari mong panatilihin ang mga tala ng mga detalye ng suweldo sa ilalim ng database at maaaring i-edit o suriin nang huli
Fingerprint at RFID Batay sa Attendance System Paggamit ng Raspberry Pi at MySQL Database: 5 Mga Hakbang
Fingerprint at RFID Batay sa Attendance System Gamit ang Raspberry Pi at MySQL Database: Video ng Project na Ito
EAL-Industri4.0-RFID Dataopsamling Til Database: 10 Hakbang (na may Mga Larawan)
EAL-Industri4.0-RFID Dataopsamling Til Database: Dette projekt omhandler opsamling af v æ gtdata, registrering af identiteter vha. Ang RFID, naglalagay ng data sa aking database ng MySQL. node-RED, samahan ang pag-uusapan at pag-uugali ng data mula sa opsamlede ng data at C # na programa na nabubuo sa Windows Form Application.
Paano Maayos na Ikonekta at Mag-set up ng isang Mini HiFi Shelf System (Sound System): 8 Hakbang (na may Mga Larawan)
Paano Maayos na Ikonekta at Mag-set up ng isang Mini HiFi Shelf System (Sound System): Ako ay isang tao na nasisiyahan na malaman ang tungkol sa electrical engineering. Ako ay isang high school sa Ann Richards School para sa Young Women Leaders. Ginagawa kong itinuro ito upang matulungan ang sinumang nais na masiyahan sa kanilang musika mula sa isang Mini LG HiFi Shelf Syste