Kazalo:

Kako delati z JSON v Node-RED: 13 korakov
Kako delati z JSON v Node-RED: 13 korakov

Video: Kako delati z JSON v Node-RED: 13 korakov

Video: Kako delati z JSON v Node-RED: 13 korakov
Video: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, November
Anonim
Kako delati z JSON v Node-RED
Kako delati z JSON v Node-RED

Ta navodila vas bodo naučila delati z JSON v vozlišču-RED. Pokazal vam bom, kako upravljati omrežne vtičnice s prenosom datotek json prek http get in post. To znanje lahko kasneje uporabite za nadzor katere koli naprave, ki podpira protokol JSON.

Za izobraževalne namene bom uporabljal omrežno vtičnico NETIO 4All, vendar ne skrbite, vam ni treba kupiti ničesar. NETIO ima neverjetno spletno predstavitev 4All, ki jo lahko uporabite.

Zaloge

NETIO 4 Vse omrežne napajalne vtičnice ali 4 Vse spletne predstavitve:

Vozlišče-RDEČA

1. korak: Protokol HTTP (s) REST JSON

REST JSON protokol Http (s)
REST JSON protokol Http (s)

Ta del je nekoliko tehnične narave, vendar me prosim potrpite. Če tega dela ne bi razložil, bi imeli težave pri razumevanju vrednosti v datotekah json, ki jih bomo pošiljali v vozlišču-RED.

Ukrepi, ki veljajo za vsak izhod (električna vtičnica):

V vseh protokolih M2M vtičnice NETIO uporabljajo enaka dejanja, ki jih je mogoče uporabiti za posamezne izhode. Na primer, dejanje preklopa ali kratkega izklopa je mogoče zapisati na kateri koli izhod.

Spremenljivko Action pa je mogoče uporabiti samo za pisanje vrednosti, ni pa je mogoče uporabiti za branje trenutnega stanja vtičnice.

Za vsak izhod lahko uporabite naslednja dejanja:

0 = Izhod je izklopljen (izklopljeno)

1 = izhod vklopljen (vklopljeno)

2 = Izhod je za kratek čas izklopljen (kratek izklop)

3 = Izhod je za kratek čas vklopljen (kratek vklop)

4 = Izhod preklopljen iz enega stanja v drugega (preklop)

5 = stanje izhoda nespremenjeno (brez sprememb)

6 = prezrto

Primer - datoteka JSON za preklop izhoda št. 1:

{

"Izhodi": [{

"ID": 1, "Dejanje": 4

}]

}

ID - ta številka označuje, kateri izhod bomo uporabili

Dejanje - ta del je dejanje, ki ga bo izvedel izhod (npr. 1 (Vklop izhoda))

2. korak: Pretok

Pretok
Pretok

In zdaj glavni del. Tako izgleda okolje NOD-RED.

Uvozili smo tok API -ja URL (projekt, ki ga vidite. Kasneje vam bom pokazal, kako uvoziti tokove in ta projekt) Ta projekt je sestavljen iz dveh delov:

  1. NETIO AN30 (JSON REST API) tok
  2. Nadzorna plošča (grafični vmesnik, s katerim lahko upravljate svoj program)

3. korak: Nadzorna plošča

Armaturna plošča
Armaturna plošča

Tako izgleda armaturna plošča v vozlišču-RED za to navodilo. Po želji ga lahko prilagodite.

Armaturna plošča tega projekta je razdeljena na 4 dele:

  1. Stanje naprave - prikazuje podatke o napravi, kot so model, naslov Mac ali različica vdelane programske opreme.
  2. (POST) Nadzorni izhod 1 - Vsebuje 5 gumbov, ki nadzorujejo izhod 1. Vsak gumb izvaja različna dejanja
  3. (GET) O1 - O4 Output States - Ta del prikazuje trenutno stanje vsakega izhoda iz vaše naprave.
  4. Upravljanje naprav - v tem delu najdete vse vrste grafov in merilnikov, ki prikazujejo trenutne izmerjene vrednosti iz naprave NETIO 4 Vse

4. korak: Uvozi tok (projekt, skript itd.)

Uvozni tok (projekt, skript itd.)
Uvozni tok (projekt, skript itd.)

V meniju (desni zgornji kot) izberite Uvozi in nato odložišče.

Nato kopirajte spodnje besedilo v označeno polje in kliknite Uvozi.

Namestitev manjkajočih vozlišč

Vozlišča se naložijo v izbrani tok. Možno je, da se prikaže sporočilo o napaki s seznamom vozlišč, ki se uvažajo, vendar še niso nameščena v Node-RED. V tem primeru je treba namestiti manjkajoča vozlišča.

Če manjkajo vozlišča, v meniju izberite Upravljanje palete, kliknite Namesti in poiščite in namestite manjkajoča vozlišča.

Uvozi besedilo:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": 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, "žice":

5. korak: Kako vse skupaj deluje

Kako vse skupaj deluje
Kako vse skupaj deluje

Tok je v osnovi razdeljen na dva dela: POST in GET.

POST: Pisanje v O1

  • Pet gumbov, ustvarjenih na nadzorni plošči v toku, je prikazanih na nadzorni plošči.
  • Ko pritisnete gumb Output 1 = ON na nadzorni plošči, je koristna obremenitev nastavljena na datoteko netio.json, ki podaja izhod in dejanje (določeno za vsakega od gumbov).
  • Blok Zahteva HTTP (POST) pošlje datoteko netio.json kot zahtevo na naslov IP.
  • Odziv strežnika (status) se vrne kot izhod.
  • Blok Msg.payload prikaže rezultat iz zahteve HTTP (POST).

GET: Branje od O1 - O4

  • Blok ponovitve 1 sekunde z obdobjem ene sekunde aktivira blok zahteve HTTP (GET), ki nato pošlje netio.json kot zahtevo GET in vrne celotno datoteko JSON s statusom vtičnice, ki jo prejme od strežnika.
  • Blok razčlenjevanja JSON pretvori datoteko JSON iz bloka zahteve HTTP (GET) v objekt JSON, tako da je mogoče upravljati lastnosti v datoteki JSON.
  • Funkcijski blok vzame posamezne dele predmeta JSON in jih pretvori v lastnosti predmeta sporočila za kasnejšo uporabo.
  • Blok Current Chart nastavi msg.payload na lastnost msg. TotalCurrent predmeta msg, ker lahko naslednji blok Current Chart (Device) prikaže samo vrednost msg.payload.
  • Nato sledijo različna izhodna vozlišča, da se na nadzorni plošči prikažejo izbrane lastnosti predmeta sporočila, vzete iz predmeta JSON.

Objekt msg in msg.payload

Za preprosto in jedrnato razlago glej tukaj:

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

Korak 6: HTTP POST in GET

HTTP POST in GET
HTTP POST in GET
HTTP POST in GET
HTTP POST in GET

Zahteva HTTP (POST)

To vozlišče pošilja ukazno datoteko netio.json kot zahtevo HTTP (POST) za nadzor naprave NETIO 4All.

Zahteva HTTP (GET)

To vozlišče pošlje zahtevo HTTP (GET) in vrne odziv stanja.

Vnaprej napolnjen naslov kaže na spletno predstavitev NETIO 4All, kjer lahko preizkusite povezavo, ne da bi imeli za mizo napravo NETIO.

netio-4all.netio-products.com

V teh vozliščih je mogoče nastaviti lasten naslov IP; vendar pa je treba IP spremeniti v obeh vozliščih zahteve HTTP, POST in GET.

7. korak: Gumbna vozlišča

Gumbna vozlišča
Gumbna vozlišča
Gumbna vozlišča
Gumbna vozlišča

S klikom na vozlišče gumba se prikaže sporočilo, ki vsebuje datoteko netio.json (desna slika), ki se nato pošlje prek vozlišča http post v netio pametno vtičnico.

8. korak: Funkcijsko vozlišče

Funkcijsko vozlišče
Funkcijsko vozlišče
Funkcijsko vozlišče
Funkcijsko vozlišče

Vozlišče funkcij je posebno vozlišče, ki omogoča pisanje funkcije JavaScript po meri.

V tem navodilu funkcija pobere vrednosti iz razčlenjene datoteke JSON (zdaj objekt JSON) in jih dodeli lastnostim predmeta sporočila.

Koda je razdeljena na štiri dele:

  1. Dodeljevanje vrednosti iz predmeta JSON posameznim lastnostim predmeta sporočila
  2. Ravnanje z napakami, če omrežna vtičnica ne podpira globalnih meritev

    Če omrežna vtičnica ne podpira merjenja globalnih vrednosti, bi Node-RED prikazal napake, ker ta funkcija ne bi našla ustrezne lastnosti, npr. msg.payload. GlobalMeasure. Voltage, ker v objektu JSON ne bi bil prisoten. V tem primeru je lastnost predmeta sporočila, npr. msg. Napetost je nastavljena na 0 in napaka je odpravljena.

  3. Dodelitev vrednosti izhodnega stanja
  4. Nastavitev barv prikazanih vrednosti izhodnega stanja glede na izhodna stanja

9. korak: vozlišče JSON in vozlišče za vbrizgavanje

Vozlišče JSON in vozlišče Inject
Vozlišče JSON in vozlišče Inject
Vozlišče JSON in vozlišče Inject
Vozlišče JSON in vozlišče Inject

Vozlišče JSON

Vozlišče JSON razčleni datoteko JSON in jo pretvori v objekt JSON.

Kot odgovor strežnika na zahtevo GET vozlišče HTTP Request vrne datoteko JSON, ki vsebuje trenutno stanje naprave NETIO 4x, vendar je preprosto besedilna datoteka, zato mora datoteka JSON za delo s podatki razčleniti v objekt JSON.

Vbrizgaj vozlišče

Vsako sekundo to vozlišče aktivira vozlišče HTTP Request, ki pošlje zahtevo GET.

Posledično se vrednosti na nadzorni plošči posodobijo z obdobjem ene sekunde

10. korak: Besedilo besedila in vozlišče za odpravljanje napak

Vozlišče za besedilo in vozlišče za odpravljanje napak
Vozlišče za besedilo in vozlišče za odpravljanje napak
Vozlišče za besedilo in vozlišče za odpravljanje napak
Vozlišče za besedilo in vozlišče za odpravljanje napak

Besedilno vozlišče

Prikaže besedilno polje na nadzorni plošči. V tem navodilu besedilna vozlišča prikazujejo tok, napetost, model, različico vdelane programske opreme ali različico JSON.

Oznaka je prikazana na nadzorni plošči, ime pa je ime vozlišča, prikazano v toku v Node-RDEČEM.

Vozlišče za odpravljanje napak

Prikaže nalaganje sporočil.

11. korak: vozlišče grafikona

Vozlišče grafikona
Vozlišče grafikona
Vozlišče grafikona
Vozlišče grafikona

To vozlišče nariše trenutni grafikon na nadzorni plošči glede na vrednost tovora.

To vozlišče lahko nariše le grafikone glede na vrednost tovora.

Iz tega razloga se funkcijsko vozlišče nastavi za nastavitev sporočila plačilne obremenitve na vrednost, ki jo je treba prikazati.

msg.payload = msg. TotalCurrent;

12. korak: vozlišče merilnika in vozlišča povezave

Merilna vozlišča in vozlišča povezave
Merilna vozlišča in vozlišča povezave
Merilna vozlišča in vozlišča povezave
Merilna vozlišča in vozlišča povezave

Merilno vozlišče

To vozlišče na nadzorno ploščo doda pripomoček za merjenje.

V tem navodilu vsak merilnik vizualizira eno lastnost predmeta sporočila: napetost [V], tok [A], frekvenco [Hz] in celoten faktor resnične moči (TPF).

Povezovalna vozlišča

Povezovanje in povezovanje vozlišč deluje kot predor. Sporočilo za plačilo prispe v povezavo v vozlišču in izstopi iz vozlišča povezave ven.

Z njim sem naredil tok nekoliko jasnejši in lažji za branje.

Korak: Hvala, ker ste prebrali Moj navodnik

Upam, da ste uživali v mojih navodilih in da sem se naučil kaj novega.

Ta navodila so le skrajšana različica drugega vodnika, ki sem ga naredil

Prvotni vodnik je daljši in veliko bolj podrobno usmerjen ter na splošno bolje strukturiran. Če česa niste razumeli ali mislite, da sem kaj spregledal ali premalo razložil, potem to zagotovo najdete.

Obljubim, da ne boste razočarani

Izvirnik:

Obstajajo tudi podobni vodniki o različnih uporabah sistema node-RED, zato vas, če vas zanima, raziščite:

Delo z API-jem REST URL v vozlišču-RED

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

Delo z REST XML v vozlišču-RED

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

Delo s TCP/Modbus v vozlišču-RED

Kmalu prihaja:)

Priporočena: