Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: REST JSON Http (na) Protocol
- Hakbang 2: Daloy
- Hakbang 3: Dashboard
- Hakbang 4: Pag-import ng Daloy (proyekto, Script, Etc)
- Hakbang 5: Paano Ito Magagawa nang Magkasama
- Hakbang 6: HTTP POST at GET
- Hakbang 7: Mga Node ng Button
- Hakbang 8: Function Node
- Hakbang 9: JSON Node at Inject Node
- Hakbang 10: Text Node at Debug Node
- Hakbang 11: Chart Node
- Hakbang 12: Gauge Node at Link Nodes
- Hakbang 13: Salamat sa Pagbasa ng Aking Makatuturo
Video: Paano Magtrabaho Sa JSON sa Node-RED: 13 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ituturo sa iyo ang itinuturo na ito kung paano magtrabaho kasama si JSON sa node-RED. Ipapakita ko sa iyo kung paano makontrol ang mga naka-network na socket ng kuryente sa paglilipat ng mga json file sa pamamagitan ng http get at post. At maaari mong gamitin ang kaalamang ito sa paglaon upang makontrol ang anumang aparato na sumusuporta sa JSON protocol.
Para sa mga layunin ng pagtuturo ay gumagamit ako ng NETIO 4All networked power socket, ngunit huwag mag-alala, hindi mo kailangang bumili ng anuman. Ang NETIO ay may kamangha-manghang 4All online demo na maaari mong gamitin.
Mga gamit
NETIO 4Lahat ng naka-network na powersocket o 4All online demo:
Node-RED
Hakbang 1: REST JSON Http (na) Protocol
Ang bahaging ito ay medyo teknikal ngunit mangyaring tiisin mo ako. Kung hindi ko ipaliwanag ang bahaging ito pagkatapos ay magkakaroon ka ng mga problema sa pag-unawa sa mga halaga sa json file na ipapadala namin sa node-RED.
Mga aksyon na nalalapat sa bawat output (electrical socket):
Sa lahat ng mga M2M na protokol, ang mga socket ng kapangyarihan ng NETIO ay gumagamit ng parehong mga aksyon na maaaring mailapat sa mga indibidwal na output. Halimbawa, ang isang aksyon na Toggle o Short Off ay maaaring nakasulat sa anumang output.
Gayunpaman, ang variable ng Pagkilos ay maaari lamang magamit para sa mga halaga ng pagsulat, hindi ito maaaring gamitin upang mabasa ang kasalukuyang estado ng outlet.
Ito ang mga pagkilos na maaari mong mailapat sa bawat output:
0 = Ang output ay nakasara (Naka-off)
1 = Ang output ay nakabukas (Bukas)
2 = Ang output ay naka-off para sa isang maikling panahon (maikling Off)
3 = Ang output ay nakabukas para sa isang maikling panahon (maikling On)
4 = Ang output ay lumipat mula sa isang estado patungo sa iba pa (toggle)
5 = Ang estado ng output ay hindi nagbago (walang pagbabago)
6 = Hindi pinansin
Halimbawa - JSON file upang i-toggle ang output no. 1:
{
"Mga Output": [{
"ID": 1, "Aksyon": 4
}]
}
ID - isinasaad ng numerong ito kung aling output ang gagamitin namin
Pagkilos - ang bahaging ito, ay ang aksyon na gagawin ng output (hal. 1 (I-on ang output))
Hakbang 2: Daloy
At ngayon ang pangunahing bahagi. Ganito ang hitsura ng node-RED na kapaligiran.
Nag-import kami ng daloy ng URL API (Ang proyektong nakikita mo. Mamaya ipapakita ko sa iyo kung paano mag-import ng mga daloy at ang proyektong ito) Ang proyektong ito ay binubuo ng dalawang bahagi:
- Pag-agos ng NETIO AN30 (JSON REST API)
- Dashboard (Graphical interface kung saan maaari mong mapatakbo ang iyong programa)
Hakbang 3: Dashboard
Ganito ang hitsura ng dashboard sa node-RED para sa itinuturo na ito. Maaari mong ipasadya ito kung nais mong umangkop sa iyong panlasa.
Ang dashboard para sa proyektong ito ay nahahati sa 4 na bahagi:
- Katayuan ng Device - nagpapakita ng impormasyon ng aparato tulad ng modelo, mac address o bersyon ng firmware.
- (POST) Control Output 1 - Naglalaman ng 5 mga pindutan na kinokontrol ang output 1. Ang bawat pindutan ay nagpapatupad ng iba't ibang mga aksyon
- (GET) O1 - O4 Mga Output na Estado - Ipinapakita ng bahaging ito ang kasalukuyang estado ng bawat output mula sa iyong aparato.
- Pamamahala ng Device - Sa bahaging ito maaari kang makahanap ng lahat ng mga uri ng mga graph at gauge na nagpapakita ng kasalukuyang mga sukat na sukat mula sa NETIO 4Lahat ng aparato
Hakbang 4: Pag-import ng Daloy (proyekto, Script, Etc)
Sa menu (kanang sulok sa itaas) piliin ang I-import at pagkatapos ang Clipboard.
Pagkatapos, kopyahin ang teksto sa ibaba sa tinukoy na patlang at i-click ang I-import.
Pag-install ng mga nawawalang node
Ang mga node ay na-load sa napiling daloy. Posibleng ang isang mensahe ng error ay ipinapakita na may isang listahan ng mga node na na-import ngunit hindi pa naka-install sa Node-RED. Sa kasong ito, kailangang mai-install ang mga nawawalang node.
Kung may mga nawawalang node, piliin ang Pamahalaan ang palette sa menu, i-click ang I-install at hanapin at i-install ang mga node na nawawala mo.
Mag-import ng teksto:
[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "hindi pinagana": 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, "wires":
Hakbang 5: Paano Ito Magagawa nang Magkasama
Karaniwan na nahahati ang daloy sa dalawang bahagi: POST at GET.
POST: Pagsusulat sa O1
- Limang mga pindutan na nilikha sa Dashboard sa Daloy ay ipinapakita sa Dashboard.
- Matapos i-click ang Output 1 = ON button sa Dashboard, ang payload ay nakatakda sa netio.json file na tumutukoy sa output at ang aksyon (tinukoy para sa bawat isa sa mga pindutan).
- Ang block ng HTTP Request (POST) ay nagpapadala ng netio.json file bilang isang kahilingan sa isang IP address.
- Ang tugon ng server (katayuan) ay ibinalik bilang output.
- Ipinapakita ng block ng Msg.payload ang resulta mula sa HTTP Request (POST).
GET: Pagbasa mula sa O1 - O4
- Aktibo ang 1 Second Repeat block, na may isang panahon ng isang segundo, ang HTTP Request (GET) block, na siya namang nagpapadala ng netio.json bilang isang kahilingan sa GET at ibabalik ang isang kumpletong JSON file na may katayuan ng socket na natanggap mula sa server.
- Binabago ng JSON Parse block ang JSON file mula sa HTTP Request (GET) block sa isang JSON Object upang posible na manipulahin ang mga pag-aari sa JSON file.
- Ang Function block ay tumatagal ng mga indibidwal na bahagi ng object ng JSON at binago ang mga ito sa mga pag-aari ng isang msg object para magamit sa paglaon.
- Itinatakda ng block ng Kasalukuyang tsart ang msg.payload sa msg. Kabuuang pag-aari ng object ng msg, dahil ang kasunod na Kasalukuyang Tsart (Device) ay maipapakita lamang ang halagang msg.payload.
- Iba't ibang mga output node pagkatapos ay sundin upang maipakita ang mga napiling pag-aari ng bagay na msg, tulad ng kinuha mula sa object na JSON, sa Dashboard.
Ang msg object at msg.payload
Para sa isang simple at maigsi na paliwanag, tingnan dito:
www.steves-internet-guide.com/node-red-mess…
Hakbang 6: HTTP POST at GET
Kahilingan sa HTTP (POST)
Ang node na ito ay nagpapadala ng isang netio.json command file bilang isang HTTP Request (POST) upang makontrol ang NETIO 4All device.
Kahilingan sa HTTP (GET)
Nagpapadala ang node na ito ng isang HTTP Request (GET) at ibabalik ang tugon sa katayuan.
Ang punong puno ng address ay tumuturo sa NETIO 4All online demo, kung saan maaari mong subukan ang koneksyon nang hindi nagkakaroon ng isang NETIO aparato sa iyong mesa.
netio-4all.netio-productions.com
Posibleng itakda ang iyong sariling IP address sa mga node na ito; gayunpaman, ang IP ay kailangang mabago sa parehong mga HTTP Request node, POST pati na rin ang GET.
Hakbang 7: Mga Node ng Button
Ang pag-click sa button node ay bumubuo ng isang mensahe na naglalaman ng isang netio.json file (Tamang larawan) na pagkatapos ay ipinadala sa pamamagitan ng http post node sa netio smart power socket.
Hakbang 8: Function Node
Ang isang function node ay isang espesyal na node na nagbibigay-daan sa pagsusulat ng isang pasadyang pagpapaandar ng JavaScript.
Sa itinuturo na ito, ang function ay pumili ng mga halaga mula sa na-parse na JSON file (ngayon ay isang JSON object) at itatalaga ang mga ito sa mga pag-aari ng msg object.
Ang code ay nahahati sa apat na seksyon:
- Ang pagtatalaga ng mga halaga mula sa object ng JSON sa indibidwal na mga katangian ng object na msg
-
Error sa paghawak kung sakaling hindi suportahan ng naka-network na socket ang pandaigdigang mga sukat
Kung hindi sinusuportahan ng naka-network na socket ang pagsukat ng mga pandaigdigang halaga, ang Node-RED ay magpapakita ng mga error dahil ang function na ito ay hindi mahanap ang kani-kanilang pag-aari, hal. msg.payload. GlobalMeasure. Voltage, dahil wala ito sa object ng JSON. Sa kasong ito, ang pag-aari ng object ng msg, hal. Ang msg. Voltage, ay nakatakda sa 0 at ang error ay naabutan ng isang hawakan.
- Pagtatalaga ng mga halaga ng estado ng output
- Ang pagtatakda ng mga kulay ng ipinapakitang mga halaga ng estado ng output ayon sa mga estado ng output
Hakbang 9: JSON Node at Inject Node
JSON node
Pinag-parse ng node ng JSON ang JSON file at binago ito sa isang object na JSON.
Bilang isang tugon mula sa server sa kahilingan sa GET, ang HTTP Request node ay nagbabalik ng isang file na JSON na naglalaman ng kasalukuyang katayuan ng NETIO 4x aparato, ngunit ito ay simpleng isang text file, kaya upang gumana sa data, kailangan ng JSON file upang mai-parse sa isang bagay na JSON.
I-injection node
Tuwing segundo, pinapagana ng node na ito ang node ng HTTP Request na nagpapadala ng isang kahilingan sa GET.
Bilang isang resulta, ang mga halaga sa Dashboard ay na-update sa isang tagal ng isang segundo
Hakbang 10: Text Node at Debug Node
Node ng teksto
Nagpapakita ng isang patlang ng teksto sa Dashboard. Sa itinuturo na ito, ipinapakita ng mga node ng teksto ang kasalukuyang, boltahe, modelo, bersyon ng firmware o bersyon ng JSON.
Ang Label ay ipinapakita sa Dashboard, at ang Pangalan ay ang pangalan ng node na ipinapakita sa daloy sa Node-RED.
Node ng pag-debug
Ipinapakita ang msg.payload.
Hakbang 11: Chart Node
Ang node na ito ay naglalagay ng kasalukuyang tsart sa Dashboard alinsunod sa halagang payload.
Ang node na ito ay maaari lamang magplot ng mga chart ayon sa halaga ng payload.
Para sa kadahilanang ito, ginagamit ang isang function node upang maitakda ang msg.payload sa halagang kailangang ipakita.
msg.payload = msg. TotalCurrent;
Hakbang 12: Gauge Node at Link Nodes
Gauge node
Ang node na ito ay nagdaragdag ng isang gauge widget sa Dashboard.
Sa itinuturo na ito, nakikita ng bawat gauge ang isang pag-aari ng object ng msg: boltahe [V], curent [A], dalas [Hz] at ang pangkalahatang True Power Factor (TPF).
Mga node ng link
Ang link sa at i-link ang mga node ay gumagana tulad ng isang lagusan. Dumating ang msg.payload sa link sa node at lumalabas sa link out node.
Ginamit ko ito upang gawing mas malinaw ang daloy at mas madaling basahin.
Hakbang 13: Salamat sa Pagbasa ng Aking Makatuturo
Inaasahan kong nasiyahan ka sa aking natuturo at inaasahan kong may natutunan na bago.
Ang itinuturo na ito ay pinaikling bersyon lamang ng iba't ibang gabay na ginawa ko
Ang orihinal na gabay ay mas mahaba at higit na nakatuon sa detalye at sa pangkalahatan ay mas mahusay na nakaayos. Kung hindi mo naintindihan ang isang bagay o iniisip na na-miss ko o hindi ipinaliwanag ang sapat na isang bagay, tiyak na mahahanap mo ito doon.
Ipinapangako kong hindi ka mapapahiya
Orihinal:
Gayundin mayroong mga pamilyar na gabay tungkol sa iba't ibang paggamit ngnode-RED, kaya kung interesado kang huwag mag-atubiling galugarin:
Paggawa gamit ang REST URL API sa node-RED
www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x
Nagtatrabaho sa REST XML sa node-RED
www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x
Paggawa gamit ang TCP / Modbus sa node-RED
Paparating na:)
Inirerekumendang:
Gumawa ng CASIO Keyboard na Magtrabaho sa Power Bank: 8 Hakbang (na may Mga Larawan)
Gawin ang CASIO Keyboard na Magtrabaho sa Power Bank: Mayroon akong isang lumang CASIO CT-636, na gumagana sa 9V adapter, O 6 na D-size na baterya. Hindi ito kasama ng isang adapter, kailangan mong magbigay ng isa, at tiyaking maaari itong lumipat sa negatibong-loob, positibo-labas - na ang dating pamantayan ng barel jac
5V Relay Module Mod upang Magtrabaho Sa Raspberry Pi: 4 na Hakbang
5V Relay Module Mod upang Magtrabaho Sa Raspberry Pi: Napakadali sa mga araw na ito upang makuha ang iyong mga kamay sa isang relay board ngunit mabilis mong malalaman na ang karamihan sa kanila ay idinisenyo para sa 5V na maaaring isang problema para sa isang mahirap na raspberry pi o anumang iba pa tumatakbo ang microcontroller sa 3.3V, Wala lang silang volta
Paano Mag-set up ang Arduino IDE upang Magtrabaho Sa Mga Tinusaur Board .: 3 Mga Hakbang
Paano Mag-set up ang Arduino IDE upang Magtrabaho Sa Mga Tinusaur Board: Ito ay isang maikling gabay kung paano i-set up ang Arduino IDE upang gumana sa mga board ng Tinusaur. . Ang pagkakaiba lamang ay lilitaw ito sa listahan ng mga board bilang Tinusau
Paano Magtrabaho Sa Arduino at Iba't Ibang RGB Leds: 3 Mga Hakbang
Paano Magtrabaho Sa Arduino at Iba't Ibang RGB Leds: Ang Arduino ay isang kamangha-manghang maliit na aparato. Ngunit ang isa sa mga pinaka ginagamit na application para sa malakas na maliit na aparato na ito ay madalas na mag-flash o magpikit ng isang LED. Ipapakita sa iyo ng tutorial na ito ang tatlong mga paraan upang gumana sa RGB Leds at Arduino.1. Ang unang paraan ay ang paggamit ng isang simpleng
Paano Mag-Mod ng Mga Speaker ng Sony Ericsson upang Magtrabaho Sa Isang IPod .: 4 Mga Hakbang
Paano Mag-Mod ng Mga Speaker ng Sony Ericsson upang Magtrabaho Sa isang IPod .: Sa itinuturo na ito ay ipapakita ko sa iyo kung paano mag-mod ng isang pares ng Sony Ericsson Speaker upang gumana sa mga iPod, MP3 o anumang bagay na may isang headphone socket! Ito ang aking kauna-unahang itinuturo kaya't gusto ko ito! Kagamitan: Anumang cable na may isang 2.5mm ja