INHOUDSOPGAWE:
- Voorrade
- Stap 1: REST JSON Http (s) -protokol
- Stap 2: vloei
- Stap 3: Dashboard
- Stap 4: Invoervloei (projek, script, ens.)
- Stap 5: Hoe dit alles saamwerk
- Stap 6: HTTP POST en kry
- Stap 7: Knoppieknope
- Stap 8: Funksieknoop
- Stap 9: JSON -knoop en spuitknoop
- Stap 10: Teksnode en ontfoutingsknoop
- Stap 11: Grafieknode
- Stap 12: Meetknooppunt en skakelknope
- Stap 13: Dankie dat u my instruksies gelees het
Video: Hoe om te werk met JSON in Node-RED: 13 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie instruksies sal u leer hoe om met JSON in node-RED te werk. Ek sal u wys hoe u netwerkkontakte in die netwerk kan beheer met die oordrag van json -lêers via http get and post. En u kan hierdie kennis later gebruik om enige toestel wat JSON -protokol ondersteun, te beheer.
Vir onderrig gebruik ek NETIO 4Alle netaansluiting, maar moenie bekommerd wees nie, jy hoef niks te koop nie. NETIO het 'n ongelooflike 4 -aanlyn -demo wat u kan gebruik.
Voorrade
NETIO 4Alle Powered Sockets of 4All aanlyn demo:
Node-ROOI
Stap 1: REST JSON Http (s) -protokol
Hierdie gedeelte is 'n bietjie tegnies, maar hou my asb. As ek hierdie deel nie verduidelik nie, sou u probleme ondervind met die verstaan van die waardes in json-lêers wat ons in node-RED sal stuur.
Handelinge van toepassing op elke uitset (elektriese aansluiting):
In alle M2M -protokolle gebruik NETIO -stopcontacte dieselfde aksies wat op individuele uitsette toegepas kan word. Byvoorbeeld, 'n Wissel- of Afkort -aksie kan op enige uitset geskryf word.
Die Aksie -veranderlike kan egter slegs gebruik word om waardes te skryf; dit kan nie gebruik word om die huidige uitlaattoestand te lees nie.
Dit is aksies wat u op elke uitset kan toepas:
0 = Uitgang afgeskakel (af)
1 = Uitgang aangeskakel (aan)
2 = Uitset vir 'n kort tydjie afgeskakel (kort af)
3 = Uitset vir 'n kort tyd aangeskakel (kort aan)
4 = Uitset van een toestand na die ander oorgeskakel (wissel)
5 = Uitgangstoestand onveranderd (geen verandering)
6 = Ignoreer
Voorbeeld - JSON -lêer om die uitsetnr. 1:
{
"Uitsette": [{
"ID": 1, "Aksie": 4
}]
}
ID - hierdie nommer dui aan watter uitset ons gaan gebruik
Aksie - hierdie deel is die aksie wat die uitset sal uitvoer (bv. 1 (Skakel uitset aan))
Stap 2: vloei
En nou die belangrikste deel. So lyk die node-ROOI-omgewing.
Ons het URL API -vloei ingevoer (die projek wat u sien. Later sal ek u wys hoe om strome en hierdie projek in te voer) Hierdie projek bestaan uit twee dele:
- NETIO AN30 (JSON REST API) vloei
- Dashboard (grafiese koppelvlak waarmee u u program kan bestuur)
Stap 3: Dashboard
So lyk die paneelbord in node-ROOI vir hierdie instruksies. U kan dit aanpas as u wil.
Die paneelbord vir hierdie projek is verdeel in 4 dele:
- Toestelstatus - toon toestelinligting, soos model, mac -adres of firmware -weergawe.
- (POST) Beheeruitgang 1 - Bevat 5 knoppies wat uitvoer 1 beheer. Elke knoppie voer verskillende aksies uit
- (GET) O1 - O4 Uitgangstoestande - Hierdie deel toon die huidige toestand van elke uitset van u toestel.
- Toestelbestuur - In hierdie deel vind u allerhande grafieke en meters wat die huidige meetwaardes van NETIO 4Aall -toestelle vertoon
Stap 4: Invoervloei (projek, script, ens.)
Kies Invoer en dan Klembord in die spyskaart (regter boonste hoek).
Kopieer dan die onderstaande teks na die aangeduide veld en klik op Invoer.
Installeer ontbrekende nodusse
Die nodusse word in die geselekteerde vloei gelaai. Dit is moontlik dat 'n foutboodskap vertoon word met 'n lys nodusse wat ingevoer word, maar nog nie in Node-RED geïnstalleer is nie. In hierdie geval moet die ontbrekende nodusse geïnstalleer word.
As daar nodusse ontbreek, kies die palet Beheer in die menu, klik op Installeer en vind en installeer die nodusse wat u ontbreek.
Voer teks in:
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http request "," z ":" 56b9510c.98c6f "," name ":" HTTP -versoek (POST) "," method ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "drade":
Stap 5: Hoe dit alles saamwerk
Die vloei is basies in twee dele verdeel: POST en GET.
POS: Skryf na O1
- Vyf knoppies wat in die Dashboard in die stroom geskep is, word in die Dashboard vertoon.
- Nadat u op die knoppie Uitvoer 1 = AAN in die dashboard geklik het, word die laaivrag ingestel op die netio.json -lêer wat die uitset en die aksie spesifiseer (gedefinieer vir elk van die knoppies).
- Die HTTP -versoek (POST) -blok stuur die netio.json -lêer as 'n versoek na 'n IP -adres.
- Die bedienerreaksie (status) word as die uitset teruggestuur.
- Die Msg.payload -blok vertoon die resultaat van HTTP -versoek (POST).
KRY: Lees van O1 - O4
- Die 1 Second Repeat -blok aktiveer, met 'n tydperk van een sekonde, die HTTP Request (GET) -blok, wat op sy beurt netio.json as 'n GET -versoek stuur en 'n volledige JSON -lêer met die socket -status terugstuur soos dit van die bediener ontvang is.
- Die JSON Parse -blok transformeer die JSON -lêer van die HTTP Request (GET) -blok na 'n JSON -voorwerp sodat dit moontlik is om die eienskappe in die JSON -lêer te manipuleer.
- Die funksieblok neem individuele dele van die JSON -voorwerp en omskep dit in eienskappe van 'n msg -voorwerp vir latere gebruik.
- Die Current Chart -blok stel msg.payload in op die msg. TotalCurrent -eienskap van die msg -object, omdat die daaropvolgende Current Chart (Device) -blok slegs die msg.payload -waarde kan vertoon.
- Verskeie uitvoerknope volg dan om geselekteerde eienskappe van die msg -voorwerp, soos dit uit die JSON -voorwerp geneem is, in die dashboard te vertoon.
Die msg -voorwerp en msg.payload
Vir 'n eenvoudige en bondige verduideliking, sien hier:
www.steves-internet-guide.com/node-red-mess…
Stap 6: HTTP POST en kry
HTTP -versoek (POST)
Hierdie knoop stuur 'n netio.json -opdraglêer as 'n HTTP -versoek (POST) om die NETIO 4All -toestel te beheer.
HTTP -versoek (GET)
Hierdie knoop stuur 'n HTTP -versoek (GET) en gee die statusreaksie terug.
Die vooraf gevulde adres wys op die NETIO 4All aanlyn demonstrasie, waar u die verbinding kan toets sonder om 'n NETIO-toestel by u lessenaar te hê.
netio-4all.netio-products.com
Dit is moontlik om u eie IP -adres in hierdie nodusse in te stel; die IP moet egter verander word in beide die HTTP -versoekknope, POST sowel as GET.
Stap 7: Knoppieknope
As u op die knoppieknoppie klik, word 'n boodskap gegenereer wat 'n netio.json -lêer bevat (prentjie regs) wat dan via http -posknooppunt na die netio smart power socket gestuur word.
Stap 8: Funksieknoop
'N Funksieknoop is 'n spesiale knoop waarmee u 'n pasgemaakte JavaScript -funksie kan skryf.
In hierdie instruksies kies die funksie waardes uit die ontleede JSON -lêer (nou 'n JSON -voorwerp) en ken dit toe aan die eienskappe van die msg -voorwerp.
Die kode is verdeel in vier afdelings:
- Toewysing van waardes van die JSON -voorwerp aan die individuele eienskappe van die msg -voorwerp
-
Fouthantering as die netaansluiting nie wêreldwye metings ondersteun nie
As die netaansluiting nie die meting van globale waardes ondersteun nie, sal Node-RED foute vertoon omdat hierdie funksie nie die onderskeie eiendom sal vind nie, bv. msg.payload. GlobalMeasure. Voltage, aangesien dit nie in die JSON -voorwerp sou voorkom nie. In hierdie geval is die eienskap van die msg -voorwerp, bv. msg. Voltage, is ingestel op 0 en die fout word ondervind.
- Toewysing van uitsetstaatwaardes
- Stel die kleure van die vertoonde uitgangstoestandwaardes in volgens die uitsetstoestande
Stap 9: JSON -knoop en spuitknoop
JSON -knoop
JSON -knoop ontleed die JSON -lêer en omskep dit in 'n JSON -voorwerp.
As antwoord van die bediener op die GET -versoek, stuur die HTTP -versoekknooppunt 'n JSON -lêer met die huidige status van die NETIO 4x -toestel, maar dit is bloot 'n tekslêer, sodat die JSON -lêer nodig is om met die data te werk om in 'n JSON -voorwerp ontleed te word.
Spuit node
Elke sekonde aktiveer hierdie knoop die HTTP -versoekknooppunt wat 'n GET -versoek stuur.
As gevolg hiervan word die waardes in die dashboard opgedateer met 'n tydperk van een sekonde
Stap 10: Teksnode en ontfoutingsknoop
Teksnode
Wys 'n teksveld in die paneelbord. In hierdie instruksies vertoon die teksknope die stroom, spanning, model, firmware -weergawe of JSON -weergawe.
Die etiket word in die dashboard vertoon, en die naam is die naam van die node wat in die stroom in die Node-ROOI vertoon word.
Ontfout node
Toon die msg.payload.
Stap 11: Grafieknode
Hierdie knoop teken die huidige grafiek in die dashboard aan volgens die waarde van die vrag.
Hierdie knoop kan slegs kaarte plotte volgens die waarde van die vrag.
Om hierdie rede word 'n funksie -node gebruik om msg.payload in te stel op die waarde wat vertoon moet word.
msg.payload = msg. TotalCurrent;
Stap 12: Meetknooppunt en skakelknope
Meterknoop
Hierdie knoop voeg 'n meter -widget by die dashboard.
In hierdie instruksies visualiseer elke meter een eienskap van die msg -voorwerp: spanning [V], stroom [A], frekwensie [Hz] en die algehele True Power Factor (TPF).
Koppelknope
Koppel in- en skakelknope werk soos 'n tonnel. Die msg.payload kom in die skakel in die knoop en gaan uit die skakel uit.
Ek het dit gebruik om die vloei 'n bietjie duideliker en makliker te lees.
Stap 13: Dankie dat u my instruksies gelees het
Ek hoop jy het my opdrag geniet en hopelik iets nuuts geleer.
Hierdie instruksies is slegs 'n verkorte weergawe van die verskillende gids wat ek gemaak het
Die oorspronklike gids is langer en baie meer detailgeoriënteerd en oor die algemeen beter gestruktureerd. As u iets nie verstaan nie of dink ek het iets gemis of nie genoeg verduidelik nie, dan kan u dit beslis daar vind.
Ek belowe dat u nie teleurgesteld sal wees nie
Oorspronklik:
Daar is ook soortgelyke gidse oor die verskillende gebruike van node-ROOI, so as u belangstel, kan u dit verken:
Werk met REST URL API in node-RED
www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Werk met REST XML in node-RED
www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Werk met TCP/Modbus in node-RED
Kom binnekort:)
Aanbeveel:
Hoe om te werk Mense wat op Instagram werk: 3 stappe
Como Tener Múltiples Cuentas En Instagram: En este instructable aprender á s como tener m ú ltiples cuentas en instagram para evitar salir de nuestra cuenta y tener que entrar en la otra
Hoe om 'n digitale kaliber af te breek en hoe werk 'n digitale remklauw: 4 stappe
Hoe om 'n digitale remkloof af te breek en hoe werk 'n digitale remklauw: baie mense weet hoe om kalibers te gebruik om te meet. Hierdie tutoriaal sal u leer hoe om 'n digitale remklauw af te breek en 'n verduideliking van hoe die digitale remklauw werk
Hoe om LED's in 'n T-hemp vas te werk: 9 stappe (met foto's)
Hoe om LED's in 'n T-hemp vas te werk: Ek het hierdie projek hierdie week as 'n werkswinkel by ITP Camp geleer. Ek het 'n video gemaak sodat my studente kan sien waarmee ek besig is (alles is aanlyn!) Aangesien dit mooi geword het, het ek gedink ek sal dit ook hier deel! Dit is 'n naaibare kringprojek
Herinnering vir gebruik van skermtyd (werk slegs op Windows, Ios werk nie): 5 stappe
Herinnering vir gebruik van skermtyd (werk slegs op Windows, Ios sal nie werk nie): Inleiding Dit is 'n nuttige masjien gemaak van Arduino, dit herinner u aan rus deur 'n " biiii! &Quot; klank en laat u rekenaar weer na die sluitskerm gaan nadat u 30 minute skermtyd gebruik het. Na 10 minute se rus sal dit " b
Rotary Encoder: hoe dit werk en hoe om dit met Arduino te gebruik: 7 stappe
Rotary Encoder: hoe dit werk en hoe om dit met Arduino te gebruik: u kan hierdie en ander wonderlike tutoriale lees op die amptelike webwerf van ElectroPeak Oorsig In hierdie tutoriaal leer u hoe u die roterende encoder moet gebruik. Eerstens sien u inligting oor die rotasie -encoder, en dan leer u hoe u