Orodha ya maudhui:

Jinsi ya Kufanya Kazi na JSON katika Node-RED: Hatua 13
Jinsi ya Kufanya Kazi na JSON katika Node-RED: Hatua 13

Video: Jinsi ya Kufanya Kazi na JSON katika Node-RED: Hatua 13

Video: Jinsi ya Kufanya Kazi na JSON katika Node-RED: Hatua 13
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Novemba
Anonim
Jinsi ya Kufanya Kazi na JSON katika Node-RED
Jinsi ya Kufanya Kazi na JSON katika Node-RED

Hii inaweza kufundishwa jinsi ya kufanya kazi na JSON katika node-RED. Nitakuonyesha jinsi ya kudhibiti soketi za umeme zilizo na mtandao na kuhamisha faili za json kupitia http kupata na kuchapisha. Na unaweza kutumia ujuzi huu baadaye kudhibiti kifaa chochote kinachotumia itifaki ya JSON.

Kwa madhumuni ya kufundisha nitatumia soketi ya umeme ya NETIO 4All, lakini usijali, hauitaji kununua chochote. NETIO ina demo ya kushangaza ya 4A online unayoweza kutumia.

Vifaa

NETOO 4Wote ya mtandao yenye nguvu au 4Demo yote ya mkondoni:

Node-NYEKUNDU

Hatua ya 1: BUREZA Itifaki ya JSON Http (s)

REST JSON Http (s) Itifaki
REST JSON Http (s) Itifaki

Sehemu hii ni ya kiufundi kidogo lakini tafadhali nivumilie. Ikiwa sikuelezea sehemu hii basi ungekuwa na shida kuelewa maadili katika faili za json tutakazotuma node-RED.

Vitendo vinavyotumika kwa kila pato (tundu la umeme):

Katika itifaki zote za M2M, soketi za umeme za NETIO hutumia vitendo sawa ambavyo vinaweza kutumika kwa matokeo ya mtu binafsi. Kwa mfano, kitendo cha Kugeuza au Kufuta kwa muda mfupi kinaweza kuandikwa kwa pato lolote.

Walakini, anuwai ya Kitendo inaweza kutumika tu kwa maandishi ya maandishi, haiwezi kutumiwa kusoma hali ya sasa ya duka.

Hizi ni hatua ambazo unaweza kutumia kwa kila pato:

0 = Pato imezimwa (Imezimwa)

1 = Pato limewashwa (Imewashwa)

2 = Pato limezimwa kwa muda mfupi (Zima fupi)

3 = Pato limewashwa kwa muda mfupi (fupi imewashwa)

4 = Pato limebadilishwa kutoka hali moja kwenda nyingine (kugeuza)

5 = Hali ya pato haibadiliki (hakuna mabadiliko)

6 = Kupuuzwa

Mfano - Faili ya JSON kugeuza pato no. 1:

{

"Matokeo": [{

"Kitambulisho": 1, "Kitendo": 4

}]

}

Kitambulisho - nambari hii inaonyesha ni pato gani tutatumia

Kitendo - sehemu hii, ni kitendo ambacho pato litafanya (kwa mfano 1 (Washa pato))

Hatua ya 2: Mtiririko

Mtiririko
Mtiririko

Na sasa sehemu kuu. Hivi ndivyo mazingira ya node-RED yanavyoonekana.

Tumeingiza mtiririko wa URL ya URL (Mradi unaouona. Baadaye nitakuonyesha jinsi ya kuagiza mtiririko na mradi huu) Mradi huu una sehemu mbili:

  1. Mtiririko wa NETIO AN30 (JSON REST API)
  2. Dashibodi (Kielelezo cha picha ambacho unaweza kutumia programu yako)

Hatua ya 3: Dashibodi

Dashibodi
Dashibodi

Hivi ndivyo dashibodi katika node-RED kwa sura hii inayoweza kufundisha kama. Unaweza kuibadilisha ikiwa unataka kukidhi ladha yako.

Dashibodi ya mradi huu imegawanywa katika sehemu 4:

  1. Hali ya Kifaa - inaonyesha habari ya kifaa kama mfano, anwani ya mac au toleo la firmware.
  2. (POST) Pato la Udhibiti 1 - Ina vifungo 5 ambavyo vinadhibiti pato 1. Kila kifungo hufanya hatua tofauti
  3. (GET) O1 - O4 States Output States - Sehemu hii inaonyesha hali ya sasa ya kila pato kutoka kwa kifaa chako.
  4. Usimamizi wa Kifaa - Katika sehemu hii unaweza kupata kila aina ya grafu na viwango ambavyo vinaonyesha maadili ya sasa ya mita kutoka kwa kifaa cha NETIO 4Aall

Hatua ya 4: Ingiza Mtiririko (mradi, Hati, Nk)

Ingiza Mtiririko (mradi, Hati, Nk)
Ingiza Mtiririko (mradi, Hati, Nk)

Kwenye menyu (kona ya juu kulia) chagua Ingiza na kisha Uboreshaji.

Kisha, nakili maandishi hapa chini kwenye uwanja ulioonyeshwa na ubonyeze Ingiza.

Kusakinisha nodi zinazokosekana

Node zimepakiwa kwenye mtiririko uliochaguliwa. Inawezekana kwamba ujumbe wa kosa unaonyeshwa na orodha ya nodi ambazo zinaingizwa lakini hazijasakinishwa kwenye Node-RED bado. Katika kesi hii, node zinazokosekana zinahitaji kuwekwa.

Ikiwa kuna nodi zinazokosekana, chagua Dhibiti palette kwenye menyu, bonyeza Sakinisha na upate na usanidi nodi ambazo hukosi.

Ingiza maandishi:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" ombi la http "," z ":" 56b9510c.98c6f "," name ":" Ombi la HTTP (POST) "," method ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "waya":

Hatua ya 5: Jinsi Inavyofanya Kazi Pamoja

Jinsi Inavyofanya Kazi Pamoja
Jinsi Inavyofanya Kazi Pamoja

Mtiririko umegawanywa kimsingi katika sehemu mbili: POST na GET.

POST: Kuandika kwa O1

  • Vifungo vitano vilivyoundwa kwenye Dashibodi katika Mtiririko vinaonyeshwa kwenye Dashibodi.
  • Baada ya kubofya kitufe cha Pato 1 = ON kwenye Dashibodi, mzigo umewekwa kwenye faili ya netio.json ambayo inabainisha pato na kitendo (kinachofafanuliwa kwa kila kitufe).
  • Kizuizi cha Ombi la HTTP (POST) kinatuma faili ya netio.json kama ombi kwa anwani ya IP.
  • Jibu la seva (hali) inarejeshwa kama pato.
  • Kizuizi cha Msg.payload kinaonyesha matokeo kutoka kwa Ombi la HTTP (POST).

PATA: Kusoma kutoka O1 - O4

  • Kizuizi cha kurudia cha pili kinatumika, na kwa muda wa sekunde moja, kizuizi cha Ombi la HTTP (GET), ambacho kinatuma netio.json kama ombi la GET na inarudi faili kamili ya JSON na hali ya tundu kama ilivyopokelewa kutoka kwa seva.
  • Kizuizi cha JSON Parse hubadilisha faili ya JSON kutoka kwa Ombi la Ombi la HTTP (GET) kwenda kwa JSON Object ili iweze kuendesha mali katika faili ya JSON.
  • Kizuizi cha Kazi huchukua sehemu za kibinafsi za kitu cha JSON na kuzibadilisha kuwa mali ya kitu cha msg kwa matumizi ya baadaye.
  • Kizuizi cha Chati ya Sasa kinaweka msg.pakia kwa msg. Mali ya Jumla ya sasa ya kitu cha msg, kwa sababu kizuizi cha Chati ya Sasa (Kifaa) inayofuata inaweza kuonyesha tu thamani ya malipo ya msg.
  • Node anuwai za pato hufuata ili kuonyesha mali iliyochaguliwa ya kitu cha msg, kama ilichukuliwa kutoka kwa kitu cha JSON, kwenye Dashibodi.

Kitu cha msg na msg.payload

Kwa maelezo rahisi na mafupi, angalia hapa:

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

Hatua ya 6: HTTP POST na GET

POST ya HTTP na PATA
POST ya HTTP na PATA
POST ya HTTP na PATA
POST ya HTTP na PATA

Ombi la HTTP (POST)

Node hii hutuma faili ya amri ya netio.json kama Ombi la HTTP (POST) ili kudhibiti kifaa cha NETIO 4All.

Ombi la HTTP (GET)

Node hii hutuma Ombi la HTTP (GET) na kurudisha majibu ya hali.

Anwani iliyojazwa mapema inaelekeza kwenye onyesho la mkondoni la NETIO 4All, ambapo unaweza kujaribu unganisho bila kuwa na kifaa cha NETIO kwenye dawati lako.

netio-4all.netio-products.com

Inawezekana kuweka anwani yako ya IP katika node hizi; Walakini, IP inahitaji kubadilishwa katika nambari zote mbili za Ombi la HTTP, POST na GET.

Hatua ya 7: Viini vya vifungo

Node za vifungo
Node za vifungo
Node za vifungo
Node za vifungo

Kubofya kitufe cha kitufe hutengeneza ujumbe ulio na faili ya netio.json (Picha ya kulia) ambayo hutumwa kupitia node ya posta ya http kwa tundu la nguvu la netio.

Hatua ya 8: Node ya Kazi

Node ya Kazi
Node ya Kazi
Node ya Kazi
Node ya Kazi

Node ya kazi ni node maalum inayowezesha kuandika kazi maalum ya JavaScript.

Katika hii inayoweza kufundishwa, kazi huchagua maadili kutoka kwa faili iliyochanganuliwa ya JSON (sasa ni kitu cha JSON) na huwapa mali ya kitu cha msg.

Nambari imegawanywa katika sehemu nne:

  1. Kukabidhi maadili kutoka kwa kitu cha JSON kwa mali ya kibinafsi ya kitu cha msg
  2. Ushughulikiaji wa hitilafu ikiwa tundu la nguvu la mtandao halitumii vipimo vya ulimwengu

    Ikiwa tundu la umeme lililounganishwa haliungi mkono upimaji wa maadili ya ulimwengu, Node-RED itaonyesha makosa kwa sababu kazi hii haitapata mali husika, n.k. mlipa. GlobalMeasure. Voltage, kwani isingekuwepo kwenye kitu cha JSON. Katika kesi hii, mali ya kitu cha msg, n.k. Voltage, imewekwa kwa 0 na kosa linashikiliwa.

  3. Kuteua maadili ya hali ya pato
  4. Kuweka rangi ya viwango vya hali ya pato vilivyoonyeshwa kulingana na majimbo ya pato

Hatua ya 9: Node ya JSON na Ingiza Node

Node ya JSON na Node ya sindano
Node ya JSON na Node ya sindano
Node ya JSON na Node ya sindano
Node ya JSON na Node ya sindano

Node ya JSON

Node ya JSON inachukua faili ya JSON na kuibadilisha kuwa kitu cha JSON.

Kama jibu kutoka kwa seva hadi ombi la GET, nodi ya Ombi la HTTP inarudi faili ya JSON iliyo na hali ya sasa ya kifaa cha NETIO 4x, lakini ni faili ya maandishi tu, kwa hivyo ili kufanya kazi na data, faili ya JSON inahitaji kuchanganuliwa kuwa kitu cha JSON.

Ingiza nodi

Kila sekunde, nodi hii inaamsha nodi ya Ombi la HTTP inayotuma ombi la GET.

Kama matokeo, maadili katika Dashibodi yanasasishwa na kipindi cha sekunde moja

Hatua ya 10: Node ya Nakala na Node ya Utatuzi

Node ya Nakala na Node ya Utatuzi
Node ya Nakala na Node ya Utatuzi
Node ya Nakala na Node ya Utatuzi
Node ya Nakala na Node ya Utatuzi

Nodi ya maandishi

Inaonyesha uwanja wa maandishi kwenye Dashibodi. Katika hii inayoweza kufundishwa, nodi za maandishi zinaonyesha sasa, voltage, mfano, toleo la firmware au toleo la JSON.

Lebo imeonyeshwa kwenye Dashibodi, na Jina ni jina la nodi lililoonyeshwa kwenye mtiririko wa Node-RED.

Node ya utatuzi

Inaonyesha msg.payload.

Hatua ya 11: Node ya Chati

Chati ya Chati
Chati ya Chati
Chati ya Chati
Chati ya Chati

Node hii inapanga chati ya sasa kwenye Dashibodi kulingana na thamani ya malipo.

Node hii inaweza kupanga tu chati kulingana na thamani ya malipo.

Kwa sababu hii, node ya kazi hutumiwa kuweka msg.payload kwa thamani ambayo inahitaji kuonyeshwa.

msg.payload = msg. TotalCurrent;

Hatua ya 12: Node ya kupima na Node za Kiungo

Node ya kupima na Node za Kiungo
Node ya kupima na Node za Kiungo
Node ya kupima na Node za Kiungo
Node ya kupima na Node za Kiungo

Node ya kupima

Node hii inaongeza wijeti ya kupima kwenye Dashibodi.

Katika hii inayoweza kufundishwa, kila kipimo kinaonekana mali moja ya kitu cha msg: voltage [V], tiba [A], masafa [Hz] na Jalada la Kweli la Nguvu (TPF).

Viunga nodi

Unganisha na unganisha nodi hufanya kazi kama handaki. Kulipa kwa msg.

Nilitumia kufanya mtiririko uwe wazi zaidi na rahisi kusoma.

Hatua ya 13: Asante kwa Kusoma Inayoweza kufundishwa

Natumai ulifurahiya mafunzo yangu na matumaini yangu nilijifunza kitu kipya.

Toleo hili linaweza kufupishwa tu la mwongozo tofauti nilioufanya

Mwongozo wa asili ni mrefu zaidi na umeelekezwa kwa undani zaidi na umeundwa vizuri zaidi. Ikiwa hauelewi kitu au unafikiria nimekosa au hakuelezea kitu cha kutosha, basi unaweza kuipata hapo.

Nakuahidi hautafutwa

Asili:

Pia kuna miongozo inayofanana kuhusu matumizi anuwai ya RED, kwa hivyo ikiwa una nia jisikie huru kuchunguza:

Kufanya kazi na REST URL API katika node-RED

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

Kufanya kazi na REST XML katika node-RED

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

Kufanya kazi na TCP / Modbus katika node-RED

Inakuja hivi karibuni:)

Ilipendekeza: