Mundarija:

Node-RED-da JSON bilan qanday ishlash kerak: 13 qadam
Node-RED-da JSON bilan qanday ishlash kerak: 13 qadam

Video: Node-RED-da JSON bilan qanday ishlash kerak: 13 qadam

Video: Node-RED-da JSON bilan qanday ishlash kerak: 13 qadam
Video: КОРОЛЕВСКИЙ Электроскутер CHOPPER CITYCOCO 3000w Электрочоппер citycoco ситикоко 3000w электроцикл 2024, Noyabr
Anonim
Node-RED-da JSON bilan qanday ishlash kerak
Node-RED-da JSON bilan qanday ishlash kerak

Bu ko'rsatma sizga tugunli REDda JSON bilan ishlashni o'rgatadi. Men sizga json fayllarini http get va post orqali uzatish orqali tarmoqqa ulangan rozetkalarni qanday boshqarishni ko'rsataman. Va siz bu ma'lumotni keyinchalik JSON protokolini qo'llab -quvvatlaydigan har qanday qurilmani boshqarish uchun ishlatishingiz mumkin.

O'qitish uchun men NETIO 4All tarmog'idan foydalanaman, lekin xavotir olmang, sizga hech narsa sotib olishning hojati yo'q. NETIO -da siz foydalanishingiz mumkin bo'lgan ajoyib 4All onlayn demolari mavjud.

Ta'minotlar

NETIO 4All tarmoqqa ulangan powerocket yoki 4All onlayn demo:

Qizil tugun

1 -qadam: REST JSON Http (s) protokoli

REST JSON Http (s) protokoli
REST JSON Http (s) protokoli

Bu qism biroz texnik, lekin iltimos, menga sabr qiling. Agar men bu qismni tushuntirmagan bo'lsam, siz tugun-REDda yuboradigan json fayllaridagi qiymatlarni tushunishda muammolarga duch kelasiz.

Har bir chiqish uchun amallar (elektr rozetkasi):

Hamma M2M protokollarida NETIO rozetkalari individual chiqishlarga qo'llaniladigan bir xil amallardan foydalanadilar. Masalan, Toggle yoki Short Off amallari har qanday chiqishga yozilishi mumkin.

Biroq, Action o'zgaruvchisini faqat qiymatlarni yozish uchun ishlatish mumkin, uni joriy chiqish holatini o'qish uchun ishlatib bo'lmaydi.

Bu har bir chiqishda qo'llaniladigan amallar:

0 = Chiqish o'chirilgan (O'chirilgan)

1 = Chiqish yoqilgan (yoqilgan)

2 = Chiqish qisqa vaqtga o'chirilgan (qisqa O'chirish)

3 = Chiqish qisqa vaqt davomida yoqilgan (qisqa yoqilgan)

4 = Chiqish bir holatdan ikkinchisiga o'tkazildi (o'tish)

5 = Chiqish holati o'zgarmadi (o'zgarishsiz)

6 = E'tiborsiz

Misol - chiqish raqamini o'zgartirish uchun JSON fayli. 1:

{

"Chiqish": [{

"ID": 1, "Harakat": 4

}]

}

ID - bu raqam biz qaysi chiqishni ishlatishini ko'rsatadi

Amal - bu qism - bu chiqadigan harakat (masalan, 1 (Chiqishni yoqish))

2 -qadam: oqim

Oqim
Oqim

Va endi asosiy qism. Qizil tugunli muhit shunday ko'rinadi.

Biz URL API oqimini import qildik (Siz ko'rib turgan loyiha. Keyinroq men sizga oqimlarni va bu loyihani qanday import qilishni ko'rsataman) Bu loyiha ikki qismdan iborat:

  1. NETIO AN30 (JSON REST API) oqimi
  2. Boshqaruv paneli (dasturni ishlatishingiz mumkin bo'lgan grafik interfeys)

3 -qadam: boshqaruv paneli

Boshqaruv paneli
Boshqaruv paneli

Bu ko'rsatma uchun tugun-RED boshqaruv paneli shunday ko'rinadi. Agar xohlasangiz, uni sozlashingiz mumkin.

Loyihaning boshqaruv paneli 4 qismga bo'lingan:

  1. Qurilma holati - model, mac manzili yoki dasturiy ta'minot versiyasi kabi qurilma ma'lumotlarini ko'rsatadi.
  2. (POST) Tekshirish Chiqish 1 - Chiqish 1 ni boshqaruvchi 5 ta tugmachadan iborat. Har bir tugma har xil amallarni bajaradi
  3. (GET) O1 - O4 Chiqish holati - Bu qism sizning qurilmangizdagi har bir chiqishning hozirgi holatini ko'rsatadi.
  4. Qurilmalarni boshqarish - bu bo'limda siz NETIO 4Aall qurilmasidan joriy o'lchangan qiymatlarni ko'rsatadigan har xil grafik va o'lchagichlarni topishingiz mumkin.

4 -qadam: Import oqimi (loyiha, skript, va boshqalar)

Import oqimi (loyiha, skript, va boshqalar)
Import oqimi (loyiha, skript, va boshqalar)

Menyuda (o'ng yuqori burchakda) Import -ni, so'ngra clipboard -ni tanlang.

Keyin, quyidagi matnni ko'rsatilgan maydonga ko'chiring va Import tugmasini bosing.

Yo'qolgan tugunlarni o'rnatish

Tugunlar tanlangan oqimga yuklanadi. Xato xabari import qilinadigan tugunlar ro'yxati bilan ko'rsatilishi mumkin, lekin hali tugun-RED-ga o'rnatilmagan. Bunday holda, etishmayotgan tugunlarni o'rnatish kerak.

Agar tugunlar etishmayotgan bo'lsa, menyudan Palitraning boshqaruvini tanlang, O'rnatish -ni bosing va etishmayotgan tugunlarni toping va o'rnating.

Matnni import qilish:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "o'chirilgan": noto'g'ri, "ma'lumot": ""}, {"id" ":" 6a66b637.da1558 "," type ":" http so'rovi "," z ":" 56b9510c.98c6f "," ism ":" HTTP so'rovi (POST) "," usul ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "simlar":

5 -qadam: Hammasi qanday ishlaydi

Hammasi birgalikda qanday ishlaydi
Hammasi birgalikda qanday ishlaydi

Oqim asosan ikki qismga bo'linadi: POST va GET.

POST: O1 ga yozish

  • Oqimdagi boshqaruv panelida yaratilgan beshta tugma asboblar panelida ko'rsatiladi.
  • Boshqaruv panelida Chiqish 1 = ON tugmachasini bosgandan so'ng, yuk yuki netio.json fayliga o'rnatiladi, u chiqishni va harakatni bildiradi (har bir tugma uchun belgilanadi).
  • HTTP so'rovi (POST) bloki netio.json faylini IP -manzilga so'rov sifatida yuboradi.
  • Server javobi (holati) chiqish sifatida qaytariladi.
  • Msg.payload bloki natijani HTTP so'rovidan (POST) ko'rsatadi.

Oling: O1 - O4 dan o'qish

  • 1 soniyali takrorlash bloki bir soniya ichida HTTP so'rovi (GET) blokini faollashtiradi, bu esa o'z navbatida netio.jsonni GET so'rovi sifatida yuboradi va serverdan olingan soket holati bilan to'liq JSON faylini qaytaradi.
  • JSON Parse bloki JSON faylini HTTP Request (GET) blokidan JSON Ob'ektiga o'zgartiradi, shunda JSON faylidagi xossalarni o'zgartirish mumkin bo'ladi.
  • Funktsiya bloki JSON ob'ektining alohida qismlarini oladi va ularni keyinchalik foydalanish uchun msg ob'ektining xususiyatlariga aylantiradi.
  • Joriy diagramma bloki msg.payload -ni msg ob'ektining msg. TotalCurrent xususiyatiga o'rnatadi, chunki keyingi joriy grafik (qurilma) bloki faqat msg.payload qiymatini ko'rsatishi mumkin.
  • Boshqaruv panelida JSON ob'ektidan olingan msg ob'ektining tanlangan xususiyatlarini ko'rsatish uchun turli xil chiqish tugunlari amal qiladi.

Xabar ob'ekti va xabar to'lovi

Oddiy va aniq tushuntirish uchun bu erga qarang:

www.steves-internet-guide.com/node-red-mess…

6 -qadam: HTTP POST va GET

HTTP POST va GET
HTTP POST va GET
HTTP POST va GET
HTTP POST va GET

HTTP so'rovi (POST)

Bu tugun NETIO 4All qurilmasini boshqarish uchun netio.json buyruq faylini HTTP so'rovi (POST) sifatida yuboradi.

HTTP so'rovi (GET)

Bu tugun HTTP so'rovini (GET) yuboradi va holat javobini qaytaradi.

Oldindan to'ldirilgan manzil NETIO 4All onlayn demosiga ishora qiladi, bu erda siz ish stolida NETIO qurilmasi bo'lmagan holda ulanishni sinab ko'rishingiz mumkin.

netio-4all.netio-products.com

Bu tugunlarda o'z IP -manzilingizni o'rnatish mumkin; ammo, IP -ni HTTP -so'rov tugunlarida, POST -da va GET -da o'zgartirish kerak.

7 -qadam: tugma tugunlari

Tugma tugunlari
Tugma tugunlari
Tugma tugunlari
Tugma tugunlari

Tugma tugmachasini bosish netio.json faylini (o'ngdagi rasm) o'z ichiga olgan xabarni hosil qiladi, u keyin http post tugun orqali netio aqlli quvvat rozetkasiga yuboriladi.

8 -qadam: Funktsiya tuguni

Funktsiya tuguni
Funktsiya tuguni
Funktsiya tuguni
Funktsiya tuguni

Funktsiya tuguni - bu maxsus JavaScript funktsiyasini yozishga imkon beruvchi maxsus tugun.

Bu yo'riqnomada funktsiya tahlil qilingan JSON faylidan (hozirda JSON obyekti) qiymatlarni tanlaydi va ularni msg ob'ektining xususiyatlariga tayinlaydi.

Kod to'rt qismga bo'lingan:

  1. JSON ob'ektidan msg ob'ektining individual xususiyatlariga qiymatlarni belgilash
  2. Tarmoqqa ulangan rozetka global o'lchovlarni qo'llab -quvvatlamasa, xato bilan ishlash

    Agar tarmoq rozetkasi global qiymatlarni o'lchashni qo'llab-quvvatlamasa, Node-RED xatolarni ko'rsatadi, chunki bu funktsiya tegishli xususiyatni topa olmaydi, masalan. msg.payload. GlobalMeasure. Voltage, chunki u JSON ob'ektida bo'lmaydi. Bunday holda, msg ob'ektining xususiyati, masalan. msg. Voltaj 0 ga o'rnatiladi va xatolik aniqlanadi.

  3. Chiqish holati qiymatlarini belgilash
  4. Ko'rsatilgan chiqish holati ranglarining chiqish holatiga qarab ranglarini sozlash

9 -qadam: JSON tuguni va in'ektsiya joyi

JSON tuguni va in'ektsiya joyi
JSON tuguni va in'ektsiya joyi
JSON tuguni va in'ektsiya joyi
JSON tuguni va in'ektsiya joyi

JSON tuguni

JSON tuguni JSON faylini tahlil qiladi va uni JSON ob'ektiga aylantiradi.

Serverdan GET so'roviga javob sifatida HTTP so'rovi tugmasi NETIO 4x qurilmasining joriy holatini o'z ichiga olgan JSON faylini qaytaradi, lekin bu faqat matnli fayl, shuning uchun ma'lumotlar bilan ishlash uchun JSON fayli kerak. JSON ob'ektiga tahlil qilinadi.

Tugunni kiritish

Har soniyada bu tugun GET so'rovini yuboradigan HTTP so'rov tugunini faollashtiradi.

Natijada, boshqaruv panelidagi qiymatlar bir soniya davomida yangilanadi

10 -qadam: Matn tuguni va disk raskadrovka tuguni

Matn tuguni va disk raskadrovka tuguni
Matn tuguni va disk raskadrovka tuguni
Matn tuguni va disk raskadrovka tuguni
Matn tuguni va disk raskadrovka tuguni

Matn tuguni

Boshqaruv panelida matn maydonini ko'rsatadi. Bu ko'rsatmada matn tugunlari joriy, kuchlanish, model, proshivka yoki JSON versiyasini ko'rsatadi.

Yorliq asboblar panelida, Ism esa tugun-RED oqimida ko'rsatiladigan tugun nomi.

Nosozliklarni tuzatish tuguni

Xabar yukini ko'rsatadi.

11 -qadam: Chiziq tuguni

Grafik tugun
Grafik tugun
Grafik tugun
Grafik tugun

Bu tugun boshqaruv jadvalidagi yukning qiymatiga qarab joriy jadvalni tuzadi.

Bu tugun faqat foydali yuk qiymatiga qarab jadvallarni tuzishi mumkin.

Shu sababli, msg.payload -ni ko'rsatilishi kerak bo'lgan qiymatga o'rnatish uchun funktsional tugun ishlatiladi.

msg.payload = msg. TotalCurrent;

12 -qadam: o'lchash tugunlari va bog'lanish tugunlari

O'lchov tugunlari va bog'lanish tugunlari
O'lchov tugunlari va bog'lanish tugunlari
O'lchov tugunlari va bog'lanish tugunlari
O'lchov tugunlari va bog'lanish tugunlari

Ko'rsatkich tuguni

Bu tugun asboblar paneliga o'lchagich vidjetini qo'shadi.

Bu ko'rsatmada har bir o'lchagich msg ob'ektining bitta xususiyatini ko'rsatadi: kuchlanish [V], aniq [A], chastota [Hz] va umumiy haqiqiy quvvat faktori (TPF).

Bog'lanish tugunlari

Tugunlarni ulash va ulash tunnel kabi ishlaydi. Msg.payload tugunidagi havolaga keladi va havoladan chiqib ketadi.

Men uni oqimni biroz aniqroq va o'qishni osonlashtirish uchun ishlatardim.

13 -qadam: Mening ko'rsatmalarni o'qiganingiz uchun tashakkur

Umid qilamanki, siz mening darsimni yoqtirdingiz va umid qilamanki, yangi narsalarni o'rgandingiz.

Bu ko'rsatma men qilgan har xil qo'llanmaning qisqartirilgan versiyasidir

Asl qo'llanma uzoqroq va batafsilroq yo'naltirilgan va umuman yaxshiroq tuzilgan. Agar siz biror narsani tushunmagan bo'lsangiz yoki men biror narsani o'tkazib yubordim yoki etarli darajada tushuntirmadim deb o'ylasangiz, uni aniq topishingiz mumkin.

Men umidsizlikka tushmasligingizga va'da beraman

Asl:

Shuningdek, tugun-RED-dan turli xil foydalanish bo'yicha o'xshash qo'llanmalar mavjud, shuning uchun agar siz qiziqmoqchi bo'lsangiz, o'zingizni erkin o'rganing:

RED URL API bilan tugun-REDda ishlash

www.netio-products.com/en/application-notes/an29-node-red-ex-le-url-api-communication-with-netio-4x

Tugun-REDda REST XML bilan ishlash

www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x

Tugun-REDda TCP/Modbus bilan ishlash

Tez orada:)

Tavsiya: