Kazalo:
- Zaloge
- 1. korak: Protokol HTTP (s) REST JSON
- 2. korak: Pretok
- 3. korak: Nadzorna plošča
- 4. korak: Uvozi tok (projekt, skript itd.)
- 5. korak: Kako vse skupaj deluje
- Korak 6: HTTP POST in GET
- 7. korak: Gumbna vozlišča
- 8. korak: Funkcijsko vozlišče
- 9. korak: vozlišče JSON in vozlišče za vbrizgavanje
- 10. korak: Besedilo besedila in vozlišče za odpravljanje napak
- 11. korak: vozlišče grafikona
- 12. korak: vozlišče merilnika in vozlišča povezave
- Korak: Hvala, ker ste prebrali Moj navodnik
Video: Kako delati z JSON v Node-RED: 13 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
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
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
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:
- NETIO AN30 (JSON REST API) tok
- Nadzorna plošča (grafični vmesnik, s katerim lahko upravljate svoj program)
3. korak: Nadzorna 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:
- Stanje naprave - prikazuje podatke o napravi, kot so model, naslov Mac ali različica vdelane programske opreme.
- (POST) Nadzorni izhod 1 - Vsebuje 5 gumbov, ki nadzorujejo izhod 1. Vsak gumb izvaja različna dejanja
- (GET) O1 - O4 Output States - Ta del prikazuje trenutno stanje vsakega izhoda iz vaše naprave.
- 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.)
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
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
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
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
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:
- Dodeljevanje vrednosti iz predmeta JSON posameznim lastnostim predmeta sporočila
-
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.
- Dodelitev vrednosti izhodnega stanja
- Nastavitev barv prikazanih vrednosti izhodnega stanja glede na izhodna stanja
9. korak: vozlišče JSON in vozlišče za vbrizgavanje
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
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
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
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:
Kako povezati Raspberry Pi z oblakom z uporabo Node.js: 7 korakov
Kako povezati Raspberry Pi v oblak z uporabo Node.js: Ta vadnica je uporabna za vsakogar, ki želi povezati Raspberry Pi z oblakom, zlasti s platformo AskSensors IoT, z uporabo Node.js. Nimate Raspberry Pi? Če trenutno nimate Raspberry Pi, vam priporočam, da dobite Raspberry
Kako ustvariti zagonski pogon Linuxa (in kako ga uporabljati): 10 korakov
Kako ustvariti zagonski pogon Linuxa (in kako ga uporabljati): To je preprost uvod o tem, kako začeti z Linuxom, zlasti Ubuntu
Kako zgraditi spletno mesto na Raspberry Pi z Node.js, Express in MongoDB 1. del: 6 korakov
Kako zgraditi spletno mesto na Raspberry Pi z Node.js, Express in MongoDB … 1. del: Dobrodošli v 1. delu moje vadnice za spletno aplikacijo node.js. Prvi del bo obravnaval potrebno programsko opremo, ki se uporablja za razvoj aplikacij node.js, kako uporabljati posredovanje vrat, kako zgraditi aplikacijo z uporabo Express in kako zagnati vašo aplikacijo. Drugi del tega
Kako delati z Arduino in različnimi RGB svetilkami: 3 koraki
Kako delati z Arduino in različnimi RGB LED: Arduino je neverjetna majhna naprava. Toda ena izmed najpogosteje uporabljenih aplikacij za to zmogljivo majhno napravo je pogosto utripanje ali utripanje LED -ja. Ta vadnica vam bo pokazala tri načine za delo z RGB LED in Arduino. Prvi način je uporaba preprostega
Kako ožičeno/pokvarjeno uro delati: 12 korakov
Kako ožičeno uro/pokvarjeno uro delati: Pozdravljeni. Vzel sem šolsko uro in se za manj kot 10 USD spremenil v baterijsko