मैसेजिंग क्यूइंग टेलीमेट्री प्रोटोकॉल, या एमक्यूटीटी, एक हल्का मैसेजिंग प्रोटोकॉल है जिसे कम बैंडविड्थ उपकरणों और वातावरण के लिए डिज़ाइन किया गया है। यह कई IoT उपकरणों के बीच सूचनाओं को जोड़ने और आदान-प्रदान करने के लिए एक तेज़, आसान-से-तैनाती और ऊर्जा-कुशल समाधान है। इसके लिए एक MQTT ब्रोकर/सर्वर की आवश्यकता होती है और जिस विषय पर संदेश प्रकाशित होते हैं और सूचना भेजने या प्राप्त करने के लिए उपकरणों या उपयोगकर्ताओं द्वारा सदस्यता ली जाती है।
इस गाइड में, हम MQTT-सक्षम DIY स्मार्ट IoT उपकरणों को जोड़ने और होम ऑटोमेशन के लिए उनका उपयोग करने के लिए रास्पबेरी पाई पर MQTT ब्रोकर और Node-RED टूल को तैनात करेंगे।
चीजें जिनकी आपको आवश्यकता होगी
Node-RED के साथ MQTT सर्वर बनाने और तैनात करने के लिए, आपको निम्नलिखित की आवश्यकता होगी:
- रास्पबेरी पाई जीरो डब्ल्यू या बेहतर। हम रास्पबेरी पाई 3 या 4 (यदि उपलब्ध हो) का उपयोग करने की सलाह देते हैं।
- एक माइक्रोएसडी कार्ड (8GB या अधिक)।
- एक माइक्रोएसडी कार्ड रीडर।
- एक लिनक्स पीसी, मैक, या विंडोज पीसी।
- इंटरनेट कनेक्शन (वाई-फाई)।
चरण 1: रास्पबेरी पाई ओएस लाइट (64-बिट) स्थापित करें
आपको रास्पबेरी पाई ओएस के 64-बिट लाइट संस्करण की आवश्यकता होगी। में रास्पबेरी पाई इमेजर दूसरे कंप्यूटर पर उपकरण, क्लिक करें ओएस चुनें > रास्पबेरी पाई ओएस (अन्य), फिर चुनें रास्पबेरी पाई ओएस लाइट (64-बिट). इसके अलावा, आप SSH को सक्षम करने के लिए इमेजर की उन्नत सेटिंग्स का उपयोग करना चाहेंगे (हमने इस्तेमाल किया अनुकरणीय तथा रसभरी इस गाइड के लिए उपयोगकर्ता नाम और पासवर्ड के रूप में) और वाई-फाई कनेक्शन को कॉन्फ़िगर करें। अधिक जानकारी के लिए, हमारे गाइड को देखें रास्पबेरी पाई पर एक ऑपरेटिंग सिस्टम कैसे स्थापित करें?. ओएस को कार्ड में लिखने के बाद, इसे बाहर निकालें और इसे अपने रास्पबेरी पाई में डालें।
चरण 2: SSH से कनेक्ट करें और पैकेज अपडेट करें
आप Windows या Terminalon macOS और Linux पर PuTTY का उपयोग करके SSH पर अपने रास्पबेरी पाई से कनेक्ट कर सकते हैं। हालाँकि, आपको SSH से जुड़ने के लिए रास्पबेरी पाई का आईपी पता होना चाहिए। पता लगाने के लिए, आप अपने वायरलेस राउटर की डीएचसीपी सेटिंग्स खोल सकते हैं या अपने स्मार्टफोन पर फिंगएप का उपयोग कर सकते हैं।
में आईपी पता दर्ज करें पुट्टी और क्लिक करें जुडिये. लॉग इन करने के लिए अपना यूजरनेम और पासवर्ड टाइप करें।
Linux या macOS टर्मिनल पर, टाइप करें YourPiUsername@IPAddress और फिर लॉग इन करने के लिए पासवर्ड टाइप करें। एक बार SSH के माध्यम से कनेक्ट होने के बाद, पैकेज सूची को अपडेट करने और पैकेज को अपग्रेड करने के लिए निम्न कमांड चलाएँ।
सुडो उपयुक्त अद्यतन && सुडो उपयुक्त अपग्रेड –आप
चरण 3: एमक्यूटीटी ब्रोकर स्थापित करें
MQTT ब्रोकर (मच्छर) को स्थापित और सक्षम करने के लिए, निम्नलिखित कदम उठाएँ।
- टर्मिनल विंडो में निम्न आदेश चलाकर मच्छर स्थापित करें।
यह मॉस्किटो (MQTT ब्रोकर) और क्लाइंट सेवाओं को स्थापित करना शुरू कर देगा।सुडो उपयुक्त इंस्टॉल मच्छर मच्छर-ग्राहक -y
- स्थापना के बाद, मच्छर सेवा को सक्षम करें और निम्न आदेशों का उपयोग करके MQTT संस्करण की जाँच करें।
सुडोसिस्टमसीटीएलसक्षम करनाmosquitto।सर्विस
मच्छर -v - निम्नलिखित कमांड का उपयोग करके प्रमाणित रिमोट एक्सेस की अनुमति देने के लिए एक उपयोगकर्ता खाता बनाएं।
यहां रवि उपयोगकर्ता नाम है (आप जो चाहें उपयोग कर सकते हैं)। संकेत मिलने पर पासवर्ड दर्ज करें। बाद में उपयोग के लिए इस उपयोगकर्ता नाम और पासवर्ड को नोट कर लें।sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- खोलें mosquitto.conf निम्न आदेश का उपयोग करके नैनो संपादक में फ़ाइल करें।
निम्नलिखित कोड को नैनो संपादक में चिपकाएँ।सुडो नैनो /etc/mosquitto.conf
प्रेस CTRL+X के बाद यू तथा प्रवेश करना परिवर्तनों को सहेजने के लिए।per_listener_settings सच
pid_file /run/mosquitto/mosquitto.pid
अटलता सच
हठ_स्थान /वर/lib/mosquitto/
log_dest फ़ाइल /वर/log/mosquitto/mosquitto.log
शामिल_दिर /आदि/मच्छर/conf.d
allow_anonymous असत्य
श्रोता 1883
पासवर्ड_फाइल /आदि/मच्छर/पासवार्ड - निम्न आदेश चलाकर MQTT ब्रोकर को पुनरारंभ करें।
sudo systemctl मच्छर पुनरारंभ करें
- MQTT चल रहा है या नहीं यह देखने के लिए MQTT ब्रोकर स्थिति की जाँच करें।
यदि आप उपरोक्त आउटपुट देखते हैं, तो MQTT चल रहा है।sudo systemctl स्थिति मच्छर
चरण 4: एमक्यूटीटी ब्रोकर का परीक्षण करें
यह जांचने के लिए कि एमक्यूटीटी ब्रोकर काम कर रहा है या नहीं, इंस्टॉल करें MQTTLens या क्रोम या किसी अन्य वेब ब्राउज़र में एक समान एमक्यूटीटी ऐप और इसे लॉन्च करें। रास्पबेरी पाई का आईपी पता और एमक्यूटीटी उपयोगकर्ता नाम / पासवर्ड दर्ज करें। क्लिक कनेक्शन बनाएं.
में कोई भी विषय दर्ज करें सदस्यता लेने के फ़ील्डऔर में एक ही विषय प्रकाशित करना खेत। संदेश क्षेत्र में "Hi" या कुछ भी टाइप करें और क्लिक करें प्रकाशित करना.
यदि आप सदस्यता के तहत संदेश देखते हैं, तो MQTT ब्रोकर ठीक काम कर रहा है।
चरण 5: नोड-रेड स्थापित करें
Node-RED के साथ, आप अपने स्मार्ट डिवाइस पर संदेश प्रकाशित कर सकते हैं या पेलोड भेज और प्राप्त कर सकते हैं। इस पेलोड का उपयोग स्मार्ट उपकरणों को चालू/बंद करने या सेंसर से डेटा (जैसे तापमान) प्राप्त करने के लिए ट्रिगर करने के लिए किया जा सकता है। आप अपने वेब ब्राउज़र का उपयोग नोड-रेड में ऐसे प्रवाह बनाने और अपने स्मार्ट उपकरणों को नियंत्रित करने के लिए कर सकते हैं।
नोड-रेड को स्थापित करने के लिए, टर्मिनल विंडो में निम्न कमांड निष्पादित करें।
बैश //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
यह आपके रास्पबेरी पाई पर नोड-रेड को डाउनलोड और इंस्टॉल करेगा। इसे पूरा होने में कुछ समय लग सकता है। एक बार नोड-रेड स्थापित हो जाने के बाद, आपको निम्न कमांड चलाकर एक नोड-रेड सेटिंग्स फ़ाइल बनाने की आवश्यकता है।
नोड-लाल व्यवस्थापक init
फिर इन चरणों का पालन करें:
- दबाएं प्रवेश करना चाभी।
- क्या आप उपयोगकर्ता सुरक्षा सेट करना चाहते हैं? चुनना हाँ. एक उपयोगकर्ता नाम और एक पासवर्ड दर्ज करें। इसे सुरक्षित रखें क्योंकि इसका उपयोग वेब इंटरफेस के माध्यम से लॉग इन करने और नोड-रेड को प्रबंधित करने के लिए किया जाएगा।
- चुनना पूर्ण पहुँच.
- आप कोई अन्य उपयोगकर्ता जोड़ सकते हैं या चुन सकते हैं नहीं आगे बढ़ने के लिए।
- चुनना नहीं जब परियोजना सुविधाओं को सक्षम करने के लिए कहा गया।
- प्रेस प्रवेश करना.
- पासफ़्रेज़ टाइप करें और इसे सुरक्षित रखें।
- चुनना पूर्व निर्धारित विषय > मोनाको (डिफ़ॉल्ट).
- चुनना नहीं जब बाहरी नोड्स लोड करने के लिए कहा गया।
एक बार यह हो जाने के बाद, नोड-रेड को पुनरारंभ करें।
नोड-लाल पुनरारंभ
अब आप जा सकते हैं योर-रास्पबेरी-पाई-आईपी: 1880 Node-RED एडमिन पैनल को खोलने और लॉग इन करने के लिए वेब ब्राउज़र में।
अब आप Node-RED में प्रवाह बना सकते हैं। नीचे एक नोड-रेड प्रवाह का एक उदाहरण है जिसका उपयोग हम अपने WS2812B 8x32 मैट्रिक्स डिस्प्ले को चलाने के लिए करते हैं जो वास्तविक समय में हमारे घर में स्थापित विभिन्न सेंसर जानकारी दिखाता है।
आरंभ करने के लिए, आप यह भी कर सकते हैं MAX7219 डॉट मैट्रिक्स का उपयोग करके एक DIY स्मार्ट घड़ी बनाएं, और उस पर टेक्स्ट या संदेश प्रदर्शित करने के लिए इसे अपने MQTT सर्वर से कनेक्ट करें।
MQTT और Node-RED का उपयोग करके होम ऑटोमेशन सक्षम करें
अब आप अपने MQTT-सक्षम स्मार्ट होम डिवाइस को नियंत्रित या मॉनिटर करने के लिए प्रवाह बना सकते हैं। आप DIY Tasmota स्मार्ट स्विच या Arduino- आधारित स्मार्ट सेंसर, और MQTT नियंत्रण वाले अन्य स्मार्ट डिवाइस भी बना सकते हैं और इस MQTT और Node-RED सर्वर के साथ उनका उपयोग कर सकते हैं। आप अपने स्मार्टफोन MQTT क्लाइंट से प्राप्त घटनाओं, समय या पेलोड के आधार पर होम ऑटोमेशन के लिए प्रवाह बना सकते हैं।
अपने एंड्रॉइड स्मार्टफोन पर, आप अपने एमक्यूटीटी ब्रोकर से कनेक्ट करने के लिए एमक्यूटीटी डैश इंस्टॉल कर सकते हैं और विभिन्न विषयों से पेलोड भेज या प्राप्त कर सकते हैं जिन्हें आपके स्मार्ट डिवाइस सदस्यता लेते हैं या प्रकाशित करते हैं।