Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: REST JSON Http (s) -protokol
- Trin 2: Flow
- Trin 3: Dashboard
- Trin 4: Importér flow (projekt, script, osv.)
- Trin 5: Hvordan det hele fungerer sammen
- Trin 6: HTTP POST og GET
- Trin 7: Knapnoder
- Trin 8: Funktionsknude
- Trin 9: JSON Node og Inject Node
- Trin 10: Tekstnode og fejlfindingsknude
- Trin 11: Diagramnode
- Trin 12: Gauge Node og Link Nodes
- Trin 13: Tak fordi du læste min instruerbare
Video: Sådan arbejder du med JSON i Node-RED: 13 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Denne instruktive vil lære dig, hvordan du arbejder med JSON i node-RED. Jeg vil vise dig, hvordan du styrer netværksstikkontakter med overførsel af json -filer via http get and post. Og du kan bruge denne viden senere til at styre enhver enhed, der understøtter JSON -protokol.
Til undervisningsformål vil jeg bruge NETIO 4All netværksstik, men bare rolig, du behøver ikke købe noget. NETIO har fantastisk 4Al online demo, du kan bruge.
Forbrugsvarer
NETIO 4Alle netværksdrev eller 4Alle online demo:
Node-RØD
Trin 1: REST JSON Http (s) -protokol
Denne del er lidt teknisk, men vær venlig at bære mig. Hvis jeg ikke forklarede denne del, ville du have problemer med at forstå værdierne i json-filer, vi sender i node-RED.
Handlinger, der gælder for hver udgang (stikkontakt):
I alle M2M -protokoller bruger NETIO -stikkontakter de samme handlinger, som kan anvendes på individuelle udgange. For eksempel kan en Toggle eller Short off handling skrives til ethvert output.
Handlingsvariablen kan dog kun bruges til at skrive værdier, den kan ikke bruges til at aflæse den aktuelle udløbstilstand.
Dette er handlinger, du kan anvende på hvert output:
0 = Output slået fra (Fra)
1 = Output slået til (tændt)
2 = Output slukket i kort tid (kort slukket)
3 = Output tændt i kort tid (kort On)
4 = Output skiftet fra en tilstand til den anden (skifte)
5 = Outputtilstand uændret (ingen ændring)
6 = ignoreret
Eksempel - JSON -fil for at skifte output -nr. 1:
{
"Outputs": [{
"ID": 1, "Handling": 4
}]
}
ID - dette tal angiver, hvilket output vi vil bruge
Handling - denne del er den handling, output vil foretage (f.eks. 1 (Slå output til))
Trin 2: Flow
Og nu hoveddelen. Sådan ser node-RED-miljøet ud.
Vi har importeret URL API -flow (Det projekt, du ser. Senere viser jeg dig, hvordan du importerer strømme og dette projekt) Dette projekt består af to dele:
- NETIO AN30 (JSON REST API) flow
- Dashboard (grafisk interface, som du kan betjene dit program med)
Trin 3: Dashboard
Sådan ser instrumentbrættet i node-RØDT for denne instruerbare ud. Du kan tilpasse det, hvis du vil passe til din smag.
Instrumentbrættet til dette projekt er opdelt i 4 dele:
- Enhedsstatus - viser enhedsoplysninger, f.eks. Model, mac -adresse eller firmwareversion.
- (POST) Control Output 1 - Indeholder 5 knapper, der styrer output 1. Hver knap udfører forskellige handlinger
- (GET) O1 - O4 Output States - Denne del viser den aktuelle tilstand for hvert output fra din enhed.
- Enhedshåndtering - I denne del kan du finde alle slags grafer og målere, der viser aktuelle målte værdier fra NETIO 4Aall -enheden
Trin 4: Importér flow (projekt, script, osv.)
I menuen (højre øverste hjørne) vælg Import og derefter Udklipsholder.
Kopier derefter teksten herunder til det angivne felt, og klik på Importer.
Installation af manglende noder
Knuderne indlæses i det valgte flow. Det er muligt, at der vises en fejlmeddelelse med en liste over noder, der importeres, men ikke er installeret i Node-RED endnu. I dette tilfælde skal de manglende noder installeres.
Hvis der mangler noder, skal du vælge Administrer paletten i menuen, klikke på Installer og finde og installere de noder, du mangler.
Importer tekst:
[{"id": "56b9510c.98c6f", "type": "fane", "label": "NETIO AN30 (REST JSON)", "deaktiveret": falsk, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http -forespørgsel "," z ":" 56b9510c.98c6f "," name ":" HTTP -anmodning (POST) "," metode ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "wires":
Trin 5: Hvordan det hele fungerer sammen
Flowet er dybest set opdelt i to dele: POST og GET.
POST: Skrivning til O1
- Fem knapper, der er oprettet i Dashboard i Flow, vises i Dashboard.
- Efter at have klikket på knappen Output 1 = ON i instrumentbrættet, indstilles nyttelasten til netio.json -filen, der angiver output og handling (defineret for hver af knapperne).
- HTTP -anmodningsblokken (POST) sender netio.json -filen som en anmodning til en IP -adresse.
- Serverresponsen (status) returneres som output.
- Msg.payload -blokken viser resultatet fra HTTP -anmodning (POST).
FÅ: Læsning fra O1 - O4
- 1 -sekunders gentagelsesblokken aktiverer med en periode på et sekund HTTP Request (GET) -blokken, som igen sender netio.json som en GET -anmodning og returnerer en komplet JSON -fil med socketstatus som modtaget fra serveren.
- JSON Parse -blokken transformerer JSON -filen fra HTTP Request (GET) -blokken til et JSON -objekt, så det er muligt at manipulere egenskaberne i JSON -filen.
- Funktionsblokken tager individuelle dele af JSON -objektet og omdanner dem til egenskaber for et msg -objekt til senere brug.
- Den aktuelle diagramblok sætter msg.payload til msg. TotalCurrent -egenskaben for msg -objektet, fordi den efterfølgende Current Chart (Device) -blok kun kan vise msg.payload -værdien.
- Forskellige outputnoder følger derefter for at vise udvalgte egenskaber for msg -objektet, taget fra JSON -objektet, i instrumentbrættet.
Msg -objektet og msg.payload
For en enkel og kortfattet forklaring, se her:
www.steves-internet-guide.com/node-red-mess…
Trin 6: HTTP POST og GET
HTTP -anmodning (POST)
Denne knude sender en netio.json -kommandofil som en HTTP -forespørgsel (POST) for at styre NETIO 4All -enheden.
HTTP -anmodning (GET)
Denne knude sender en HTTP -forespørgsel (GET) og returnerer statusresponsen.
Den udfyldte adresse peger på NETIO 4All online demo, hvor du kan teste forbindelsen uden at have en NETIO-enhed ved dit skrivebord.
netio-4all.netio-products.com
Det er muligt at indstille din egen IP -adresse i disse noder; IP -en skal dog ændres i både HTTP -anmodningsknudepunkterne, POST samt GET.
Trin 7: Knapnoder
Ved at klikke på knapnoden genereres en meddelelse, der indeholder en netio.json -fil (højre billede), som derefter sendes via http -postknude til netio smart strømstik.
Trin 8: Funktionsknude
En funktionsnode er en særlig knude, der gør det muligt at skrive en tilpasset JavaScript -funktion.
I denne instruktør vælger funktionen værdier fra den analyserede JSON -fil (nu et JSON -objekt) og tildeler dem egenskaberne for msg -objektet.
Koden er opdelt i fire sektioner:
- Tildeling af værdier fra JSON -objektet til msg -objektets individuelle egenskaber
-
Fejlhåndtering, hvis netværksstikket ikke understøtter globale målinger
Hvis netværksstikket ikke understøtter måling af globale værdier, viser Node-RED fejl, fordi denne funktion ikke finder den respektive ejendom, f.eks. msg.payload. GlobalMeasure. Voltage, da det ikke ville være til stede i JSON -objektet. I dette tilfælde er egenskaben for msg -objektet, f.eks. msg. Voltage, er indstillet til 0, og fejlen fanges og håndteres.
- Tildeling af outputtilstandsværdier
- Indstilling af farverne på de viste output -tilstandsværdier i henhold til output -tilstande
Trin 9: JSON Node og Inject Node
JSON -knudepunkt
JSON -node analyserer JSON -filen og omdanner den til et JSON -objekt.
Som et svar fra serveren til GET -anmodningen returnerer HTTP -anmodningsknudepunktet en JSON -fil, der indeholder den aktuelle status for NETIO 4x -enheden, men er simpelthen en tekstfil, så for at arbejde med dataene har JSON -filen brug for skal analyseres i et JSON -objekt.
Indsprøjt knude
Hvert sekund aktiverer denne node HTTP -anmodningsknudepunktet, der sender en GET -anmodning.
Som følge heraf opdateres værdierne i instrumentbrættet med en periode på et sekund
Trin 10: Tekstnode og fejlfindingsknude
Tekstnode
Viser et tekstfelt i instrumentbrættet. I denne instruks viser tekstnoderne strøm, spænding, model, firmwareversion eller JSON -version.
Etiketten vises i instrumentbrættet, og navnet er nodenavnet, der vises i flowet i Node-RØD.
Fejlfindingsknudepunkt
Viser msg. Payload.
Trin 11: Diagramnode
Denne knude tegner det aktuelle diagram i instrumentbrættet i henhold til nyttelastværdien.
Denne knude kan kun plotte diagrammer i henhold til nyttelastværdien.
Af denne grund bruges en funktionsnode til at indstille msg. Payload til den værdi, der skal vises.
msg.payload = msg. TotalCurrent;
Trin 12: Gauge Node og Link Nodes
Måleknude
Denne knude tilføjer en måle -widget til instrumentbrættet.
I denne instruks visualiserer hver måler en egenskab ved msg -objektet: spænding [V], strøm [A], frekvens [Hz] og den samlede True Power Factor (TPF).
Link noder
Link ind og link ud noder fungerer som en tunnel. Msg.payload ankommer til linket i node og går ud af link -out -node.
Jeg brugte det til at gøre strømmen lidt klarere og lettere at læse.
Trin 13: Tak fordi du læste min instruerbare
Jeg håber, at du nød min instruktive og forhåbentlig har lært noget nyt.
Denne instruerbare er kun forkortet version af forskellige vejledninger, jeg lavede
Den originale guide er længere og meget mere detaljeorienteret og generelt bedre struktureret. Hvis du ikke forstod noget eller tror, at jeg savnede eller ikke forklarede nok noget, så kan du helt sikkert finde det der.
Jeg lover, at du ikke bliver skuffet
Original:
Der er også lignende vejledninger om forskellige anvendelser af knude-RØD, så hvis du er interesseret, er du velkommen til at udforske:
Arbejder med REST URL API i node-RED
www.netio-products.com/da/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Arbejde med REST XML i node-RED
www.netio-products.com/da/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Arbejder med TCP/Modbus i node-RØD
Kommer meget snart:)
Anbefalede:
UK Ring Video Doorbell Pro, der arbejder med mekanisk klokke: 6 trin (med billeder)
UK Ring Video Doorbell Pro, der arbejder med mekanisk klokke: **************************************** **************** Vær opmærksom på, at denne metode kun fungerer med vekselstrøm lige nu.Jeg vil opdatere, hvis/når jeg finder en løsning til dørklokker, der bruger jævnstrømI mellemtiden, hvis du har en jævnstrøm levering, skal du ikke
Arbejder overstørrelse 9 volt batteri fremstillet af gamle blyceller: 11 trin (med billeder)
Arbejde overstørrelse 9 volt batteri fremstillet af gamle blysyre -celler: Skete det nogensinde for dig, at du gumlede lidt snacks og pludselig indså, at du havde brugt for meget, meget mere end din daglige diætkvote tillader, eller du gik på indkøb og fordi af en eller anden fejlberegning overfyldte du nogle produkter
Arduino arbejder med flere filer (LÆS/SKRIV): 4 trin
Arduino arbejder med flere filer (LÆS/SKRIV): Hej fyre I dag præsenterer jeg jer Arduino -projekt, der fungerer med RTC -skjold, der kan gemme data. Hovedopgaven for dette projekt er at arbejde med flere filer, der er gemt på sc -kort. Dette projekt indeholder kode, der fungerer med tre filer
Crimson Fox: Bevidstgørelse om at tage en pause, mens du arbejder: 8 trin (med billeder)
Crimson Fox: Bevidstgørelse for at tage en pause mens du arbejder: For et kursus, vi fulgte på KTH i Sverige, fik vi til opgave at oprette en artefakt, der kunne ændre form. Vi lavede en rævform, der skulle minde dig om at tage en pause fra arbejde eller studere. Det generelle koncept er, at ræven vil vise
Sådan arbejder du med Arduino og forskellige RGB -lysdioder: 3 trin
Sådan arbejder du med Arduino og forskellige RGB -lysdioder: Arduino er en fantastisk lille enhed. Men en af de mest anvendte applikationer til denne kraftfulde lille enhed er ofte at blinke eller blinke en LED. Denne vejledning viser dig tre måder at arbejde med RGB Leds og Arduino.1. Den første måde er at bruge en simpel