Përmbajtje:

Si të punoni me JSON në Nyjen-KUQ: 13 hapa
Si të punoni me JSON në Nyjen-KUQ: 13 hapa

Video: Si të punoni me JSON në Nyjen-KUQ: 13 hapa

Video: Si të punoni me JSON në Nyjen-KUQ: 13 hapa
Video: Going Rogue: как внеполосное управление революционизирует ИТ: взгляд на HP iLO 2024, Nëntor
Anonim
Si të punoni me JSON në Node-RED
Si të punoni me JSON në Node-RED

Ky udhëzues do t'ju mësojë se si të punoni me JSON në nyjen-KUQ. Unë do t'ju tregoj se si të kontrolloni prizat e energjisë në rrjet me transferimin e skedarëve json përmes http get and post. Dhe ju mund ta përdorni këtë njohuri më vonë për të kontrolluar çdo pajisje që mbështet protokollin JSON.

Për qëllime mësimore do të përdor prizën e rrjetit NETIO 4All, por mos u shqetësoni, nuk keni nevojë të blini asgjë. NETIO ka demonstrimin mahnitës 4 të gjithë online që mund të përdorni.

Furnizimet

NETIO 4Të gjitha fuqitë në rrjet ose 4Të gjitha demonstrimet online:

Nyje-KUQ

Hapi 1: REST JSON Http (s) Protokolli

REST JSON Protokolli HTTP (s)
REST JSON Protokolli HTTP (s)

Kjo pjesë është pak teknike, por ju lutem duroni me mua. Nëse nuk do ta shpjegoja këtë pjesë, atëherë do të kishit probleme për të kuptuar vlerat në skedarët json që do të dërgojmë në nyjen-KUQ.

Veprimet e zbatueshme për çdo dalje (prizë elektrike):

Në të gjithë protokollet M2M, prizat e energjisë NETIO përdorin të njëjtat veprime që mund të aplikohen në daljet individuale. Për shembull, një veprim Toggle ose Short Off mund të shkruhet në çdo dalje.

Sidoqoftë, ndryshorja e Veprimit mund të përdoret vetëm për të shkruar vlera, nuk mund të përdoret për të lexuar gjendjen aktuale të daljes.

Këto janë veprimet që mund të aplikoni për secilën dalje:

0 = Dalja është e fikur (joaktive)

1 = Dalja e ndezur (Aktive)

2 = Dalja është e fikur për një kohë të shkurtër (e shkurtër e fikur)

3 = Dalja e ndezur për një kohë të shkurtër (e shkurtër e ndezur)

4 = Dalja kaloi nga një gjendje në tjetrën (kaloni)

5 = Gjendja e daljes e pandryshuar (pa ndryshim)

6 = I injoruar

Shembull - skedari JSON për të ndryshuar daljen nr. 1:

{

"Rezultatet": [{

"ID": 1, "Veprimi": 4

}]

}

ID - ky numër tregon se cilën dalje do të përdorim

Veprimi - kjo pjesë, është veprimi që do të bëjë dalja (p.sh. 1 (Aktivizo daljen))

Hapi 2: Rrjedha

Rrjedhin
Rrjedhin

Dhe tani pjesa kryesore. Kështu duket mjedisi nyje-KUQ.

Ne kemi importuar rrjedhën e API -së të URL -së (Projekti që shihni. Më vonë do t'ju tregoj se si të importoni rrjedhat dhe këtë projekt) Ky projekt përbëhet nga dy pjesë:

  1. Rrjedha NETIO AN30 (JSON REST API)
  2. Paneli (Ndërfaqja grafike me të cilën mund të përdorni programin tuaj)

Hapi 3: Paneli i kontrollit

Paneli i kontrollit
Paneli i kontrollit

Kështu duket pulti në nyjen-KUQ për këtë udhëzues. Mund ta personalizoni nëse dëshironi t'i përshtateni shijes tuaj.

Pulti për këtë projekt është i ndarë në 4 pjesë:

  1. Gjendja e pajisjes - tregon informacionin e pajisjes si modeli, adresa e Mac ose versioni i firmuerit.
  2. (POST) Output Control 1 - Përmban 5 butona të cilët kontrollojnë daljen 1. Çdo buton ekzekuton veprime të ndryshme
  3. (GET) O1 - O4 Gjendjet e daljes - Kjo pjesë tregon gjendjen aktuale të secilës dalje nga pajisja juaj.
  4. Menaxhimi i pajisjes - Në këtë pjesë mund të gjeni të gjitha llojet e grafikëve dhe matësve të cilët tregojnë vlerat aktuale të matura nga pajisja NETIO 4Aall

Hapi 4: Importi i rrjedhës (projekt, skenar, etj)

Importi i rrjedhës (projekt, skenar, etj)
Importi i rrjedhës (projekt, skenar, etj)

Në menunë (këndi i sipërm i djathtë) zgjidhni Import dhe më pas Clipboard.

Pastaj, kopjoni tekstin më poshtë në fushën e treguar dhe klikoni Import.

Instalimi i nyjeve që mungojnë

Nyjet ngarkohen në rrjedhën e zgjedhur. Shtë e mundur që një mesazh gabimi të shfaqet me një listë të nyjeve që janë duke u importuar, por që nuk janë instaluar ende në Node-RED. Në këtë rast, nyjet që mungojnë duhet të instalohen.

Nëse mungojnë nyjet, zgjidhni Menaxho paletën në meny, klikoni Instalo dhe gjeni dhe instaloni nyjet që ju mungojnë.

Importo tekstin:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "me aftësi të kufizuara": 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, "telat":

Hapi 5: Si funksionon e gjitha së bashku

Si funksionon e gjitha së bashku
Si funksionon e gjitha së bashku

Rrjedha në thelb ndahet në dy pjesë: POST dhe GET.

POST: Shkrimi në O1

  • Pesë butona të krijuar në Pult në Flow shfaqen në Panel.
  • Pasi të klikoni butonin Output 1 = ON në Panel, ngarkesa ngarkuese vendoset në skedarin netio.json që specifikon daljen dhe veprimin (e përcaktuar për secilën prej butonave).
  • Blloku i Kërkesës HTTP (POST) dërgon skedarin netio.json si kërkesë në një adresë IP.
  • Përgjigja e serverit (statusi) kthehet si dalje.
  • Blloku Msg.payload shfaq rezultatin nga Kërkesa HTTP (POST).

MERR: Leximi nga O1 - O4

  • Blloku i Përsëritjes 1 i dytë aktivizon, me një periudhë prej një sekonde, bllokun HTTP Request (GET), i cili nga ana tjetër dërgon netio.json si një kërkesë GET dhe kthen një skedar të plotë JSON me statusin e prizës siç është marrë nga serveri.
  • Blloku JSON Parse shndërron skedarin JSON nga blloku HTTP Request (GET) në një Objekt JSON në mënyrë që të jetë e mundur të manipuloni vetitë në skedarin JSON.
  • Blloku i funksionit merr pjesë individuale të objektit JSON dhe i shndërron ato në vetitë e një objekti msg për përdorim të mëvonshëm.
  • Blloku aktual i grafikut vendos msg.payload në vetinë msg. TotalCurrent të objektit msg, sepse blloku pasues i Grafikut aktual (Pajisja) mund të shfaqë vetëm vlerën e mesazhit të pagesës.
  • Më pas ndiqen nyje të ndryshme dalëse për të shfaqur vetitë e zgjedhura të objektit msg, të marra nga objekti JSON, në Pult.

Objekti msg dhe ngarkesa mesazh

Për një shpjegim të thjeshtë dhe konciz, shihni këtu:

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

Hapi 6: HTTP POST dhe GET

HTTP POST dhe MERRNI
HTTP POST dhe MERRNI
HTTP POST dhe MERRNI
HTTP POST dhe MERRNI

Kërkesë HTTP (POST)

Kjo nyje dërgon një skedar komandash netio.json si një Kërkesë HTTP (POST) në mënyrë që të kontrollojë pajisjen NETIO 4All.

Kërkesë HTTP (GET)

Kjo nyje dërgon një Kërkesë HTTP (GET) dhe kthen përgjigjen e statusit.

Adresa e para-mbushur tregon për demonstrimin online NETIO 4All, ku mund të provoni lidhjen pa pasur një pajisje NETIO në tryezën tuaj.

netio-4all.netio-products.com

Theseshtë e mundur të vendosni adresën tuaj IP në këto nyje; megjithatë, IP duhet të ndryshohet në të dy nyjet e Kërkesës HTTP, POST si dhe GET.

Hapi 7: Nyjet e butonave

Nyjet e butonave
Nyjet e butonave
Nyjet e butonave
Nyjet e butonave

Klikimi i nyjes së butonit gjeneron një mesazh që përmban një skedar netio.json (Fotografia e djathtë) e cila më pas dërgohet përmes nyjes postare http në prizën e energjisë netio të zgjuar.

Hapi 8: Nyja e funksionit

Nyja e funksionit
Nyja e funksionit
Nyja e funksionit
Nyja e funksionit

Një nyje funksioni është një nyje e veçantë që mundëson shkrimin e një funksioni të personalizuar JavaScript.

Në këtë udhëzues, funksioni zgjedh vlerat nga skedari JSON i analizuar (tani një objekt JSON) dhe i cakton ato në vetitë e objektit msg.

Kodi është i ndarë në katër pjesë:

  1. Caktimi i vlerave nga objekti JSON në vetitë individuale të objektit msg
  2. Gabim në trajtimin në rast se priza e rrjetit nuk mbështet matjet globale

    Nëse priza e rrjetit nuk mbështet matjen e vlerave globale, Node-RED do të shfaq gabime sepse ky funksion nuk do të gjejë vetinë përkatëse, p.sh. msg.payload. GlobalMeasure. Voltage, pasi nuk do të ishte i pranishëm në objektin JSON. Në këtë rast, vetia e objektit msg, p.sh. msg. Voltage, është vendosur në 0 dhe gabimi kapet i trajtuar.

  3. Caktimi i vlerave të gjendjes dalëse
  4. Vendosja e ngjyrave të vlerave të gjendjes së daljes së shfaqur sipas gjendjeve të daljes

Hapi 9: Nyja JSON dhe Nyja e Injektimit

Nyja JSON dhe Nyja Inject
Nyja JSON dhe Nyja Inject
Nyja JSON dhe Nyja Inject
Nyja JSON dhe Nyja Inject

Nyja JSON

Nyja JSON analizon skedarin JSON dhe e transformon atë në një objekt JSON.

Si përgjigje nga serveri ndaj kërkesës GET, nyja e Kërkesës HTTP kthen një skedar JSON që përmban statusin aktual të pajisjes NETIO 4x, por është thjesht një skedar teksti, kështu që për të punuar me të dhënat, skedari JSON ka nevojë të analizohet në një objekt JSON.

Injektoni nyjen

Çdo sekondë, kjo nyje aktivizon nyjen HTTP Request që dërgon një kërkesë GET.

Si rezultat, vlerat në Panel përditësohen me një periudhë prej një sekonde

Hapi 10: Nyja e tekstit dhe nyja e korrigjimit

Nyja e tekstit dhe nyja e korrigjimit
Nyja e tekstit dhe nyja e korrigjimit
Nyja e tekstit dhe nyja e korrigjimit
Nyja e tekstit dhe nyja e korrigjimit

Nyja e tekstit

Shfaq një fushë teksti në Panel. Në këtë udhëzues, nyjet e tekstit shfaqin rrymën, tensionin, modelin, versionin e firmuerit ose versionin JSON.

Etiketa shfaqet në Panel, dhe Emri është emri i nyjës i shfaqur në rrjedhën në Nyjen-KUQ.

Nyja e korrigjimit

Shfaq ngarkesën e msg.

Hapi 11: Nyja e grafikut

Nyja e grafikut
Nyja e grafikut
Nyja e grafikut
Nyja e grafikut

Kjo nyje paraqet grafikun aktual në Pult, sipas vlerës së ngarkesës.

Kjo nyje mund të bëjë grafikë vetëm sipas vlerës së ngarkesës.

Për këtë arsye, një nyje funksioni përdoret për të vendosur msg.payload në vlerën që duhet të shfaqet.

msg.payload = msg. TotalCurrent;

Hapi 12: Nyja e Matësit dhe Nyjet e Lidhjes

Nyja e Matësit dhe Nyjet e Lidhjes
Nyja e Matësit dhe Nyjet e Lidhjes
Nyja e Matësit dhe Nyjet e Lidhjes
Nyja e Matësit dhe Nyjet e Lidhjes

Nyja matëse

Kjo nyje shton një widget matës në Pult.

Në këtë udhëzues, çdo matës vizualizon një veti të objektit msg: tension [V], curent [A], frekuencë [Hz] dhe faktori i përgjithshëm i vërtetë i fuqisë (TPF).

Nyjet e lidhjes

Lidhja dhe lidhja e nyjeve funksionojnë si një tunel. Mesazhi i pagesës arrin në lidhjen në nyje dhe del jashtë nyjës së lidhjes jashtë.

E kam përdorur për ta bërë rrjedhën pak më të qartë dhe më të lehtë për t'u lexuar.

Hapi 13: Faleminderit që lexuat Udhëzuesin tim

Shpresoj se ju ka pëlqyer mësimi im dhe mësuat me shpresë diçka të re.

Ky udhëzues është vetëm një version i shkurtuar i udhëzuesit të ndryshëm që kam bërë

Udhëzuesi origjinal është më i gjatë dhe shumë më i detajuar dhe në përgjithësi është më i strukturuar. Nëse nuk keni kuptuar diçka ose mendoni se më ka munguar ose nuk kam shpjeguar diçka, atëherë patjetër që mund ta gjeni atje.

Ju premtoj se nuk do të zhgënjeheni

Origjinale:

Gjithashtu ka udhëzues të ngjashëm në lidhje me përdorimet e ndryshme të nyjës-DAR, kështu që nëse jeni të interesuar mos ngurroni të eksploroni:

Puna me REST URL API në nyjen-KUQ

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

Puna me REST XML në nyjen-KUQ

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

Puna me TCP/Modbus në nyjen-KUQ

Se shpejti:)

Recommended: