विषयसूची:

नोड-रेड में JSON के साथ कैसे काम करें: १३ चरण
नोड-रेड में JSON के साथ कैसे काम करें: १३ चरण

वीडियो: नोड-रेड में JSON के साथ कैसे काम करें: १३ चरण

वीडियो: नोड-रेड में JSON के साथ कैसे काम करें: १३ चरण
वीडियो: What is Node js | हिंदी में 2024, जुलाई
Anonim
नोड-रेड में JSON के साथ कैसे काम करें
नोड-रेड में JSON के साथ कैसे काम करें

यह निर्देश आपको नोड-रेड में JSON के साथ काम करना सिखाएगा। मैं आपको दिखाऊंगा कि http get और post के माध्यम से json फ़ाइलों को स्थानांतरित करने के साथ नेटवर्क वाले पावर सॉकेट को कैसे नियंत्रित किया जाए। और आप इस ज्ञान का उपयोग बाद में JSON प्रोटोकॉल का समर्थन करने वाले किसी भी उपकरण को नियंत्रित करने के लिए कर सकते हैं।

शिक्षण उद्देश्यों के लिए मैं NETIO 4All नेटवर्क वाले पावर सॉकेट का उपयोग करूंगा, लेकिन चिंता न करें, आपको कुछ भी खरीदने की आवश्यकता नहीं है। NETIO में अद्भुत 4सभी ऑनलाइन डेमो हैं जिनका आप उपयोग कर सकते हैं।

आपूर्ति

NETIO 4सभी नेटवर्क वाले पॉवरसॉकेट या 4सभी ऑनलाइन डेमो:

नोड-लाल

चरण 1: REST JSON Http(s) प्रोटोकॉल

बाकी JSON Http(s) प्रोटोकॉल
बाकी JSON Http(s) प्रोटोकॉल

यह हिस्सा थोड़ा तकनीकी है लेकिन कृपया मेरे साथ रहें। अगर मैंने इस भाग की व्याख्या नहीं की तो आपको जोंस फाइलों में मूल्यों को समझने में समस्या होगी जो हम नोड-रेड में भेजेंगे।

प्रत्येक आउटपुट (विद्युत सॉकेट) पर लागू होने वाली कार्रवाइयां:

सभी M2M प्रोटोकॉल में, NETIO पावर सॉकेट उन्हीं क्रियाओं का उपयोग करते हैं जिन्हें अलग-अलग आउटपुट पर लागू किया जा सकता है। उदाहरण के लिए, किसी भी आउटपुट पर टॉगल या शॉर्ट ऑफ एक्शन लिखा जा सकता है।

हालाँकि, क्रिया चर का उपयोग केवल मान लिखने के लिए किया जा सकता है, इसका उपयोग वर्तमान आउटलेट स्थिति को पढ़ने के लिए नहीं किया जा सकता है।

ये वे क्रियाएं हैं जिन्हें आप प्रत्येक आउटपुट पर लागू कर सकते हैं:

0 = आउटपुट स्विच ऑफ (ऑफ)

1 = आउटपुट चालू (चालू)

2 = थोड़े समय के लिए आउटपुट बंद (शॉर्ट ऑफ)

3 = थोड़े समय के लिए आउटपुट स्विच ऑन (शॉर्ट ऑन)

4 = आउटपुट एक राज्य से दूसरे राज्य में स्विच किया गया (टॉगल)

5 = आउटपुट स्थिति अपरिवर्तित (कोई परिवर्तन नहीं)

6 = अनदेखा

उदाहरण - आउटपुट नंबर को टॉगल करने के लिए JSON फ़ाइल। 1:

{

"आउटपुट": [{

"आईडी": 1, "एक्शन": 4

}]

}

आईडी - यह संख्या इंगित करती है कि हम किस आउटपुट का उपयोग करेंगे

क्रिया - यह भाग, वह क्रिया है जो आउटपुट करेगा (जैसे 1 (आउटपुट चालू करें))

चरण 2: प्रवाह

प्रवाह
प्रवाह

और अब मुख्य भाग। नोड-रेड वातावरण इस तरह दिखता है।

हमने यूआरएल एपीआई प्रवाह आयात किया है (जो परियोजना आप देखते हैं। बाद में मैं आपको प्रवाह और इस परियोजना को आयात करने का तरीका दिखाऊंगा) इस परियोजना में दो भाग होते हैं:

  1. NETIO AN30 (JSON REST API) प्रवाह
  2. डैशबोर्ड (ग्राफिकल इंटरफ़ेस जिसके द्वारा आप अपना प्रोग्राम संचालित कर सकते हैं)

चरण 3: डैशबोर्ड

डैशबोर्ड
डैशबोर्ड

इस निर्देश के लिए नोड-रेड में डैशबोर्ड कैसा दिखता है। यदि आप अपने स्वाद के अनुरूप बनाना चाहते हैं तो आप इसे अनुकूलित कर सकते हैं।

इस परियोजना के डैशबोर्ड को 4 भागों में बांटा गया है:

  1. डिवाइस की स्थिति - डिवाइस की जानकारी जैसे मॉडल, मैक पता या फर्मवेयर संस्करण दिखाता है।
  2. (पोस्ट) नियंत्रण आउटपुट १ - इसमें ५ बटन होते हैं जो आउटपुट को नियंत्रित करते हैं १। प्रत्येक बटन अलग-अलग क्रिया निष्पादित करता है
  3. (GET) O1 - O4 आउटपुट स्टेट्स - यह भाग आपके डिवाइस से प्रत्येक आउटपुट की वर्तमान स्थिति दिखाता है।
  4. डिवाइस प्रबंधन - इस भाग में आप सभी प्रकार के ग्राफ और गेज पा सकते हैं जो NETIO 4Aall डिवाइस से वर्तमान मीटर्ड मान दिखा रहे हैं।

चरण 4: आयात प्रवाह (प्रोजेक्ट, स्क्रिप्ट, आदि)

आयात प्रवाह (प्रोजेक्ट, स्क्रिप्ट, आदि)
आयात प्रवाह (प्रोजेक्ट, स्क्रिप्ट, आदि)

मेनू (दाएं ऊपरी कोने) में आयात करें और फिर क्लिपबोर्ड चुनें।

फिर, नीचे दिए गए टेक्स्ट को निर्दिष्ट फ़ील्ड में कॉपी करें और इम्पोर्ट पर क्लिक करें।

लापता नोड्स स्थापित करना

नोड्स को चयनित प्रवाह में लोड किया जाता है। यह संभव है कि एक त्रुटि संदेश उन नोड्स की सूची के साथ प्रदर्शित होता है जो आयात किए जा रहे हैं लेकिन अभी तक नोड-रेड में स्थापित नहीं हैं। इस मामले में, लापता नोड्स को स्थापित करने की आवश्यकता है।

यदि नोड्स गायब हैं, तो मेनू में पैलेट प्रबंधित करें का चयन करें, इंस्टॉल करें पर क्लिक करें और उन नोड्स को ढूंढें और इंस्टॉल करें जो आप गायब हैं।

पाठ आयात करें:

[{"id":"56b9510c.98c6f", "टाइप":"टैब", "लेबल":"NETIO AN30 (REST JSON)", "अक्षम": गलत, "जानकारी":""}, {"आईडी ":"6a66b637.da1558", "टाइप": "http अनुरोध", "z": "56b9510c.98c6f", "नाम": "HTTP अनुरोध (पोस्ट)", "विधि": "पोस्ट", "रिट":"txt", "url":"https://netio-4All.netio-products.com:8080/netio.json", "tls":"", "x":430, "y":100, "तार":

चरण 5: यह सब एक साथ कैसे काम करता है

यह सब एक साथ कैसे काम करता है
यह सब एक साथ कैसे काम करता है

प्रवाह को मूल रूप से दो भागों में विभाजित किया गया है: POST और GET।

पोस्ट: O1 को लिखना

  • फ्लो में डैशबोर्ड में बनाए गए पांच बटन डैशबोर्ड में प्रदर्शित होते हैं।
  • डैशबोर्ड में आउटपुट 1 = ON बटन पर क्लिक करने के बाद, पेलोड netio.json फ़ाइल पर सेट हो जाता है जो आउटपुट और क्रिया (प्रत्येक बटन के लिए परिभाषित) को निर्दिष्ट करता है।
  • HTTP अनुरोध (POST) ब्लॉक netio.json फ़ाइल को एक IP पते पर अनुरोध के रूप में भेजता है।
  • सर्वर प्रतिक्रिया (स्थिति) आउटपुट के रूप में लौटा दी जाती है।
  • Msg.payload ब्लॉक HTTP अनुरोध (POST) से परिणाम प्रदर्शित करता है।

प्राप्त करें: O1 से पढ़ना - O4

  • 1 सेकंड रिपीट ब्लॉक एक सेकंड की अवधि के साथ, HTTP अनुरोध (GET) ब्लॉक को सक्रिय करता है, जो बदले में netio.json को GET अनुरोध के रूप में भेजता है और सर्वर से प्राप्त सॉकेट स्थिति के साथ एक पूर्ण JSON फ़ाइल देता है।
  • JSON पार्स ब्लॉक JSON फ़ाइल को HTTP अनुरोध (GET) ब्लॉक से JSON ऑब्जेक्ट में बदल देता है ताकि JSON फ़ाइल में गुणों में हेरफेर करना संभव हो।
  • फ़ंक्शन ब्लॉक JSON ऑब्जेक्ट के अलग-अलग हिस्सों को लेता है और बाद में उपयोग के लिए उन्हें एक msg ऑब्जेक्ट के गुणों में बदल देता है।
  • करंट चार्ट ब्लॉक msg.payload को msg ऑब्जेक्ट की msg. TotalCurrent प्रॉपर्टी पर सेट करता है, क्योंकि बाद का करेंट चार्ट (डिवाइस) ब्लॉक केवल msg.payload मान प्रदर्शित कर सकता है।
  • डैशबोर्ड में JSON ऑब्जेक्ट से लिए गए संदेश ऑब्जेक्ट के चयनित गुणों को प्रदर्शित करने के लिए विभिन्न आउटपुट नोड्स का अनुसरण किया जाता है।

संदेश वस्तु और msg.payload

एक सरल और संक्षिप्त व्याख्या के लिए, यहाँ देखें:

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

चरण 6: HTTP पोस्ट और प्राप्त करें

HTTP पोस्ट और प्राप्त करें
HTTP पोस्ट और प्राप्त करें
HTTP पोस्ट और प्राप्त करें
HTTP पोस्ट और प्राप्त करें

HTTP अनुरोध (पोस्ट)

यह नोड NETIO 4All डिवाइस को नियंत्रित करने के लिए HTTP अनुरोध (POST) के रूप में netio.json कमांड फ़ाइल भेजता है।

HTTP अनुरोध (प्राप्त करें)

यह नोड एक HTTP अनुरोध (GET) भेजता है और स्थिति प्रतिक्रिया देता है।

पहले से भरा हुआ पता NETIO 4सभी ऑनलाइन डेमो की ओर इशारा करता है, जहां आप अपने डेस्क पर NETIO डिवाइस के बिना कनेक्शन का परीक्षण कर सकते हैं।

netio-4all.netio-products.com

इन नोड्स में अपना खुद का आईपी पता सेट करना संभव है; हालाँकि, IP को HTTP अनुरोध नोड्स, POST और GET दोनों में बदलने की आवश्यकता है।

चरण 7: बटन नोड्स

बटन नोड्स
बटन नोड्स
बटन नोड्स
बटन नोड्स

बटन नोड पर क्लिक करने से एक संदेश उत्पन्न होता है जिसमें एक netio.json फ़ाइल (दायाँ चित्र) होती है जिसे बाद में http पोस्ट नोड के माध्यम से netio स्मार्ट पावर सॉकेट में भेजा जाता है।

चरण 8: फ़ंक्शन नोड

फंक्शन नोड
फंक्शन नोड
फंक्शन नोड
फंक्शन नोड

फ़ंक्शन नोड एक विशेष नोड है जो एक कस्टम जावास्क्रिप्ट फ़ंक्शन लिखने में सक्षम बनाता है।

इस निर्देश में, फ़ंक्शन पार्स की गई JSON फ़ाइल (अब एक JSON ऑब्जेक्ट) से मान चुनता है और उन्हें msg ऑब्जेक्ट के गुणों को असाइन करता है।

कोड को चार खंडों में विभाजित किया गया है:

  1. संदेश वस्तु के व्यक्तिगत गुणों के लिए JSON ऑब्जेक्ट से मान निर्दिष्ट करना
  2. नेटवर्क वाले पावर सॉकेट के वैश्विक मापन का समर्थन नहीं करने की स्थिति में त्रुटि प्रबंधन

    यदि नेटवर्क वाला पावर सॉकेट वैश्विक मूल्यों के मापन का समर्थन नहीं करता है, तो नोड-रेड त्रुटियों को प्रदर्शित करेगा क्योंकि इस फ़ंक्शन को संबंधित संपत्ति नहीं मिलेगी, उदा। msg.payload. GlobalMeasure. Voltage, क्योंकि यह JSON ऑब्जेक्ट में मौजूद नहीं होगा। इस मामले में, संदेश वस्तु की संपत्ति, उदा। msg. Voltage, 0 पर सेट है और त्रुटि को हैंडल किया जाता है।

  3. आउटपुट स्थिति मान निर्दिष्ट करना
  4. आउटपुट स्टेट्स के अनुसार प्रदर्शित आउटपुट स्टेट वैल्यू के रंग सेट करना

चरण 9: JSON नोड और इंजेक्ट नोड

JSON नोड और इंजेक्ट नोड
JSON नोड और इंजेक्ट नोड
JSON नोड और इंजेक्ट नोड
JSON नोड और इंजेक्ट नोड

JSON नोड

JSON नोड JSON फ़ाइल को पार्स करता है और इसे JSON ऑब्जेक्ट में बदल देता है।

सर्वर से GET अनुरोध की प्रतिक्रिया के रूप में, HTTP अनुरोध नोड एक JSON फ़ाइल देता है जिसमें NETIO 4x डिवाइस की वर्तमान स्थिति होती है, लेकिन यह केवल एक टेक्स्ट फ़ाइल है, इसलिए डेटा के साथ काम करने के लिए, JSON फ़ाइल की आवश्यकता होती है JSON ऑब्जेक्ट में पार्स किया जाना है।

नोड इंजेक्ट करें

हर सेकंड, यह नोड HTTP अनुरोध नोड को सक्रिय करता है जो एक GET अनुरोध भेजता है।

परिणामस्वरूप, डैशबोर्ड में मान एक सेकंड की अवधि के साथ अपडेट हो जाते हैं

चरण 10: टेक्स्ट नोड और डीबग नोड

टेक्स्ट नोड और डीबग नोड
टेक्स्ट नोड और डीबग नोड
टेक्स्ट नोड और डीबग नोड
टेक्स्ट नोड और डीबग नोड

टेक्स्ट नोड

डैशबोर्ड में टेक्स्ट फ़ील्ड प्रदर्शित करता है। इस निर्देशयोग्य में, टेक्स्ट नोड्स वर्तमान, वोल्टेज, मॉडल, फर्मवेयर संस्करण या JSON संस्करण प्रदर्शित करते हैं।

लेबल डैशबोर्ड में प्रदर्शित होता है, और नाम नोड-रेड में प्रवाह में प्रदर्शित नोड नाम है।

डीबग नोड

संदेश पेलोड प्रदर्शित करता है।

चरण 11: चार्ट नोड

चार्ट नोड
चार्ट नोड
चार्ट नोड
चार्ट नोड

यह नोड पेलोड मान के अनुसार डैशबोर्ड में वर्तमान चार्ट को प्लॉट करता है।

यह नोड केवल पेलोड मान के अनुसार चार्ट प्लॉट कर सकता है।

इस कारण से, एक फ़ंक्शन नोड का उपयोग msg.payload को उस मान पर सेट करने के लिए किया जाता है जिसे प्रदर्शित करने की आवश्यकता होती है।

msg.payload = msg. TotalCurrent;

चरण 12: गेज नोड और लिंक नोड्स

गेज नोड और लिंक नोड्स
गेज नोड और लिंक नोड्स
गेज नोड और लिंक नोड्स
गेज नोड और लिंक नोड्स

गेज नोड

यह नोड डैशबोर्ड में एक गेज विजेट जोड़ता है।

इस निर्देश में, प्रत्येक गेज संदेश वस्तु की एक संपत्ति की कल्पना करता है: वोल्टेज [वी], क्यूरेंट [ए], आवृत्ति [हर्ट्ज] और समग्र ट्रू पावर फैक्टर (टीपीएफ)।

लिंक नोड्स

लिंक इन और लिंक आउट नोड्स एक सुरंग की तरह काम करते हैं। msg.payload नोड में लिंक में आता है और लिंक आउट नोड से बाहर चला जाता है।

मैंने इसका उपयोग प्रवाह को थोड़ा स्पष्ट और पढ़ने में आसान बनाने के लिए किया।

चरण १३: मेरा निर्देश पढ़ने के लिए धन्यवाद

मुझे आशा है कि आपने मेरे निर्देश का आनंद लिया और उम्मीद से कुछ नया सीखा।

यह निर्देश मेरे द्वारा बनाए गए विभिन्न गाइड का केवल छोटा संस्करण है।

मूल मार्गदर्शिका लंबी और अधिक विस्तार उन्मुख और आम तौर पर बेहतर संरचित है। अगर आपको कुछ समझ में नहीं आया या आपको लगता है कि मैंने कुछ याद किया है या पर्याप्त रूप से समझाया नहीं है, तो आप निश्चित रूप से इसे वहां पा सकते हैं।

मैं वादा करता हूँ कि आप निराश नहीं होंगे

मूल:

नोड-रेड के विभिन्न उपयोगों के बारे में परिचित गाइड भी हैं, इसलिए यदि आप रुचि रखते हैं तो बेझिझक एक्सप्लोर करें:

नोड-रेड में REST URL API के साथ कार्य करना

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

नोड-रेड में REST XML के साथ कार्य करना

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

नोड-रेड में टीसीपी/मोडबस के साथ काम करना

बहुत जल्द ही आ रहा है:)

सिफारिश की: