Բովանդակություն:
- Քայլ 1: Սկսել Node-red- ով
- Քայլ 2. Տվյալների բաժանում Node-red- ում
- Քայլ 3: Տվյալների բազա Wampserver- ով
- Քայլ 4: Տվյալների բազա
- Քայլ 5. Հանգույց-կարմիր դեպի Wampserver
- Քայլ 6. Տվյալների օգտագործումը Wampserver- ից մինչև Node-red
- Քայլ 7: Վերջնականացում
Video: UCL-IIOT-Տագնապային համակարգ տվյալների շտեմարանով և հանգույց-կարմիր ՝ 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս կառուցման նպատակն է ուսուցանել Arduino- ն Node-red- ի և տվյալների բազայի հետ կապելու մասին, այնպես որ կարող եք մուտքագրել տվյալները, ինչպես նաև հավաքել դրանք հետագա օգտագործման համար:
Այս կառուցման համար ես օգտագործում եմ պարզ arduino ահազանգման համակարգ, որը թողարկում է 5 տվյալների համար, որոնցից յուրաքանչյուրն առանձնացված է ստորակետով:
Պարտադիր չէ ունենալ այդ ճշգրիտ տվյալները և ծրագիրը կարող է լինել որևէ բան:
Կարևոր մասն այն է, որ տվյալները առանձնացված են ստորակետներով, ինչպես երևում է այս սքրինշոթում:
Օրինակ ՝ ելքը կարող է այսպիսին լինել ՝ «324, 0, 0, 1, 1»
(arduino- ի ստեղծման ավարտված ծրագրավորումն ու հրահանգները կապված են այս ձեռնարկի ներքևում)
Քայլ 1: Սկսել Node-red- ով
Այս ձեռնարկի համար մենք ենթադրում ենք, որ դուք արդեն տեղադրել եք Node-red- ը, բայց կան որոշ լրացուցիչ ներկապնակներ, որոնք օգտագործվում են այս նախագծի համար, որոնք մեզ անհրաժեշտ են դրա աշխատանքի համար
Գտեք «Կառավարեք ներկապնակ» կոճակը և տեղադրեք հետևյալ ներկապնակները:
- հանգույց-կարմիր-վահանակ
- հանգույց-կարմիր-հանգույց-mysql
- հանգույց-կարմիր-հանգույց-arduino
- node-red-node-serialport
Այն պետք է ցույց տա մի քանի նոր ներկապնակ Node-կարմիր կոճակի ընտրացանկի կողքին:
Քայլ 2. Տվյալների բաժանում Node-red- ում
Այժմ, երբ Node-red- ը պատրաստ է գնալ, մենք պետք է սկսենք ՝ մեր տվյալները բաժանելով առանձին կտորների:
Ահա թե ինչու մենք համոզվեցինք դրանք առանձնացնել ստորակետներով Arduino կոդի ներսում:
Սկզբից սկսենք դնելով Arduino Input հանգույցը, որը գտնվում է ձախ կողմի վահանակում:
Դուք պետք է համոզվեք, որ այն ունի սերիական (Mine- ն օգտագործում է COM4) պորտը և Baud- ի արագությունը (իմ ծրագրում ես օգտագործում եմ 9600 բաուդ արագություն)
Եթե ճիշտ տեղադրված է, այն պետք է ասի, որ այն միացված է:
Հաջորդը մենք ստեղծում ենք Javascript գործառույթի բլոկ և միացնում այն Arduino մուտքի հանգույցից հետո: Այս բլոկը թույլ է տալիս ծրագրավորել Javascript- ում, և այստեղ մենք գրում ենք մի կոդ, որը կարող է բաժանել մեր տվյալները յուրաքանչյուր ստորակետի համար:
Այս գործառույթի բլոկում ես բաժանեցի իմ 5 տվյալները ՝ օգտագործելով հետևյալ ծածկագիրը.
var m1 = {թեմա ՝ "light1", payload: msg.payload.split (",") [0]}; var m2 = {թեմա ՝ "light2", payload: msg.payload.split (",") [1]}; var m3 = {թեմա ՝ "light3", payload: msg.payload.split (",") [2]}; var m4 = {թեմա ՝ "millis", payload: msg.payload.split (",") [3]}; var m5 = {թեմա ՝ «անջատված», բեռնվածություն ՝ msg.payload.split (",") [4]}; վերադարձ [մ 1, մ 2, մ 3, մ 4, մ 5];
(անհրաժեշտության դեպքում փոխել կոդը)
Համոզվեք, որ հանգույցը սահմանված է 5 ելքի վրա (կամ ձեր համարժեքը)
Ինչպես երեւում է սքրինշոթում, մենք այժմ ունենք 5 ելք, որոնցից յուրաքանչյուրը կապում ենք մինչեւ վրիպազերծման հանգույց եւ տեքստի վահանակի հանգույց: Սա օգտակար կլինի այն ժամանակ, երբ մենք պետք է այն տեսնենք UI- ում:
Քայլ 3: Տվյալների բազա Wampserver- ով
Մեր տվյալների բազան աշխատելու համար անհրաժեշտ է տեղադրել Wampserver- ը: Տեղադրվելուց հետո այն ցուցադրվում է որպես կանաչ պատկերակ (բոլոր ծառայությունները սկսելուց հետո), դուք պետք է բացեք «phpMyAdmin» - ը, որը պետք է ձեզ հասցնի մուտքի էկրան: Եթե դուք չունեք նախկինում փոխել է այն, պարզապես մուտքագրել «արմատ» օգտվողի անվան և մուտքի մեջ:
Սեղմեք phpmyadmin կոճակը ներքևի ձախ գոտում գտնվող գործիքների ներքո, և այն պետք է բացի տվյալների բազայի ընտրացանկը, որը նման է վերևում պատկերված պատկերին:
Ստեղծեք նոր տվյալների բազա և անվանեք այն ինչ -որ բան կապված ձեր նախագծի հետ, իմը կոչվում է «ահազանգման համակարգ» (այս անունները կլինեն մեծատառերի նկատմամբ զգայուն)
Այդ տվյալների բազայի տակ ստեղծեք նոր աղյուսակ և անվանեք այն, իմը կոչվում է «ահազանգ»:
այն կհարցնի ՝ արդյոք ցանկանում եք օգտագործել «latin1_swedish_ci» - ն, և մենք այն պարզապես այդպես ենք պահում:
Այժմ դուք ստեղծում եք 6 աղյուսակ (1 -ը ավելին, քան մեր ունեցած տվյալները)
Առաջին աղյուսակը պետք է օգտագործի տվյալների տիպը «longtext»
և մնացած տվյալների հավաքածուն օգտագործում է «միջին տեքստ»
Անպայման անվանեք դրանք: (առաջին տվյալների հավաքածուն պետք է անվանվի «ժամանակ»
Քայլ 4: Տվյալների բազա
Wampserver- ի տվյալների հավաքածուն պետք է ունենա այսպիսի տեսք:
(բայց առանց իրական տվյալների, քանի որ դրան դեռ չենք հասել)
Քայլ 5. Հանգույց-կարմիր դեպի Wampserver
Այժմ մենք ցանկանում ենք, որ մեր arduino- ից ստացվող տվյալները գնան մեր Wampserver:
Սկսեք ՝ ստեղծելով մեկ այլ Javascript գործառույթի բլոկ և միացրեք այն մեր arduino մուտքի հանգույցին:
Այս սցենարային բլոկում մենք մեկ անգամ ևս բաժանում ենք մեր տվյալները, բայց դրանք տեղադրում ենք նաև մեր տվյալների բազայում:
var տվյալներ = msg.payload.split (","); var Green1 = տվյալներ [0]; var Green2 = տվյալներ [1]; var Ահազանգ = տվյալներ [2]; var Millis = տվյալներ [3]; var IsActive = տվյալներ [4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date (). toISOString (). շերտ (0, 19). փոխարինել (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+Ահազանգ+"', '"+Millis+"', '"+IsActive+"')"; msg.topic = դուրս; վերադարձնել msg;
Notանուցում ես մուտքագրում եմ «ՏԵSԵԿՈԹՅՈՆ alarmsystem.alarmdata», սա այն անունն է, որը մենք տվել ենք մեր տվյալների շտեմարանին և աղյուսակին, համոզվեք, որ դրանում գրում եք ձեր տվյալների բազայի տված ճշգրիտ անունը:
Այժմ միացրեք Javascript բլոկը վրիպազերծման հանգույցին, ինչպես նաև ձախ կողմում գտնվող պահեստային ներկապնակի տակ գտնված «mysql» հանգույցին:
mysql բլոկի տակ դուք այն նույնն եք անվանում, ինչպես ձեր տվյալների բազայի «ահազանգման համակարգ»
օգտվողին փոխել «արմատ» (անունը, որով մենք օգտագործում էինք մեր սերվերին մուտք գործելու համար)
հյուրընկալողը, նավահանգիստը և տվյալների բազան պետք է արդեն լրացված լինեն.
Հաղորդավար ՝ 127.0.0.1
Նավահանգիստ `3306
Տվյալների բազա ՝ ահազանգման համակարգ
Եթե ամեն ինչ ճիշտ է արված, այն պետք է միացված լինի ձեր փոփոխությունները տեղակայելուց հետո:
Դուք նաև պետք է կարողանաք տեսնել, որ տվյալների բազան այժմ անմիջապես մուտքագրում է ձեր տվյալները Arduino- ից:
Քայլ 6. Տվյալների օգտագործումը Wampserver- ից մինչև Node-red
Վերջնական հատվածի համար մենք ցանկանում ենք տեսնել, թե կարո՞ղ ենք վերցնել մեր պահած տվյալները և դրանք նորից տեղադրել մեր Node-red- ի մեջ և հուսով ենք, որ դրանք կցուցադրվեն:
Սկսեք ՝ տեղադրելով «ներարկման» հանգույց
Այս հանգույցի թեմայի ներքո մենք դնում ենք կոդը ՝ SELECT*FROM alarmsystem.alarmdata
Սա կկարողանա գտնել մեր տվյալների բազան, երբ այն սեղմում ենք:
Ներարկման հանգույցը միացրեք նոր «mysql» հանգույցին, որը ստեղծվել է ճիշտ այնպես, ինչպես նախորդ քայլին:
Միացրեք mysql հանգույցը վրիպազերծման հանգույցին և վահանակի տակ գտնված ձևանմուշի հանգույցին:
Կաղապարի հանգույցը կլինի մեր աղյուսակը, որը մենք կարող ենք թարմացնել `տվյալների բազայից ստացված տվյալների ցուցադրման համար:
Մուտքագրեք վերևի սքրինշոթում ցուցադրված ծածկագիրը (անհրաժեշտության դեպքում փոխեք) և այն այժմ պետք է ցույց տա տվյալների աղյուսակ մեր Node-red UI միջերեսում:
Մենք կարող ենք նաև ավելացնել վահանակի կոճակ ՝ սեղանն ինքնին UI- ից թարմացնելու համար:
Սկսեք ՝ ստեղծելով կոճակի հանգույց:
միացրեք կոճակի հանգույցը Javascript գործառույթի բլոկին:
գործառույթի բլոկում մենք տեղադրում ենք հետևյալ ծածկագիրը:
msg.topic = "ԸՆՏՐԵԼ * Տագնապային տվյալներից պատվիրեք Green1 DESC LIMIT 20 -ով"; վերադարձնել msg;
(Green1- ը աղյուսակի տվյալների առաջին փոփոխականն է)
այս գործառույթի բլոկը այնուհետև պետք է միացված լինի մեր mysql հանգույցի մուտքին, որը մենք նախապես արել էինք այս քայլին:
Քայլ 7: Վերջնականացում
Այժմ մեր ինտերֆեյսը պետք է ներառի մեր տվյալների կենդանի թարմացում և սեղան ՝ մեր սերվերի տվյալներով:
Սա նշանակում է, որ մենք կապ ենք ստեղծել Arduino- ի, UI- ի վրա հիմնված ծրագրի և տվյալների բազայի միջև:
Եթե ձեզ հետաքրքրում է, թե ինչպես է աշխատում իմ Arduino ազդանշանային համակարգը, ես ավելացրել եմ մի փաստաթուղթ, որը բացատրում է, թե ինչպես է դա ծրագրավորվում և կարգավորվում:
Ինչպես նաև հանգույցների կարմիր ծրագրավորման ամբողջական արտահանում:
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Մատնահետքերի և RFID- ի վրա հիմնված հաճախելիության համակարգ ՝ օգտագործելով Raspberry Pi և MySQL տվյալների շտեմարան. 5 քայլ
Մատնահետքերի և RFID- ի վրա հիմնված հաճախելիության համակարգ ՝ օգտագործելով Raspberry Pi և MySQL տվյալների շտեմարան. Այս նախագծի տեսանյութը
Տվյալների ձեռքբերման և տվյալների տեսողականացման համակարգ MotoStudent Electric Racing Bike– ի համար ՝ 23 քայլ
Տվյալների ձեռքբերման և տվյալների տեսողականացման համակարգ MotoStudent Electric Racing Bike- ի համար. Տվյալների ձեռքբերման համակարգն ապարատային և ծրագրային ապահովման հավաքածու է, որը աշխատում է միասին ՝ արտաքին սենսորներից տվյալներ հավաքելու, դրանք պահելու և հետագայում մշակելու համար, որպեսզի դրանք գրաֆիկականորեն պատկերացվեն և վերլուծվեն, թույլ տալով ինժեներներին կատարել
Arduino մատնահետքերի հաճախման համակարգ W/ Cloud տվյալների պահպանում ՝ 8 քայլ
Arduino մատնահետքերի հաճախման համակարգ W/ Cloud Data Storage: Դուք կարող եք կարդալ այս և այլ զարմանահրաշ ձեռնարկներ ElectroPeak- ի պաշտոնական կայքում: Այս ձեռնարկում մենք պատրաստվում ենք
Հաճախումների համակարգ ՝ Google աղյուսակի տվյալների պահպանմամբ ՝ օգտագործելով RFID և Arduino Ethernet Shield ՝ 6 քայլ
Հաճախումների համակարգ ՝ Google աղյուսակի տվյալների պահպանմամբ ՝ օգտագործելով RFID և Arduino Ethernet Shield. Բարև տղերք, այստեղ մենք գալիս ենք շատ հետաքրքիր նախագծով, և դա այն է, թե ինչպես կարելի է rfid տվյալներ ուղարկել Google աղյուսակ Arduino- ի միջոցով: Մի խոսքով, մենք պատրաստվում ենք հաճախումների համակարգ ստեղծել ՝ հիմնված rfid ընթերցողի վրա, որն իրական ժամանակում կպահպանի հաճախելիության տվյալները