Mundarija:

UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi: 7 qadam
UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi: 7 qadam

Video: UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi: 7 qadam

Video: UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi: 7 qadam
Video: ГНИЛОБАН ждал ОЖИВЛЕНИЯ 8 лет в гараже | ВОССТАНОВИЛИ мертвеца DODGE RAM VAN B3500 2024, Noyabr
Anonim
UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi
UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi
UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi
UCL-IIOT-Ma'lumotlar bazasi va qizil tugunli signal tizimi

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

Qizil tugun bilan ishlashni boshlash
Qizil tugun 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

Ma'lumotni tugun-qizil rangga bo'lish
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

Wampserver bilan ma'lumotlar bazasi
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

Ma'lumotlar bazasi
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

Wampserver uchun qizil tugun
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

Wampserver-dan tugun-qizilgacha ma'lumotlarni ishlatish
Wampserver-dan tugun-qizilgacha ma'lumotlarni ishlatish
Wampserver-dan tugun-qizilgacha ma'lumotlarni ishlatish
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

Yakunlanmoqda
Yakunlanmoqda

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: