Բովանդակություն:
- Պարագաներ
- Քայլ 1. REST JSON Http (եր) արձանագրություն
- Քայլ 2: Հոսք
- Քայլ 3: Գործիքային վահանակ
- Քայլ 4: Ներմուծման հոսք (նախագիծ, սցենար և այլն)
- Քայլ 5: Ինչպես է ամեն ինչ աշխատում միասին
- Քայլ 6 ՝ HTTP POST և GET
- Քայլ 7: Կոճակի հանգույցներ
- Քայլ 8: Ֆունկցիայի հանգույց
- Քայլ 9. JSON հանգույց և ներարկման հանգույց
- Քայլ 10: Տեքստային հանգույց և կարգաբերման հանգույց
- Քայլ 11: Գծապատկերային հանգույց
- Քայլ 12: Չափիչ հանգույց և հղման հանգույցներ
- Քայլ 13: Շնորհակալություն Իմ հրահանգը կարդալու համար
Video: Ինչպես աշխատել JSON- ի հետ Node-RED- ում. 13 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Այս հրահանգը կսովորեցնի ձեզ, թե ինչպես աշխատել JSON- ի հետ node-RED- ում: Ես ձեզ ցույց կտամ, թե ինչպես վերահսկել ցանցի հոսանքի վարդակները json ֆայլերի փոխանցմամբ ՝ http get and post- ի միջոցով: Եվ այս գիտելիքները կարող եք հետագայում օգտագործել ՝ JSON արձանագրությանը աջակցող ցանկացած սարք վերահսկելու համար:
Ուսուցման նպատակով ես կօգտագործեմ NETIO 4All ցանցի հոսանքի վարդակից, բայց մի անհանգստացեք, ձեզ ոչինչ պետք չէ գնել: NETIO- ն ունի զարմանալի 4 -րդ առցանց ցուցադրում, որը կարող եք օգտագործել:
Պարագաներ
NETIO 4 Բոլոր ցանցային հզորություն կամ 4 Բոլոր առցանց ցուցադրում ՝
Հանգույց-ԿԱՐՄԻՐ
Քայլ 1. REST JSON Http (եր) արձանագրություն
Այս հատվածը մի փոքր տեխնիկական է, բայց խնդրում եմ համբերեք ինձ: Եթե ես չբացատրեի այս մասը, ապա խնդիրներ կունենայիք հասկանալու json ֆայլերի արժեքները, որոնք մենք ուղարկելու ենք node-RED- ում:
Յուրաքանչյուր ելքի (էլեկտրական վարդակից) համար կիրառելի գործողություններ
Բոլոր M2M արձանագրություններում NETIO հոսանքի վարդակները օգտագործում են նույն գործողությունները, որոնք կարող են կիրառվել առանձին ելքերի նկատմամբ: Օրինակ, Toggle կամ Short Off գործողությունը կարող է գրվել ցանկացած ելքի վրա:
Այնուամենայնիվ, Action փոփոխականը կարող է օգտագործվել միայն արժեքներ գրելու համար, այն չի կարող օգտագործվել ընթացիկ ելքի վիճակը կարդալու համար:
Սրանք գործողություններ են, որոնք կարող եք կիրառել յուրաքանչյուր ելքի համար.
0 = ելքն անջատված է (անջատված է)
1 = Ելքը միացված է (Միացված է)
2 = Ելքը կարճ ժամանակով անջատված է (կարճ անջատված)
3 = Ելքը միացված է կարճ ժամանակով (կարճ միացված է)
4 = Ելքը մի վիճակից անցել է մյուսին (միացնել)
5 = Ելքային վիճակը անփոփոխ (փոփոխություն չկա)
6 = Անտեսված
Օրինակ - JSON ֆայլը `ելքային համարը փոխարկելու համար: 1:
{
"Ելքեր": [{
«ID» ՝ 1, «Գործողություն». 4
}]
}
ID - այս թիվը ցույց է տալիս, թե որ ելքն ենք օգտագործելու
Գործողություն - այս մասը այն գործողությունն է, որը կատարելու է ելքը (օրինակ ՝ 1 (Միացնել ելքը))
Քայլ 2: Հոսք
Եվ հիմա հիմնական մասը: Այսպես է թվում հանգույց-ԿԱՐՄԻՐ միջավայրը:
Մենք ներմուծել ենք URL API հոսք (Նախագիծը, որը տեսնում եք: Հետագայում ես ձեզ ցույց կտամ, թե ինչպես ներմուծել հոսքեր և այս նախագիծը) Այս նախագիծը բաղկացած է երկու մասից.
- NETIO AN30 (JSON REST API) հոսք
- Գործիքային վահանակ (գրաֆիկական ինտերֆեյս, որի միջոցով կարող եք գործարկել ձեր ծրագիրը)
Քայլ 3: Գործիքային վահանակ
Այսպիսի տեսք ունի այս հրահանգի համար հանգույց-RED- ի վահանակը: Կարող եք հարմարեցնել այն, եթե ցանկանում եք ձեր ճաշակին համապատասխան:
Այս նախագծի վահանակը բաժանված է 4 մասի.
- Սարքի կարգավիճակը - ցույց է տալիս սարքի տվյալները, ինչպիսիք են մոդելը, mac հասցեն կամ որոնվածը տարբերակը:
- (POST) Control Output 1 - Պարունակում է 5 կոճակ, որը վերահսկում է ելքը 1. Յուրաքանչյուր կոճակ կատարում է տարբեր գործողություններ
- (GET) O1 - O4 Ելքային վիճակներ - Այս մասը ցույց է տալիս ձեր սարքի յուրաքանչյուր ելքի ընթացիկ վիճակը:
- Սարքի կառավարում - Այս մասում կարող եք գտնել բոլոր տեսակի գրաֆիկները և չափիչները, որոնք ցույց են տալիս ընթացիկ չափված արժեքները NETIO 4Aall սարքից
Քայլ 4: Ներմուծման հոսք (նախագիծ, սցենար և այլն)
Մենյուում (վերին աջ անկյունում) ընտրեք Ներմուծում, այնուհետև ՝ սեղմատախտակ:
Այնուհետև պատճենեք ստորև նշված տեքստը նշված դաշտում և կտտացրեք Ներմուծում:
Բացակայող հանգույցների տեղադրում
Հանգույցները բեռնված են ընտրված հոսքի մեջ: Հնարավոր է, որ սխալի հաղորդագրությունը ցուցադրվի ներմուծվող, բայց դեռևս Node-RED- ում տեղադրված հանգույցների ցանկով: Այս դեպքում անհրաժեշտ է տեղադրել բացակայող հանգույցները:
Եթե բացակայում են հանգույցները, ընտրացանկում ընտրեք Կառավարել ներկապնակը, կտտացրեք Տեղադրեք և գտեք և տեղադրեք բաց թողնված հանգույցները:
Ներմուծել տեքստ.
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "անջատված" ՝ false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http request "," z ":" 56b9510c.98c6f "," name ":" HTTP Request (POST) "," method ":" POST "," ret " ՝ "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "լարեր":
Քայլ 5: Ինչպես է ամեն ինչ աշխատում միասին
Հոսքը հիմնականում բաժանված է երկու մասի ՝ POST և GET:
ՓՈՍՏ. Գրելով O1- ին
- Հոսքի վահանակում ստեղծված հինգ կոճակ ցուցադրվում է Գործիքային վահանակում:
- Գործիքային վահանակում Ելք 1 = ON կոճակը սեղմելուց հետո բեռնվածությունը սահմանվում է netio.json ֆայլի վրա, որը սահմանում է ելքն ու գործողությունը (սահմանված է կոճակներից յուրաքանչյուրի համար):
- HTTP Request (POST) բլոկը netio.json ֆայլը որպես հարցում ուղարկում է IP հասցե:
- Սերվերի պատասխանը (կարգավիճակը) վերադարձվում է որպես ելք:
- Msg.payload բլոկը ցուցադրում է HTTP հարցման (POST) արդյունքը:
ԳՆԵԼ. Կարդում ենք O1 - O4- ից
- 1 Second Repeat բլոկն ակտիվացնում է մեկ վայրկյան տևողությամբ HTTP Request (GET) բլոկը, որն էլ իր հերթին ուղարկում է netio.json- ը որպես GET հարցում և վերադարձնում է ամբողջական JSON ֆայլը ՝ սերվերից ստացված վարդակի կարգավիճակով:
- JSON Parse բլոկը JSON ֆայլը HTTP Request (GET) բլոկից վերածում է JSON օբյեկտի, որպեսզի հնարավոր լինի շահարկել JSON ֆայլի հատկությունները:
- Ֆունկցիայի բլոկը վերցնում է JSON օբյեկտի առանձին մասեր և դրանք վերածում է msg օբյեկտի հատկությունների ՝ հետագայում օգտագործելու համար:
- The Current Chart բլոկը սահմանում է msg.payload msg օբյեկտի msg. TotalCurrent հատկությանը, քանի որ հաջորդող Current Chart (Device) բլոկը կարող է ցուցադրել միայն msg.payload արժեքը:
- Այնուհետև հետևում են տարբեր ելքային հանգույցներ, որպեսզի ցուցադրվեն msg օբյեկտի ընտրված հատկությունները, ինչպես վերցված են JSON օբյեկտից, Գործիքային վահանակում:
Msg օբյեկտը և msg.payload
Պարզ և հակիրճ բացատրության համար տե՛ս այստեղ.
www.steves-internet-guide.com/node-red-mess…
Քայլ 6 ՝ HTTP POST և GET
HTTP հարցում (POST)
Այս հանգույցը ուղարկում է netio.json հրամանի ֆայլ ՝ որպես HTTP հարցում (POST) ՝ NETIO 4All սարքը վերահսկելու համար:
HTTP հարցում (GET)
Այս հանգույցը ուղարկում է HTTP հարցում (GET) և վերադարձնում կարգավիճակի պատասխանը:
Նախապես լրացված հասցեն մատնանշում է NETIO 4All առցանց ցուցադրությունը, որտեղ դուք կարող եք ստուգել կապը ՝ առանց ձեր աշխատասեղանին NETIO սարք ունենալու:
netio-4all.netio-products.com
Այս հանգույցներում հնարավոր է տեղադրել ձեր սեփական IP հասցեն. սակայն, IP- ն պետք է փոխվի ինչպես HTTP հարցման հանգույցներում, այնպես էլ POST- ում, ինչպես նաև GET- ում:
Քայլ 7: Կոճակի հանգույցներ
Կոճակի հանգույցին սեղմելը առաջացնում է հաղորդագրություն, որը պարունակում է netio.json ֆայլ (Աջ նկար), որն այնուհետև ուղարկվում է http փոստի հանգույցի միջոցով netio խելացի հոսանքի վարդակից:
Քայլ 8: Ֆունկցիայի հանգույց
Ֆունկցիայի հանգույցը հատուկ հանգույց է, որը հնարավորություն է տալիս գրել JavaScript- ի հատուկ գործառույթ:
Այս հրահանգում գործառույթը արժեքներ է ընտրում վերլուծված JSON ֆայլից (այժմ JSON օբյեկտ) և դրանք վերագրում է msg օբյեկտի հատկություններին:
Կոդը բաժանված է չորս բաժնի.
- JSON օբյեկտից արժեքներ վերագրել msg օբյեկտի առանձին հատկություններին
-
Սխալների մշակումը այն դեպքում, երբ ցանցի հոսանքի վարդակը չի ապահովում գլոբալ չափումներ
Եթե ցանցի էներգաբլոկը չի ապահովում գլոբալ արժեքների չափումը, Node-RED- ը կցուցադրի սխալներ, քանի որ այս գործառույթը չի գտնի համապատասխան հատկությունը, օրինակ. msg.payload. GlobalMeasure. Voltage, քանի որ այն ներկա չէր լինի JSON օբյեկտում: Այս դեպքում, msg օբյեկտի հատկությունը, օրինակ. msg. Voltage, սահմանվում է 0, և սխալը բռնում են:
- Արտադրության վիճակի արժեքների նշանակում
- Theուցադրվող ելքային վիճակի արժեքների գույնը ըստ ելքային վիճակների
Քայլ 9. JSON հանգույց և ներարկման հանգույց
JSON հանգույց
JSON հանգույցը վերլուծում է JSON ֆայլը և փոխակերպում այն JSON օբյեկտի:
Որպես սերվերի պատասխան GET խնդրանքին, HTTP Request հանգույցը վերադարձնում է JSON ֆայլ, որը պարունակում է NETIO 4x սարքի ընթացիկ կարգավիճակը, բայց դա պարզապես տեքստային ֆայլ է, ուստի տվյալների հետ աշխատելու համար JSON ֆայլը պետք է վերլուծել JSON օբյեկտի մեջ:
Ներարկել հանգույց
Ամեն վայրկյան այս հանգույցը ակտիվացնում է HTTP Request հանգույցը, որն ուղարկում է GET հարցում:
Արդյունքում, Dashboard- ի արժեքները թարմացվում են մեկ վայրկյան ժամանակահատվածով
Քայլ 10: Տեքստային հանգույց և կարգաբերման հանգույց
Տեքստային հանգույց
Textուցադրում է տեքստային դաշտ Գործիքային վահանակում: Այս հրահանգի դեպքում տեքստային հանգույցները ցուցադրում են ընթացիկ, լարման, մոդելի, որոնվածի տարբերակը կամ JSON տարբերակը:
Պիտակը ցուցադրվում է Գործիքային վահանակում, իսկ Անունը հանգույցի անունն է, որը հոսքի մեջ ցուցադրվում է Node-RED- ում:
Վրիպազերծման հանգույց
Disուցադրում է msg.payload- ը:
Քայլ 11: Գծապատկերային հանգույց
Այս հանգույցը գծագրում է ընթացիկ գծապատկերը Գործիքային վահանակում `ըստ բեռնվածության արժեքի:
Այս հանգույցը կարող է գծապատկերներ կազմել միայն բեռնվածքի արժեքի համաձայն:
Այդ պատճառով գործառույթի հանգույցը օգտագործվում է msg.payload- ը այն արժեքին սահմանելու համար, որը պետք է ցուցադրվի:
msg.payload = msg. TotalCurrent;
Քայլ 12: Չափիչ հանգույց և հղման հանգույցներ
Չափիչ հանգույց
Այս հանգույցը չափիչ վիջեթ է ավելացնում Գործիքային վահանակին:
Այս հրահանգում յուրաքանչյուր չափիչ պատկերում է msg օբյեկտի մեկ հատկություն ՝ լարման [V], curent [A], հաճախականությունը [Hz] և ընդհանուր True Power Factor (TPF):
Հղման հանգույցներ
Հղումը և կապի հանգույցները գործում են թունելի պես: Msg.payload- ը հասնում է հանգույցի հղմանը և դուրս է գալիս դեպի դուրս գտնվող հանգույցից:
Ես այն օգտագործել եմ, որպեսզի հոսքը մի փոքր ավելի պարզ ու հեշտ ընթերցվի:
Քայլ 13: Շնորհակալություն Իմ հրահանգը կարդալու համար
Հուսով եմ, որ ձեզ դուր եկավ իմ ուսանելի և հուսահատ նոր բան սովորածը:
Այս ուսանելի ուսուցումը իմ պատրաստած տարբեր ուղեցույցների միայն կարճացված տարբերակն է:
Սկզբնական ուղեցույցը ավելի երկար և շատ ավելի մանրամասն կողմնորոշված է և, ընդհանուր առմամբ, ավելի լավ կառուցված: Եթե դուք ինչ -որ բան չեք հասկանում կամ կարծում եք, որ ես ինչ -որ բան բաց եմ թողել կամ բավականաչափ չեմ բացատրել, ապա հաստատ այնտեղ կարող եք գտնել այն:
Ես խոստանում եմ, որ դուք հիասթափված չեք լինի
Բնօրինակը ՝
Կան նաև նման ուղեցույցներ RED-RED- ի տարբեր օգտագործման վերաբերյալ, այնպես որ, եթե ձեզ հետաքրքրում է, ազատ զգացեք ուսումնասիրել
Աշխատում է REST URL API- ի հետ հանգույց-RED- ում
www.netio-products.com/hy/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Աշխատեք REST XML- ի հետ հանգույց-RED- ում
www.netio-products.com/hy/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Աշխատեք TCP/Modbus- ի հետ հանգույց-RED- ում
Շատ շուտով:)
Խորհուրդ ենք տալիս:
Ինչպես ստիպել Windows 10 -ին աշխատել ազնվամորի Pi- ի վրա. 3 քայլ
Ինչպես ստիպել Windows 10 -ին աշխատել ազնվամորու Pi- ի վրա. Պատուհանները 10 -ին աշխատել ազնվամորի pi- ի վրա կարող է մի փոքր հիասթափեցնել, բայց այս ուղեցույցը կլուծի ձեր բոլոր Raspberry Pi Windows 10 -ի հետ կապված խնդիրները:
Պտտվող կոդավորիչ. Ինչպես է այն աշխատում և ինչպես օգտագործել Arduino- ի հետ. 7 քայլ
Rotary Encoder: Նախ, դուք կտեսնեք որոշ տեղեկություններ պտտվող կոդավորիչի մասին, այնուհետև կսովորեք, թե ինչպես
DragonBoard 410c - Ինչպես աշխատել ցածր արագության ընդլայնմամբ `8 քայլ
DragonBoard 410c - Ինչպես աշխատել ցածր արագության ընդլայնմամբ. Այս ձեռնարկը վերաբերում է DragonBoard 410c- ի ցածր արագության ընդլայնմանը: DragonBoard 410c- ում ցածր արագության ընդլայնման մուտքերն ու ելքերը (I/O) հետևյալն են. MPP (բազմաֆունկցիոնալ քորոց); SPI (Սերիական ծայրամասային ինտերֆեյս); I2C (
Ինչպես աշխատել Arduino- ի և տարբեր RGB լուսադիոդների հետ. 3 քայլ
Ինչպես աշխատել Arduino- ի և տարբեր RGB լուսադիոդների հետ. Arduino- ն զարմանալի փոքր սարք է: Բայց այս հզոր փոքր սարքի համար ամենաշատ օգտագործվող ծրագրերից մեկը հաճախ LED լուսարձակելն է կամ թարթելը: Այս ձեռնարկը ցույց կտա ձեզ RGB Leds- ի և Arduino- ի հետ աշխատելու երեք եղանակ: Առաջին միջոցը պարզ
ԻՆՉՊԵՍ ԿԱՐՈ ԵՆ ՀԵՏ ՀԵՏ ՀԵՏ չորության չորացման սենսոր `4 քայլ
ՈՐՊԵՍ ԿԱՐՈ ԵՆՔ ՀԵՏ ՀԵՏ ՀԱՎԱՔԱՈ ՍԵՆՍՈՐ. Ողջույն, այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մի պարզ «ՀՈ DRՅԱՆ ՉՈՐՈ SԹՅԱՆ ՍԵՆՍՈՐ»: Սա իմ առաջին ուսանելի ներողությունն է իմ ծիծաղելի անգլերենի համար: Հողի չորությունը որոշվում է led ցուցիչով: led լույսը wi