Sisällysluettelo:

Kuinka työskennellä JSONin kanssa solmussa-RED: 13 vaihetta
Kuinka työskennellä JSONin kanssa solmussa-RED: 13 vaihetta

Video: Kuinka työskennellä JSONin kanssa solmussa-RED: 13 vaihetta

Video: Kuinka työskennellä JSONin kanssa solmussa-RED: 13 vaihetta
Video: Полный курс TypeScript за час | Тайпскрипт для начинающих 2024, Marraskuu
Anonim
Kuinka työskennellä JSONin kanssa solmupunaisella
Kuinka työskennellä JSONin kanssa solmupunaisella

Tämä ohje opettaa sinulle, kuinka työskennellä JSON: n kanssa solmu-RED: ssä. Näytän sinulle, kuinka hallita verkkopistorasioita siirtämällä json -tiedostoja http get and postin kautta. Ja voit käyttää tätä tietoa myöhemmin hallitaksesi kaikkia laitteita, jotka tukevat JSON -protokollaa.

Opetustarkoituksiin käytän NETIO 4All -verkkopistorasiaa, mutta älä huoli, sinun ei tarvitse ostaa mitään. NETIOlla on hämmästyttävä 4All online -demo, jota voit käyttää.

Tarvikkeet

NETIO 4All verkkovirtalähde tai 4All online-demo:

Solmu-PUNAINEN

Vaihe 1: REST JSON Http (s) Protocol

REST JSON Http (s) Protocol
REST JSON Http (s) Protocol

Tämä osa on hieman tekninen, mutta ole hyvä ja kestä minua. Jos en selittänyt tätä osaa, sinulla olisi vaikeuksia ymmärtää arvoja json-tiedostoissa, jotka lähetämme solmu-RED-muodossa.

Kunkin lähdön (pistorasian) toiminnot:

Kaikissa M2M -protokollissa NETIO -pistorasiat käyttävät samoja toimintoja, joita voidaan soveltaa yksittäisiin lähtöihin. Esimerkiksi Toggle- tai Short Off -toiminto voidaan kirjoittaa mihin tahansa lähtöön.

Action -muuttujaa voidaan kuitenkin käyttää vain arvojen kirjoittamiseen, sitä ei voi käyttää nykyisen ulostulotilan lukemiseen.

Nämä ovat toimintoja, joita voit soveltaa jokaiseen lähtöön:

0 = Lähtö pois päältä (Pois)

1 = Lähtö kytketty päälle (Päällä)

2 = Lähtö kytketty pois päältä lyhyeksi ajaksi (lyhyt pois päältä)

3 = Lähtö kytketty päälle lyhyeksi ajaksi (lyhyt Päällä)

4 = Lähtö on kytketty tilasta toiseen (vaihto)

5 = Lähtötila muuttumaton (ei muutosta)

6 = ohitettu

Esimerkki - JSON -tiedosto vaihtaaksesi lähtönumeron. 1:

{

"Lähdöt": [{

"ID": 1, "Toiminta": 4

}]

}

ID - tämä numero osoittaa, mitä lähtöä käytämme

Toiminta - tämä osa on toiminto, jonka lähtö tekee (esim. 1 (Kytke lähtö päälle))

Vaihe 2: Virtaus

Virtaus
Virtaus

Ja nyt pääosa. Tältä solmu-PUNAINEN ympäristö näyttää.

Olemme tuoneet URL -sovellusliittymän kulun (projekti, jonka näet. Myöhemmin näytän sinulle, kuinka tuoda virtoja ja tämä projekti) Tämä projekti koostuu kahdesta osasta:

  1. NETIO AN30 (JSON REST API) -virta
  2. Kojelauta (graafinen käyttöliittymä, jolla voit käyttää ohjelmaa)

Vaihe 3: Kojelauta

Kojelauta
Kojelauta

Tältä tämän ohjeen kojelauta solmun-PUNAISESSA näyttää. Voit muokata sitä, jos haluat maun mukaan.

Tämän projektin hallintapaneeli on jaettu neljään osaan:

  1. Laitteen tila - näyttää laitteen tiedot, kuten malli, mac -osoite tai laiteohjelmistoversio.
  2. (POST) Control Output 1 - Sisältää 5 painiketta, jotka ohjaavat lähtöä 1. Jokainen painike suorittaa eri toiminnot
  3. (GET) O1 - O4 -lähtötilat - Tämä osa näyttää laitteesi jokaisen lähdön nykyisen tilan.
  4. Laitehallinta - Tästä osasta löydät kaikenlaisia kaavioita ja mittareita, jotka näyttävät NETIO 4Aall -laitteen nykyiset mittausarvot

Vaihe 4: Tuo kulku (projekti, komentosarja jne.)

Tuo kulku (projekti, skripti jne.)
Tuo kulku (projekti, skripti jne.)

Valitse valikosta (oikea yläkulma) Tuo ja sitten Leikepöytä.

Kopioi sitten alla oleva teksti sille varattuun kenttään ja napsauta Tuo.

Puuttuvien solmujen asennus

Solmut ladataan valittuun kulkuun. On mahdollista, että virheilmoitus näytetään luettelon solmuista, joita tuodaan mutta joita ei ole vielä asennettu solmu-PUNAISEEN. Tässä tapauksessa puuttuvat solmut on asennettava.

Jos solmuja puuttuu, valitse valikosta Hallitse palettia, napsauta Asenna ja etsi ja asenna puuttuvat solmut.

Tuo teksti:

[{"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, "johdot":

Vaihe 5: Kuinka kaikki toimii yhdessä

Kuinka kaikki toimii yhdessä
Kuinka kaikki toimii yhdessä

Virtaus on periaatteessa jaettu kahteen osaan: POST ja GET.

POST: Kirjoittaminen O1: lle

  • Virtauksen hallintapaneeliin luodut viisi painiketta näytetään koontinäytössä.
  • Kun olet napsauttanut kojelaudan Output 1 = ON -painiketta, hyötykuormaksi asetetaan netio.json -tiedosto, joka määrittää ulostulon ja toiminnon (määritetty kullekin painikkeelle).
  • HTTP -pyyntö (POST) -lohko lähettää netio.json -tiedoston pyynnöksi IP -osoitteeseen.
  • Palvelimen vastaus (tila) palautetaan tulostena.
  • Msg.payload -lohko näyttää HTTP -pyynnön (POST) tuloksen.

GET: Lukeminen O1 - O4

  • 1 Second Repeat -lohko aktivoi yhden sekunnin ajan HTTP -pyyntö (GET) -lohkon, joka puolestaan lähettää netio.json GET -pyynnöksi ja palauttaa täydellisen JSON -tiedoston, jonka socket -tila on vastaanotettu palvelimelta.
  • JSON -jäsennyslohko muuttaa JSON -tiedoston HTTP -pyyntö (GET) -lohkosta JSON -objektiksi niin, että JSON -tiedoston ominaisuuksia voidaan manipuloida.
  • Toimintolohko ottaa JSON -objektin yksittäiset osat ja muuntaa ne viesti -objektin ominaisuuksiksi myöhempää käyttöä varten.
  • Nykyisen kaavion lohko asettaa msg.payload -ominaisuuden msg -kohteen msg. TotalCurrent -ominaisuudeksi, koska seuraava Nykyinen kaavio (laite) -lohko voi näyttää vain msg.payload -arvon.
  • Eri lähtösolmut seuraavat sitten näyttääkseen viesti -objektin valitut ominaisuudet, jotka on otettu JSON -objektista, hallintapaneelissa.

Viesti -objekti ja msg.payload

Yksinkertaisen ja ytimekkään selityksen löydät täältä:

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

Vaihe 6: HTTP POST ja GET

HTTP POST ja GET
HTTP POST ja GET
HTTP POST ja GET
HTTP POST ja GET

HTTP -pyyntö (POST)

Tämä solmu lähettää netio.json -komentotiedoston HTTP -pyyntönä (POST) hallitakseen NETIO 4All -laitetta.

HTTP -pyyntö (GET)

Tämä solmu lähettää HTTP -pyynnön (GET) ja palauttaa tilavastauksen.

Esitäytetty osoite osoittaa NETIO 4All online -esittelyyn, jossa voit testata yhteyden ilman, että sinulla on NETIO-laite työpöydälläsi.

netio-4all.netio-products.com

Näissä solmuissa on mahdollista asettaa oma IP -osoitteesi; IP -osoite on kuitenkin muutettava sekä HTTP -pyyntösolmuissa, POST- että GET -järjestelmissä.

Vaihe 7: Painikkeiden solmut

Painikkeiden solmut
Painikkeiden solmut
Painikkeiden solmut
Painikkeiden solmut

Nappasolmun napsauttaminen luo viestin, joka sisältää netio.json -tiedoston (oikea kuva), joka lähetetään sitten http -postisolmun kautta netio smart power -liitäntään.

Vaihe 8: Toimintasolmu

Toimintasolmu
Toimintasolmu
Toimintasolmu
Toimintasolmu

Funktiosolmu on erityinen solmu, joka mahdollistaa mukautetun JavaScript -toiminnon kirjoittamisen.

Tässä ohjeessa funktio valitsee arvot jäsennetystä JSON -tiedostosta (nyt JSON -objekti) ja määrittää ne msg -objektin ominaisuuksiin.

Koodi on jaettu neljään osaan:

  1. Arvojen määrittäminen JSON -objektista msg -objektin yksittäisille ominaisuuksille
  2. Virheiden käsittely, jos verkkopistorasia ei tue yleisiä mittauksia

    Jos verkkopistorasia ei tue globaalien arvojen mittaamista, Node-RED näyttää virheitä, koska tämä toiminto ei löydä vastaavaa ominaisuutta, esim. msg.payload. GlobalMeasure. Voltage, koska sitä ei olisi JSON -objektissa. Tässä tapauksessa viesti -objektin ominaisuus, esim. msg. jännite, on asetettu 0: ksi ja virhe on käsitelty.

  3. Tulostustilan arvojen määrittäminen
  4. Näytettyjen lähtötila -arvojen värien asettaminen lähtötilojen mukaan

Vaihe 9: JSON -solmu ja pistosolmu

JSON -solmu ja ruiskutussolmu
JSON -solmu ja ruiskutussolmu
JSON -solmu ja ruiskutussolmu
JSON -solmu ja ruiskutussolmu

JSON -solmu

JSON -solmu jäsentää JSON -tiedoston ja muuntaa sen JSON -objektiksi.

Vastauksena palvelimelta GET -pyyntöön HTTP -pyyntösolmu palauttaa JSON -tiedoston, joka sisältää NETIO 4x -laitteen nykyisen tilan, mutta on vain tekstitiedosto, joten tietojen käsittelyä varten JSON -tiedosto tarvitsee jäsentää JSON -objektiksi.

Pistä solmu

Tämä solmu aktivoi joka sekunti HTTP -pyyntösolmun, joka lähettää GET -pyynnön.

Tämän seurauksena koontinäytön arvot päivitetään yhden sekunnin jaksolla

Vaihe 10: Tekstisolmu ja virheenkorjaussolmu

Tekstisolmu ja virheenkorjaussolmu
Tekstisolmu ja virheenkorjaussolmu
Tekstisolmu ja virheenkorjaussolmu
Tekstisolmu ja virheenkorjaussolmu

Tekstisolmu

Näyttää tekstikentän hallintapaneelissa. Tässä ohjeessa tekstisolmut näyttävät nykyisen, jännitteen, mallin, laiteohjelmistoversion tai JSON -version.

Tunniste näkyy koontinäytössä ja Nimi on solmun nimi, joka näkyy kulmassa solmun-PUNAISESSA.

Virheenkorjaussolmu

Näyttää viestin.payload.

Vaihe 11: Kaavion solmu

Kaavion solmu
Kaavion solmu
Kaavion solmu
Kaavion solmu

Tämä solmu piirtää nykyisen kaavion hallintapaneeliin hyötykuorman arvon mukaan.

Tämä solmu voi piirtää kaavioita vain hyötykuorman arvon mukaan.

Tästä syystä funktiosolmua käytetään asettamaan msg.payload arvoon, joka on näytettävä.

msg.payload = msg. TotalCurrent;

Vaihe 12: Mittasolmu ja linkkisolmut

Mittasolmu ja linkkisolmut
Mittasolmu ja linkkisolmut
Mittasolmu ja linkkisolmut
Mittasolmu ja linkkisolmut

Mittarin solmu

Tämä solmu lisää mittaripienoisohjelman hallintapaneeliin.

Tässä ohjeessa jokainen mittari visualisoi viestiviestin yhden ominaisuuden: jännite [V], parannuskeino [A], taajuus [Hz] ja kokonaistotehokerroin (TPF).

Linkitä solmut

Linkittäminen ja linkittäminen solmuihin toimii kuin tunneli. Viesti.payload saapuu solmun linkkiin ja poistuu linkin ulos -solmusta.

Käytin sitä, jotta virtaus olisi hieman selkeämpi ja helpompi lukea.

Vaihe 13: Kiitos, että luit ohjeeni

Toivottavasti pidit opettamastani ja toivottavasti opit jotain uutta.

Tämä ohje on vain lyhennetty versio eri tekemästäni oppaasta

Alkuperäinen opas on pidempi ja paljon yksityiskohtaisempi ja yleensä paremmin rakennettu. Jos et ymmärrä jotain tai luulet, että olen unohtanut tai en ole selittänyt tarpeeksi jotain, voit varmasti löytää sen sieltä.

Lupaan, ettet tule pettymään

Alkuperäinen:

Lisäksi on olemassa samankaltaisia oppaita solmun-REDin eri käyttötarkoituksista, joten jos olet kiinnostunut, tutustu:

Työskentely REST URL -sovellusliittymän kanssa solmu-RED: ssä

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

Työskentely REST XML: n kanssa solmu-RED: ssä

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

Työskentely TCP/Modbus-toiminnolla solmu-PUNAISESSA

Tulossa hyvin pian:)

Suositeltava: