विषयसूची:

रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें: 8 कदम (चित्रों के साथ)
रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें: 8 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें: 8 कदम (चित्रों के साथ)
वीडियो: पायथन में एमक्यूटीटी | MQTT डैशबोर्ड बनाएं 2024, जून
Anonim
रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें
रास्पबेरी पाई और ESP8266 के साथ MQTT का उपयोग कैसे करें

इस निर्देश में, मैं समझाऊंगा कि MQTT प्रोटोकॉल क्या है और इसका उपयोग उपकरणों के बीच संचार करने के लिए कैसे किया जाता है। फिर, एक व्यावहारिक प्रदर्शन के रूप में, मैं आपको एक साधारण दो क्लाइंट सिस्टम सेटअप करने का तरीका दिखाऊंगा, जहां एक ESP8266 मॉड्यूल एक संदेश भेजेगा। जब एक बटन धक्का दिया जाता है तो एक पायथन प्रोग्राम में। विशेष रूप से, मैं इस परियोजना के लिए एक Adafruit HUZZAH मॉड्यूल, एक रास्पबेरी पाई और एक डेस्कटॉप कंप्यूटर का उपयोग कर रहा हूं। रास्पबेरी पाई एमक्यूटीटी ब्रोकर के रूप में कार्य करेगा, और पायथन क्लाइंट एक अलग डेस्कटॉप कंप्यूटर से चलाया जाएगा (वैकल्पिक, क्योंकि यह रास्पबेरी पाई पर चलाया जा सकता है)।

इस निर्देश का पालन करने के लिए, आपको इलेक्ट्रॉनिक्स का कुछ बुनियादी ज्ञान होना चाहिए, और Arduino सॉफ़्टवेयर का उपयोग कैसे करना चाहिए। आपको कमांड लाइन इंटरफेस (रास्पबेरी पाई के लिए) का उपयोग करने से भी परिचित होना चाहिए। उम्मीद है, एक बार जब आप एमक्यूटीटी क्या है, और इसे बुनियादी परिदृश्य में कैसे उपयोग करें, इसका ज्ञान प्राप्त कर लेने के बाद, आप अपनी खुद की आईओटी परियोजनाएं बनाने में सक्षम होंगे!

आवश्यक भाग

  • 1 x रास्पबेरी पाई, एक स्थानीय नेटवर्क से जुड़ा (जेसी चल रहा है)
  • 1 x ESP8266 मॉड्यूल (Adafruit HUZZAH)
  • 1 एक्स ब्रेडबोर्ड
  • 3 एक्स जम्पर तार (पुरुष-से-पुरुष)
  • 1 एक्स पुशबटन
  • 1 x 10k ओम रेसिस्टर (ब्राउन-ब्लैक-ऑरेंज कलर कोड)

मैंने यह निर्देश योग्य बनाया है, क्योंकि MQTT ने मुझे हमेशा एक प्रोटोकॉल के रूप में दिलचस्पी दी है और इसके कई अलग-अलग तरीके हैं जिनका उपयोग किया जा सकता है। हालांकि, मुझे इसका उपयोग करने के लिए उपकरणों को कोड करने के तरीके के बारे में अपना सिर नहीं मिल रहा था। ऐसा इसलिए था क्योंकि मुझे नहीं पता था कि वास्तव में मेरे "हैलो, वर्ल्ड!" को लेने के लिए क्या चल रहा था। डिवाइस ए से और इसे डिवाइस बी पर भेजें। इसलिए, मैंने इस निर्देश को लिखने का फैसला किया (उम्मीद है) आपको यह सिखाने के लिए कि यह कैसे काम करता है, और इसके बारे में अपनी समझ को मजबूत करने के लिए भी!

चरण 1: एमक्यूटीटी क्या है?

एमक्यूटीटी क्या है?
एमक्यूटीटी क्या है?

एमक्यूटीटी, या एमक्यू टेलीमेट्री ट्रांसपोर्ट, एक मैसेजिंग प्रोटोकॉल है जो कई उपकरणों को एक दूसरे से बात करने की अनुमति देता है। वर्तमान में, यह इंटरनेट ऑफ थिंग्स के लिए एक लोकप्रिय प्रोटोकॉल है, हालांकि इसका उपयोग अन्य उद्देश्यों के लिए किया गया है - उदाहरण के लिए, फेसबुक मैसेंजर। दिलचस्प बात यह है कि MQTT का आविष्कार 1999 में हुआ था - यानी यह मेरे जितना ही पुराना है!

MQTT इस विचार पर आधारित है कि डिवाइस विषयों को प्रकाशित या सब्सक्राइब कर सकते हैं। तो, उदाहरण के लिए। यदि डिवाइस #1 ने अपने किसी सेंसर से तापमान रिकॉर्ड किया है, तो यह एक संदेश प्रकाशित कर सकता है जिसमें उसके द्वारा रिकॉर्ड किया गया तापमान मान किसी विषय (जैसे "तापमान") पर प्रकाशित हो सकता है। यह संदेश एक एमक्यूटीटी ब्रोकर को भेजा जाता है, जिसे आप स्थानीय क्षेत्र नेटवर्क पर स्विच/राउटर के रूप में सोच सकते हैं। एक बार MQTT ब्रोकर को संदेश प्राप्त हो जाने के बाद, वह इसे किसी भी डिवाइस (इस मामले में, डिवाइस # 2) पर भेज देगा, जो उसी विषय की सदस्यता ले चुके हैं।

इस परियोजना में, हम एक ईएसपी8266 का उपयोग करके एक विषय पर प्रकाशित करेंगे, और एक पायथन स्क्रिप्ट तैयार करेंगे जो इसी विषय की सदस्यता लेगा, एक रास्पबेरी पाई के माध्यम से जो एमक्यूटीटी ब्रोकर के रूप में कार्य करेगा। MQTT के बारे में सबसे अच्छी बात यह है कि यह हल्का है, इसलिए यह ESP8266 जैसे छोटे माइक्रोकंट्रोलर पर चलने के लिए एकदम सही है, लेकिन यह व्यापक रूप से उपलब्ध भी है - इसलिए हम इसे पायथन स्क्रिप्ट पर भी चला सकते हैं।

उम्मीद है, इस परियोजना के अंत में, आपको एमक्यूटीटी क्या है और भविष्य में अपनी परियोजनाओं के लिए इसका उपयोग कैसे करना है, इसकी समझ होगी।

चरण 2: रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना

रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना
रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना
रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना
रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना
रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना
रास्पबेरी पाई पर एमक्यूटीटी ब्रोकर स्थापित करना

हमारे MQTT सिस्टम को सेटअप करने के लिए, हमें एक ब्रोकर की आवश्यकता है, जैसा कि पिछले चरण में बताया गया है। रास्पबेरी पाई के लिए, हम "मॉस्किटो" एमक्यूटीटी ब्रोकर का उपयोग करेंगे। इससे पहले कि हम इसे स्थापित करें, हमारे रास्पबेरी पाई को अपडेट करना हमेशा सबसे अच्छा होता है।

सुडो एपीटी-अपडेट प्राप्त करें

सुडो एपीटी-अपग्रेड प्राप्त करें

एक बार ऐसा करने के बाद, मच्छर और फिर मच्छर-ग्राहक पैकेज स्थापित करें।

sudo apt-मच्छर स्थापित करें -y

sudo apt-मच्छर-ग्राहकों को स्थापित करें -y

जब आप इन दो पैकेजों को स्थापित करना समाप्त कर लेंगे, तो हमें ब्रोकर को कॉन्फ़िगर करने की आवश्यकता होगी। मच्छर दलाल की विन्यास फाइल /etc/mosquitto/mosquitto.conf पर स्थित है, इसलिए इसे अपने पसंदीदा पाठ संपादक के साथ खोलें। यदि आपके पास कोई पसंदीदा टेक्स्ट एडिटर नहीं है या कमांड लाइन संपादकों में से किसी का उपयोग करना नहीं जानते हैं, तो मैं नैनो का उपयोग करूंगा ताकि आप इसका अनुसरण कर सकें:

सुडो नैनो /etc/mosquitto/mosquitto.conf

इस फ़ाइल के निचले भाग में, आपको लाइन देखनी चाहिए:

शामिल_दिर /आदि/मच्छर/conf.d

इस लाइन को हटा दें। फ़ाइल के निचले भाग में निम्न पंक्तियाँ जोड़ें।

allow_anonymous असत्य

password_file /etc/mosquitto/pwfile श्रोता १८८३

उन पंक्तियों को टाइप करके, हमने मच्छर से कहा है कि हम नहीं चाहते कि कोई भी हमारे ब्रोकर से जुड़े जो वैध उपयोगकर्ता नाम और पासवर्ड की आपूर्ति नहीं करता है (हम इन्हें एक सेकंड में सेट कर देंगे) और हम मच्छर चाहते हैं पोर्ट नंबर 1883 पर संदेश सुनें।

यदि आप नहीं चाहते कि ब्रोकर को उपयोगकर्ता नाम और पासवर्ड की आवश्यकता हो, तो हमारे द्वारा जोड़ी गई पहली दो पंक्तियों को शामिल न करें (अर्थात allow_anonymous… और password_file…)। यदि आपने ऐसा किया है, तो रास्पबेरी पाई को रिबूट करना छोड़ दें।

अब उस फाइल को बंद (और सेव) करें। यदि आप नैनो उदाहरण के साथ अनुसरण कर रहे हैं, तो CTRL+X दबाएं, और संकेत मिलने पर Y टाइप करें।

चूंकि हमने अभी-अभी मच्छर से कहा है कि MQTT ब्रोकर का उपयोग करने की कोशिश करने वाले उपयोगकर्ताओं को प्रमाणित करने की आवश्यकता है, अब हमें मच्छर को यह बताना होगा कि उपयोगकर्ता नाम और पासवर्ड क्या हैं! तो, निम्न कमांड टाइप करें - उपयोगकर्ता नाम को उस उपयोगकर्ता नाम से बदलना जो आप चाहते हैं - फिर वह पासवर्ड दर्ज करें जिसे आप संकेत मिलने पर चाहते हैं (नोट: यदि, कॉन्फ़िगरेशन फ़ाइल को संपादित करते समय, आपने एक अलग पासवर्ड_फाइल पथ निर्दिष्ट किया है, तो नीचे दिए गए पथ को प्रतिस्थापित करें जो आपने इस्तेमाल किया था)।

sudo mosquitto_passwd -c /etc/mosquitto/pwfile उपयोगकर्ता नाम

जैसा कि हमने अभी-अभी मच्छर विन्यास फाइल को बदला है, हमें रास्पबेरी पाई को रिबूट करना चाहिए।

सुडो रिबूट

एक बार जब रास्पबेरी पाई ने रिबूट करना समाप्त कर दिया, तो आपके पास पूरी तरह से काम करने वाला एमक्यूटीटी ब्रोकर होना चाहिए! इसके बाद, हम कई अलग-अलग उपकरणों/विधियों का उपयोग करके, इसके साथ बातचीत करने का प्रयास करने जा रहे हैं!

चरण 3: ब्रोकर का परीक्षण

ब्रोकर का परीक्षण
ब्रोकर का परीक्षण

एक बार जब आप रास्पबेरी पाई पर मच्छर स्थापित कर लेते हैं, तो आप इसे एक त्वरित परीक्षण दे सकते हैं - बस यह सुनिश्चित करने के लिए कि सब कुछ सही ढंग से काम कर रहा है। इस उद्देश्य के लिए, दो कमांड हैं जिनका उपयोग हम कमांड लाइन पर कर सकते हैं। mosquitto_pub और mosquitto_sub. इस चरण में, मैं आपको हमारे ब्रोकर का परीक्षण करने के लिए इनमें से प्रत्येक का उपयोग करने में मार्गदर्शन करूंगा।

ब्रोकर का परीक्षण करने के लिए, आपको दो कमांड लाइन विंडो खोलनी होगी। यदि आप पुट्टी या किसी अन्य एसएसएच क्लाइंट का उपयोग कर रहे हैं, तो यह एक और एसएसएच विंडो खोलने और हमेशा की तरह लॉग इन करने जितना आसान है। यदि आप अपने पाई को UNIX टर्मिनल से एक्सेस कर रहे हैं, तो यह बिल्कुल वैसा ही है। यदि आप सीधे रास्पबेरी पाई का उपयोग कर रहे हैं, तो आपको जीयूआई मोड में दो टर्मिनल विंडो खोलने की आवश्यकता होगी (कमांड startxजीयूआई शुरू करने के लिए इस्तेमाल किया जा सकता है)।

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

mosquitto_sub -d -u उपयोगकर्ता नाम -P पासवर्ड -t परीक्षण

यदि आपने पिछले चरण में उपयोगकर्ता नाम और पासवर्ड सेट नहीं करने का निर्णय लिया है, तो अब से, आदेशों में -u और -P झंडे को अनदेखा करें। तो, एक उदाहरण के रूप में, mosquitto_sub कमांड अब होगी:

मच्छर_उप-डी-टी परीक्षण

mosquitto_sub कमांड किसी विषय की सदस्यता लेगा, और टर्मिनल विंडो में निर्दिष्ट विषय पर भेजे गए किसी भी संदेश को प्रदर्शित करेगा। यहां, -d का अर्थ है डिबग मोड, इसलिए सभी संदेश और गतिविधि स्क्रीन पर आउटपुट होंगे। -यू और -पी स्व-व्याख्यात्मक होना चाहिए। अंत में, -t उस विषय का नाम है जिसकी हम सदस्यता लेना चाहते हैं - इस मामले में, "परीक्षण"।

अगला, अन्य टर्मिनल विंडो में, हम "परीक्षण" विषय पर एक संदेश प्रकाशित करने का प्रयास करने जा रहे हैं। निम्नलिखित टाइप करें, उपयोगकर्ता नाम और पासवर्ड बदलने के लिए फिर से याद रखें:

mosquitto_pub -d -u यूजरनेम -P पासवर्ड -t टेस्ट -m "हैलो, वर्ल्ड!"

जब आप एंटर दबाते हैं, तो आपको अपना संदेश "हैलो, वर्ल्ड!" देखना चाहिए। हमारे द्वारा उपयोग की जाने वाली पहली टर्मिनल विंडो में दिखाई दें (सदस्यता लेने के लिए)। यदि ऐसा है, तो आप ESP8266 पर काम करना शुरू करने के लिए पूरी तरह तैयार हैं!

चरण 4: ESP8266 (Adafruit HUZZAH) की स्थापना

ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना
ESP8266 (Adafruit HUZZAH) की स्थापना

यह कदम अगर Adafruit HUZZAH के लिए विशिष्ट है (जैसा कि मैं इस परियोजना को पूरा करने के लिए उपयोग कर रहा हूं)। यदि आप एक अलग Arduino / ESP8266 डिवाइस का उपयोग कर रहे हैं, तो आप इस चरण को छोड़ना चाह सकते हैं। हालाँकि, मैं आपको सलाह दूंगा कि आप इसे पढ़ें, बस अगर यहाँ कोई जानकारी है जो आपके लिए प्रासंगिक हो सकती है।

इस परियोजना के लिए, मैं Arduino सॉफ़्टवेयर के साथ HUZZAH की प्रोग्रामिंग करने जा रहा हूँ। इसलिए, यदि आपने पहले से नहीं किया है, तो Arduino सॉफ़्टवेयर (1.6.4 से नया) स्थापित करना सुनिश्चित करें। आप द्वारा इसे यहां पर डाउनलोड किया जा सकता है।

एक बार जब आप Arduino सॉफ़्टवेयर स्थापित कर लेते हैं, तो इसे खोलें और File->Preferences पर नेविगेट करें। यहां आपको (विंडो के निचले भाग के पास) लेबल वाला एक टेक्स्ट बॉक्स दिखना चाहिए: "अतिरिक्त बोर्ड प्रबंधक URL"। इस टेक्स्ट बॉक्स में, निम्न लिंक को कॉपी और पेस्ट करें:

arduino.esp8266.com/stable/package_esp8266com_index.json

अपने परिवर्तन सहेजने के लिए ठीक पर क्लिक करें। अब बोर्ड मैनेजर (टूल्स-> बोर्ड-> बोर्ड मैनेजर) खोलें और ESP8266 खोजें। ESP8266 समुदाय पैकेज द्वारा esp8266 स्थापित करें। Arduino सॉफ़्टवेयर को पुनरारंभ करें।

अब, इससे पहले कि हम बोर्ड को प्रोग्राम कर सकें, हमें कुछ अलग विकल्पों का चयन करना होगा। टूल्स मेनू विकल्प में, बोर्ड के लिए Adafruit HUZZAH ESP8266, CPU फ़्रीक्वेंसी के लिए 80 MHz चुनें (यदि आप इसे ओवरक्लॉक करना चाहते हैं तो आप 160 MHz का उपयोग कर सकते हैं, लेकिन अभी के लिए मैं 80 MHz का उपयोग करने जा रहा हूँ), 4M (3M SPIFFS) फ्लैश साइज के लिए, और 115200 अपलोड स्पीड के लिए। साथ ही, उस COM पोर्ट का चयन करना सुनिश्चित करें जिसका आप उपयोग कर रहे हैं (यह आपके सेटअप पर निर्भर करेगा)।

इससे पहले कि आप कोई कोड अपलोड कर सकें, आपको यह सुनिश्चित करना होगा कि HUZZAH बूटलोडर मोड में है। इसे सक्षम करने के लिए, बोर्ड पर GPIO0 चिह्नित बटन को दबाए रखें, और जब तक यह हो, रीसेट बटन को भी दबाए रखें। फिर, रीसेट बटन को छोड़ दें, और फिर GPIO0। यदि आपने इसे सही तरीके से किया है, तो आपके द्वारा GPIO0 दबाने पर आने वाली लाल एलईडी अब मंद रोशनी में होनी चाहिए।

माइक्रोकंट्रोलर पर कोड अपलोड करने के लिए, पहले सुनिश्चित करें कि HUZZAH बूटलोडर मोड में है, फिर बस Arduino IDE में अपलोड बटन पर क्लिक करें।

यदि आपको HUZZAH को स्थापित करने में कोई परेशानी हो रही है, तो अधिक जानकारी Adafruit के स्वयं के ट्यूटोरियल में मिल सकती है।

चरण 5: ESP8266 की प्रोग्रामिंग

ESP8266 प्रोग्रामिंग
ESP8266 प्रोग्रामिंग

अब हम ESP8266 प्रोग्राम करना शुरू करेंगे, लेकिन इससे पहले कि हम शुरू करें, आपको Arduino लाइब्रेरी मैनेजर में निम्नलिखित लाइब्रेरी स्थापित करने की आवश्यकता होगी (स्केच-> लाइब्रेरी शामिल करें-> लाइब्रेरी प्रबंधित करें)

  • बाउंस2
  • पबसब क्लाइंट

एक बार जब आप उन पुस्तकालयों को स्थापित कर लेते हैं, तो आप उस कोड को चलाने में सक्षम होंगे जो मैंने इस निर्देशयोग्य (MQTT_Publish.zip) में शामिल किया है। मैंने इस पर टिप्पणी करना सुनिश्चित किया है ताकि आप समझ सकें कि प्रत्येक अनुभाग क्या कर रहा है, और यह आशा करता है कि आप इसे अपनी आवश्यकताओं के अनुसार अनुकूलित करने में सक्षम होंगे।

कोड के शीर्ष पर स्थिरांक बदलना याद रखें ताकि आपका ESP8266 आपके वाईफाई नेटवर्क और आपके MQTT ब्रोकर (रास्पबेरी पाई) से जुड़ सके।

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

चरण 6: पायथन क्लाइंट स्थापित करना (पाहो-एमक्यूटीटी)

पायथन क्लाइंट स्थापित करना (पाहो-एमक्यूटीटी)
पायथन क्लाइंट स्थापित करना (पाहो-एमक्यूटीटी)

शुक्र है, यह कदम बहुत आसान है! मच्छर अजगर क्लाइंट को स्थापित करने के लिए, आपको बस कमांड लाइन (लिनक्स / मैक) या यहां तक कि कमांड प्रॉम्प्ट (विंडोज) में निम्नलिखित टाइप करना होगा।

पाइप स्थापित पाहो-mqtt

नोट: विंडोज कमांड प्रॉम्प्ट में पाइप कमांड चलाने में कोई समस्या हो सकती है यदि आपने यह निर्दिष्ट नहीं किया है कि आप पाइप स्थापित करना चाहते हैं और जब आप पाइथन स्थापित करते हैं तो आपके पाथ चर में पाइथन जोड़ा जाता है। इसे ठीक करने के कई तरीके हैं, लेकिन मुझे लगता है कि सिर्फ पायथन को फिर से स्थापित करना सबसे आसान तरीका है। यदि संदेह है - इसे एक Google दें!

चरण 7: पायथन क्लाइंट - सदस्यता लेना

पायथन क्लाइंट - सदस्यता लेना
पायथन क्लाइंट - सदस्यता लेना

इस चरण में, हम ESP8266 द्वारा MQTT विषय पर भेजे गए (प्रकाशित) सभी संदेशों को संभालने के लिए पायथन स्क्रिप्ट (या तो रास्पबेरी पाई पर या नेटवर्क से जुड़े किसी अन्य कंप्यूटर पर) को सेटअप करने जा रहे हैं।

मैंने नीचे पायथन कोड (PythonMQTT_Subscribe.py) शामिल किया है, जिस पर टिप्पणी की गई है ताकि आपको यह समझने में मदद मिल सके कि क्या हो रहा है, लेकिन मैं यहां कुछ मुख्य विशेषताओं के बारे में भी बताऊंगा।

यदि आपने पहले MQTT कनेक्शन के लिए उपयोगकर्ता नाम और पासवर्ड सेट नहीं किया था, तो इसके बजाय PythonMQTT_SubscribeNoPassword.py फ़ाइल डाउनलोड करें।

चरण 8: ESP8266 उपकरणों के बीच संचार करना

ESP8266 उपकरणों के बीच संचार
ESP8266 उपकरणों के बीच संचार

उदाहरण के लिए, यदि आप IoT नेटवर्क स्थापित करना चाहते हैं, तो आप ESP8266 उपकरणों के बीच संचार करना चाह सकते हैं। शुक्र है, यह हमारे द्वारा पहले लिखे गए कोड से कहीं अधिक जटिल नहीं है, हालांकि, कुछ उल्लेखनीय परिवर्तन हैं।

एक ईएसपी को दूसरे को डेटा भेजने के लिए, पहले ईएसपी को विषय पर प्रकाशित करने की आवश्यकता होगी, और दूसरे ईएसपी को उस विषय की सदस्यता लेने की आवश्यकता होगी। यह सेटअप एकतरफा बातचीत की अनुमति देगा - ESP(1) से ESP(2)। अगर हम चाहते हैं कि ईएसपी (2) ईएसपी (1) से बात करे, तो हम एक नया विषय बना सकते हैं, जिसमें ईएसपी (2) प्रकाशित होगा, और ईएसपी (1) सदस्यता लेगा। शुक्र है, हमारे पास एक ही विषय पर कई ग्राहक हो सकते हैं, इसलिए यदि आप कई प्रणालियों को डेटा भेजना चाहते हैं, तो आपको केवल एक विषय की आवश्यकता होगी (जिसके लिए वे सभी सदस्यता लेते हैं, उस उपकरण को छोड़कर जो डेटा भेज रहा है, जैसा कि होगा प्रकाशन हो)।

यदि आपको यह पता लगाने में सहायता की आवश्यकता है कि प्रत्येक उपकरण को क्या करने की आवश्यकता है, तो सिस्टम को लोगों के कमरे के रूप में सोचें। यदि ईएसपी (1) प्रकाशित हो रहा है, तो आप इस डिवाइस को "स्पीकर" के रूप में कल्पना कर सकते हैं, और इस उदाहरण में विषय की सदस्यता लेने वाले सभी डिवाइस "श्रोता" हैं।

मैंने नीचे कुछ उदाहरण कोड शामिल किए हैं, जो दर्शाता है कि कैसे एक ESP8266 किसी विषय की सदस्यता ले सकता है, और कुछ संदेशों को सुन सकता है - 1 और 0। यदि 1 प्राप्त होता है, तो ऑन-बोर्ड एलईडी (HUZZAH - GPIO 0 के लिए) चालू होता है।. यदि 0 प्राप्त होता है, तो यह एलईडी बंद हो जाती है।

यदि आप अधिक जटिल डेटा को संसाधित करना चाहते हैं, तो यह रिसीव्डमैसेज फ़ंक्शन (कोड देखें) में किया जाना चाहिए।

अपने स्वयं के प्रोजेक्ट के लिए, यदि आपको डेटा भेजने और प्राप्त करने दोनों की आवश्यकता है, तो आप पिछले उदाहरण से प्रकाशित फ़ंक्शन को इस चरण में शामिल कोड में शामिल कर सकते हैं। इसे मुख्य Arduino लूप () फ़ंक्शन में नियंत्रित किया जाना चाहिए।

अपने नेटवर्क के अनुरूप कोड के शीर्ष पर चर बदलना याद रखें!

सिफारिश की: