Satura rādītājs:

Kā strādāt ar JSON mezglā SARKANS: 13 soļi
Kā strādāt ar JSON mezglā SARKANS: 13 soļi

Video: Kā strādāt ar JSON mezglā SARKANS: 13 soļi

Video: Kā strādāt ar JSON mezglā SARKANS: 13 soļi
Video: Windows Event and Logging Demystified: IT Admin Edition 2024, Novembris
Anonim
Kā strādāt ar JSON mezglā-RED
Kā strādāt ar JSON mezglā-RED

Šī pamācība iemācīs jums strādāt ar JSON mezglā-RED. Es jums parādīšu, kā kontrolēt tīkla kontaktligzdas ar json failu pārsūtīšanu, izmantojot http get and post. Un šīs zināšanas varat izmantot vēlāk, lai kontrolētu jebkuru ierīci, kas atbalsta JSON protokolu.

Mācību nolūkos es izmantošu NETIO 4All tīkla kontaktligzdu, taču neuztraucieties, jums nekas nav jāpērk. NETIO piedāvā pārsteidzošu 4All tiešsaistes demonstrāciju, ko varat izmantot.

Piegādes

NETIO 4Visas tīkla jaudas kontaktligzdas vai 4All tiešsaistes demonstrācija:

Mezgls-SARKANS

1. darbība: ATPŪTA JSON Http (-u) protokolu

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

Šī daļa ir nedaudz tehniska, bet, lūdzu, izturiet mani. Ja es nepaskaidroju šo daļu, tad jums būs problēmas saprast vērtības json failos, kurus mēs nosūtīsim mezglā-RED.

Katrai izejai (elektrības kontaktligzdai) piemērojamās darbības:

Visos M2M protokolos NETIO kontaktligzdas izmanto tās pašas darbības, kuras var piemērot atsevišķām izejām. Piemēram, darbību Toggle vai Short Off var ierakstīt jebkurā izvadē.

Tomēr mainīgo Action var izmantot tikai vērtību ierakstīšanai, to nevar izmantot pašreizējā izejas stāvokļa nolasīšanai.

Šīs ir darbības, kuras varat piemērot katrai izvadei.

0 = izeja izslēgta (izslēgta)

1 = izeja ir ieslēgta (ieslēgta)

2 = izeja uz īsu laiku izslēgta (īss izslēgts)

3 = izeja ir ieslēgta uz īsu laiku (īss ieslēgts)

4 = izeja pārslēgta no viena stāvokļa uz otru (pārslēgšana)

5 = izvades stāvoklis nemainīgs (bez izmaiņām)

6 = ignorēts

Piemērs - JSON fails, lai pārslēgtu izvades Nr. 1:

{

"Rezultāti": [{

"ID": 1, "Darbība": 4

}]

}

ID - šis skaitlis norāda, kuru izvadi mēs izmantosim

Darbība - šī daļa ir darbība, ko veiks izvade (piemēram, 1 (ieslēgt izvadi))

2. solis: plūsma

Plūsma
Plūsma

Un tagad galvenā daļa. Šādi izskatās mezgls-RED vide.

Mēs esam importējuši URL API plūsmu (redzamais projekts. Vēlāk es jums parādīšu, kā importēt plūsmas un šo projektu) Šis projekts sastāv no divām daļām:

  1. NETIO AN30 (JSON REST API) plūsma
  2. Informācijas panelis (grafiskais interfeiss, ar kura palīdzību jūs varat vadīt savu programmu)

3. darbība: informācijas panelis

Mērinstrumentu panelis
Mērinstrumentu panelis

Šādi izskatās šīs pamācības informācijas panelis mezglā-SARKANS. Jūs varat to pielāgot, ja vēlaties, lai tas atbilstu jūsu gaumei.

Šī projekta informācijas panelis ir sadalīts 4 daļās:

  1. Ierīces statuss - parāda ierīces informāciju, piemēram, modeli, mac adresi vai programmaparatūras versiju.
  2. (POST) Control Output 1 - satur 5 pogas, kas kontrolē 1. izvadi. Katra poga veic dažādas darbības
  3. (GET) O1 - O4 izvades stāvokļi - šī daļa parāda katras ierīces izejas pašreizējo stāvokli.
  4. Ierīču pārvaldība - šajā daļā varat atrast visu veidu diagrammas un mērinstrumentus, kas parāda pašreizējās NETIO 4 visas ierīces mērītās vērtības

4. darbība: plūsmas importēšana (projekts, skripts utt.)

Importa plūsma (projekts, skripts utt.)
Importa plūsma (projekts, skripts utt.)

Izvēlnē (labajā augšējā stūrī) atlasiet Importēt un pēc tam starpliktuvi.

Pēc tam nokopējiet zemāk esošo tekstu norādītajā laukā un noklikšķiniet uz Importēt.

Trūkstošo mezglu instalēšana

Mezgli tiek ielādēti atlasītajā plūsmā. Iespējams, tiek parādīts kļūdas ziņojums ar to mezglu sarakstu, kuri tiek importēti, bet vēl nav instalēti mezglā RED. Šajā gadījumā trūkstošie mezgli ir jāinstalē.

Ja trūkst mezglu, izvēlnē atlasiet Pārvaldīt paleti, noklikšķiniet uz Instalēt un atrodiet un instalējiet trūkstošos mezglus.

Importēt tekstu:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "disabled": false, "info": "", {"id ":" 6a66b637.da1558 "," tips ":" http pieprasījums "," z ":" 56b9510c.98c6f "," nosaukums ":" HTTP pieprasījums (POST) "," metode ":" POST "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "vadi":

5. darbība. Kā tas viss darbojas kopā

Kā tas viss darbojas kopā
Kā tas viss darbojas kopā

Plūsma būtībā ir sadalīta divās daļās: POST un GET.

POST: Rakstīšana O1

  • Plūsmas informācijas panelī izveidotās piecas pogas tiek parādītas informācijas panelī.
  • Pēc informācijas paneļa noklikšķināšanas uz pogas Output 1 = ON, derīgā slodze tiek iestatīta uz failu netio.json, kas norāda izvadi un darbību (definēta katrai pogai).
  • Bloks HTTP pieprasījums (POST) nosūta failu netio.json kā pieprasījumu uz IP adresi.
  • Servera atbilde (statuss) tiek atgriezta kā izeja.
  • Bloks Msg.payload parāda HTTP pieprasījuma (POST) rezultātu.

GET: lasīšana no O1 līdz O4

  • 1 sekundes atkārtojuma bloks ar vienas sekundes periodu aktivizē HTTP pieprasījuma (GET) bloku, kas savukārt nosūta netio.json kā GET pieprasījumu un atgriež pilnu JSON failu ar ligzdas statusu, kas saņemts no servera.
  • JSON Parse bloks pārveido JSON failu no HTTP pieprasījuma (GET) bloka uz JSON objektu, lai būtu iespējams manipulēt ar JSON faila rekvizītiem.
  • Funkciju bloks ņem atsevišķas JSON objekta daļas un pārveido tās par ziņojuma objekta īpašībām vēlākai lietošanai.
  • Bloks Pašreizējā diagramma iestata msg objekta rekvizītu msg. TotalCurrent, jo nākamais pašreizējās diagrammas (ierīces) bloks var parādīt tikai msg.payload vērtību.
  • Pēc tam seko dažādi izvades mezgli, lai informācijas panelī parādītu atlasītos ziņojuma objekta rekvizītus, kas ņemti no JSON objekta.

Ziņojuma objekts un ziņojuma maksa

Vienkāršu un kodolīgu skaidrojumu skatiet šeit:

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

6. darbība: HTTP POST un GET

HTTP POST un GET
HTTP POST un GET
HTTP POST un GET
HTTP POST un GET

HTTP pieprasījums (POST)

Šis mezgls nosūta komandas failu netio.json kā HTTP pieprasījumu (POST), lai kontrolētu NETIO 4All ierīci.

HTTP pieprasījums (GET)

Šis mezgls nosūta HTTP pieprasījumu (GET) un atgriež statusa atbildi.

Iepriekš aizpildītā adrese norāda uz NETIO 4All tiešsaistes demonstrāciju, kurā varat pārbaudīt savienojumu, bez galda NETIO ierīces.

netio-4all.netio-products.com

Šajos mezglos ir iespējams iestatīt savu IP adresi; tomēr IP ir jāmaina gan HTTP pieprasījuma mezglos, gan POST, gan GET.

7. solis: pogu mezgli

Pogas mezgli
Pogas mezgli
Pogas mezgli
Pogas mezgli

Noklikšķinot uz pogas mezgla, tiek ģenerēts ziņojums, kas satur failu netio.json (labais attēls), kas pēc tam tiek nosūtīts caur http pasta mezglu uz netio viedo strāvas kontaktligzdu.

8. solis: funkcijas mezgls

Funkcijas mezgls
Funkcijas mezgls
Funkcijas mezgls
Funkcijas mezgls

Funkciju mezgls ir īpašs mezgls, kas ļauj rakstīt pielāgotu JavaScript funkciju.

Šajā pamācībā funkcija izvēlas vērtības no parsētā JSON faila (tagad JSON objekta) un piešķir tās ziņojuma objekta rekvizītiem.

Kods ir sadalīts četrās sadaļās:

  1. Vērtību piešķiršana no JSON objekta atsevišķiem ziņojuma objekta rekvizītiem
  2. Kļūdu apstrāde gadījumā, ja tīkla kontaktligzda neatbalsta globālos mērījumus

    Ja tīkla kontaktligzda neatbalsta globālo vērtību mērīšanu, mezgls-RED parādītu kļūdas, jo šī funkcija neatradīs attiecīgo īpašumu, piem. msg.payload. GlobalMeasure. Voltage, jo tā nebūtu JSON objektā. Šajā gadījumā msg objekta īpašums, piem. msg. Spriegums, ir iestatīts uz 0, un kļūda tiek apstrādāta.

  3. Izvades stāvokļa vērtību piešķiršana
  4. Parādīto izvades stāvokļa vērtību krāsu iestatīšana atbilstoši izvades stāvokļiem

9. darbība: JSON mezgls un injekcijas mezgls

JSON mezgls un injekcijas mezgls
JSON mezgls un injekcijas mezgls
JSON mezgls un injekcijas mezgls
JSON mezgls un injekcijas mezgls

JSON mezgls

JSON mezgls parsē JSON failu un pārveido to par JSON objektu.

Kā atbilde no servera uz GET pieprasījumu, HTTP pieprasījuma mezgls atgriež JSON failu, kas satur pašreizējo NETIO 4x ierīces statusu, bet ir vienkārši teksta fails, tāpēc, lai strādātu ar datiem, JSON failam ir nepieciešams lai to parsētu JSON objektā.

Ievadiet mezglu

Katru sekundi šis mezgls aktivizē HTTP pieprasījuma mezglu, kas nosūta GET pieprasījumu.

Rezultātā informācijas paneļa vērtības tiek atjauninātas ar vienas sekundes periodu

10. darbība: teksta mezgls un atkļūdošanas mezgls

Teksta mezgls un atkļūdošanas mezgls
Teksta mezgls un atkļūdošanas mezgls
Teksta mezgls un atkļūdošanas mezgls
Teksta mezgls un atkļūdošanas mezgls

Teksta mezgls

Informācijas panelī tiek parādīts teksta lauks. Šajā pamācībā teksta mezgli parāda pašreizējo, spriegumu, modeli, programmaparatūras versiju vai JSON versiju.

Iezīme tiek parādīta informācijas panelī, un nosaukums ir mezgla nosaukums, kas tiek parādīts plūsmā mezglā-SARKANĀ.

Atkļūdošanas mezgls

Parāda ziņu maksas ielādi.

11. solis: diagrammas mezgls

Diagrammas mezgls
Diagrammas mezgls
Diagrammas mezgls
Diagrammas mezgls

Šis mezgls attēlo pašreizējo diagrammu informācijas panelī atbilstoši lietderīgās slodzes vērtībai.

Šis mezgls var uzzīmēt diagrammas tikai atbilstoši lietderīgās slodzes vērtībai.

Šī iemesla dēļ funkcijas mezgls tiek izmantots, lai iestatītu msg.payload vērtību, kas jāparāda.

msg.payload = msg. TotalCurrent;

12. solis: mērierīču mezgli un saišu mezgli

Mērierīču mezgli un saišu mezgli
Mērierīču mezgli un saišu mezgli
Mērierīču mezgli un saišu mezgli
Mērierīču mezgli un saišu mezgli

Gabarīta mezgls

Šis mezgls informācijas panelim pievieno mērinstrumentu logrīku.

Šajā pamācībā katrs mērītājs vizualizē vienu ziņojuma objekta īpašību: spriegumu [V], korekciju [A], frekvenci [Hz] un kopējo patieso jaudas koeficientu (TPF).

Saistīt mezglus

Mezglu saistīšana un atsaistīšana darbojas kā tunelis. Ziņojums.payload nonāk saitē mezglā un iziet no saites izejas mezgla.

Es to izmantoju, lai padarītu plūsmu mazliet skaidrāku un vieglāk lasāmu.

13. darbība. Paldies, ka izlasījāt manu pamācību

Es ceru, ka jums patika mans pamācāmais un, cerams, uzzināju kaut ko jaunu.

Šī pamācība ir tikai saīsināta versija dažādām manis sagatavotajām rokasgrāmatām

Sākotnējais ceļvedis ir garāks un daudz detalizētāks, un kopumā tas ir labāk strukturēts. Ja jūs kaut ko nesaprotat vai domājat, ka esmu kaut ko nokavējis vai neesmu pietiekami izskaidrojis, tad to noteikti varat atrast tur.

Es apsolu, ka jūs nebūsiet vīlušies

Oriģināls:

Ir arī līdzīgi ceļveži par dažādiem mezgla-RED lietošanas veidiem, tādēļ, ja jūs interesē, lūdzu, izpētiet:

Darbs ar REST URL API mezglā-RED

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

Darbs ar REST XML mezglā-RED

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

Darbs ar TCP/Modbus mezglā-RED

Jau pavisam drīz:)

Ieteicams: