Агуулгын хүснэгт:

Node-RED дээр JSON-тэй хэрхэн ажиллах вэ: 13 алхам
Node-RED дээр JSON-тэй хэрхэн ажиллах вэ: 13 алхам

Видео: Node-RED дээр JSON-тэй хэрхэн ажиллах вэ: 13 алхам

Видео: Node-RED дээр JSON-тэй хэрхэн ажиллах вэ: 13 алхам
Видео: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Долдугаар сарын
Anonim
Node-RED дээр JSON-тэй хэрхэн ажиллах талаар
Node-RED дээр JSON-тэй хэрхэн ажиллах талаар

Энэхүү зааварчилгаа нь зангилаа-RED дээр JSON-тэй хэрхэн ажиллахыг заах болно. Би json файлуудыг http get and post ашиглан дамжуулах замаар сүлжээнд холбогдсон цахилгаан залгууруудыг хэрхэн удирдахыг танд үзүүлэх болно. Та дараа нь энэ мэдлэгээ ашиглан JSON протоколыг дэмждэг аливаа төхөөрөмжийг удирдах боломжтой.

Сургалтын зорилгоор би NETIO 4All сүлжээнд холбогдсон цахилгаан залгуурыг ашиглах болно, гэхдээ санаа зовох хэрэггүй, танд юу ч худалдаж авах шаардлагагүй болно. NETIO нь таны ашиглаж болох гайхалтай 4All онлайн демо хувилбартай.

Хангамж

NETIO 4All сүлжээнд холбогдсон бүх PowerSocket эсвэл 4All онлайн демо:

Зангилаа-УЛААН

Алхам 1: JSON Http (s) протоколыг REST

REST JSON Http (s) протокол
REST JSON Http (s) протокол

Энэ хэсэг нь жаахан техникийн шинж чанартай боловч намайг хүлээж аваарай. Хэрэв би энэ хэсгийг тайлбарлаагүй бол та бидний зангилаа-RED-ээр илгээх json файлуудын утгыг ойлгоход бэрхшээлтэй тулгарах болно.

Гаралт бүрт хамаарах үйлдлүүд (цахилгаан залгуур):

Бүх M2M протоколд NETIO цахилгаан сокетууд нь тусдаа гаралтанд ашиглаж болох ижил үйлдлийг ашигладаг. Жишээлбэл, Toggle эсвэл Short Off гэсэн үйлдлийг дурын гаралт дээр бичиж болно.

Гэхдээ Action хувьсагчийг зөвхөн утгыг бичихэд ашиглаж болох бөгөөд одоогийн гаралтын төлөвийг уншихад ашиглах боломжгүй.

Эдгээр нь гаралт бүрт хэрэглэж болох үйлдлүүд юм:

0 = Гаралтыг унтраасан (Унтраасан)

1 = гаралт асаалттай (асаалттай)

2 = Гаралт богино хугацаанд унтарсан (богино унтраалттай)

3 = Гаралт богино хугацаанд ассан (богино асаалттай)

4 = Гаралт нь нэг төлөвөөс нөгөө төлөвт шилжсэн (сэлгэх)

5 = Гаралтын төлөв өөрчлөгдөөгүй (өөрчлөгдөөгүй)

6 = Анзаарсангүй

Жишээ - гаралтын дугаарыг солихын тулд JSON файл. 1:

{

"Гаралт": [{

"ID": 1, "Үйлдэл": 4

}]

}

ID - энэ тоо нь бид ямар гаралтыг ашиглахыг зааж өгнө

Үйлдэл - энэ хэсэг нь гаралтын хийх үйлдэл юм (жишээ нь 1 (Гаралтыг асаах))

Алхам 2: Урсгал

Урсгал
Урсгал

Тэгээд одоо гол хэсэг. Зангилаа-RED орчин иймэрхүү харагдаж байна.

Бид URL API урсгалыг импортолсон байна (Таны харж буй төсөл. Дараа нь би урсгал болон энэ төслийг хэрхэн импортлохыг танд үзүүлэх болно) Энэ төсөл нь хоёр хэсгээс бүрдэнэ.

  1. NETIO AN30 (JSON REST API) урсгал
  2. Хяналтын самбар (програмыг ажиллуулах боломжтой график интерфейс)

Алхам 3: Хяналтын самбар

Хяналтын самбар
Хяналтын самбар

Энэ зааварчилгааны зангилааны RED самбар нь иймэрхүү харагдаж байна. Хэрэв та өөрийн амтанд нийцүүлэхийг хүсч байвал үүнийг өөрчилж болно.

Энэхүү төслийн хяналтын самбарыг 4 хэсэгт хуваана.

  1. Төхөөрөмжийн байдал - загвар, mac хаяг эсвэл програмын хувилбар гэх мэт төхөөрөмжийн мэдээллийг харуулдаг.
  2. (POST) Control Output 1 - Гаралт 1 -ийг хянадаг 5 товчлууртай. Товчлуур бүр өөр өөр үйлдэл гүйцэтгэдэг
  3. (GET) O1 - O4 Гаралтын төлөв - Энэ хэсэг нь таны төхөөрөмжөөс гаралт бүрийн одоогийн байдлыг харуулна.
  4. Төхөөрөмжийн менежмент - Энэ хэсэгт та NETIO 4Aall төхөөрөмжөөс одоогийн хэмжсэн утгыг харуулсан бүх төрлийн график, хэмжигчийг олох боломжтой.

Алхам 4: Импортын урсгал (төсөл, скрипт, гэх мэт)

Импортын урсгал (төсөл, скрипт, гэх мэт)
Импортын урсгал (төсөл, скрипт, гэх мэт)

Цэснээс (баруун дээд буланд) Импорт, дараа нь Түр санах ойг сонгоно уу.

Дараа нь доорх текстийг заасан талбарт хуулж, Импорт дарна уу.

Алга болсон зангилаа суулгаж байна

Зангилаа нь сонгосон урсгал руу ачаалагддаг. Импорт хийж байгаа боловч Node-RED-д хараахан суулгаагүй байгаа зангилааны жагсаалттай холбоотой алдааны мэдэгдэл гарч болзошгүй. Энэ тохиолдолд алга болсон зангилааг суулгах шаардлагатай болно.

Хэрэв зангилаа алга болсон бол цэснээс Manage palette -ийг сонгоод Install дээр дараад алга болсон зангилаагаа олж суулгаарай.

Текст оруулах:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "идэвхгүй болгосон": худал, "мэдээлэл": ""}, {"id ":" 6a66b637.da1558 "," type ":" http хүсэлт "," z ":" 56b9510c.98c6f "," нэр ":" HTTP хүсэлт (POST) "," арга ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "утаснууд":

Алхам 5: Энэ бүхэн хэрхэн хамтдаа ажилладаг

Энэ бүхэн хэрхэн хамтдаа ажилладаг
Энэ бүхэн хэрхэн хамтдаа ажилладаг

Урсгалыг үндсэндээ POST ба GET гэсэн хоёр хэсэгт хуваадаг.

POST: O1 руу бичиж байна

  • Урсгал дахь хяналтын самбарт үүсгэсэн таван товчлуурыг хяналтын самбарт харуулна.
  • Хяналтын самбарт Output 1 = ON товчлуурыг дарсны дараа ачаалал нь гаралт болон үйлдлийг тодорхойлдог netio.json файлд тохируулагдсан болно (товчлуур тус бүрт тодорхойлогдсон).
  • HTTP хүсэлт (POST) блок нь netio.json файлыг IP хаяг руу хүсэлт болгон илгээдэг.
  • Серверийн хариу (статус) -ыг гаралт болгон буцаана.
  • Msg.payload блок нь HTTP хүсэлт (POST) -ийн үр дүнг харуулдаг.

АВАХ: O1 - O4 -ээс унших

  • 1 секундын давталтын блок нь нэг секундын хугацаанд HTTP хүсэлт (GET) блокыг идэвхжүүлдэг бөгөөд энэ нь netio.json -ийг GET хүсэлт болгон илгээж, серверээс хүлээн авсан сокетийн статус бүхий бүрэн JSON файлыг буцаана.
  • JSON Parse блок нь JSON файлыг HTTP Request (GET) блокоос JSON объект болгон хувиргадаг бөгөөд ингэснээр JSON файл дахь шинж чанаруудыг удирдах боломжтой болно.
  • Функцийн блок нь JSON объектын зарим хэсгийг авч, дараа нь ашиглахын тулд тэдгээрийг msg объектын шинж чанар болгон хувиргадаг.
  • Current Chart блок нь msg.payload -ийг msg объектын msg. TotalCurrent шинж чанарт тохируулдаг, учир нь дараагийн Current Chart (Device) блок нь зөвхөн msg.payload утгыг харуулдаг.
  • Янз бүрийн гаралтын зангилаа нь JSON объектоос авсан msg объектын сонгосон шинж чанаруудыг хяналтын самбарт харуулахын тулд дагана.

Msg объект ба msg.payload

Энгийн бөгөөд товч тайлбарыг эндээс үзнэ үү.

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

Алхам 6: HTTP POST ба GET

HTTP POST ба авах
HTTP POST ба авах
HTTP POST ба авах
HTTP POST ба авах

HTTP хүсэлт (POST)

Энэ зангилаа нь NETIO 4All төхөөрөмжийг хянахын тулд netio.json командын файлыг HTTP хүсэлт (POST) хэлбэрээр илгээдэг.

HTTP хүсэлт (GET)

Энэ зангилаа нь HTTP хүсэлт (GET) илгээж, статусын хариуг буцаана.

Урьдчилан бөглөсөн хаяг нь NETIO 4All онлайн демо-г зааж өгдөг бөгөөд та ширээн дээрээ NETIO төхөөрөмжгүйгээр холболтыг туршиж үзэх боломжтой.

netio-4all.netio-products.com

Эдгээр зангилаан дээр өөрийн IP хаягийг тохируулах боломжтой; Гэсэн хэдий ч HTTP хүсэлтийн зангилаа, POST болон GET хоёуланд нь IP хаягийг өөрчлөх шаардлагатай байна.

Алхам 7: Товчлуурын зангилаа

Товчлуурын зангилаа
Товчлуурын зангилаа
Товчлуурын зангилаа
Товчлуурын зангилаа

Товчлуурын зангилааг дарахад netio.json файл (баруун талын зураг) агуулсан мессеж үүсч, дараа нь http бичлэгийн цэгээр дамжуулан netio ухаалаг цахилгаан залгуур руу илгээгддэг.

Алхам 8: Функцийн зангилаа

Функцийн зангилаа
Функцийн зангилаа
Функцийн зангилаа
Функцийн зангилаа

Функцийн зангилаа нь тусгай JavaScript функц бичих боломжийг олгодог тусгай зангилаа юм.

Энэхүү зааварчилгаанд функц нь задлан шинжилгээ хийсэн JSON файлаас (одоо JSON объект) утгыг сонгож, тэдгээрийг msg объектын шинж чанарт оноож өгдөг.

Кодыг дөрвөн хэсэгт хуваадаг:

  1. JSON объектоос msg объектын хувийн шинж чанарт утга өгөх
  2. Сүлжээний залгуур нь дэлхийн хэмжилтийг дэмждэггүй тохиолдолд ажиллахад алдаа гардаг

    Хэрэв сүлжээнд холбогдсон цахилгаан залгуур нь дэлхийн утгыг хэмжихийг дэмждэггүй бол Node-RED нь алдааг харуулах болно, учир нь энэ функц нь холбогдох шинж чанарыг олохгүй болно. msg.payload. GlobalMeasure. Voltage, учир нь энэ нь JSON объектод байхгүй болно. Энэ тохиолдолд msg объектын шинж чанар, жишээ нь. msg. Хүчдэлийг 0 болгож тохируулсан бөгөөд алдааг зохицуулж байна.

  3. Гаралтын төлөв байдлын утгыг хуваарилах
  4. Гаралтын төлөвийн дагуу дэлгэцийн гаралтын төлөв байдлын өнгийг тохируулах

Алхам 9: JSON Node ба Inject Node

JSON зангилаа ба зангилаа тарина
JSON зангилаа ба зангилаа тарина
JSON зангилаа ба зангилаа тарина
JSON зангилаа ба зангилаа тарина

JSON зангилаа

JSON зангилаа нь JSON файлыг задлан шинжилж JSON объект болгон хувиргадаг.

Серверээс GET хүсэлтийн хариуд HTTP Хүсэлтийн зангилаа нь NETIO 4x төхөөрөмжийн одоогийн статусыг агуулсан JSON файлыг буцаана, гэхдээ энэ нь зүгээр л текст файл тул өгөгдөлтэй ажиллахын тулд JSON файл хэрэгтэй болно. JSON объект болгон задлан шинжлэх.

Зангилаа тарина

Секунд тутамд энэ зангилаа нь GET хүсэлтийг илгээдэг HTTP хүсэлтийн зангилааг идэвхжүүлдэг.

Үүний үр дүнд хяналтын самбар дахь утгууд нэг секундын хугацаанд шинэчлэгддэг

Алхам 10: Текстийн зангилаа ба дебаг хийх цэг

Текстийн зангилаа ба дебаг хийх цэг
Текстийн зангилаа ба дебаг хийх цэг
Текстийн зангилаа ба дебаг хийх цэг
Текстийн зангилаа ба дебаг хийх цэг

Текстийн зангилаа

Хяналтын самбарт текст талбарыг харуулна. Энэхүү зааварчилгааны хэсэгт текст зангилаа нь одоогийн, хүчдэл, загвар, програм хангамжийн хувилбар эсвэл JSON хувилбарыг харуулдаг.

Шошго нь Хяналтын самбарт харагддаг бөгөөд Нэр нь Node-RED дахь урсгалд харагддаг зангилааны нэр юм.

Дебаг хийх цэг

Msg.payload -ийг харуулна.

Алхам 11: Диаграммын зангилаа

График зангилаа
График зангилаа
График зангилаа
График зангилаа

Энэ зангилаа нь одоогийн хүснэгтийг ачааны даацын утгын дагуу хянах самбарт байрлуулдаг.

Энэ зангилаа нь ачааллын утгын дагуу зөвхөн график зурж болно.

Энэ шалтгааны улмаас msg.payload -ийг харуулах шаардлагатай утгад тохируулахын тулд функцын зангилааг ашигладаг.

msg.payload = msg. TotalCurrent;

Алхам 12: Хэмжих зангилаа ба холбоосын зангилаа

Хэмжих зангилаа ба холбоосын зангилаа
Хэмжих зангилаа ба холбоосын зангилаа
Хэмжих зангилаа ба холбоосын зангилаа
Хэмжих зангилаа ба холбоосын зангилаа

Хэмжих зангилаа

Энэ зангилаа нь хяналтын самбарт хэмжигч виджет нэмдэг.

Энэхүү зааварчилгааны хувьд хэмжигч бүр нь msg объектын нэг шинж чанарыг дүрслэн харуулдаг: хүчдэл [V], чиглэсэн [A], давтамж [Гц] ба ерөнхий хүч чадлын хүчин зүйл (TPF).

Зангилаа зангилаа

Залгах, холбох зангилаа нь хонгил шиг ажилладаг. Msg.payload нь зангилааны холбоос руу орж, холбоос гарах цэгээс гадагшилна.

Би үүнийг урсгалыг арай ойлгомжтой, уншихад хялбар болгох зорилгоор ашигласан.

Алхам 13: Миний зааврыг уншсан танд баярлалаа

Та надад сургамж өгч, шинэ зүйл сурсан гэж найдаж байна.

Энэхүү зааварчилгаа бол миний хийсэн өөр гарын авлагын зөвхөн товчилсон хувилбар юм

Анхны гарын авлага нь илүү урт бөгөөд илүү нарийвчлалтай, ерөнхийдөө илүү сайн бүтэцтэй байдаг. Хэрэв та ямар нэг зүйлийг ойлгоогүй эсвэл намайг дутуу ойлгосон эсвэл хангалттай тайлбарлаагүй гэж бодож байвал та тэндээс олох нь гарцаагүй.

Та сэтгэл дундуур байх ёсгүй гэж амлаж байна

Эх:

Мөн зангилаа-RED-ийн янз бүрийн хэрэглээний талаархи ижил төстэй гарын авлага байдаг тул хэрэв та сонирхож байвал дараахь зүйлийг чөлөөтэй судалж үзээрэй

REST URL API-тэй зангилаа-RED дээр ажиллах

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

REST XML дээр зангилаа-RED дээр ажиллах

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

TCP/Modbus-тэй зангилаа-RED дээр ажиллах

Тун удахгүй ирнэ:)

Зөвлөмж болгож буй: