Sadržaj:
- Supplies
- 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 funkcionira zajedno
- Korak 6: HTTP POST i GET
- Korak 7: Čvorovi dugmadi
- Korak 8: Funkcijski čvor
- Korak 9: JSON čvor i čvor za ubrizgavanje
- Korak 10: Čvor teksta i čvor za otklanjanje grešaka
- Korak 11: Čvor grafikona
- Korak 12: Čvor mjerenja i čvorovi veze
- 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 izmjena: 2024-01-30 08:06
Ova instrukcija će vas naučiti kako raditi s JSON-om u čvoru-RED. Pokazat ću vam kako kontrolirati mrežne 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 svrhe poučavanja koristit ću NETIO 4 Sve mrežne utičnice, ali ne brinite, ne morate ništa kupovati. NETIO ima zadivljujući 4All online demo koji možete koristiti.
Supplies
NETIO 4Sve mrežne utičnice za napajanje ili 4Sve internetske demonstracije:
Čvor-CRVENI
Korak 1: REST JSON Http (s) protokol
Ovaj dio je malo tehnički, ali molim vas da me prihvatite. 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 izlaznog stanja.
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 uključen na kratko (kratko uključeno)
4 = Izlaz se prebacuje iz jednog stanja u drugo (prebacivanje)
5 = Stanje izlaza nepromijenjeno (bez promjena)
6 = Zanemareno
Primjer - JSON datoteka za prebacivanje izlaza br. 1:
{
"Izlazi": [{
"ID": 1, "Akcija": 4
}]
}
ID - ovaj broj označava koji izlaz ćemo koristiti
Radnja - ovaj dio je radnja koju će izlaz izvršiti (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 (projekat koji vidite. Kasnije ću vam pokazati kako se uvoze tokovi i ovaj projekat) Ovaj projekat se sastoji iz 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.
Kontrolna ploča za ovaj projekt podijeljena je na 4 dijela:
- Status uređaja - prikazuje informacije o uređaju kao što su model, mac adresa ili verzija firmvera.
- (POST) Kontrolni izlaz 1 - Sadrži 5 tipki koje kontroliraju izlaz 1. Svako dugme izvršava 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 sa NETIO 4All uređaja
Korak 4: Uvozni tok (projekt, skripta itd.)
U 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 greš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 meniju 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, "wires":
Korak 5: Kako sve to funkcionira zajedno
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 specificira 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) se vraća kao izlaz.
- Blok Msg.payload prikazuje rezultat iz HTTP zahtjeva (POST).
GET: Čitanje iz O1 - O4
- Blok ponavljanja od 1 sekunde aktivira, s periodom od jedne sekunde, blok HTTP zahtjeva (GET), koji zauzvrat šalje netio.json kao GET zahtjev i vraća kompletnu JSON datoteku 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 JSON datoteci.
- 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 prikazali odabrana svojstva objekta poruke, preuzeta iz objekta JSON, na nadzornoj ploči.
Objekt poruke i učitavanje poruke
Za jednostavno i sažeto objašnjenje, pogledajte 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 NETIO 4All online demonstraciju, gdje možete testirati vezu bez NETIO uređaja za radnim stolom.
netio-4all.netio-products.com
U ovim čvorovima je moguće postaviti vlastitu IP adresu; međutim, IP je potrebno promijeniti u oba čvora HTTP zahtjeva, POST -u kao i GET -u.
Korak 7: Čvorovi dugmadi
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 je poseban čvor koji omogućava pisanje prilagođene JavaScript funkcije.
U ovom uputstvu funkcija bira vrijednosti iz raščlanjene JSON datoteke (sada JSON objekt) i dodjeljuje ih svojstvima objekta msg.
Kod je podijeljen u četiri odjeljka:
- Dodjeljivanje vrijednosti iz JSON objekta pojedinačnim svojstvima objekta poruke
- Rukovanje greš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 greš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, postavljen je na 0 i greška se hvata u rad.
- Dodjeljivanje vrijednosti izlaznog stanja
- Postavljanje boja prikazanih vrijednosti izlaznog stanja prema izlaznim stanjima
Korak 9: JSON čvor i čvor za ubrizgavanje
JSON čvor
JSON čvor analizira JSON datoteku i pretvara je u JSON objekt.
Kao odgovor poslužitelja na GET zahtjev, čvor HTTP zahtjeva 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.
Inject node
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 grešaka
Tekstualni čvor
Prikazuje tekstualno polje na nadzornoj ploči. U ovom uputstvu tekstualni čvorovi prikazuju trenutnu, napon, model, verziju firmvera ili JSON verziju.
Label se prikazuje na nadzornoj ploči, a Name je naziv čvora prikazano u toku u Node-RED.
Debug čvor
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 mjerenja i čvorovi veze
Čvor mjerila
Ovaj čvor dodaje kontrolnu ploču na nadzornu ploču.
U ovom uputstvu svaki mjerač vizualizira jedno svojstvo objekta poruke: napon [V], struju [A], frekvenciju [Hz] i ukupni pravi faktor snage (TPF).
Čvorovi veza
Čvorovi za povezivanje i povezivanje rade poput tunela. Poruka za plaćanje stiže 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.
Ovo uputstvo je samo skraćena verzija drugog vodiča koji sam napravio
Originalni vodič je 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
Original:
Također postoje slični vodiči o različitim 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/Modbus u čvoru-RED
Dolazi vrlo brzo:)
Preporučuje se:
Podsjetnik za korištenje ekrana (radi samo na Windowsima, Ios neće raditi): 5 koraka
Podsjetnik za korištenje ekrana (radi samo na Windowsima, Ios neće raditi): Uvod Ovo je korisna mašina napravljena od Arduina, podsjeća vas da se odmorite tako što ćete napraviti "biiii!" zvuk i vraćanje računara na zaključani ekran nakon 30 minuta provedenog na ekranu. Nakon 10 minuta odmora, " b
Kako LoRa (SX1278/XL1278-SMT) raditi putem SPI-a na WeMos D1 ESP-12F ESP8277 modulu matične ploče sa OLED-om: 7 koraka
Kako LoRa (SX1278/XL1278 -SMT) raditi putem SPI -a na WeMos D1 ESP -12F ESP8277 modulu matične ploče sa OLED -om: Trebalo mi je sedmicu dana za vježbanje - čini se da niko drugi prije mene nije shvatio - pa se nadam da ćete ovo spasiti neko vrijeme! Modul matične ploče WeMos D1 ESP-12F ESP8266 s nezgodnim imenom s 0,96 inčnim OLED ekranom " 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 vodič će vam pokazati tri načina rada s RGB Led -ovima i Arduinom. Prvi način je korištenje jednostavnog
Kako MpegPlayer raditi u Rockbox -u - IPod Nano prve generacije: 7 koraka
Kako MpegPlayer raditi u Rockboxu - IPod Nano prve generacije: ** VEOMA VAŽNO AŽURIRANJE ** Ako ste ovo već gledali, WINFF je promijenio korisnički interfejs. Sada je na verziji 0.41. Program je sada moderniji i sada ima " rockbox " pod " pretvoriti u " spisak. Ažurirat ću ovo kad napravim su
Kako rukavica raditi s ekranom osjetljivim na dodir: 3 koraka (sa slikama)
Omogućavanje rada rukavica s ekranom osjetljivim na dodir: To možete učiniti u samo nekoliko minuta bez mnogo znanja. Bliži se zima (ako ste na sjevernoj hemisferi) a sa zimom hladno vrijeme, a sa hladnim vremenom dolaze i rukavice. Ali čak i po hladnoći vaš telefon