Sadržaj:
- Pribor
- Korak 1: REST JSON Http (s) protokol
- Korak 2: Protok
- Korak 3: Nadzorna ploča
- Korak 4: Uvozni tok (projekt, skripta itd.)
- Korak 5: Kako sve to zajedno funkcionira
- Korak 6: HTTP POST i GET
- Korak 7: Čvorovi gumba
- Korak 8: Funkcijski čvor
- Korak 9: JSON čvor i čvor za ubrizgavanje
- Korak 10: Čvor teksta i čvor za otklanjanje pogrešaka
- Korak 11: Čvor grafikona
- Korak 12: Čvor mjerila i čvorovi veza
- Korak 13: Hvala vam što ste pročitali Moju instrukciju
Video: Kako raditi s JSON-om u Node-RED-u: 13 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ova instrukcija će vas naučiti kako raditi s JSON-om u node-RED-u. Pokazat ću vam kako kontrolirati umrežene utičnice s prijenosom json datoteka putem http get i post. To znanje kasnije možete koristiti za kontrolu bilo kojeg uređaja koji podržava JSON protokol.
U nastavne svrhe koristit ću NETIO 4All mrežnu utičnicu za napajanje, ali ne brinite, ne morate ništa kupovati. NETIO ima nevjerojatan 4All online demo koji možete koristiti.
Pribor
NETIO 4Svi umreženi powersocket ili 4Svi mrežni demo:
Čvor-CRVENI
Korak 1: REST JSON Http (s) protokol
Ovaj dio je malo tehnički, ali molim vas podnesite me. Da nisam objasnio ovaj dio, imali biste problema s razumijevanjem vrijednosti u json datotekama koje ćemo slati u čvoru-RED.
Radnje koje se odnose na svaki izlaz (električna utičnica):
U svim M2M protokolima, utičnice za napajanje NETIO koriste iste radnje koje se mogu primijeniti na pojedinačne izlaze. Na primjer, radnja prebacivanja ili kratkog isključivanja može se zapisati na bilo koji izlaz.
Međutim, varijabla Action može se koristiti samo za pisanje vrijednosti, ne može se koristiti za čitanje trenutnog stanja utičnice.
Ovo su radnje koje možete primijeniti na svaki izlaz:
0 = Izlaz je isključen (isključeno)
1 = Izlaz uključen (Uključeno)
2 = Izlaz je kratko isključen (kratko isključeno)
3 = Izlaz je kratko uključen (kratko uključeno)
4 = Izlaz se prebacuje iz jednog stanja u drugo (prebacivanje)
5 = Izlazno stanje nepromijenjeno (bez promjena)
6 = Zanemareno
Primjer - JSON datoteka za prebacivanje izlaza br. 1:
{
"Izlazi": [{
"ID": 1, "Radnja": 4
}]
}
ID - ovaj broj označava koji ćemo izlaz koristiti
Radnja - ovaj dio je radnja koju će izlaz učiniti (npr. 1 (Uključi izlaz))
Korak 2: Protok
A sada glavni dio. Ovako izgleda node-RED okruženje.
Uvezli smo tok API -ja URL -a (projekt koji vidite. Kasnije ću vam pokazati kako se uvoze tokovi i ovaj projekt) Ovaj se projekt sastoji od dva dijela:
- NETIO AN30 (JSON REST API) tok
- Nadzorna ploča (grafičko sučelje pomoću kojeg možete upravljati svojim programom)
Korak 3: Nadzorna ploča
Ovako izgleda nadzorna ploča u node-RED-u za ovu instrukciju. Možete ga prilagoditi ako želite po svom ukusu.
Nadzorna ploča za ovaj projekt podijeljena je na 4 dijela:
- Status uređaja - prikazuje podatke o uređaju kao što su model, mac adresa ili verzija firmvera.
- (POST) Kontrolni izlaz 1 - Sadrži 5 gumba koji kontroliraju izlaz 1. Svaki gumb izvodi različite radnje
- (GET) O1 - O4 Output States - Ovaj dio prikazuje trenutno stanje svakog izlaza s vašeg uređaja.
- Upravljanje uređajima - U ovom dijelu možete pronaći sve vrste grafikona i mjerača koji prikazuju trenutne izmjerene vrijednosti s NETIO 4Svi uređaj
Korak 4: Uvozni tok (projekt, skripta itd.)
Na izborniku (gornji desni kut) odaberite Uvoz, a zatim međuspremnik.
Zatim kopirajte donji tekst u navedeno polje i kliknite Uvoz.
Instaliranje čvorova koji nedostaju
Čvorovi se učitavaju u odabrani tok. Moguće je da se prikaže poruka o pogrešci sa popisom čvorova koji se uvoze, ali još nisu instalirani u Node-RED. U tom slučaju čvorove koji nedostaju potrebno je instalirati.
Ako čvorovi nedostaju, u izborniku odaberite Upravljanje paletom, kliknite Instaliraj i pronađite i instalirajte čvorove koji vam nedostaju.
Uvezi tekst:
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http request "," z ":" 56b9510c.98c6f "," name ":" HTTP zahtjev (POST) "," method ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "žice":
Korak 5: Kako sve to zajedno funkcionira
Tok je u osnovi podijeljen na dva dijela: POST i GET.
POST: Pisanje na O1
- Pet gumba stvorenih na nadzornoj ploči u toku prikazano je na nadzornoj ploči.
- Nakon što pritisnete gumb Output 1 = ON na nadzornoj ploči, korisni teret se postavlja na datoteku netio.json koja navodi izlaz i radnju (definiranu za svaki od gumba).
- Blok HTTP zahtjev (POST) šalje datoteku netio.json kao zahtjev na IP adresu.
- Odgovor poslužitelja (status) vraćen je kao izlaz.
- Blok Msg.payload prikazuje rezultat iz HTTP zahtjeva (POST).
GET: Čitanje iz O1 - O4
- Blok ponavljanja od 1 sekunde aktivira, s razdobljem od jedne sekunde, blok HTTP zahtjeva (GET), koji zauzvrat šalje netio.json kao zahtjev za GET i vraća kompletnu datoteku JSON sa statusom utičnice onako kako je primljena od poslužitelja.
- Blok JSON Parse pretvara JSON datoteku iz bloka HTTP zahtjeva (GET) u JSON objekt tako da je moguće manipulirati svojstvima u datoteci JSON.
- Funkcijski blok uzima pojedinačne dijelove JSON objekta i pretvara ih u svojstva objekta poruke za kasniju upotrebu.
- Blok Current Chart postavlja msg.payload na svojstvo msg. TotalCurrent objekta msg, jer sljedeći blok Current Chart (Device) može prikazati samo vrijednost msg.payload.
- Zatim slijede različiti izlazni čvorovi kako bi se prikazala odabrana svojstva objekta poruke, preuzeta iz objekta JSON, na nadzornoj ploči.
Objekt poruke i učitavanje poruke
Jednostavno i sažeto objašnjenje potražite ovdje:
www.steves-internet-guide.com/node-red-mess…
Korak 6: HTTP POST i GET
HTTP zahtjev (POST)
Ovaj čvor šalje naredbenu datoteku netio.json kao HTTP zahtjev (POST) kako bi kontrolirao NETIO 4All uređaj.
HTTP zahtjev (GET)
Ovaj čvor šalje HTTP zahtjev (GET) i vraća statusni odgovor.
Unaprijed ispunjena adresa upućuje na online demonstraciju NETIO 4All, gdje možete testirati vezu bez NETIO uređaja za radnim stolom.
netio-4all.netio-products.com
U tim čvorovima moguće je postaviti vlastitu IP adresu; međutim, IP je potrebno promijeniti u oba čvora HTTP zahtjeva, POST -u kao i GET -u.
Korak 7: Čvorovi gumba
Klikom na čvor gumba generira se poruka koja sadrži datoteku netio.json (desna slika) koja se zatim šalje putem http post čvora do netio pametne utičnice za napajanje.
Korak 8: Funkcijski čvor
Čvor funkcije poseban je čvor koji omogućuje pisanje prilagođene JavaScript funkcije.
U ovom uputstvu funkcija odabire vrijednosti iz raščlanjene JSON datoteke (sada JSON objekt) i dodjeljuje ih svojstvima objekta msg.
Kod je podijeljen u četiri odjeljka:
- Dodjeljivanje vrijednosti iz objekta JSON pojedinačnim svojstvima objekta poruke
- Rukovanje pogreškama u slučaju da mrežna utičnica ne podržava globalna mjerenja
Ako mrežna utičnica ne podržava mjerenje globalnih vrijednosti, Node-RED bi prikazao pogreške jer ova funkcija ne bi pronašla odgovarajuće svojstvo, npr. msg.payload. GlobalMeasure. Voltage, jer ne bi bio prisutan u JSON objektu. U ovom slučaju svojstvo objekta poruke, npr. msg. Napon je postavljen na 0 i greška se hvata u koštac.
- Dodjeljivanje vrijednosti izlaznog stanja
- Postavljanje boja prikazanih vrijednosti izlaznog stanja prema izlaznim stanjima
Korak 9: JSON čvor i čvor za ubrizgavanje
Čvor JSON
Čvor JSON raščlanjuje JSON datoteku i pretvara je u JSON objekt.
Kao odgovor poslužitelja na GET zahtjev, čvor HTTP Zahtjev vraća JSON datoteku koja sadrži trenutni status NETIO 4x uređaja, ali je jednostavno tekstualna datoteka, pa je za rad s podacima JSON datoteka potrebna za raščlanjivanje u JSON objekt.
Čvor za ubrizgavanje
Svake sekunde ovaj čvor aktivira čvor HTTP zahtjeva koji šalje GET zahtjev.
Zbog toga se vrijednosti na nadzornoj ploči ažuriraju s razdobljem od jedne sekunde
Korak 10: Čvor teksta i čvor za otklanjanje pogrešaka
Čvor teksta
Prikazuje tekstualno polje na nadzornoj ploči. U ovom uputstvu tekstualni čvorovi prikazuju trenutnu, naponsku, modelnu, inačicu firmvera ili JSON verziju.
Oznaka se prikazuje na nadzornoj ploči, a naziv je naziv čvora prikazan u toku u čvoru-CRVENO.
Čvor za otklanjanje pogrešaka
Prikazuje učitavanje poruke.
Korak 11: Čvor grafikona
Ovaj čvor iscrtava trenutni grafikon na nadzornoj ploči prema vrijednosti korisnog opterećenja.
Ovaj čvor može iscrtavati grafikone samo prema vrijednosti korisnog opterećenja.
Iz tog razloga čvor funkcije koristi se za postavljanje msg.payload na vrijednost koju je potrebno prikazati.
msg.payload = msg. TotalCurrent;
Korak 12: Čvor mjerila i čvorovi veza
Čvor mjerila
Ovaj čvor dodaje widget mjerača na nadzornu ploču.
U ovoj uputi svaki mjerač vizualizira jedno svojstvo objekta poruke: napon [V], struju [A], frekvenciju [Hz] i ukupni pravi faktor snage (TPF).
Vezni čvorovi
Čvorovi za povezivanje i povezivanje rade poput tunela. Poruka za plaćanje dolazi u vezu u čvoru i izlazi iz čvora za izlaz veze.
Koristio sam ga da učinim tok malo jasnijim i lakšim za čitanje.
Korak 13: Hvala vam što ste pročitali Moju instrukciju
Nadam se da ste uživali u mojim instrukcijama i nadam se da ste naučili nešto novo.
Ova instrukcija je samo skraćena verzija različitog vodiča koji sam napravio
Izvorni je vodič duži i mnogo detaljnije orijentiran i općenito bolje strukturiran. Ako nešto niste razumjeli ili mislite da sam nešto propustio ili nedovoljno objasnio, onda to definitivno možete pronaći.
Obećavam da nećete biti razočarani
Izvornik:
Također postoje slični vodiči o raznim upotrebama čvora RED, pa ako ste zainteresirani, slobodno istražite:
Rad s REST URL API-jem u čvoru-RED
www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Rad s REST XML-om u čvoru-RED
www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Rad s TCP/Modbusom u čvoru-CRVENOM
Dolazi vrlo brzo:)
Preporučeni:
Podsjetnik o korištenju vremena na ekranu (radi samo na Windowsima, Ios neće raditi): 5 koraka
Podsjetnik o korištenju vremena korištenja zaslona (radi samo na Windowsima, Ios neće raditi): UvodOvo je koristan stroj izrađen od Arduina, podsjeća vas na odmor tako što ćete napraviti " biiii! &Quot; zvuk i vraćanje računala na zaključani zaslon nakon 30 minuta provedenog na ekranu. Nakon što se odmori 10 minuta, bit će " b
Kako LoRa (SX1278/XL1278-SMT) raditi putem SPI-a na WeMos D1 ESP-12F ESP8277 modulu matične ploče s OLED-om: 7 koraka
Kako LoRa (SX1278/XL1278 -SMT) raditi putem SPI -a na WeMos D1 ESP -12F ESP8277 modulu matične ploče s OLED -om: Trebalo mi je tjedan dana za vježbanje - čini se da nitko drugi prije mene to nije shvatio - pa se nadam da ćete ovo spasiti neko vrijeme! Neugodno nazvan "WeMos D1 ESP-12F ESP8266 Modul matične ploče s 0,96 inčnim OLED zaslonom" je razvojna ploča od 11 USD
Kako raditi s Arduinom i različitim RGB LED uređajima: 3 koraka
Kako raditi s Arduinom i različitim RGB LED -ima: Arduino je nevjerojatan mali uređaj. No, jedna od najčešće korištenih aplikacija za ovaj moćni mali uređaj često je bljeskanje ili treptanje LED -a. Ovaj će vam vodič pokazati tri načina rada s RGB LED -ima i Arduinom.1. Prvi način je korištenje jednostavnog
Gumb za napajanje Super Ghetto na My Oneplus One (trebao bi raditi na bilo čemu): 3 koraka
Gumb za napajanje Super Ghetto na mom Oneplus One (trebao bi raditi na bilo čemu): Problem: Svi gumbi na mojem telefonu su pokvareni. Zamjena ih je samo privremeno rješenje jer mi je stražnja maska slomljena i ne mogu nigdje pronaći zamjenu koja ne prelazi cijenu rabljenog OPO -a, ali zaključio sam zašto ne nadograditi ako ja
Kako MpegPlayer raditi u Rockboxu - IPod Nano prve generacije: 7 koraka
Kako MpegPlayer raditi u Rockboxu - IPod Nano prve generacije: ** VRLO VAŽNO AŽURIRANJE ** Ako ste ovo već gledali, WINFF je promijenio korisničko sučelje. Sada je na verziji 0.41. Program je sada moderniji i sada ima " rockbox "; pod " pretvoriti u " popis. Ažurirat ću ovo kad napravim su