Sisukord:

Kuidas töötada JSON-iga sõlmes-punases: 13 sammu
Kuidas töötada JSON-iga sõlmes-punases: 13 sammu

Video: Kuidas töötada JSON-iga sõlmes-punases: 13 sammu

Video: Kuidas töötada JSON-iga sõlmes-punases: 13 sammu
Video: В архиве 2024, November
Anonim
Kuidas töötada JSON-iga sõlme-punases
Kuidas töötada JSON-iga sõlme-punases

See juhend õpetab teile, kuidas töötada JSON-iga sõlme-RED-is. Näitan teile, kuidas juhtida võrguga ühendatud pistikupesasid json -failide edastamisega http get ja postituse kaudu. Ja saate neid teadmisi hiljem kasutada mis tahes JSON -protokolli toetava seadme juhtimiseks.

Õppetöö eesmärgil kasutan NETIO 4All võrgupistikut, kuid ärge muretsege, te ei pea midagi ostma. NETIO -l on hämmastav 4Kõik veebidemod, mida saate kasutada.

Tarvikud

NETIO 4All võrguga ühendatud powerocket või 4All online demo:

Sõlm-PUNANE

1. samm: REST JSON Http (s) Protocol

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

See osa on natuke tehniline, kuid palun võtke minuga ühendust. Kui ma seda osa ei selgitaks, oleks teil probleeme sõlme-RED-is saadetavate json-failide väärtuste mõistmisega.

Iga väljundi (pistikupesa) suhtes kohaldatavad toimingud:

Kõigis M2M protokollides kasutavad NETIO toitepistikud samu toiminguid, mida saab rakendada üksikute väljundite puhul. Näiteks saab ümberlülitamise või lühikese väljalülitamise toimingu kirjutada mis tahes väljundisse.

Muutujat Action saab aga kasutada ainult väärtuste kirjutamiseks, seda ei saa kasutada praeguse väljundi oleku lugemiseks.

Neid toiminguid saate rakendada igale väljundile.

0 = väljund on välja lülitatud (väljas)

1 = väljund on sisse lülitatud (sees)

2 = väljund on lühikeseks ajaks välja lülitatud (lühike väljas)

3 = väljund on lühikeseks ajaks sisse lülitatud (lühike sisse lülitatud)

4 = väljund lülitati ühest olekust teise (ümberlülitus)

5 = väljundi olek muutmata (ei muutu)

6 = eiratud

Näide - JSON -fail väljundi nr. 1:

{

"Väljundid": [{

"ID": 1, "Tegevus": 4

}]

}

ID - see number näitab, millist väljundit me kasutame

Toiming - see osa on toiming, mida väljund teeb (nt 1 (lülitage väljund sisse))

2. samm: voog

Vool
Vool

Ja nüüd peamine osa. Nii näeb välja sõlm-RED keskkond.

Oleme importinud URL -i API voo (projekt, mida näete. Hiljem näitan teile, kuidas voogusid ja seda projekti importida) See projekt koosneb kahest osast:

  1. NETIO AN30 (JSON REST API) voog
  2. Armatuurlaud (graafiline liides, mille abil saate oma programmi juhtida)

3. samm: armatuurlaud

Armatuurlaud
Armatuurlaud

Nii näeb välja selle juhendatava sõlme-RED armatuurlaud. Saate seda oma maitse järgi kohandada.

Selle projekti juhtpaneel on jagatud neljaks osaks:

  1. Seadme olek - näitab seadme teavet, näiteks mudelit, mac -aadressi või püsivara versiooni.
  2. (POST) Juhtimisväljund 1 - sisaldab 5 nuppu, mis juhivad väljundit 1. Iga nupp täidab erinevaid toiminguid
  3. (GET) O1 - O4 väljundolekud - see osa näitab teie seadme iga väljundi praegust olekut.
  4. Seadmehaldus - sellest osast leiate kõikvõimalikud graafikud ja mõõturid, mis näitavad NETIO 4Aall seadme praeguseid mõõdetud väärtusi

Samm: impordi voog (projekt, skript jne)

Impordi voog (projekt, skript jne)
Impordi voog (projekt, skript jne)

Valige menüüst (parem ülemine nurk) Import ja seejärel lõikelaud.

Seejärel kopeerige allolev tekst näidatud väljale ja klõpsake nuppu Impordi.

Puuduvate sõlmede installimine

Sõlmed laaditakse valitud voogu. Võimalik, et kuvatakse veateade imporditavate sõlmede loendiga, kuid pole veel sõlme-RED-i installitud. Sellisel juhul tuleb puuduvad sõlmed paigaldada.

Kui puuduvad sõlmed, valige menüüst Halda paletti, klõpsake nuppu Installi ja leidke ja installige puuduvad sõlmed.

Teksti importimine:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "keelatud": vale, "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, "juhtmed":

Samm: kuidas see kõik koos töötab

Kuidas see kõik koos töötab
Kuidas see kõik koos töötab

Vool on põhimõtteliselt jagatud kaheks osaks: POST ja GET.

POST: Kirjutamine O1 -le

  • Voolu juhtpaneelil loodud viis nuppu kuvatakse juhtpaneelil.
  • Pärast armatuurlaual nupu Output 1 = ON klõpsamist määratakse kasulikuks koormuseks fail netio.json, mis määrab väljundi ja toimingu (määratletud iga nupu jaoks).
  • HTTP -päringu (POST) plokk saadab faili netio.json päringuna IP -aadressile.
  • Väljundina tagastatakse serveri vastus (olek).
  • Plokk Msg.payload kuvab HTTP -päringu (POST) tulemuse.

GET: lugemine O1 - O4

  • 1 sekundi kordusplokk aktiveerib ühe sekundilise ajavahemikuga HTTP -päringu (GET) ploki, mis omakorda saadab GET -päringuna netio.json ja tagastab täieliku JSON -faili, mille pesa olek on serverilt saadud.
  • Plokk JSON Parse muudab JSON -faili HTTP -päringu (GET) plokist JSON -objektiks, nii et on võimalik manipuleerida JSON -faili atribuutidega.
  • Funktsiooniplokk võtab JSON -objekti üksikud osad ja teisendab need sõnumobjekti atribuutideks hilisemaks kasutamiseks.
  • Plokk Praegune diagramm määrab msg -objekti atribuudi msg. TotalCurrent, kuna järgnev plokk Praegune diagramm (seade) saab kuvada ainult väärtuse msg.payload.
  • Seejärel järgnevad mitmesugused väljundsõlmed, et kuvada armatuurlaual JSON -objektilt võetud msg -objekti valitud atribuudid.

Sõnumi objekt ja msg.payload

Lihtsa ja sisutiheda selgituse saamiseks vaadake siin:

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

6. toiming: HTTP POSTITA ja SAA

HTTP POST ja GET
HTTP POST ja GET
HTTP POST ja GET
HTTP POST ja GET

HTTP -päring (POST)

See sõlm saadab käsu netio.json HTTP -päringuna (POST), et juhtida NETIO 4All seadet.

HTTP päring (GET)

See sõlm saadab HTTP -päringu (GET) ja tagastab oleku vastuse.

Eeltäidetud aadress osutab veebipõhisele demole NETIO 4All, kus saate ühendust testida ilma, et teie laua taga oleks NETIO-seade.

netio-4all.netio-products.com

Nendes sõlmedes on võimalik määrata oma IP -aadress; IP -d tuleb aga muuta nii HTTP päringu sõlmedes, POST kui ka GET.

7. samm: nuppude sõlmed

Nuppude sõlmed
Nuppude sõlmed
Nuppude sõlmed
Nuppude sõlmed

Nupusõlme klõpsamisel luuakse teade, mis sisaldab faili netio.json (parempoolne pilt), mis seejärel saadetakse http -postisõlme kaudu netio nutikasse toitepessa.

8. samm: funktsioonisõlm

Funktsioonisõlm
Funktsioonisõlm
Funktsioonisõlm
Funktsioonisõlm

Funktsioonisõlm on spetsiaalne sõlm, mis võimaldab kirjutada kohandatud JavaScripti funktsiooni.

Selles juhendis valib funktsioon väärtused parsitud JSON -failist (nüüd JSON -objekt) ja määrab need msg -objekti omadustele.

Kood on jagatud neljaks osaks:

  1. Väärtuste määramine JSON -objektilt msg -objekti üksikutele omadustele
  2. Vigade käsitlemine juhul, kui võrgupistikupesa ei toeta globaalseid mõõtmisi

    Kui võrgupistikupesa ei toeta globaalsete väärtuste mõõtmist, kuvab Node-RED vigu, kuna see funktsioon ei leia vastavat omadust, nt. msg.payload. GlobalMeasure. Voltage, kuna seda poleks JSON -objektis. Sel juhul on msg -objekti omadus, nt. msg. Pinge, on seatud väärtusele 0 ja viga tuvastatakse.

  3. Väljundseisundi väärtuste määramine
  4. Kuvatud väljundseisundi väärtuste värvide seadistamine vastavalt väljundseisunditele

9. samm: JSON -sõlme ja süstesõlme

JSON -sõlme ja süstesõlme
JSON -sõlme ja süstesõlme
JSON -sõlme ja süstesõlme
JSON -sõlme ja süstesõlme

JSON -sõlme

JSON -sõlm parsib JSON -faili ja teisendab selle JSON -objektiks.

Vastusena serverilt GET -päringule tagastab HTTP -päringu sõlm JSON -faili, mis sisaldab NETIO 4x -seadme praegust olekut, kuid on lihtsalt tekstifail, nii et andmetega töötamiseks vajab JSON -fail analüüsida JSON -objektiks.

Süstige sõlm

Iga sekund aktiveerib see sõlm HTTP -päringu sõlme, mis saadab GET -päringu.

Selle tulemusel värskendatakse armatuurlaua väärtusi ühe sekundiga

10. toiming: tekstisõlm ja silumissõlm

Tekstisõlm ja silumissõlm
Tekstisõlm ja silumissõlm
Tekstisõlm ja silumissõlm
Tekstisõlm ja silumissõlm

Tekstisõlm

Kuvab armatuurlaual tekstivälja. Selles juhendis kuvavad tekstisõlmed praeguse, pinge, mudeli, püsivara versiooni või JSON -i versiooni.

Silt kuvatakse armatuurlaual ja nimi on sõlme nimi, mis kuvatakse voos sõlmes-PUNASES.

Silumissõlm

Kuvab msg.payload.

11. samm: diagrammi sõlm

Diagrammi sõlm
Diagrammi sõlm
Diagrammi sõlm
Diagrammi sõlm

See sõlm joonistab juhtpaneelil praeguse diagrammi vastavalt kasulikule koormusele.

See sõlm saab diagramme joonistada ainult vastavalt koormuse väärtusele.

Sel põhjusel kasutatakse funktsiooni sõlme, et määrata msg.payload kuvatavale väärtusele.

msg.payload = msg. TotalCurrent;

12. samm: gabariidisõlmed ja lingisõlmed

Mõõdikusõlmed ja lingisõlmed
Mõõdikusõlmed ja lingisõlmed
Mõõdikusõlmed ja lingisõlmed
Mõõdikusõlmed ja lingisõlmed

Mõõtesõlm

See sõlm lisab armatuurlauale mõõteriista.

Selles juhendis visualiseerib iga gabariit sõnumi objekti ühe omaduse: pinge [V], raviaine [A], sagedus [Hz] ja üldine tegelik võimsustegur (TPF).

Lingi sõlmed

Sõlmede linkimine ja linkimine toimib nagu tunnel. Sõnum.payload saabub sõlme lingile ja väljub lingiväljast.

Kasutasin seda, et muuta voog natuke selgemaks ja hõlpsamini loetavaks.

Samm 13: Täname, et lugesite minu juhendit

Loodan, et teile meeldis minu juhendatav ja õppisite lootusrikkalt midagi uut.

See juhend on ainult lühendatud versioon erinevatest minu koostatud juhenditest

Algne juhend on pikem ja palju üksikasjalikum ning üldiselt paremini struktureeritud. Kui te millestki aru ei saa või arvate, et ma jäin millestki ilma või ei selgitanud piisavalt, siis leiate selle kindlasti sealt.

Ma luban, et te ei pea pettuma

Originaal:

Samuti on sarnased juhendid sõlme-RED erinevate kasutusviiside kohta, nii et kui olete huvitatud, uurige julgelt:

Töö REST URL API-ga sõlmes-RED

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

Töö REST XML-iga sõlmes-RED

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

Töö TCP/Modbusiga sõlmes-RED

Varsti saabumas:)

Soovitan: