Բովանդակություն:

Ինչպես աշխատել JSON- ի հետ Node-RED- ում. 13 քայլ
Ինչպես աշխատել JSON- ի հետ Node-RED- ում. 13 քայլ

Video: Ինչպես աշխատել JSON- ի հետ Node-RED- ում. 13 քայլ

Video: Ինչպես աշխատել JSON- ի հետ Node-RED- ում. 13 քայլ
Video: Ի՞նչ է Back-end վեբ ծրագրավորումը և ինչպես այն սովորել ինքնուրույն։ 2024, Նոյեմբեր
Anonim
Ինչպես աշխատել JSON- ի հետ Node-RED- ում
Ինչպես աշխատել JSON- ի հետ Node-RED- ում

Այս հրահանգը կսովորեցնի ձեզ, թե ինչպես աշխատել JSON- ի հետ node-RED- ում: Ես ձեզ ցույց կտամ, թե ինչպես վերահսկել ցանցի հոսանքի վարդակները json ֆայլերի փոխանցմամբ ՝ http get and post- ի միջոցով: Եվ այս գիտելիքները կարող եք հետագայում օգտագործել ՝ JSON արձանագրությանը աջակցող ցանկացած սարք վերահսկելու համար:

Ուսուցման նպատակով ես կօգտագործեմ NETIO 4All ցանցի հոսանքի վարդակից, բայց մի անհանգստացեք, ձեզ ոչինչ պետք չէ գնել: NETIO- ն ունի զարմանալի 4 -րդ առցանց ցուցադրում, որը կարող եք օգտագործել:

Պարագաներ

NETIO 4 Բոլոր ցանցային հզորություն կամ 4 Բոլոր առցանց ցուցադրում ՝

Հանգույց-ԿԱՐՄԻՐ

Քայլ 1. REST JSON Http (եր) արձանագրություն

REST JSON Http (ներ) արձանագրություն
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 հոսք (Նախագիծը, որը տեսնում եք: Հետագայում ես ձեզ ցույց կտամ, թե ինչպես ներմուծել հոսքեր և այս նախագիծը) Այս նախագիծը բաղկացած է երկու մասից.

  1. NETIO AN30 (JSON REST API) հոսք
  2. Գործիքային վահանակ (գրաֆիկական ինտերֆեյս, որի միջոցով կարող եք գործարկել ձեր ծրագիրը)

Քայլ 3: Գործիքային վահանակ

Վահանակ
Վահանակ

Այսպիսի տեսք ունի այս հրահանգի համար հանգույց-RED- ի վահանակը: Կարող եք հարմարեցնել այն, եթե ցանկանում եք ձեր ճաշակին համապատասխան:

Այս նախագծի վահանակը բաժանված է 4 մասի.

  1. Սարքի կարգավիճակը - ցույց է տալիս սարքի տվյալները, ինչպիսիք են մոդելը, mac հասցեն կամ որոնվածը տարբերակը:
  2. (POST) Control Output 1 - Պարունակում է 5 կոճակ, որը վերահսկում է ելքը 1. Յուրաքանչյուր կոճակ կատարում է տարբեր գործողություններ
  3. (GET) O1 - O4 Ելքային վիճակներ - Այս մասը ցույց է տալիս ձեր սարքի յուրաքանչյուր ելքի ընթացիկ վիճակը:
  4. Սարքի կառավարում - Այս մասում կարող եք գտնել բոլոր տեսակի գրաֆիկները և չափիչները, որոնք ցույց են տալիս ընթացիկ չափված արժեքները 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 և GET
HTTP POST և GET
HTTP POST և GET
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 օբյեկտի հատկություններին:

Կոդը բաժանված է չորս բաժնի.

  1. JSON օբյեկտից արժեքներ վերագրել msg օբյեկտի առանձին հատկություններին
  2. Սխալների մշակումը այն դեպքում, երբ ցանցի հոսանքի վարդակը չի ապահովում գլոբալ չափումներ

    Եթե ցանցի էներգաբլոկը չի ապահովում գլոբալ արժեքների չափումը, Node-RED- ը կցուցադրի սխալներ, քանի որ այս գործառույթը չի գտնի համապատասխան հատկությունը, օրինակ. msg.payload. GlobalMeasure. Voltage, քանի որ այն ներկա չէր լինի JSON օբյեկտում: Այս դեպքում, msg օբյեկտի հատկությունը, օրինակ. msg. Voltage, սահմանվում է 0, և սխալը բռնում են:

  3. Արտադրության վիճակի արժեքների նշանակում
  4. Theուցադրվող ելքային վիճակի արժեքների գույնը ըստ ելքային վիճակների

Քայլ 9. JSON հանգույց և ներարկման հանգույց

JSON հանգույց և ներարկման հանգույց
JSON հանգույց և ներարկման հանգույց
JSON հանգույց և ներարկման հանգույց
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- ում

Շատ շուտով:)

Խորհուրդ ենք տալիս: