IoT Worlds
एमक्यूटीटी
ब्लॉगस्मार्ट डिवाइस

MQTT का अर्थ IoT उपकरणों को वेब अनुप्रयोगों से जोड़ना है

सभी उपलब्ध मैसेजिंग प्रोटोकॉल के साथ, केवल एक को चुनना मुश्किल हो सकता है। और इतने सारे विकल्पों के साथ, ऐसी स्थिति में खुद को ढूंढना बहुत आसान है जहां आप एक ऐसा प्रयास करते हैं जो आपके या आपकी टीम के लिए काम नहीं करता है। Mqtt एक हल्का प्रोटोकॉल है जिसमें केवल ग्राहकों और दलालों की आवश्यकता होती है, इसलिए यह उन स्थितियों के लिए एकदम सही है जहाँ आप कोई परेशानी नहीं चाहते हैं। यह लेख यह पता लगाएगा कि यह प्रोटोकॉल क्या करने में सक्षम है और यह इन चीजों को कैसे प्राप्त करता है!

MQTT क्या है?

Mqtt एक हल्का मैसेजिंग प्रोटोकॉल है जिसके लिए केवल क्लाइंट और ब्रोकर की आवश्यकता होती है। यह उन स्थितियों के लिए एकदम सही है जहाँ आप कोई परेशानी या उपद्रव नहीं चाहते हैं, क्योंकि इसके लिए आपसे बहुत कम की आवश्यकता होती है।

मैसेजिंग प्रोटोकॉल क्या है?

मैसेजिंग प्रोटोकॉल नियमों का एक सेट है जिसका उपयोग विभिन्न मशीनों पर एप्लिकेशन को संचार करने की अनुमति देने के लिए किया जाता है। Mqtt को विशेष रूप से इंटरनेट ऑफ थिंग्स (IoT) के लिए डिज़ाइन किया गया था। अन्य प्रोटोकॉल की इतनी विस्तृत श्रृंखला उपलब्ध होने के कारण, इस उद्देश्य के लिए एक और प्रोटोकॉल बनाना अजीब लग सकता है। लेकिन, चूंकि बहुत सारे उपकरण और सेवाएं इस क्षेत्र पर निर्भर हैं, इसलिए हम समय के साथ उनमें से अधिक से अधिक देखने की संभावना रखते हैं!

MQTT के बारे में इतना अच्छा क्या है?

Mqtt वास्तव में अद्वितीय है, क्योंकि यह आपको अगले कुछ नहीं के साथ बहुत कुछ देता है। आपको कई अन्य प्रोटोकॉल की तरह एक समर्पित सर्वर या फारवर्डर की आवश्यकता नहीं है, जिसका अर्थ है कि कोई बुनियादी ढांचा सिरदर्द भी नहीं है। आपको बस एक पहले से मौजूद ब्रोकर और इंटरनेट कनेक्शन वाला कोई हार्डवेयर चाहिए। इसके काम की गुणवत्ता और यह कितना हल्का है, इसके लिए धन्यवाद, यह प्रोटोकॉल तेजी से लोकप्रिय हो रहा है। क्योंकि यह खुला स्रोत है और उपयोग करने के लिए मुफ़्त है, आप बिना किसी शुल्क या सदस्यता शुल्क के आसानी से शुरू कर सकते हैं। और Arduino के लिए MQTT लाइब्रेरी में निर्मित ब्रोकर समर्थन के साथ, हम यह देखने के लिए उत्साहित हैं कि कौन से बेहतरीन उत्पाद हमारे रास्ते में आएंगे।

एमक्यूटीटी की विशेषताएं क्या हैं?

Mqtt आपको मिलने वाले सरल, हल्के संदेश प्रोटोकॉल के सर्वोत्तम उदाहरणों में से एक है। इसका मुख्य विक्रय बिंदु यह है कि इसका उपयोग करना कितना आसान है – इंटरनेट कनेक्शन वाला कोई भी उपकरण इस प्रोटोकॉल की पेशकश का लाभ उठा सकता है। लेकिन इस प्रोटोकॉल के उपयोग में आसानी के अलावा और भी बहुत कुछ है। आइए जानें कि आप इससे और क्या उम्मीद कर सकते हैं!

MQTT उपयोग के उदाहरण

ए। पंप और वाल्व को नियंत्रित करने वाले कारखाने में IoT उपकरण

बी। क्लाउड पर एक डेटाबेस को रिपोर्ट करने वाले सेंसर वाला मौसम स्टेशन

सी। एक अलार्म सिस्टम जो रिपोर्ट करता है कि दरवाजे कब खुलते या बंद होते हैं

डी। गति का पता चलने पर कार्यालय में कुछ लाइटें चालू होती हैं

1. एमक्यूटीटी क्या है और इसकी विशेषताएं क्या हैं?

MQTT का मतलब मैसेज क्यूइंग टेलीमेट्री ट्रांसपोर्ट है, जो जटिल लग सकता है लेकिन इसका सीधा सा मतलब है कि यह IoT उपकरणों के लिए इंटरनेट का उपयोग करके एक दूसरे के साथ संवाद करने का एक तरीका है। यह टीसीपी/आईपी जैसे एचटीटीपी, एसएमटीपी आदि पर चलता है, लेकिन एचटीटीपी के विपरीत जो इंटरनेट पर संचार के लिए है, एमक्यूटीटी का उपयोग उन उपकरणों के साथ किया जाता है जो एक नेटवर्क के साथ एक दूसरे से जुड़े होते हैं, आमतौर पर एक आईपी नेटवर्क। यह आमतौर पर IoT में कम शक्ति वाले एम्बेडेड उपकरणों के साथ उपयोग किया जाता है जो रास्पबेरी पाई या अरुडिनो बोर्ड जैसी चीजों से जुड़ते हैं।

2. यह कैसे काम करता है?

यह ईमेल की तरह काम करता है। IoT डिवाइस किसी विषय पर संदेश प्रकाशित करता है। यह किसी को ईमेल भेजने जैसा है, लेकिन किसी व्यक्ति के बजाय यह एक विषय का नाम है। संदेश में 2kb तक डेटा हो सकता है और इसे पैकेट के रूप में भेजा जाता है।

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

MQTT में एक गुणवत्ता सेवा (QoS) स्तर है जिसका अर्थ है कि संदेशों के लिए विभिन्न प्राथमिकता स्तर हो सकते हैं। QoS स्तर क्लाइंट द्वारा निर्धारित किया जाता है और भेजे गए प्रत्येक पैकेट में उस स्तर की प्राथमिकता होती है।

3. एमक्यूटीटी के लाभ

यह हल्का है, टीसीपी/आईपी पर चलता है, HTTP से कम ओवरहेड

संदेशों को एक कतार में तब तक संग्रहीत किया जाता है जब तक कि उन्हें उनके गंतव्य डिवाइस पर नहीं भेजा जा सकता

इसमें बिल्ट-इन रीकनेक्शन सपोर्ट है

प्रमाणीकरण और एन्क्रिप्शन के लिए प्रत्येक क्लाइंट का अपना सुरक्षा कॉन्फ़िगरेशन हो सकता है

क्यूओएस विभिन्न संदेश प्रकारों को अलग-अलग प्राथमिकता स्तर रखने की अनुमति देता है

4. एमक्यूटीटी के अनुप्रयोग

वास्तविक दुनिया में इसका उपयोग कैसे किया जा रहा है, इसके कुछ उदाहरण M2M एलायंस के साथ हैं, एक ऐसा प्रोजेक्ट जिसका उद्देश्य “चीजों” को उपकरणों के बीच डेटा स्थानांतरित करने के लिए एक सुरक्षित प्लेटफॉर्म से जोड़ना है। एक अन्य उपयोग मामला CEPH परियोजना के साथ है। यह एक क्लाउड स्टोरेज सिस्टम है जो एक साथ कई यूजर्स के लिए फाइलों को स्टोर और शेयर कर सकता है। यह डेटा को एन्क्रिप्ट करके वितरित पहुंच को सुरक्षित करने के लिए MQTT का उपयोग करता है, जो डेटा सुरक्षा के बारे में चिंता किए बिना विभिन्न गेटवे का उपयोग करके इसे IoT उपकरणों के बीच स्थानांतरित करने की अनुमति देता है।

5. एमक्यूटीटी के साथ शुरुआत करना

पहली चीज जिसकी जरूरत है वह है एमक्यूटीटी क्लाइंट; यह वह एप्लिकेशन है जो संदेश भेजता और प्राप्त करता है। रास्पबेरी पाई फाउंडेशन के पास आपके पाई डिवाइस पर एमक्यूटीटी के साथ शुरुआत करने के लिए एक गाइड है। वहाँ अन्य गाइड भी उपलब्ध हैं जैसे कि हैकस्टर से यह एक जो आपको पायथन प्रोग्रामिंग भाषा पर चलने के लिए कोड देता है।

सर्वश्रेष्ठ MQTT ऑनलाइन पाठ्यक्रम

  1. मास्टरींग MQTT
  2. मास्टर एमक्यूटीटी प्रोटोकॉल
  3. एमक्यूटीटी क्लाइंट एंड्रॉइड ऐप विकसित करें
  4. एमक्यूटीटी मास्टरक्लास
  5. मास्टरिंग एमक्यूटीटी प्रोटोकॉल: ए बिगिनर्स टू एडवांस लेवल गाइड
  6. IoT: Adafruit, ऐप आविष्कारक और ESP8266 . के साथ MQTT
  7. MQTT Nodemcu (ESP8266) Nodered, Wifi और ब्लूटूथ के साथ

एमक्यूटीटी ब्रोकर बनाने के लिए टीएलएस बनाम एसएसएल

टीएलएस का उपयोग करने के पेशेवर:

-सुरक्षा: टीएलएस क्लाइंट और ब्रोकर के बीच एक सुरक्षित कनेक्शन प्रदान करता है। यह बीच-बीच में होने वाले हमलों और छिपकर बातें सुनने से बचाने में मदद करता है।

-प्रमाणीकरण: टीएलएस ब्रोकर और क्लाइंट का प्रमाणीकरण प्रदान करता है, यह सुनिश्चित करने में मदद करता है कि केवल अधिकृत क्लाइंट ही ब्रोकर से जुड़ने में सक्षम हैं।

-एन्क्रिप्शन: टीएलएस क्लाइंट और ब्रोकर के बीच डेटा का एन्क्रिप्शन प्रदान करता है, जिससे अनधिकृत व्यक्तियों द्वारा जानकारी को देखने से बचाने में मदद मिलती है।

टीएलएस का उपयोग करने के विपक्ष:

-प्रदर्शन: टीएलएस संचार में ओवरहेड जोड़ सकता है, जिससे प्रदर्शन कम हो सकता है।

-प्रमाणपत्र: टीएलएस का उपयोग करने के लिए, आपको क्लाइंट और ब्रोकर दोनों के लिए प्रमाणपत्र की आवश्यकता होती है। इन प्रमाणपत्रों को प्राप्त करना मुश्किल हो सकता है और उपयोग में महंगा हो सकता है, जो टीएलएस का उपयोग करने की लागत को बढ़ा सकता है।

एसएसएल का उपयोग करने के पेशेवर:

-सुरक्षा: एसएसएल टीएलएस की तरह ही क्लाइंट और ब्रोकर के बीच एक सुरक्षित कनेक्शन प्रदान करता है। यह बीच-बीच में होने वाले हमलों और छिपकर बातें करने से बचाने में भी मदद करता है।

-प्रमाणपत्र: चूंकि एसएसएल टीएलएस के शीर्ष पर बनाया गया है, आप ट्रैफ़िक को एन्क्रिप्ट करने के लिए समान प्रमाणपत्रों का उपयोग कर सकते हैं।

एसएसएल का उपयोग करने के विपक्ष:

-प्रदर्शन: क्लाइंट और ब्रोकर के बीच एन्क्रिप्शन संचार के लिए ओवरहेड जोड़ देगा, जिससे प्रदर्शन कम हो जाता है।

-मेमोरी उपयोग: एसएसएल प्रोटोकॉल अन्य प्रोटोकॉल की तुलना में अधिक मेमोरी का उपयोग करेगा क्योंकि यह ब्रोकर के साथ एक एन्क्रिप्शन/डिक्रिप्शन सत्र बनाए रखता है।

-संस्करण मुद्दे: एसएसएल एक पुराना प्रोटोकॉल है, और यह टीएलएस द्वारा प्रदान की जाने वाली कुछ सुविधाओं का समर्थन नहीं करता है (उदाहरण के लिए, नए सिफर)।

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

अंत में मैं कहूंगा कि परियोजना की जरूरतों के आधार पर एक सही उत्तर है। इस मामले में टीएलएस का उपयोग करना बेहतर है, क्योंकि यह एसएसएल की तुलना में अधिक लाभ प्रदान करता है।

आपके IoT प्रोजेक्ट्स में MQTT प्रोटोकॉल का उपयोग करने के शीर्ष 5 कारण

MQTT एक मशीन-टू-मशीन (M2M) मैसेजिंग प्रोटोकॉल है, जिसे संसाधन-विवश उपकरणों के लिए डिज़ाइन किया गया है, जो उपकरणों को क्लाउड से जोड़ता है।

1. यह हल्का और उपयोग में आसान है: एमक्यूटीटी एक प्रकाशित/सब्सक्राइब मैसेजिंग प्रोटोकॉल है जिसे हल्के और उपयोग में आसान होने के लिए डिज़ाइन किया गया है।

2. इसका एक छोटा पदचिह्न है: MQTT HTTP के लगभग 1/10 वें बैंडविड्थ का उपयोग करता है, जो इसे सीमित नेटवर्क संसाधनों वाले IoT अनुप्रयोगों के लिए आदर्श बनाता है।

3. यह क्यूओएस का समर्थन करता है: एमक्यूटीटी सेवा की गुणवत्ता (क्यूओएस) का समर्थन करता है, जो वांछित विलंबता या गुणवत्ता पर संदेशों के वितरण की गारंटी देता है।

4. यह किसी भी नेटवर्क पर चल सकता है: एमक्यूटीटी एक क्रॉस-प्लेटफ़ॉर्म प्रोटोकॉल है जो वाईफाई, ब्लूटूथ लो एनर्जी (बीएलई) या 2 जी / 3 जी सेलुलर नेटवर्क पर चल सकता है।

5. इसमें कई प्रोग्रामिंग भाषाओं में कई क्लाइंट लाइब्रेरी उपलब्ध हैं: C, C++, JavaScript, Arduino IDE, Python और Java के लिए क्लाइंट लाइब्रेरी हैं।

अपने पीसी या वीपीएस सर्वर पर डॉकर कंटेनर का उपयोग करके एमक्यूटीटी ब्रोकर को कैसे सेटअप करें?

MQTT एक मशीन-टू-मशीन (M2M)/“IoT” मैसेजिंग प्रोटोकॉल है, जिसे बेहद हल्के पब्लिश/सब्सक्राइब मैसेजिंग ट्रांसपोर्ट के रूप में डिज़ाइन किया गया है। यह दूरस्थ स्थानों के साथ कनेक्शन के लिए उपयोगी है जहां एक छोटे कोड पदचिह्न की आवश्यकता होती है और/या नेटवर्क बैंडविड्थ प्रीमियम पर होता है।

इस लेख में, हम आपको दिखाएंगे कि अपने पीसी या वीपीएस सर्वर पर डॉकर कंटेनर का उपयोग करके एमक्यूटीटी ब्रोकर कैसे सेटअप करें।

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

1) विंडोज / मैक के लिए डॉकर स्थापित करना

डॉकर माइक्रोसॉफ्ट विंडोज और मैक ओएस एक्स यूजर्स के लिए उपलब्ध है। आप यहां से उपयुक्त संस्करण डाउनलोड कर सकते हैं: https://docs.docker.com/docker-for-windows/install/।

2) अपने होस्ट पर डॉकर-कंपोज़ इंस्टॉल करना

अपने घर में बने MQTT ब्रोकर को आसानी से तैनात करने के लिए, हम docker-compose टूल का उपयोग करेंगे। यह आपको एक साधारण YAML फ़ाइल का उपयोग करके मल्टी-कंटेनर डॉकर एप्लिकेशन को परिभाषित और चलाने देता है। आप यहाँ से docker-compose के बारे में अधिक जान सकते हैं: https://docs.docker.com/compose/।

आप यहां से डॉकर-कंपोज़ टूल डाउनलोड कर सकते हैं: https://github.com/docker/compose/releases/। एक बार यह हो जाने के बाद, आपको अपने टर्मिनल में ‘डॉकर-कंपोज़’ कमांड चलाने और इसके संस्करण की जांच करने या इसके किसी भी उप-आदेश का उपयोग करने में सक्षम होना चाहिए।

इस लेख के लिए मूल डॉकर शब्दावली:

1) “डॉकर कंटेनर” वह प्रक्रिया है जो पृष्ठभूमि में चलती है जब आप डॉकर रन कमांड का उपयोग करके एक छवि चलाते हैं। डॉकर बिल्ड में इसके निर्माण के संबंध में एक छवि के चलने वाले उदाहरण को ‘कंटेनर’ कहा जाता है।

2) “डॉकर इमेज” एक केवल-पढ़ने वाला टेम्प्लेट है जिसमें डॉकटर कंटेनर बनाने के निर्देश हैं। यह फाइल सिस्टम परतों की एक श्रृंखला से बना है जो अंतिम छवि के विभिन्न राज्यों का प्रतिनिधित्व करता है जिसे हम बनाना चाहते हैं

3) डॉकर बिल्ड कमांड की कॉपी वर्तमान वर्किंग डायरेक्टरी में डॉकरफाइल से इसके विवरण को पढ़कर और फिर वर्तमान इमेज के ऊपर एक नई लेयर में उपयुक्त कमांड को निष्पादित करके एक इमेज बनाती है।

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

YAML फ़ाइल एक कॉन्फ़िगरेशन फ़ाइल है जिसमें बाहरी डेटाबेस, MQTT सर्वर आदि से कनेक्ट करने की जानकारी होती है, साथ ही यह जानकारी भी होती है कि कंटेनर कैसे और क्या बनाए जाने चाहिए। हम अगले भाग में अपने ब्रोकर को कॉन्फ़िगर करने के लिए एक YAML फ़ाइल बनाएंगे।

3) अपने MQTT ब्रोकर को कॉन्फ़िगर करने के लिए YAML फ़ाइल बनाना

YAML फाइलें आम तौर पर कई कुंजी-मूल्य जोड़े से बनी होती हैं, जो कोलन (“:”) से जुड़ी होती हैं। आप यहाँ से YAML के बारे में अधिक जान सकते हैं: https://en.wikipedia.org/wiki/YAML#Syntax।

हमारे मामले में, हम MQTT ब्रोकर को निम्नानुसार कॉन्फ़िगर करने के लिए एक YAML फ़ाइल बनाएंगे:

संस्करण: “3”

YAML के इस खंड में, हम कंटेनर के नाम को “homer-mqtt” के रूप में परिभाषित करते हैं और उस छवि को निर्दिष्ट करते हैं जिसका उपयोग इसे बनाने के लिए किया जाना चाहिए। इस मामले में, हम यहां से डॉकर हब से “davidtgoldblatt/homer-mqtt” छवि चुनेंगे: https://hub.docker.com/_/homer-mqtt/।

हमारी YAML फ़ाइल में, हम कुछ वॉल्यूम भी इस प्रकार घोषित करते हैं:

मात्रा:

– /var/run/docker.sock:/var/run/docker.sock

ये वॉल्यूम हमें डॉकटर कंटेनर के लिए लगातार भंडारण करने देंगे, जिससे हमारी सेटिंग्स सर्वर रिबूट और क्रैश के माध्यम से बनी रह सकेंगी। आप यहां से वॉल्यूम के बारे में अधिक जान सकते हैं: https://docs.docker.com/engine/userguide/dockervolumes/।

अपने डेटाबेस विवरण को निर्दिष्ट करने के लिए, हम निम्नलिखित प्रविष्टियों के साथ एक “db_addresses” अनुभाग जोड़ते हैं:

db_पते:

– “होस्ट = 172.17.0.2 पोर्ट = 3306 उपयोगकर्ता = होमर डीबीनाम = होमर”

उपरोक्त उदाहरण में, हम अपने डेटाबेस इंस्टेंस के लिए एक होस्ट और पोर्ट निर्दिष्ट करते हैं। ध्यान दें कि किसी उपयोगकर्ता को निर्दिष्ट करते समय, आपको उपयोगकर्ता नाम से पहले “@” प्रतीक जोड़ना होगा। ऐसा इसलिए है क्योंकि यूनिक्स सिस्टम में यूज़रनेम में अक्षर और संख्या दोनों होते हैं। यदि आप इसे छोड़ देते हैं, तो डॉकर इस तरह की त्रुटियों की शिकायत करता है:

आपको @ या * जैसे विशेष वर्णों से बचना होगा

अपने डेटाबेस क्रेडेंशियल्स को निर्दिष्ट करने के लिए, हम निम्नानुसार एक “डेटाबेस_पासवर्ड” अनुभाग जोड़ते हैं:

डेटाबेस_पासवर्ड: “होमरुन 1”

उपरोक्त उदाहरण में, आपको अपनी पसंद के पासवर्ड का उपयोग करना चाहिए। यदि आप पहली बार डेटाबेस पासवर्ड सेट करना चाहते हैं, तो आप यहां बिना पासवर्ड वाला नया रूट उपयोगकर्ता बनाने के बारे में हमारी मार्गदर्शिका देख सकते हैं: https://homer-mqtt.readthedocs.io/en/latest/configure_database_and_create_new_root_user .html

हमारे MQTT सर्वर विवरण निर्दिष्ट करने के लिए, हम निम्नलिखित प्रविष्टियों के साथ एक “mqtt_server” अनुभाग जोड़ते हैं:

mqtt_server:

– नाम: mqtt होस्ट: 172.17.0.1 पोर्ट: 8883 उपयोगकर्ता नाम: “होमरुन” पासवर्ड: “होमरुन 1”

उपरोक्त उदाहरण में, हम पोर्ट 8883 पर ब्रोकर चलाते हैं और “होमरुन” के उपयोगकर्ता नाम और “होमरुन 1” के पासवर्ड का उपयोग करते हैं, जिसे हमने अपने डेटाबेस में बनाया है।

4) डॉकर के साथ अपना एमक्यूटीटी ब्रोकर चलाएं

इस चरण में, हम अपनी YAML फ़ाइल से एक डॉकटर कंटेनर बनाएंगे और उसे चलाएंगे।

ऐसा करने के लिए, उस निर्देशिका में सीडी जहां आपके पास वाईएएमएल फ़ाइल है और निम्नानुसार “डॉकर-कंपोज़ अप” चलाएं:

$ डोकर-लिखें अप

यह कमांड आपकी YAML फाइल में विवरण के आधार पर एक नया डॉकटर कंटेनर बनाएगा और इसे शुरू करेगा।

यदि आप इसे पृष्ठभूमि में प्रारंभ करना चाहते हैं, तो इसके बजाय “docker-compose up -d” का उपयोग करें। यदि आप अपने डॉकटर कंटेनर के लॉग को प्रिंट करना चाहते हैं, तो निम्नानुसार “डॉकर-कंपोज़ लॉग्स mqttclient” चलाएँ:

$ docker-compose logs mqttclient

आप “डॉकर-कंपोज़ पीएस” का उपयोग करके डॉकटर कंटेनर को वास्तविक समय में लाइव देख सकते हैं:

$ docker-compose ps

5) अपने MQTT क्लाइंट को डॉकर के साथ चलाना

इस चरण में, हम अपनी YAML फ़ाइल से एक डॉकटर कंटेनर बनाएंगे और उसे चलाएंगे।

ऐसा करने के लिए, उस निर्देशिका में सीडी जहां आपके पास वाईएएमएल फ़ाइल है और निम्नानुसार “डॉकर-कंपोज़ अप” चलाएं:

$ डोकर-लिखें अप

यह कमांड आपकी YAML फाइल में विवरण के आधार पर एक नया डॉकटर कंटेनर बनाएगा और इसे शुरू करेगा।

यदि आप इसे पृष्ठभूमि में प्रारंभ करना चाहते हैं, तो इसके बजाय “docker-compose up -d” का उपयोग करें। आप “डॉकर-कंपोज़ पीएस” का उपयोग करके डॉकटर कंटेनर को वास्तविक समय में लाइव देख सकते हैं:

$ docker-compose ps

6) डॉकर के साथ अपने MQTT क्लाइंट का उपयोग करना

अब जब हमारी YAML फ़ाइल सेट हो गई है, तो अब हम Docker के साथ अपने MQTT क्लाइंट का उपयोग शुरू कर सकते हैं।

ऐसा करने के लिए, उस निर्देशिका पर जाएँ जहाँ आपकी YAML फ़ाइल है और निम्नानुसार “docker exec” चलाएँ:

$ docker exec -it mqttclient /bin/bash

अब आपको “/ होम / होमरुन” (जो हमारे डॉकटर कंटेनर के लिए होम डायरेक्टरी है) नामक एक निर्देशिका देखनी चाहिए और आपको उस निर्देशिका के अंदर होना चाहिए।

अब आप अपने डेटाबेस को “mysql -uroot -proot” टाइप करके देख सकते हैं:

$ mysql -uroot -proot

आपको अपने सभी डेटाबेस स्क्रीन पर देखना चाहिए। आप देख सकते हैं कि MySQL इंस्टेंस के लिए बिना पासवर्ड वाला नया रूट यूजर कैसे बनाया जाता है: https://homer-mqtt.readthedocs.io/en/latest/configure_database_and_create_new_root_user.html

डॉकर में MQTT क्लाइंट कमांड चलाने के लिए, आपको “sbin/mqtt” टाइप करना होगा:

$ sbin/mqtt -c /home/homerun/config.yaml

उपरोक्त उदाहरण में, हम -c ध्वज के साथ एक कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करते हैं, जो इस ट्यूटोरियल में हमारे द्वारा बनाई गई कॉन्फ़िगरेशन फ़ाइल से हमारी MQTT सेटिंग्स को पढ़ता है।

यह जांचने के लिए कि क्या आपका MQTT क्लाइंट चालू है और चल रहा है, आप निम्नानुसार “docker-compose ps” का उपयोग कर सकते हैं:

$ docker-compose ps

उपरोक्त उदाहरण में, हमारे MQTT क्लाइंट को सफलतापूर्वक प्रारंभ किया गया है। अब आपको अपने सभी डेटाबेस को स्क्रीन पर देखना चाहिए।

डॉकर में MQTT क्लाइंट कमांड चलाने के लिए, आपको “sbin/mqtt” टाइप करना होगा:

$ sbin/mqtt -c /home/homerun/config.yaml

उपरोक्त उदाहरण में, हम -c ध्वज के साथ एक कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करते हैं, जो इस ट्यूटोरियल में हमारे द्वारा बनाई गई कॉन्फ़िगरेशन फ़ाइल से हमारी MQTT सेटिंग्स को पढ़ता है।

यह जांचने के लिए कि क्या आपका MQTT क्लाइंट चालू है और चल रहा है, आप निम्नानुसार “docker-compose ps” का उपयोग कर सकते हैं:

$ docker-compose ps

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

$ docker exec -it mqttclient /bin/bash

$sbin/mqtt publish -t ‘test’ -h 172.17.0.1 -m ‘hello world!’

$ docker exec -it mqttclient /bin/bash

$ sbin/mqtt सदस्यता लें -t ‘परीक्षण’ -h 172.17.0.1 -u mqttuser

7) डॉकर के साथ अपने एमक्यूटीटी क्लाइंट को साफ करना

अपने डॉकटर कंटेनर को रोकने के लिए, आपको निम्नानुसार “डॉकर-कंपोज़ डाउन” चलाने की आवश्यकता है:

$ डोकर-लिखें नीचे

8) डॉकर वॉल्यूम के साथ अपने एमक्यूटीटी क्लाइंट को साफ करना

अपने mysql डेटाबेस और mqtt उपयोगकर्ता को बनने से रोकने के लिए, आप -v ध्वज का उपयोग कर सकते हैं।

$ डोकर-लिखें नीचे -v

आप अपनी YAML फ़ाइल वाली निर्देशिका को हटाकर भी अपने परिवेश को साफ़ कर सकते हैं।

Mysql डेटाबेस और mqtt उपयोगकर्ता सफलतापूर्वक बनाया गया! जब आप डॉकटर कंटेनर को हटाते हैं तो वे स्वचालित रूप से हटा दिए जाएंगे। अब आप “बाहर निकलें” टाइप करके इस शेल से बाहर निकल सकते हैं।

इस ट्यूटोरियल में, हमने देखा है कि डॉकर कंटेनर के माध्यम से अपने एमक्यूटीटी क्लाइंट को कैसे कॉन्फ़िगर किया जाए।

निष्कर्ष

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

अपना MQTT समाधान विकसित करने के इच्छुक हैं? संपर्क करें!

Related Articles

WP Radio
WP Radio
OFFLINE LIVE