Mundarija:
- 1-qadam: Node-red bilan ishlashni boshlash
- 2-qadam: Ma'lumotni tugun-qizil rangga bo'lish
- 3 -qadam: Wampserver bilan ma'lumotlar bazasi
- 4 -qadam: ma'lumotlar bazasi
- 5-qadam: Wampserver uchun qizil tugun
- 6-qadam: Wampserver-dan tugun-qizilgacha ma'lumotlarni ishlatish
- 7 -qadam: yakunlash
Video: UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Ushbu qurilishning maqsadi Arduino-ni Node-red va ma'lumotlar bazasi bilan bog'lashni o'rgatishdir, shuning uchun siz ma'lumotlarni yozib olishingiz va keyinchalik foydalanish uchun to'plashingiz mumkin.
Ushbu qurilish uchun men 5 ta raqamni chiqaradigan oddiy arduino signalizatsiya tizimidan foydalanaman, ularning har biri vergul bilan ajratilgan.
Ma'lumotlarning aniq miqdoriga ega bo'lish shart emas va dastur har qanday bo'lishi mumkin.
Muhimi, ma'lumotlar ekran tasvirida ko'rinib turganidek, vergul bilan ajratilgan.
Chiqish, masalan, shunday bo'lishi mumkin: "324, 0, 0, 1, 1"
(tugallangan dasturlash va arduino yaratish yo'riqnomalari ushbu qo'llanmaning pastki qismida joylashgan)
1-qadam: Node-red bilan ishlashni boshlash
Ushbu qo'llanma uchun siz allaqachon tugun-qizilni o'rnatgan deb o'ylaymiz, lekin bu loyiha uchun bizda ishlashi kerak bo'lgan qo'shimcha palitralar mavjud.
"Palitrani boshqarish" tugmachasini toping va quyidagi palitralarni o'rnating.
- qizil tugunli boshqaruv paneli
- tugun-qizil-tugun-mysql
- tugun-qizil-tugun-arduino
- tugun-qizil-tugun-ketma-ket portport
U tugun-qizil tugma menyusi yonida yangi palitralarni ko'rsatishi kerak.
2-qadam: Ma'lumotni tugun-qizil rangga bo'lish
Endi tugun-qizil ketishga tayyor, biz ma'lumotlarni alohida bo'laklarga bo'lishdan boshlashimiz kerak.
Shuning uchun biz ularni Arduino kodidagi vergul bilan ajratishga ishonch hosil qildik.
Avval chap panelda joylashgan Arduino kirish tugunini qo'yishdan boshlaylik.
Siz uning to'g'ri ketma -ketligiga (Mine COM4dan foydalanadi) va Baud tezligiga ega ekanligiga ishonch hosil qilishingiz kerak (mening dasturimda men 9600 bod tezligini ishlataman)
Agar to'g'ri sozlangan bo'lsa, u ulanganligini bildirishi kerak.
Keyin biz Javascript funktsiyalar blokini yaratamiz va uni Arduino kirish tugunidan keyin bog'laymiz, bu blok bizga Javascript -da dasturlash imkonini beradi va bu erda biz har bir vergul uchun ma'lumotlarimizni ajratadigan kod yozamiz.
Ushbu funktsiya blokida men 5 ta ma'lumotni quyidagi kod yordamida ajratdim:
var m1 = {mavzu: "engil1", yuk: msg.payload.split (",") [0]}; var m2 = {mavzu: "yorug'lik2", yuk: msg.payload.split (",") [1]}; var m3 = {mavzu: "light3", yuk: msg.payload.split (",") [2]}; var m4 = {mavzu: "millis", yuk: msg.payload.split (",") [3]}; var m5 = {mavzu: "o'chirish", yuk: msg.payload.split (",") [4]}; qaytish [m1, m2, m3, m4, m5];
(kerak bo'lganda kodni o'zgartiring)
Tugun 5 ta chiqishga (yoki unga teng) o'rnatilganligiga ishonch hosil qiling.
Skrinshotda ko'rinib turibdiki, bizda 5 ta chiqish bor, ularni har birida disk raskadrovka tugmasi va matnli boshqaruv paneli tuguniga bog'laymiz. Bu biz UIda ko'rishimiz kerak bo'lganda foydali bo'ladi.
3 -qadam: Wampserver bilan ma'lumotlar bazasi
Ma'lumotlar bazasi ishlashi uchun sizga Wampserver o'rnatilgan bo'lishi kerak, u yashil belgi sifatida ko'rsatilgandan so'ng (siz barcha xizmatlarni ishga tushirgandan so'ng) "phpMyAdmin" ni ochishingiz kerak, u sizni kirish ekraniga olib chiqadi. ilgari uni o'zgartirgan, faqat foydalanuvchi nomi va loginga "root" kiriting.
Phpmyadmin tugmachasini chap paneldagi asboblar ostiga bosing va u yuqoridagi rasmda ko'rsatilgandek ma'lumotlar bazasi menyusini ochadi.
Yangi ma'lumotlar bazasini yarating va uni loyihangizga tegishli deb nomlang, meniki "signalizatsiya tizimi" deb nomlangan (bu nomlar katta -kichik harflarga bog'liq bo'ladi)
Ma'lumotlar bazasi ostida yangi jadval yarating va unga nom bering, meniki "signaldata" deb nomlangan.
"latin1_swedish_ci" dan foydalanishni xohlaysizmi, deb so'raydi va biz uni shunday saqlaymiz.
Endi siz 6 ta jadval yaratasiz (bizdagi ma'lumotlardan 1 taga ko'p)
Birinchi jadval "uzun matn" ma'lumotlar turini ishlatishi kerak.
va ma'lumotlar to'plamining qolgan qismi "o'rta matn" dan foydalanadi
Ularni nomlashingizga ishonch hosil qiling. (birinchi ma'lumotlar to'plami "vaqt" deb nomlanishi kerak)
4 -qadam: ma'lumotlar bazasi
Wampserver ma'lumotlar bazasi shunga o'xshash bo'lishi kerak.
(lekin haqiqiy ma'lumotsiz, chunki biz bunga hali erishmaganmiz)
5-qadam: Wampserver uchun qizil tugun
Endi biz arduino -dan chiqarayotgan ma'lumotlar Wampserver -ga o'tishini xohlaymiz.
Boshqa Javascript funktsiyalar blokini yaratishni boshlang va uni arduino kirish tugunimizga ulang.
Ushbu skriptlar blokida biz o'z ma'lumotlarimizni yana bir bor ajratamiz, lekin biz ularni ma'lumotlar bazamizga kiritamiz.
var data = msg.payload.split (","); var Green1 = ma'lumotlar [0]; var Green2 = ma'lumotlar [1]; var Signal = ma'lumotlar [2]; var Millis = ma'lumotlar [3]; var IsActive = ma'lumotlar [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Signal, Millis, IsActive) VALUES ('"+new Date (). toISOString (). tilim (0, 19). joy (' T ',') ')+"', '"+Green1+"', '"+Green2+"', '"+Signal+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = tashqarida; xabarni qaytarish;
E'tibor bering, men "INSERT INTO alarmsystem.alarmdata" ni kiritdim, bu bizning ma'lumotlar bazamizga va jadvalimizga berilgan ism, bu erda ma'lumotlar bazasiga aniq ism qo'yganingizga ishonch hosil qiling.
Endi Javascript blokini disk raskadrovka tuguniga, shuningdek chap tomonda saqlash palitrasi ostida joylashgan "mysql" tuguniga ulang.
mysql bloki ostida siz uni "signalizatsiya tizimi" ma'lumotlar bazasi bilan bir xil nomlaysiz.
foydalanuvchini "root" ga o'zgartiring (biz serverga kirishda ishlatilgan ism)
host, port va ma'lumotlar bazasi allaqachon to'ldirilgan bo'lishi kerak:
Xost: 127.0.0.1
Port: 3306
Ma'lumotlar bazasi: signal tizimi
Agar hamma narsa to'g'ri bajarilgan bo'lsa, u o'zgarishlarni kiritgandan so'ng ulanishi kerak.
Bundan tashqari, ma'lumotlar bazasi sizning ma'lumotlaringizni Arduino -dan to'g'ridan -to'g'ri yozib olishini ko'rishingiz kerak.
6-qadam: Wampserver-dan tugun-qizilgacha ma'lumotlarni ishlatish
Yakuniy cho'zilish uchun biz saqlagan ma'lumotni olib, tugunimizdagi qizil rangga qaytarishimiz mumkinmi yoki yo'qmi, ko'rishni xohlaymiz.
"In'ektsiya" tugunini joylashtirishdan boshlang
Ushbu tugunning mavzusi ostida biz kodni qo'yamiz: SELECT*FROM alarmsystem.alarmdata
Biz bosganimizda, bu bizning ma'lumotlar bazasini topa oladi.
In'ektsiya tugunini oldingi "mysql" tuguniga ulang, biz oldingi qadamda bo'lgani kabi.
MySQL tugunini disk raskadrovka tuguniga va boshqaruv paneli ostida joylashgan shablon tuguniga ulang.
Shablon tugunlari bizning jadvalimiz bo'lib, biz uni ma'lumotlar bazasidan ma'lumotlarni ishlab chiqarish vaqtida ko'rsatish uchun yangilashimiz mumkin.
Yuqoridagi skrinshotda ko'rsatilgan kodni kiriting (kerak bo'lganda o'zgartiring) va u bizning tugun-qizil interfeysimizda ma'lumotlar jadvalini ko'rsatishi kerak.
Jadvalni UI -dan yangilash uchun asboblar paneli tugmachasini ham qo'shishimiz mumkin.
Tugma tugunini yaratish bilan boshlang.
tugma tugunini Javascript funktsiyalar blokiga ulang.
funktsiya blokiga biz quyidagi kodni kiritamiz.
msg.topic = "Yashil1 DESC LIMIT 20 BY ORDER BYRLARNI TANLOQ * 20"; xabarni qaytarish;
(Green1 - jadvaldagi birinchi ma'lumotlar o'zgaruvchisi)
keyin bu funktsiya bloki bu bosqichda ilgari qilgan mysql tugunimizning kirishiga ulanishi kerak.
7 -qadam: yakunlash
Endi bizning foydalanuvchi interfeysi ma'lumotlarimizning jonli yangilanishini va serverimiz ma'lumotlarini o'z ichiga olgan jadvalni o'z ichiga olishi kerak.
Bu shuni anglatadiki, biz Arduino, UI asosidagi dastur va ma'lumotlar bazasi o'rtasida aloqa o'rnatdik.
Agar siz mening Arduino signalizatsiya tizimi qanday ishlashiga qiziqsangiz, men qanday dasturlashtirilgan va sozlanganligini tushuntiruvchi hujjatni qo'shdim.
Qizil tugunli dasturlarni to'liq eksport qilish.
Tavsiya:
Qizil tugunli NCD simsiz harorat va namlik sensori elektron pochta ogohlantirishlarini yaratish: 22 qadam
Qizil tugunli NCD simsiz harorat va namlik sensori elektron pochta ogohlantirishlarini yaratish: biz bu erda NCD harorat va namlik sensori ishlatmoqdamiz, lekin har qanday ncd mahsuloti uchun qadamlar teng bo'lib qoladi, shuning uchun agar sizda boshqa ncd simsiz sensorlar bo'lsa, bepul tajriba o'tkazing. yonida kuzatib boring. Ushbu matnni to'xtatish orqali siz
IOT Uzoq masofali simsiz harorat va namlik sensori-qizil tugunli: 27 qadam
IOT Uzoq masofali simsiz harorat va namlik sensori tugun-qizil bilan: Simsiz tarmoqli tarmoq arxitekturasidan foydalangan holda 28 milgacha bo'lgan NCDning uzoq masofali simsiz harorat-namlik sensori bilan tanishish. Honeywell HIH9130 harorat-namlik sensori yuqori aniqlikdagi haroratni uzatadi
UCL - KEPserver yordamida Siemens PLC -ga qizil tugunni ulash: 7 qadam
UCL-Qizil tugunni Siemens PLC-ga KEPserver yordamida ulash: Qizil tugun-talablar: https://nodered.org/docs/getting-started/installationKEPserver: https://www.kepware.com/en-us/kepserverex-6 -6-versiya
ESP8266 DS18B20 harorat tugunli-qizil MQTT: 5 qadam
ESP8266 DS18B20 haroratli tugunli-RED MQTT: Bu safar ESP8266 va Node-RED platformasining integratsiyasi On18-dagi harorat protokoli DS18B20 sensorini birlashtirish orqali amalga oshirildi. Protokol va publisubent libra
Passiv signal signal tizimi: 4 qadam
Passiv signal signal tizimi: Men buni mumkin bo'lgan urinishdan keyin birlashtirdim. Eshigimda magnit signal bor, lekin eshik yana yopilganda va eshik mening uyimning qarama -qarshi tomonida bo'lsa, u meni yoki mening uyimni uyg'otish uchun etarli bo'lmasligi mumkin