Tartalomjegyzék:

Hogyan kell dolgozni a JSON-nal Node-RED-ben: 13 lépés
Hogyan kell dolgozni a JSON-nal Node-RED-ben: 13 lépés

Videó: Hogyan kell dolgozni a JSON-nal Node-RED-ben: 13 lépés

Videó: Hogyan kell dolgozni a JSON-nal Node-RED-ben: 13 lépés
Videó: Windows Event and Logging Demystified: IT Admin Edition 2024, Szeptember
Anonim
Hogyan kell dolgozni a JSON-nal a Node-RED-ben
Hogyan kell dolgozni a JSON-nal a Node-RED-ben

Ez az utasítás megtanítja a JSON-nal való együttműködést csomópont-RED-ben. Megmutatom, hogyan vezérelheti a hálózati hálózati aljzatokat json fájlok átvitelével a http get és post segítségével. Ezt a tudást később felhasználhatja bármely JSON protokollt támogató eszköz vezérlésére.

Tanítási célokra a NETIO 4All hálózati hálózati aljzatot fogom használni, de ne aggódjon, nem kell semmit vásárolnia. A NETIO elképesztő 4All online demóval rendelkezik, amelyet használhat.

Kellékek

NETIO 4All hálózati powerocket vagy 4All online demó:

Csomópont-PIROS

1. lépés: REST JSON Http (s) Protocol

REST JSON Http (s) Protocol
REST JSON Http (s) Protocol

Ez a rész egy kicsit technikai jellegű, de kérlek, tarts velem. Ha nem magyarázom meg ezt a részt, akkor problémái vannak a json fájlok értékeinek megértésével, amelyeket csomópont-RED-ben küldünk.

Az egyes kimenetekre (elektromos aljzatra) vonatkozó műveletek:

Az összes M2M protokollban a NETIO konnektorok ugyanazokat a műveleteket használják, mint az egyes kimenetek. Például egy Toggle vagy Short Off művelet írható bármely kimenetre.

Az Action változó azonban csak értékek írására használható, nem használható az aktuális kimeneti állapot olvasására.

Ezeket a műveleteket alkalmazhatja minden kimenetre:

0 = Kimenet kikapcsolva (Ki)

1 = Kimenet bekapcsolva (Be)

2 = A kimenet rövid időre kikapcsolva (rövid kikapcsolás)

3 = A kimenet rövid ideig be van kapcsolva (rövid be)

4 = A kimenet egyik állapotból a másikba vált (váltás)

5 = A kimeneti állapot változatlan (nincs változás)

6 = figyelmen kívül hagyva

Példa - JSON fájl a kimeneti sz. 1:

{

"Kimenetek": [{

"Azonosító": 1, "Akció": 4

}]

}

ID - ez a szám jelzi, hogy melyik kimenetet fogjuk használni

Művelet - ez a rész az a művelet, amelyet a kimenet végrehajt (pl. 1 (A kimenet bekapcsolása))

2. lépés: Áramlás

Folyam
Folyam

És most a fő rész. Így néz ki a node-RED környezet.

Importáltuk az URL API folyamatát (A projekt, amit lát. Később megmutatom, hogyan kell importálni a folyamatokat és ezt a projektet) Ez a projekt két részből áll:

  1. NETIO AN30 (JSON REST API) folyamat
  2. Műszerfal (Grafikus felület, amellyel programját működtetheti)

3. lépés: Műszerfal

Irányítópult
Irányítópult

Így néz ki ennek az utasításnak a csomópont-Vörös irányítópultja. Testreszabhatja, ha ízlése szerint akarja.

A projekt irányítópultja 4 részre oszlik:

  1. Eszköz állapota - megjeleníti az eszköz adatait, például a modellt, a mac -címet vagy a firmware -verziót.
  2. (POST) 1. vezérlőkimenet - 5 gombot tartalmaz, amelyek az 1. kimenetet vezérlik. Minden gomb különböző műveleteket hajt végre
  3. (GET) O1 - O4 kimeneti állapotok - Ez a rész az eszköz minden kimenetének aktuális állapotát mutatja.
  4. Eszközkezelés - Ebben a részben mindenféle grafikon és mérőeszköz megtalálható, amelyek a NETIO 4Aall eszköz aktuális mért értékeit mutatják

4. lépés: Importálási folyamat (projekt, szkript, stb.)

Importálási folyamat (projekt, szkript, stb.)
Importálási folyamat (projekt, szkript, stb.)

A menüben (jobb felső sarok) válassza az Importálás, majd a Vágólap lehetőséget.

Ezután másolja az alábbi szöveget a jelzett mezőbe, és kattintson az Importálás gombra.

Hiányzó csomópontok telepítése

A csomópontok betöltődnek a kiválasztott folyamatba. Lehetséges, hogy hibaüzenet jelenik meg az importált, de még nem telepített csomópont-csomópontok listájával. Ebben az esetben a hiányzó csomópontokat telepíteni kell.

Ha hiányoznak csomópontok, válassza a menü Paletta kezelése menüpontját, kattintson a Telepítés gombra, és keresse meg és telepítse a hiányzó csomópontokat.

Szöveg importálása:

[{"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, "vezetékek":

5. lépés: Hogyan működik ez együtt

Hogyan működik mindez együtt
Hogyan működik mindez együtt

A folyamat alapvetően két részre oszlik: POST és GET.

POST: Írás az O1 -hez

  • Az irányítópulton a Folyamat irányítópultján létrehozott öt gomb jelenik meg.
  • Miután rákattintott a Kimenet 1 = BE gombra az irányítópulton, a hasznos terhelés a netio.json fájlra van állítva, amely meghatározza a kimenetet és a műveletet (mindegyik gombhoz meghatározott).
  • A HTTP -kérés (POST) blokk kérésként elküldi a netio.json fájlt egy IP -címre.
  • A szerver válaszát (állapotát) adja vissza kimenetként.
  • Az Msg.payload blokk megjeleníti a HTTP -kérés (POST) eredményét.

GET: Olvasás O1 - O4 -ből

  • Az 1 Second Repeat blokk egy másodperces periódussal aktiválja a HTTP Request (GET) blokkot, amely viszont GET kérésként elküldi a netio.json fájlt, és visszaad egy teljes JSON fájlt a socket státusszal, mint a szervertől kapott.
  • A JSON Parse blokk átalakítja a JSON fájlt a HTTP Request (GET) blokkból JSON objektummá, így lehetővé válik a JSON fájl tulajdonságainak manipulálása.
  • A Funkció blokk átveszi a JSON objektum egyes részeit, és átalakítja azokat egy msg objektum tulajdonságaivá későbbi használatra.
  • Az Aktuális diagram blokk az msg.payload értéket az msg objektum msg. TotalCurrent tulajdonságára állítja be, mivel a későbbi Aktuális diagram (eszköz) blokk csak az msg.payload értéket tudja megjeleníteni.
  • Ezután különböző kimeneti csomópontok követik, hogy megjelenítsék a msg objektum JSON objektumból vett tulajdonságait a műszerfalon.

Az msg objektum és az msg.payload

Az egyszerű és tömör magyarázatot lásd itt:

www.steves-internet-guide.com/node-red-mess…

6. lépés: HTTP POST és GET

HTTP POST és GET
HTTP POST és GET
HTTP POST és GET
HTTP POST és GET

HTTP kérés (POST)

Ez a csomópont egy netio.json parancsfájlt küld HTTP kérésként (POST) a NETIO 4All eszköz vezérlése érdekében.

HTTP kérés (GET)

Ez a csomópont HTTP kérést (GET) küld, és visszaadja az állapotválaszt.

Az előre kitöltött cím a NETIO 4All online bemutatóra mutat, ahol tesztelheti a kapcsolatot anélkül, hogy NETIO eszköz lenne az asztalán.

netio-4all.netio-products.com

Lehetőség van saját IP -cím beállítására ezekben a csomópontokban; azonban az IP -t meg kell változtatni mind a HTTP -kérési csomópontokban, mind a POST, mind a GET -ben.

7. lépés: Gombcsomók

Gombcsomók
Gombcsomók
Gombcsomók
Gombcsomók

A gomb csomópontra kattintva egy üzenet jön létre, amely tartalmazza a netio.json fájlt (jobb oldali kép), amelyet ezután elküld a http post csomóponton keresztül a netio smart power aljzatba.

8. lépés: Funkciócsomópont

Funkciócsomópont
Funkciócsomópont
Funkciócsomópont
Funkciócsomópont

A függvénycsomópont egy speciális csomópont, amely lehetővé teszi egyéni JavaScript függvény írását.

Ebben az utasításban a függvény az értelmezett JSON -fájlból (most JSON -objektum) választ ki értékeket, és hozzárendeli azokat az msg -objektum tulajdonságaihoz.

A kód négy részre oszlik:

  1. Értékek hozzárendelése a JSON objektumtól az msg objektum egyedi tulajdonságaihoz
  2. Hibakezelés abban az esetben, ha a hálózati konnektor nem támogatja a globális méréseket

    Ha a hálózati konnektor nem támogatja a globális értékek mérését, a Node-RED hibákat jelenít meg, mert ez a funkció nem találja meg a megfelelő tulajdonságot, pl. msg.payload. GlobalMeasure. Voltage, mivel nem lenne jelen a JSON objektumban. Ebben az esetben az msg objektum tulajdonsága, pl. msg. Feszültség, 0 -ra van állítva, és a hibát kezelik.

  3. Kimeneti állapotértékek hozzárendelése
  4. A megjelenített kimeneti állapotértékek színeinek beállítása a kimeneti állapotoknak megfelelően

9. lépés: JSON csomópont és injekciós csomópont

JSON csomópont és injekciós csomópont
JSON csomópont és injekciós csomópont
JSON csomópont és injekciós csomópont
JSON csomópont és injekciós csomópont

JSON csomópont

A JSON csomópont elemzi a JSON fájlt, és átalakítja azt JSON objektummá.

A szerver válaszaként a GET kérésre a HTTP Request csomópont egy JSON fájlt ad vissza, amely tartalmazza a NETIO 4x eszköz aktuális állapotát, de ez csak egy szöveges fájl, így az adatokkal való munkához a JSON fájlnak szüksége van hogy JSON objektummá értelmezzük.

Injektáló csomópont

Ez a csomópont minden másodpercben aktiválja a HTTP kérési csomópontot, amely GET kérést küld.

Ennek eredményeként a műszerfal értékei egy másodperces időtartammal frissülnek

10. lépés: Szöveges csomópont és hibakeresési csomópont

Szöveges csomópont és hibakeresési csomópont
Szöveges csomópont és hibakeresési csomópont
Szöveges csomópont és hibakeresési csomópont
Szöveges csomópont és hibakeresési csomópont

Szöveges csomópont

Szövegmezőt jelenít meg az irányítópulton. Ebben az utasításban a szöveges csomópontok az aktuális, feszültség, modell, firmware vagy JSON verziót jelenítik meg.

A címke megjelenik az irányítópulton, a név pedig a csomópont neve, amely megjelenik a folyamatban a Node-RED-ben.

Hibakeresési csomópont

Az msg.payload megjelenítése.

11. lépés: Diagramcsomópont

Diagram csomópont
Diagram csomópont
Diagram csomópont
Diagram csomópont

Ez a csomópont az aktuális diagramot ábrázolja a műszerfalon a hasznos érték szerint.

Ez a csomópont csak a hasznos terhelés értékének megfelelően ábrázolhatja a diagramokat.

Emiatt egy függvénycsomópontot használunk arra, hogy az msg.payload értéket a megjelenítendő értékre állítsuk.

msg.payload = msg. TotalCurrent;

12. lépés: Mérőcsomópontok és linkcsomópontok

Mérőcsomópont és linkcsomópont
Mérőcsomópont és linkcsomópont
Mérőcsomópont és linkcsomópont
Mérőcsomópont és linkcsomópont

Mérő csomópont

Ez a csomópont hozzáad egy mérőeszközt az irányítópulthoz.

Ebben az utasításban minden mérőeszköz megjeleníti az üzenet objektum egy tulajdonságát: feszültség [V], gyógyító [A], frekvencia [Hz] és a teljes valódi teljesítménytényező (TPF).

Link csomópontok

A csomópontok összekapcsolása és összekapcsolása alagútként működik. Az msg.payload megérkezik a csomópontban lévő linkre, és kilép a link out csomópontból.

Azzal használtam, hogy egy kicsit világosabb és könnyebben olvasható legyen az áramlás.

13. lépés: Köszönjük, hogy elolvasta az utasításokat

Remélem, tetszett a tanulságos, és remélhetőleg valami újat tanultam.

Ez az oktatható csak rövidített változata az általam készített különböző útmutatóknak

Az eredeti útmutató hosszabb, sokkal részletesebb és általában jobban felépített. Ha valamit nem értett, vagy úgy gondolja, hogy valamit kihagytam, vagy nem magyaráztam el valamit, akkor biztosan megtalálhatja.

Ígérem, nem fog csalódni

Eredeti:

Hasonló útmutatók is találhatók a csomópont-RED különféle felhasználásairól, így ha érdekel, bátran fedezze fel:

REST URL API-val való munka csomópont-RED-ben

www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x

REST XML-vel való munka csomópont-RED-ben

www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x

Munka TCP/Modbus-szal a RED csomópontban

Hamarosan jön:)

Ajánlott: