- Microsoft Azure IoT हब क्या है?
- एज़्योर IoT हब बनाना
- रास्पबेरी पाई के साथ एज़्योर IoT के लिए हमारे टेस्ट सर्किट का निर्माण करने के लिए आवश्यक घटक
- रास्पबेरी पाई के साथ एज़्योर IoT - हार्डवेयर योजनाबद्ध
- प्रोग्रामिंग रास्पबेरी पाई को एज़्योर IoT हब पर डेटा प्रकाशित करने के लिए
- Azure IoT हब पर डेटा प्रकाशित करें - परीक्षण
Microsoft द्वारा क्लाउड कंप्यूटिंग सेवा Azure IoT हब, डेवलपर्स को एक ही मंच पर अरबों IoT उपकरणों को जोड़ने, मॉनिटर करने और प्रबंधित करने में सक्षम बनाता है। यह पहले से ही होम ऑटोमेशन सिस्टम, सुरक्षा, निगरानी और निगरानी प्रणालियों जैसे विभिन्न IoT अनुप्रयोगों में उपयोग किया जाता है। Azure IoT हब की क्षमताओं को प्रदर्शित करने के लिए, हम सेंसर डेटा को संसाधित करने के लिए, रास्पबेरी पाई, एक DHT11 तापमान, और आर्द्रता सेंसर के साथ एक छोटा सर्किट बनाने जा रहे हैं। अंत में, हम सेंसर डेटा को MQTT प्रोटोकॉल का उपयोग करके Azure IoT सर्वर पर प्रकाशित करेंगे । इस ट्यूटोरियल में, हम सीखेंगे कि अज़ूर सर्वर को कैसे सेट अप करें और कॉन्फ़िगर करें और रास्पबेरी पाई का उपयोग करके डेटा भेजें।
Microsoft Azure IoT हब क्या है?
Azure IoT हब प्रबंधित सेवाओं का एक संग्रह है जो IoT उपकरणों को कनेक्ट, मॉनिटर और नियंत्रित कर सकता है। यह भी उपकरणों के लिए सुरक्षित संचार, डेटा दृश्य और विश्लेषण है कि मदद बनाने, नियोजित करने के लिए उपकरण निर्माताओं, और की मदद से IoT अनुप्रयोगों का प्रबंधन के साथ शामिल Azure बादल। Azure IoT हब के डिवाइस-से-सीडी टेलीमेट्री डेटा से हमें कनेक्ट किए गए IoT डिवाइस की स्थिति के बारे में पता चलता है, और क्लाउड-टू-डिवाइस संदेश हमें कनेक्टेड डिवाइस पर कमांड और नोटिफिकेशन भेजने में सक्षम करते हैं। एक उदाहरण हो सकता है, स्मार्ट होम ऑटोमेशन सिस्टम का उपयोग करके, हम विभिन्न सेंसर डेटा एकत्र कर सकते हैं और उन्हें कल्पना करने, स्टोर करने और प्रबंधित करने के लिए एज़्योर IoT हब को भेज सकते हैं। हम एज़्योर IoT हब इंटरफ़ेस से आउटपुट डिवाइस को भी नियंत्रित कर सकते हैं।
IoT एप्लिकेशन और उपकरणों के लिए द्वि-दिशात्मक संचार के लिए सेंट्रल हब डिवाइस-क्लाउड और क्लाउड-डिवाइस संचार दोनों का समर्थन करता है, यह कई मैसेजिंग पैटर्न का भी समर्थन करता है जैसे डिवाइस को क्लाउड टेलीमेट्री, उपकरणों से फ़ाइल अपलोड और अनुरोध-उत्तर विधियों और अंत में, हम प्रति-डिवाइस प्रमाणीकरण पद्धति का उपयोग कर सकते हैं जो प्रत्येक डिवाइस को IoT हब से सुरक्षित रूप से कनेक्ट करने में सक्षम बनाता है। अब, जैसा कि आप Azure IoT हब की मूल बातें समझ चुके हैं, चलो सिस्टम स्थापित करने की ओर बढ़ते हैं।
एज़्योर IoT हब बनाना
हम Microsoft Azure सेवाओं की स्थापना के लिए आवश्यक सभी आवश्यक सेटअप करने के लिए तैयार हैं, लेकिन इससे पहले, सुनिश्चित करें कि आपके पास Microsoft खाता है। यदि आपके पास ऐसा नहीं है, तो आप बस साइन अप कर सकते हैं। इसके बाद, portal.azure.com का उपयोग करके Azure पोर्टल पर जाएं और लॉग इन करें।
एक बार जब आप लॉग इन हो जाते हैं, तो Azure होमपेज पर जाएं, एक संसाधन बनाएं बटन चुनें, और फिर द मार्केट मार्केट सर्च में IoT हब खोजें । खोज परिणामों से IoT हब का चयन करें, और फिर बनाएँ का चयन करें । नीचे दिए गए चित्र आपको प्रक्रिया का बेहतर विचार देंगे।
एक IoT हब बनाने के लिए आवश्यक विवरण भरें।
सदस्यता अनुभाग में, आपको अपने हब के लिए इसका उपयोग करने के लिए सदस्यता का चयन करना होगा। हमारे मामले में, हम एक परीक्षण खाते का चयन कर रहे हैं और हमने " फ्री ट्रायल" चुना है ।
अगला, संसाधन समूह अनुभाग में, अपने संसाधन समूह का चयन करें । यदि आपके पास एक नहीं है, तो आपको Create new पर क्लिक करके एक नया बनाने की जरूरत है और संसाधन का नाम दर्ज करें।
रीजन सेक्शन में, आप अपने पसंदीदा क्षेत्र को चुनने के लिए ड्रॉपडाउन मेनू का उपयोग कर सकते हैं।
IoT हब नाम धारा में, आप की जरूरत है ई अपने हब के लिए एक नाम nter। यह अद्वितीय होना चाहिए। सभी आवश्यक संचार इस नाम के साथ होंगे।
टैब "साइज़ और स्केल" के तहत, " फ्री टियर " चुनें और नेक्स्ट पर क्लिक करें। इसके बाद “Review + Create” पर क्लिक करें। IoT हब बनाने में कुछ मिनट लगेंगे। आपके द्वारा बनाए गए IoT हब के नाम पर क्लिक करें। नीचे दी गई छवि में दिखाए अनुसार विंडो से होस्टनाम को नोट करें। इसके बाद सेटिंग्स में साझा पहुंच नीतियों पर क्लिक करें । नीचे दी गई छवि में साझा पहुंच नीतियों पर प्रकाश डाला गया है। पॉलिसी के तहत iothubowner विकल्प पर क्लिक करें । भविष्य के संदर्भों के लिए प्राथमिक कुंजी और कनेक्शन स्ट्रिंग-प्राथमिक कुंजी को नोट करें । अब, IoT हब के तहत एक नया डिवाइस रजिस्टर करने के लिए, IoT डिवाइसेस पर क्लिक करें । डिवाइस एक्सप्लोरर फलक में, पर क्लिक करें जोड़ें हब के लिए एक उपकरण को जोड़ने के लिए।
नए डिवाइस टैब में निम्नलिखित जानकारी भरें।
- डिवाइस आईडी: डिवाइस के लिए आईडी दर्ज करें। डिवाइस Ids को विशिष्ट होना चाहिए।
- प्रमाणीकरण प्रकार: एक सममित कुंजी का चयन करें।
- Auto Generate Keys: इस चेक बॉक्स को चुनें।
- डिवाइस को IoT हब से कनेक्ट करें : सक्षम करें पर क्लिक करें।
एक बार डिवाइस बनने के बाद, आप डिवाइस एक्सप्लोरर सेक्शन में अपने नए बनाए गए डिवाइस को पा सकते हैं । डिवाइस के नाम पर क्लिक करें। यह डिवाइस का विवरण दिखाएगा। डिवाइस की प्राथमिक कुंजी और कनेक्शन स्ट्रिंग-प्राथमिक कुंजी को नोट करें । यह महत्वपूर्ण है क्योंकि हमें संचार के लिए इसकी आवश्यकता है।
अब, जब ऐसा किया जाता है, तो हम चीजों के हार्डवेयर पक्ष पर आगे बढ़ सकते हैं।
रास्पबेरी पाई के साथ एज़्योर IoT के लिए हमारे टेस्ट सर्किट का निर्माण करने के लिए आवश्यक घटक
चूंकि इस सर्किट का हार्डवेयर भाग बहुत सरल है, घटक की आवश्यकता भी बहुत सरल है। आवश्यक घटकों की एक सूची नीचे दी गई है।
- रास्पबेरी पाई 3 बी (हम पाई के किसी अन्य मॉडल का भी उपयोग कर सकते हैं)
- माइक्रो एसडी कार्ड -16 जीबी
- DHT11 सेंसर
- माइक्रो USB 5V, 2.4A पावर सप्लाई
रास्पबेरी पाई के साथ एज़्योर IoT - हार्डवेयर योजनाबद्ध
रास्पबेरी पाई परियोजना के साथ एज़्योर IoT के लिए पूरा सर्किट आरेख नीचे दिखाया गया है, यह फ्रिट्ज़िंग का उपयोग करके बनाया गया था। सर्किट को स्वयं बनाने के लिए सर्किट आरेख और कनेक्शन का पालन करें।
उपरोक्त सर्किट Microsoft IoT हब के लिए तापमान और आर्द्रता डेटा भेजता है। इस सर्किट में, हमने तापमान और आर्द्रता डेटा एकत्र करने के लिए DHT11 सेंसर का उपयोग किया है और हम डेटा प्रोसेसिंग डिवाइस के रूप में रास्पबेरी पाई 3 बी का उपयोग कर रहे हैं। DHT11 सेंसर में तीन पिन हैं। VCC और GND पिन का उपयोग सेंसर को 5V DC सप्लाई देने के लिए किया जाता है और DHT11 का डेटा आउटपुट पिन रास्पबेरी पाई के GPIO4 से जुड़ा होता है। यदि आप सीखना चाहते हैं कि कैसे DHT11 तापमान और आर्द्रता सेंसर को रास्पबेरी पाई के साथ इंटरफेस करना है, तो आप इस विषय पर हमारे पिछले लेख की जांच कर सकते हैं। हमने इस सेंसर का उपयोग IoT रास्पबेरी पाई वेदर स्टेशन के निर्माण के लिए भी किया है।
प्रोग्रामिंग रास्पबेरी पाई को एज़्योर IoT हब पर डेटा प्रकाशित करने के लिए
इस परियोजना के लिए कोडिंग शुरू करने से पहले, हमें Azure पोर्टल में Azure क्लाउड शेल (CLI) बनाने की आवश्यकता है । यह कई तरह से काम आएगा। उसके लिए, नीचे दिखाए अनुसार पोर्टल में एज़्योर क्लाउड शेल बटन पर क्लिक करें। इसके बाद रेड में चिह्नित क्रिएट स्टोरेज ऑप्शन पर क्लिक करें।
इसके बाद, आप CLI खोलें, और स्थापित करने के लिए निम्न कमांड चला सकते हैं Azure ऐड-ऑन ' रों जो सेंसर डेटा दिखाने के लिए इस्तेमाल किया जाएगा।
az एक्सटेंशन ऐड --name azure-cli-iot-ext
एक बार ऐसा करने के बाद, हमें DHT11 सेंसर के साथ संचार करने और एज़्योर IoT सेवाओं के लिए संचार प्रक्रिया को आसान बनाने के लिए रास्पबेरी पाई पर निर्भरता स्थापित करने की आवश्यकता है । इसके लिए प्रोजेक्ट में प्रयुक्त आश्रित पैकेजों को स्थापित करने के लिए रास्पबेरी पाई टर्मिनल खोलें।
सबसे पहले, हमें रास्पबेरी पाई के लिए डीएचटी लाइब्रेरी डाउनलोड करने की आवश्यकता है, फिर इसे रूट फ़ोल्डर से निकालें और इसे स्थापित करने के लिए निम्न कमांड चलाएं।
sudo python setup.py इंस्टॉल
सफल स्थापना के बाद, Azure IoT हब पर सभी निर्भर पैकेजों को स्थापित करने के लिए निम्न आदेश चलाएँ।
sudo pip3 install azure-iot-device sudo pip3 install azure-iot-hub sudo pip3 install azure-iothub-service-client sudo pip3 install azure-iothub-device-client
एक बार जब हमने सभी पूर्वापेक्षाएँ पूरी कर ली हैं, तो पायथन में कोड लिखने का समय आ गया है। ऐसा करने के लिए, पहले सभी पुस्तकालयों को आयात करें:
आयात यादृच्छिक आयात Adafruit_DHT से आयात समय azure.iot.device आयात IoTHubDeviceClient, संदेश
इस परियोजना में, हम DHT11 डेटा से डेटा को संसाधित करने के लिए रास्पबेरी पाई के पिन 4 का उपयोग कर रहे हैं, इसलिए इसे दिखाए जाने की आवश्यकता है।
सेंसर = Adafruit_DHT.DHT11 पिन = 4
अगला, हम कोड के कनेक्शन स्ट्रिंग को परिभाषित करते हैं। इसे अपने डिवाइस-प्राइमरी कनेक्शन स्ट्रिंग से बदलें जिसे हमने पहले बचाया था।
CONNECTION_STRING = "HostName = sensordata.azure-devices.net; DeviceId = ZZZZZ; SharedAccessKey = ZZZZZZZZZZZZZZZZZZ"
अगला, हम एक सरणी बनाते हैं जिसका उपयोग डेटा को Azure IoT हब में भेजने के लिए किया जाएगा। इसे नीचे दिखाए अनुसार किया जा सकता है।
MSG_SND = '{{"तापमान": {तापमान}, "आर्द्रता": {आर्द्रता}}}'
अगला, हमने थोड़ी देर के लूप को परिभाषित किया है, जबकि लूप में आर्द्रता और तापमान डेटा दोनों को Adafruit_DHT.read_retry फ़ंक्शन का उपयोग करके संसाधित किया जाता है। इसके अलावा, हम दो विशेष चरों को परिभाषित करते हैं और उन चरों के लिए आउटपुट डेटा निर्दिष्ट करते हैं।
जबकि सही: आर्द्रता, तापमान = Adafruit_DHT.read_retry (सेंसर, पिन)
अगला, एक फ़ंक्शन कनेक्शन पैरामीटर का उपयोग करके IoT हब को जोड़ने के लिए लिखा गया है जिसे हमने पहले परिभाषित किया है।
def iothub_client_init (): ग्राहक = IoTHubDeviceClient.create_from_connection_string (CONNECTION_STRING) वापसी क्लाइंट
अंत में, अगले चरण में, तापमान और आर्द्रता डेटा दोनों को Azure हब में भेजा जाता है, प्रारूप का उपयोग नीचे दिए गए कोड में दिखाया गया है। साथ ही, हमने यह पहचानने के लिए एक कोशिश और कैच विधि का उपयोग किया कि क्या कोड में कोई त्रुटि है।
def iothub_client_telemetry_sample_run (): कोशिश करें: ग्राहक = iothub_client_init () प्रिंट ("IoT हब पर डेटा भेज रहा है, Ctrl-C से बाहर निकलें दबाएं") : True: msg_txt_formatted = MSG_SND.format (तापमान = तापमान, आर्द्रता संदेश ) msg_txt_formatted) प्रिंट ("संदेश भेजना: {}"। format (संदेश)) client.send_message (संदेश) प्रिंट ("संदेश सफलतापूर्वक भेजा गया") time.sleep (3)
Azure IoT हब पर डेटा प्रकाशित करें - परीक्षण
सफलतापूर्वक कोड लिखने के बाद, इसे संकलित करें और किसी भी त्रुटि के लिए जांचें। यदि कोड ब्लॉक सफलतापूर्वक संकलित किया गया है, तो कोड चलाएं। टर्मिनल विंडो में, आपको संदेश को यह कहते हुए देखना चाहिए, "संदेश सफलतापूर्वक भेजा गया"। विंडो का स्क्रीनशॉट नीचे दिखाया गया है:
अब, एज़्योर IoT हब में डेटा देखने के लिए, पोर्टल पर जाएं और CLI टर्मिनल पर क्लिक करें और इसमें अपने क्रेडेंशियल्स को प्रतिस्थापित करने वाले निम्नलिखित कमांड चलाएं।
az iot हब मॉनीटर-ईवेंट्स -hub-name XYZ --device-id XYZ
ध्यान दें:
XYZ को अपने हब नाम और डिवाइस आईडी से बदलें।
उपरोक्त कमांड चलाने के बाद, आपको स्क्रीन पर नीचे दिखाए अनुसार डेटा प्राप्त करना चाहिए। यह वही डेटा है जो रास्पबेरी पाई से भेजा गया था।
यह इस ट्यूटोरियल के अंत का प्रतीक है, मुझे उम्मीद है कि आपको लेख पसंद आया होगा और कुछ नया सीखा जाएगा। यदि आपके पास लेख के बारे में कोई प्रश्न हैं, तो आप उन्हें नीचे टिप्पणी अनुभाग में छोड़ सकते हैं। या आप तेजी से और बेहतर प्रतिक्रिया प्राप्त करने के लिए हमारे इलेक्ट्रॉनिक्स फोरम का उपयोग कर सकते हैं।