|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
single-board-computer-connect-hub.md | 4 weeks ago | |
wio-terminal-connect-hub.md | 4 weeks ago |
README.md
आफ्नो बिरुवा क्लाउडमा स्थानान्तरण गर्नुहोस्
स्केच नोट नित्या नरसिंहन द्वारा। ठूलो संस्करणको लागि तस्बिरमा क्लिक गर्नुहोस्।
यो पाठ IoT for Beginners Project 2 - Digital Agriculture series को भागको रूपमा Microsoft Reactor बाट सिकाइएको थियो।
पाठ अघि क्विज
परिचय
अघिल्लो पाठमा, तपाईंले आफ्नो बिरुवालाई MQTT ब्रोकरसँग जडान गर्ने र स्थानीय रूपमा चलिरहेको सर्भर कोडबाट रिले नियन्त्रण गर्ने सिक्नुभयो। यो घरमा व्यक्तिगत बिरुवादेखि व्यावसायिक फार्मसम्म प्रयोग हुने इन्टरनेट-सँग जडित स्वचालित सिंचाई प्रणालीको मुख्य भाग हो।
IoT उपकरणले सार्वजनिक MQTT ब्रोकरसँग संवाद गर्यो, सिद्धान्तहरू प्रदर्शन गर्नको लागि। तर यो सबैभन्दा भरपर्दो वा सुरक्षित तरिका होइन। यस पाठमा, तपाईं क्लाउड र सार्वजनिक क्लाउड सेवाहरूले प्रदान गर्ने IoT क्षमताहरूको बारेमा सिक्नुहुनेछ। साथै, तपाईं आफ्नो बिरुवालाई सार्वजनिक MQTT ब्रोकरबाट यी क्लाउड सेवाहरूमा स्थानान्तरण गर्ने तरिका सिक्नुहुनेछ।
यस पाठमा हामी निम्न विषयहरू समेट्नेछौं:
- क्लाउड के हो?
- क्लाउड सदस्यता सिर्जना गर्नुहोस्
- क्लाउड IoT सेवाहरू
- क्लाउडमा IoT सेवा सिर्जना गर्नुहोस्
- IoT Hub सँग संवाद गर्नुहोस्
- आफ्नो उपकरणलाई IoT सेवासँग जडान गर्नुहोस्
क्लाउड के हो?
क्लाउडको आगमनभन्दा पहिले, जब कुनै कम्पनीले आफ्ना कर्मचारीहरूलाई सेवा प्रदान गर्न (जस्तै डेटाबेस वा फाइल भण्डारण) वा सार्वजनिकलाई सेवा प्रदान गर्न (जस्तै वेबसाइटहरू) चाहन्थ्यो, तिनीहरूले डाटा केन्द्र निर्माण र सञ्चालन गर्थे। यो सानो कोठामा केही कम्प्युटरहरूदेखि लिएर धेरै कम्प्युटरहरू भएको भवनसम्म फरक हुन सक्थ्यो। कम्पनीले निम्न कुराहरू व्यवस्थापन गर्नुपर्थ्यो:
- कम्प्युटर किन्ने
- हार्डवेयर मर्मत
- पावर र कूलिङ
- नेटवर्किङ
- सुरक्षा, भवन र कम्प्युटरमा सफ्टवेयर सुरक्षित गर्ने
- सफ्टवेयर स्थापना र अपडेटहरू
यो धेरै महँगो हुन सक्थ्यो, विभिन्न प्रकारका दक्ष कर्मचारीहरू आवश्यक पर्थ्यो, र आवश्यक परेमा परिवर्तन गर्न धेरै ढिलो हुन सक्थ्यो। उदाहरणका लागि, यदि कुनै अनलाइन स्टोरले व्यस्त छुट्टीको मौसमको योजना बनाउनुपर्थ्यो भने, तिनीहरूले महिनौं अगाडि हार्डवेयर किन्ने, कन्फिगर गर्ने, स्थापना गर्ने र बिक्री प्रक्रिया चलाउन सफ्टवेयर स्थापना गर्ने योजना बनाउनुपर्थ्यो। छुट्टीको मौसम सकिएपछि र बिक्री घटेपछि, तिनीहरूले तिर्ने कम्प्युटरहरू अर्को व्यस्त मौसमसम्म निष्क्रिय बस्नुपर्थ्यो।
✅ के तपाईं सोच्नुहुन्छ कि यसले कम्पनीहरूलाई छिटो काम गर्न अनुमति दिन्छ? यदि कुनै अनलाइन कपडा विक्रेताले अचानक लोकप्रियता प्राप्त गर्यो भने, के तिनीहरूले आफ्नो कम्प्युटिङ क्षमता छिटो बढाउन सक्थे?
अरू कसैको कम्प्युटर
क्लाउडलाई प्रायः मजाकमा 'अरू कसैको कम्प्युटर' भनिन्छ। प्रारम्भिक विचार सरल थियो - कम्प्युटर किन्ने सट्टा, अरू कसैको कम्प्युटर भाडामा लिनुहोस्। अरू कसैले, क्लाउड कम्प्युटिङ प्रदायकले, विशाल डाटा केन्द्रहरू व्यवस्थापन गर्थे। तिनीहरूले हार्डवेयर किन्ने र स्थापना गर्ने, पावर र कूलिङ व्यवस्थापन गर्ने, नेटवर्किङ, भवन सुरक्षा, हार्डवेयर र सफ्टवेयर अपडेटहरू सबै जिम्मा लिने गर्थे। ग्राहकको रूपमा, तपाईंले आवश्यक कम्प्युटरहरू भाडामा लिन सक्नुहुन्छ, माग बढ्दा थप भाडामा लिन सक्नुहुन्छ, र माग घट्दा कम गर्न सक्नुहुन्छ। यी क्लाउड डाटा केन्द्रहरू विश्वभर छन्।
यी डाटा केन्द्रहरू धेरै वर्ग किलोमिटरको आकारका हुन सक्छन्। माथिका तस्बिरहरू केही वर्षअघि Microsoft क्लाउड डाटा केन्द्रमा लिइएका थिए, र प्रारम्भिक आकारसँगै योजनाबद्ध विस्तार देखाउँछन्। विस्तारको लागि खाली गरिएको क्षेत्र ५ वर्ग किलोमिटरभन्दा बढी छ।
💁 यी डाटा केन्द्रहरूले यति धेरै पावर आवश्यक पर्छ कि केहीले आफ्नै पावर स्टेशनहरू बनाएका छन्। तिनीहरूको आकार र क्लाउड प्रदायकहरूको लगानीको कारण, तिनीहरू सामान्यतया वातावरणमैत्री हुन्छन्। तिनीहरू साना डाटा केन्द्रहरूको ठूलो संख्याको तुलनामा अधिक कुशल छन्, प्रायः नवीकरणीय ऊर्जा प्रयोग गर्छन्, र क्लाउड प्रदायकहरूले फोहोर घटाउन, पानीको प्रयोग कटौती गर्न, र डाटा केन्द्र निर्माण गर्न जंगलहरू पुनः रोप्न कडा मेहनत गर्छन्। तपाईं Azure स्थिरता साइट मा क्लाउड प्रदायकले स्थिरतामा कसरी काम गरिरहेको छ भन्ने बारेमा थप पढ्न सक्नुहुन्छ।
✅ अनुसन्धान गर्नुहोस्: Microsoft को Azure वा Google को GCP जस्ता प्रमुख क्लाउडहरूको बारेमा पढ्नुहोस्। तिनीहरूसँग कति डाटा केन्द्रहरू छन्, र तिनीहरू विश्वभर कहाँ छन्?
क्लाउड प्रयोग गर्दा कम्पनीहरूको लागत कम हुन्छ, र तिनीहरूले आफ्नो विशेषज्ञता क्षेत्रमा ध्यान केन्द्रित गर्न सक्छन्, क्लाउड कम्प्युटिङ विशेषज्ञता प्रदायकको हातमा छोडेर। कम्पनीहरूले अब डाटा केन्द्रको ठाउँ भाडामा लिन वा किन्ने, कनेक्टिभिटी र पावरका लागि विभिन्न प्रदायकहरूलाई तिर्ने, वा विशेषज्ञहरूलाई रोजगार दिने आवश्यकता हुँदैन। यसको सट्टा, तिनीहरूले क्लाउड प्रदायकलाई एक मासिक बिल तिर्न सक्छन् जसले सबै कुरा व्यवस्थापन गर्छ।
क्लाउड प्रदायकले लागत घटाउन अर्थशास्त्रको मापन प्रयोग गर्न सक्छ, थोकमा कम्प्युटर किनेर कम लागतमा, मर्मतका लागि आफ्नो कार्यभार घटाउन उपकरणमा लगानी गरेर, र आफ्नो क्लाउड प्रस्ताव सुधार गर्न आफ्नै हार्डवेयर डिजाइन र निर्माण गरेर।
Microsoft Azure
Azure Microsoft को डेभलपर क्लाउड हो, र तपाईंले यी पाठहरूको लागि प्रयोग गर्ने क्लाउड हो। तलको भिडियोले Azure को छोटो अवलोकन दिन्छ:
क्लाउड सदस्यता सिर्जना गर्नुहोस्
क्लाउडमा सेवाहरू प्रयोग गर्न, तपाईंलाई क्लाउड प्रदायकसँग सदस्यता लिन आवश्यक छ। यस पाठको लागि, तपाईं Microsoft Azure सदस्यता लिनुहुनेछ। यदि तपाईंसँग पहिले नै Azure सदस्यता छ भने, तपाईं यो कार्य छोड्न सक्नुहुन्छ। यहाँ वर्णन गरिएको सदस्यता विवरण लेख्ने समयमा सही छ, तर परिवर्तन हुन सक्छ।
💁 यदि तपाईं आफ्नो विद्यालयमार्फत यी पाठहरू पहुँच गर्दै हुनुहुन्छ भने, तपाईंले पहिले नै Azure सदस्यता उपलब्ध पाउन सक्नुहुन्छ। आफ्नो शिक्षकसँग जाँच गर्नुहोस्।
Azure सदस्यताको दुई प्रकारका निःशुल्क संस्करणहरू छन् जुन तपाईं साइन अप गर्न सक्नुहुन्छ:
-
Azure for Students - यो १८+ उमेरका विद्यार्थीहरूको लागि डिजाइन गरिएको सदस्यता हो। साइन अप गर्न क्रेडिट कार्ड आवश्यक पर्दैन, र तपाईं आफ्नो विद्यालयको इमेल ठेगाना प्रयोग गरेर विद्यार्थी भएको प्रमाणित गर्नुहुन्छ। साइन अप गर्दा तपाईंलाई क्लाउड स्रोतहरूमा खर्च गर्न US$100 प्राप्त हुन्छ, साथै IoT सेवाको निःशुल्क संस्करण सहित निःशुल्क सेवाहरू प्राप्त हुन्छ। यो १२ महिनासम्म रहन्छ, र तपाईं विद्यार्थी रहँदा हरेक वर्ष नवीकरण गर्न सक्नुहुन्छ।
-
Azure free subscription - यो विद्यार्थी नभएका व्यक्तिहरूको लागि सदस्यता हो। सदस्यता लिन क्रेडिट कार्ड आवश्यक पर्दछ, तर तपाईंको कार्ड बिल गरिने छैन, यो केवल तपाईं वास्तविक व्यक्ति हो कि बोट होइन भनेर प्रमाणित गर्न प्रयोग गरिन्छ। तपाईंले पहिलो ३० दिनमा कुनै पनि सेवामा प्रयोग गर्न $200 को क्रेडिट प्राप्त गर्नुहुन्छ, साथै Azure सेवाहरूको निःशुल्क स्तरहरू प्राप्त गर्नुहुन्छ। एकपटक तपाईंको क्रेडिट समाप्त भएपछि, तपाईंको कार्डलाई शुल्क लगाइने छैन जबसम्म तपाईंले पे-एज-यू-गो सदस्यतामा रूपान्तरण गर्नुहुन्न।
💁 Microsoft ले १८ वर्षभन्दा कम उमेरका विद्यार्थीहरूको लागि Azure for Students Starter सदस्यता प्रदान गर्दछ, तर लेख्ने समयमा यसले कुनै IoT सेवाहरू समर्थन गर्दैन।
कार्य - निःशुल्क क्लाउड सदस्यता लिनुहोस्
यदि तपाईं १८+ उमेरका विद्यार्थी हुनुहुन्छ भने, तपाईं Azure for Students सदस्यता लिन सक्नुहुन्छ। तपाईंलाई विद्यालयको इमेल ठेगानाबाट प्रमाणित गर्न आवश्यक छ। तपाईंले दुई तरिकामा यो गर्न सक्नुहुन्छ:
-
GitHub विद्यार्थी डेभलपर प्याकमा education.github.com/pack मा साइन अप गर्नुहोस्। यसले तपाईंलाई GitHub र Microsoft Azure सहित उपकरणहरू र प्रस्तावहरूको पहुँच दिन्छ। डेभलपर प्याकमा साइन अप गरेपछि, तपाईं Azure for Students प्रस्ताव सक्रिय गर्न सक्नुहुन्छ।
-
azure.microsoft.com/free/students मा सिधै Azure for Students खाता लिन साइन अप गर्नुहोस्।
⚠️ यदि तपाईंको विद्यालयको इमेल ठेगाना मान्यता प्राप्त छैन भने, यस रिपोमा मुद्दा उठाउनुहोस् र हामी यसलाई Azure for Students अनुमति सूचीमा थप्न सकिन्छ कि भनेर हेर्नेछौं।
यदि तपाईं विद्यार्थी हुनुहुन्न, वा तपाईंको विद्यालयको मान्य इमेल ठेगाना छैन भने, तपाईं Azure Free सदस्यता लिन साइन अप गर्न सक्नुहुन्छ।
- azure.microsoft.com/free मा Azure Free सदस्यता लिन साइन अप गर्नुहोस्।
क्लाउड IoT सेवाहरू
तपाईंले प्रयोग गरिरहेको सार्वजनिक परीक्षण MQTT ब्रोकर सिक्ने क्रममा उत्कृष्ट उपकरण हो, तर व्यावसायिक सेटिङमा प्रयोग गर्न उपकरणको रूपमा केही कमजोरीहरू छन्:
- विश्वसनीयता - यो निःशुल्क सेवा हो जसमा कुनै ग्यारेन्टी छैन, र कुनै पनि समयमा बन्द गर्न सकिन्छ
- सुरक्षा - यो सार्वजनिक छ, त्यसैले जो कोहीले तपाईंको टेलिमेट्री सुन्न वा तपाईंको हार्डवेयर नियन्त्रण गर्न आदेशहरू पठाउन सक्छ
- प्रदर्शन - यो केवल केही परीक्षण सन्देशहरूको लागि डिजाइन गरिएको हो, त्यसैले धेरै सन्देशहरू पठाउन सक्षम हुने थिएन
- खोज - जडान भएका उपकरणहरू के हुन् भनेर थाहा पाउने कुनै तरिका छैन
क्लाउडमा IoT सेवाहरूले यी समस्याहरू समाधान गर्छन्। तिनीहरू ठूला क्लाउड प्रदायकहरूद्वारा मर्मत गरिन्छन् जसले विश्वसनीयतामा धेरै लगानी गर्छन् र उत्पन्न हुन सक्ने कुनै पनि समस्याहरू समाधान गर्न तयार छन्। तिनीहरूसँग सुरक्षा समावेश गरिएको छ जसले ह्याकरहरूलाई तपाईंको डाटा पढ्न वा गलत आदेशहरू पठाउन रोक्छ। तिनीहरू उच्च प्रदर्शन पनि छन्, दैनिक लाखौं सन्देशहरू ह्यान्डल गर्न सक्षम छन्, आवश्यक परेमा स्केल गर्न क्लाउडको फाइदा उठाउँदै।
💁 यस्ता फाइदाहरूको लागि तपाईं मासिक शुल्क तिर्नुहुन्छ, तर अधिकांश क्लाउड प्रदायकहरूले सीमित सन्देशहरू प्रति दिन वा जडान गर्न सक्ने उपकरणहरूको सीमित संख्यासहित IoT सेवाको निःशुल्क संस्करण प्रदान गर्छन्। यो निःशुल्क संस्करण प्रायः डेभलपरलाई सेवा सिक्न पर्याप्त हुन्छ। यस पाठमा तपाईं निःशुल्क संस्करण प्रयोग गर्नुहुनेछ।
IoT उपकरणहरू क्लाउड सेवासँग उपकरण SDK (सेवाको सुविधाहरूको साथ काम गर्न कोड प्रदान गर्ने पुस्तकालय) वा MQTT वा HTTP जस्ता संचार प्रोटोकल मार्फत सिधै जडान गर्छन्। उपकरण SDK सामान्यतया सबैभन्दा सजिलो मार्ग हो किनभने यसले सबै कुरा ह्यान्डल गर्छ, जस्तै कुन विषयवस्तुहरू प्रकाशित वा सदस्यता लिनु पर्ने, र सुरक्षा कसरी ह्यान्डल गर्ने।
तपाईंको उपकरणले त्यसपछि तपाईंको अनुप्रयोगका अन्य भागहरूसँग यो सेवामार्फत संवाद गर्छ - जस्तै तपाईंले MQTT मार्फत टेलिमेट्री पठाउन र आदेशहरू प्राप्त गर्न गरेको थियो। यो सामान्यतया सेवा SDK वा समान पुस्तकालय प्रयोग गरेर हुन्छ। सन्देशहरू तपाईंको उपकरणबाट सेवामा आउँछन् जहाँ तपाईंको अनुप्रयोगका अन्य घटकहरूले तिनीहरूलाई पढ्न सक्छन्, र सन्देशहरू तपाईंको उपकरणमा फर्केर पठाउन सकिन्छ।
यी सेवाहरूले सुरक्षा कार्यान्वयन गर्छन् जसले जडान गर्न र डाटा पठाउन सक्ने सबै उपकरणहरूको बारेमा जान्दछन्, या त उपकरणहरू सेवासँग पूर्व-रजिस्टर्ड गरेर, वा उपकरणहरूलाई गोप्य कुञ्जीहरू वा प्रमाणपत्रहरू प्रदान गरेर तिनीहरूले पहिलो पटक जडान गर्दा सेवासँग आफूलाई दर्ता गर्न सक्छन्। अज्ञात उपकरणहरू जडान गर्न असमर्थ छन्, यदि तिनीहरूले प्रयास गरे भने सेवा जडान अस्वीकार गर्छ र तिनीहरूद्वारा पठाइएका सन्देशहरूलाई बेवास्ता गर्छ।
✅ अनुसन्धान गर्नुहोस्: कुनै पनि उपकरण वा कोड जडान गर्न सक्ने खुला IoT सेवाको के कमजोरी हो? ह्याकरहरूले यसको फाइदा उठाएको विशिष्ट उदाहरणहरू पाउन सक्नुहुन्छ?
अनुप्रयोगका अन्य घटकहरूले IoT सेवासँग जडान गर्न सक्छन् र जडान भएका वा दर्ता भएका सबै उपकरणहरूको बारेमा जान्न सक्छन्, र तिनीहरूसँग व्यक्तिगत रूपमा वा सामूहिक रूपमा सिधै संवाद गर्न सक्छन्। 💁 IoT सेवाहरूले थप क्षमताहरू पनि कार्यान्वयन गर्छन्, र क्लाउड प्रदायकहरूसँग थप सेवाहरू र अनुप्रयोगहरू हुन्छन् जसलाई सेवासँग जडान गर्न सकिन्छ। उदाहरणका लागि, यदि तपाईं सबै उपकरणहरूले पठाएका सबै टेलिमेट्री सन्देशहरूलाई डेटाबेसमा भण्डारण गर्न चाहनुहुन्छ भने, क्लाउड प्रदायकको कन्फिगरेसन उपकरणमा केही क्लिकहरू मात्र गरेर सेवा डेटाबेससँग जडान गरी डेटा स्ट्रिम गर्न सकिन्छ।
क्लाउडमा IoT सेवा सिर्जना गर्नुहोस्
अब तपाईंसँग Azure सदस्यता छ, तपाईं IoT सेवामा साइन अप गर्न सक्नुहुन्छ। Microsoft को IoT सेवा Azure IoT Hub भनिन्छ।
तलको भिडियोले Azure IoT Hub को छोटो परिचय दिन्छ:
🎥 माथिको छवि क्लिक गरेर भिडियो हेर्नुहोस्
✅ केही समय लिएर अनुसन्धान गर्नुहोस् र Microsoft IoT Hub दस्तावेज मा IoT Hub को परिचय पढ्नुहोस्।
Azure मा उपलब्ध क्लाउड सेवाहरू वेब-आधारित पोर्टल वा कमाण्ड-लाइन इन्टरफेस (CLI) मार्फत कन्फिगर गर्न सकिन्छ। यस कार्यको लागि, तपाईं CLI प्रयोग गर्नुहुनेछ।
कार्य - Azure CLI स्थापना गर्नुहोस्
Azure CLI प्रयोग गर्न, पहिले यसलाई तपाईंको PC वा Mac मा स्थापना गर्नुपर्छ।
-
Azure CLI दस्तावेज मा निर्देशनहरू पालना गरेर CLI स्थापना गर्नुहोस्।
-
Azure CLI ले धेरै विस्तारहरू समर्थन गर्दछ जसले Azure सेवाहरूको विस्तृत दायरा व्यवस्थापन गर्न क्षमता थप्छ। निम्न कमाण्ड चलाएर IoT विस्तार स्थापना गर्नुहोस्:
az extension add --name azure-iot
-
तपाईंको कमाण्ड लाइन वा टर्मिनलबाट निम्न कमाण्ड चलाएर Azure CLI बाट तपाईंको Azure सदस्यतामा लग इन गर्नुहोस्।
az login
तपाईंको डिफल्ट ब्राउजरमा एउटा वेब पृष्ठ खुल्नेछ। तपाईंले Azure सदस्यतामा साइन अप गर्दा प्रयोग गरेको खाताको प्रयोग गरेर लग इन गर्नुहोस्। एकपटक लग इन गरेपछि, ब्राउजर ट्याब बन्द गर्न सक्नुहुन्छ।
-
यदि तपाईंसँग धेरै Azure सदस्यताहरू छन्, जस्तै स्कूलले प्रदान गरेको सदस्यता र तपाईंको आफ्नै Azure for Students सदस्यता, तपाईंले प्रयोग गर्न चाहेको सदस्यता चयन गर्नुपर्नेछ। तपाईंले पहुँच गर्न सक्ने सबै सदस्यताहरूको सूची प्राप्त गर्न निम्न कमाण्ड चलाउनुहोस्:
az account list --output table
आउटपुटमा, तपाईंले प्रत्येक सदस्यताको नामसँगै यसको
SubscriptionId
देख्नुहुनेछ।➜ ~ az account list --output table Name CloudName SubscriptionId State IsDefault ---------------------- ----------- ------------------------------------ ------- ----------- School-subscription AzureCloud cb30cde9-814a-42f0-a111-754cb788e4e1 Enabled True Azure for Students AzureCloud fa51c31b-162c-4599-add6-781def2e1fbf Enabled False
तपाईंले प्रयोग गर्न चाहनुभएको सदस्यता चयन गर्न निम्न कमाण्ड प्रयोग गर्नुहोस्:
az account set --subscription <SubscriptionId>
<SubscriptionId>
लाई तपाईंले प्रयोग गर्न चाहनुभएको सदस्यताको Id ले प्रतिस्थापन गर्नुहोस्। यो कमाण्ड चलाएपछि, तपाईंको खाताहरूको सूची पुन: चलाउनुहोस्। तपाईंलेIsDefault
स्तम्भमाTrue
देख्नुहुनेछ जुन तपाईंले हालसालै सेट गरेको सदस्यताको लागि चिन्हित गरिएको छ।
कार्य - स्रोत समूह सिर्जना गर्नुहोस्
Azure सेवाहरू, जस्तै IoT Hub उदाहरणहरू, भर्चुअल मेसिनहरू, डाटाबेसहरू, वा AI सेवाहरूलाई स्रोतहरू भनिन्छ। प्रत्येक स्रोतले स्रोत समूह भित्र रहनुपर्छ, एक वा धेरै स्रोतहरूको तार्किक समूह।
💁 स्रोत समूहहरू प्रयोग गर्दा तपाईंले एकैपटक धेरै सेवाहरू व्यवस्थापन गर्न सक्नुहुन्छ। उदाहरणका लागि, एकपटक तपाईंले यस परियोजनाको सबै पाठहरू पूरा गरेपछि तपाईं स्रोत समूह मेटाउन सक्नुहुन्छ, र यसमा रहेका सबै स्रोतहरू स्वतः मेटिनेछन्।
-
विश्वभरि धेरै Azure डाटा केन्द्रहरू छन्, क्षेत्रहरूमा विभाजित। जब तपाईं Azure स्रोत वा स्रोत समूह सिर्जना गर्नुहुन्छ, तपाईंले यसलाई कहाँ सिर्जना गर्न चाहनुहुन्छ निर्दिष्ट गर्नुपर्छ। स्थानहरूको सूची प्राप्त गर्न निम्न कमाण्ड चलाउनुहोस्:
az account list-locations --output table
तपाईंले स्थानहरूको सूची देख्नुहुनेछ। यो सूची लामो हुनेछ।
💁 लेख्ने समयमा, तपाईंले 65 स्थानहरूमा तैनात गर्न सक्नुहुन्छ।
➜ ~ az account list-locations --output table DisplayName Name RegionalDisplayName ------------------------ ------------------- ------------------------------------- East US eastus (US) East US East US 2 eastus2 (US) East US 2 South Central US southcentralus (US) South Central US ...
तपाईंको नजिकको क्षेत्रको
Name
स्तम्भबाट मान नोट गर्नुहोस्। तपाईं Azure भौगोलिक पृष्ठ मा क्षेत्रहरू नक्सामा फेला पार्न सक्नुहुन्छ। -
soil-moisture-sensor
नामको स्रोत समूह सिर्जना गर्न निम्न कमाण्ड चलाउनुहोस्। स्रोत समूहको नाम तपाईंको सदस्यतामा अद्वितीय हुनुपर्छ।az group create --name soil-moisture-sensor \ --location <location>
<location>
लाई तपाईंले अघिल्लो चरणमा चयन गरेको स्थानले प्रतिस्थापन गर्नुहोस्।
कार्य - IoT Hub सिर्जना गर्नुहोस्
अब तपाईं आफ्नो स्रोत समूहमा IoT Hub स्रोत सिर्जना गर्न सक्नुहुन्छ।
-
आफ्नो IoT Hub स्रोत सिर्जना गर्न निम्न कमाण्ड प्रयोग गर्नुहोस्:
az iot hub create --resource-group soil-moisture-sensor \ --sku F1 \ --partition-count 2 \ --name <hub_name>
<hub_name>
लाई तपाईंको हबको नामले प्रतिस्थापन गर्नुहोस्। यो नाम विश्वव्यापी रूपमा अद्वितीय हुनुपर्छ - अर्थात् अरू कसैले सिर्जना गरेको IoT Hub को नाम उस्तै हुन सक्दैन। यो नाम हबलाई संकेत गर्ने URL मा प्रयोग गरिन्छ, त्यसैले यो अद्वितीय हुनुपर्छ।soil-moisture-sensor-
जस्तै केही प्रयोग गर्नुहोस् र अन्त्यमा केही अनौठो शब्दहरू वा तपाईंको नाम थप्नुहोस्।--sku F1
विकल्पले यसलाई निःशुल्क स्तर प्रयोग गर्न भन्छ। निःशुल्क स्तरले दिनमा 8,000 सन्देशहरू समर्थन गर्दछ साथै पूर्ण-भुक्तान स्तरहरूको अधिकांश सुविधाहरू।🎓 Azure सेवाहरूको विभिन्न मूल्य स्तरहरूलाई स्तर भनिन्छ। प्रत्येक स्तरको फरक लागत हुन्छ र फरक सुविधाहरू वा डाटा मात्रा प्रदान गर्दछ।
💁 यदि तपाईं मूल्य निर्धारणको बारेमा थप जान्न चाहनुहुन्छ भने, तपाईं Azure IoT Hub मूल्य निर्धारण मार्गदर्शक जाँच गर्न सक्नुहुन्छ।
--partition-count 2
विकल्पले IoT Hub ले समर्थन गर्ने डाटा स्ट्रिमहरूको संख्या परिभाषित गर्दछ। धेरै पार्टिशनहरूले IoT Hub बाट पढ्ने र लेख्ने धेरै चीजहरू हुँदा डाटा ब्लकिंग कम गर्छ। पार्टिशनहरू यी पाठहरूको दायरा बाहिर छन्, तर यो मान निःशुल्क स्तर IoT Hub सिर्जना गर्न सेट गर्न आवश्यक छ।💁 तपाईंको सदस्यतामा केवल एक निःशुल्क स्तर IoT Hub हुन सक्छ।
IoT Hub सिर्जना हुनेछ। यसलाई पूरा गर्न एक मिनेट जति लाग्न सक्छ।
IoT Hub सँग सञ्चार गर्नुहोस्
अघिल्लो पाठमा, तपाईंले MQTT प्रयोग गर्नुभयो र विभिन्न विषयहरूमा सन्देशहरू पठाउन र फिर्ता गर्नुभयो, विभिन्न विषयहरूको फरक उद्देश्य थियो। विभिन्न विषयहरूमा सन्देशहरू पठाउनको सट्टा, IoT Hub ले उपकरणले हबसँग सञ्चार गर्न वा हबले उपकरणसँग सञ्चार गर्न परिभाषित तरिकाहरूको संख्या राख्छ।
💁 IoT Hub र तपाईंको उपकरण बीचको यो सञ्चारले MQTT, HTTPS वा AMQP प्रयोग गर्न सक्छ।
-
उपकरणबाट क्लाउड (D2C) सन्देशहरू - यी सन्देशहरू उपकरणबाट IoT Hub मा पठाइन्छ, जस्तै टेलिमेट्री। त्यसपछि तपाईंको एप्लिकेसन कोडले IoT Hub बाट यी सन्देशहरू पढ्न सक्छ।
🎓 IoT Hub ले Event Hubs नामक Azure सेवा प्रयोग गर्दछ। जब तपाईं हबमा पठाइएका सन्देशहरू पढ्न कोड लेख्नुहुन्छ, यी प्रायः घटनाहरू भनिन्छ।
-
क्लाउडबाट उपकरण (C2D) सन्देशहरू - यी सन्देशहरू एप्लिकेसन कोडबाट IoT Hub मार्फत IoT उपकरणमा पठाइन्छ।
-
प्रत्यक्ष विधि अनुरोधहरू - यी सन्देशहरू एप्लिकेसन कोडबाट IoT Hub मार्फत IoT उपकरणमा पठाइन्छ ताकि उपकरणले केही गर्न अनुरोध गर्न सकियोस्, जस्तै एक्ट्युएटर नियन्त्रण गर्नु। यी सन्देशहरूले प्रतिक्रिया आवश्यक छ ताकि तपाईंको एप्लिकेसन कोडले यो सफलतापूर्वक प्रशोधन भएको हो कि होइन भनेर बताउन सकियोस्।
-
उपकरण ट्विनहरू - यी JSON कागजातहरू हुन् जुन उपकरण र IoT Hub बीच समक्रमित राखिन्छन्, र सेटिङहरू वा अन्य गुणहरू भण्डारण गर्न प्रयोग गरिन्छ जुन उपकरणले रिपोर्ट गरेको छ, वा IoT Hub द्वारा उपकरणमा सेट गर्नुपर्छ (इच्छित भनेर चिनिन्छ)।
IoT Hub ले सन्देशहरू र प्रत्यक्ष विधि अनुरोधहरू एक कन्फिगर गर्न मिल्ने समय अवधि (डिफल्ट एक दिन) को लागि भण्डारण गर्न सक्छ, त्यसैले यदि उपकरण वा एप्लिकेसन कोडले जडान गुमाउँछ भने, यसले पुन: जडान गरेपछि अफलाइन हुँदा पठाइएका सन्देशहरू पुन: प्राप्त गर्न सक्छ। उपकरण ट्विनहरू IoT Hub मा स्थायी रूपमा राखिन्छन्, त्यसैले कुनै पनि समयमा उपकरण पुन: जडान गर्न सक्छ र नवीनतम उपकरण ट्विन प्राप्त गर्न सक्छ।
✅ अनुसन्धान गर्नुहोस्: यी सन्देश प्रकारहरूमा थप पढ्न Device-to-cloud सञ्चार मार्गदर्शक र Cloud-to-device सञ्चार मार्गदर्शक IoT Hub दस्तावेजमा।
तपाईंको उपकरणलाई IoT सेवासँग जडान गर्नुहोस्
एकपटक हब सिर्जना भएपछि, तपाईंको IoT उपकरणले यससँग जडान गर्न सक्छ। केवल दर्ता गरिएका उपकरणहरूले सेवासँग जडान गर्न सक्छन्, त्यसैले तपाईंले पहिले आफ्नो उपकरण दर्ता गर्नुपर्नेछ। जब तपाईं दर्ता गर्नुहुन्छ, तपाईंले जडान स्ट्रिङ फिर्ता प्राप्त गर्न सक्नुहुन्छ जुन उपकरणले जडान गर्न प्रयोग गर्न सक्छ। यो जडान स्ट्रिङ उपकरण विशिष्ट हुन्छ, र यसमा IoT Hub, उपकरण, र एक गोप्य कुञ्जीको बारेमा जानकारी समावेश हुन्छ जसले यो उपकरणलाई जडान गर्न अनुमति दिन्छ।
🎓 जडान स्ट्रिङ भनेको जडान विवरणहरू समावेश गर्ने पाठको टुक्राको लागि सामान्य शब्द हो। यी IoT Hub, डाटाबेसहरू र धेरै अन्य सेवाहरूमा जडान गर्दा प्रयोग गरिन्छ। सामान्यतया, यसमा सेवाको पहिचानकर्ता, जस्तै URL, र सुरक्षा जानकारी जस्तै गोप्य कुञ्जी समावेश हुन्छ। यी सेवासँग जडान गर्न SDKs मा पास गरिन्छ।
⚠️ जडान स्ट्रिङहरू सुरक्षित राखिनुपर्छ! सुरक्षा भविष्यको पाठमा थप विस्तारमा कभर गरिनेछ।
कार्य - तपाईंको IoT उपकरण दर्ता गर्नुहोस्
Azure CLI प्रयोग गरेर तपाईंको IoT Hub मा IoT उपकरण दर्ता गर्न सकिन्छ।
-
उपकरण दर्ता गर्न निम्न कमाण्ड चलाउनुहोस्:
az iot hub device-identity create --device-id soil-moisture-sensor \ --hub-name <hub_name>
<hub_name>
लाई तपाईंले प्रयोग गरेको IoT Hub को नामले प्रतिस्थापन गर्नुहोस्।यसले
soil-moisture-sensor
को ID भएको उपकरण सिर्जना गर्नेछ। -
जब तपाईंको IoT उपकरणले SDK प्रयोग गरेर तपाईंको IoT Hub मा जडान गर्छ, यसले हबको URL, साथै गोप्य कुञ्जी दिने जडान स्ट्रिङ प्रयोग गर्नुपर्छ। जडान स्ट्रिङ प्राप्त गर्न निम्न कमाण्ड चलाउनुहोस्:
az iot hub device-identity connection-string show --device-id soil-moisture-sensor \ --output table \ --hub-name <hub_name>
<hub_name>
लाई तपाईंले प्रयोग गरेको IoT Hub को नामले प्रतिस्थापन गर्नुहोस्। -
आउटपुटमा देखाइएको जडान स्ट्रिङ सुरक्षित राख्नुहोस् किनकि तपाईंलाई पछि यसको आवश्यकता हुनेछ।
कार्य - तपाईंको IoT उपकरणलाई क्लाउडसँग जडान गर्नुहोस्
तपाईंको IoT उपकरणलाई क्लाउडसँग जडान गर्न सम्बन्धित मार्गदर्शकको माध्यमबाट काम गर्नुहोस्:
कार्य - घटनाहरू अनुगमन गर्नुहोस्
हालको लागि, तपाईं आफ्नो सर्भर कोड अपडेट गर्नुहुने छैन। यसको सट्टा तपाईं Azure CLI प्रयोग गरेर तपाईंको IoT उपकरणबाट घटनाहरू अनुगमन गर्न सक्नुहुन्छ।
-
सुनिश्चित गर्नुहोस् कि तपाईंको IoT उपकरण चलिरहेको छ र माटोको आर्द्रता टेलिमेट्री मानहरू पठाइरहेको छ।
-
तपाईंको IoT Hub मा पठाइएका सन्देशहरू अनुगमन गर्न तपाईंको कमाण्ड प्रम्प्ट वा टर्मिनलमा निम्न कमाण्ड चलाउनुहोस्:
az iot hub monitor-events --hub-name <hub_name>
<hub_name>
लाई तपाईंले प्रयोग गरेको IoT Hub को नामले प्रतिस्थापन गर्नुहोस्।तपाईंले सन्देशहरू देख्नुहुनेछ जुन तपाईंको IoT उपकरणले पठाउँछ।
Starting event monitor, use ctrl-c to stop... { "event": { "origin": "soil-moisture-sensor", "module": "", "interface": "", "component": "", "payload": "{\"soil_moisture\": 376}" } }, { "event": { "origin": "soil-moisture-sensor", "module": "", "interface": "", "component": "", "payload": "{\"soil_moisture\": 381}" } }
payload
को सामग्री तपाईंको IoT उपकरणले पठाएको सन्देशसँग मेल खानेछ।लेख्ने समयमा,
az iot
विस्तार Apple Silicon मा पूर्ण रूपमा काम गरिरहेको छैन। यदि तपाईं Apple Silicon उपकरण प्रयोग गर्दै हुनुहुन्छ भने, तपाईंले सन्देशहरू अनुगमन गर्न अन्य तरिका प्रयोग गर्नुपर्नेछ, जस्तै Azure IoT Tools for Visual Studio Code। -
यी सन्देशहरूमा स्वचालित रूपमा संलग्न धेरै गुणहरू छन्, जस्तै तिनीहरू पठाइएको समय। यी एनोटेसनहरू भनेर चिनिन्छ। सबै सन्देश एनोटेसनहरू हेर्न निम्न कमाण्ड प्रयोग गर्नुहोस्:
az iot hub monitor-events --properties anno --hub-name <hub_name>
<hub_name>
लाई तपाईंले प्रयोग गरेको IoT Hub को नामले प्रतिस्थापन गर्नुहोस्।तपाईंले सन्देशहरू देख्नुहुनेछ जुन तपाईंको IoT उपकरणले पठाउँछ।
Starting event monitor, use ctrl-c to stop... { "event": { "origin": "soil-moisture-sensor", "module": "", "interface": "", "component": "", "properties": {}, "annotations": { "iothub-connection-device-id": "soil-moisture-sensor", "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}", "iothub-connection-auth-generation-id": "637553997165220462", "iothub-enqueuedtime": 1619976150288, "iothub-message-source": "Telemetry", "x-opt-sequence-number": 1379, "x-opt-offset": "550576", "x-opt-enqueued-time": 1619976150277 }, "payload": "{\"soil_moisture\": 381}" } }
एनोटेसनहरूमा समय मानहरू UNIX समय मा हुन्छन्, जसले 1 जनवरी 1970 को मध्यरातदेखि सेकेन्डहरूको संख्या प्रतिनिधित्व गर्दछ।
जब तपाईं सक्नुहुन्छ, घटनाहरू अनुगमन गर्ने उपकरणबाट बाहिर निस्कनुहोस्।
कार्य - तपाईंको IoT उपकरणलाई नियन्त्रण गर्नुहोस्
तपाईं Azure CLI प्रयोग गरेर तपाईंको IoT उपकरणमा प्रत्यक्ष विधिहरू कल गर्न सक्नुहुन्छ।
-
तपाईंको कमाण्ड प्रम्प्ट वा टर्मिनलमा निम्न कमाण्ड चलाएर IoT उपकरणमा
relay_on
विधि कल गर्नुहोस्:az iot hub invoke-device-method --device-id soil-moisture-sensor \ --method-name relay_on \ --method-payload '{}' \ --hub-name <hub_name>
Replace
<hub_name>
तपाईंले आफ्नो IoT Hub को नाम प्रयोग गरेर।`
यो method-name
द्वारा निर्दिष्ट विधिका लागि एक प्रत्यक्ष विधि अनुरोध पठाउँछ। प्रत्यक्ष विधिहरूले विधिका लागि डेटा समावेश गर्ने पेलोड लिन सक्छन्, र यो method-payload
प्यारामिटरमा JSON रूपमा निर्दिष्ट गर्न सकिन्छ।
तपाईंले रिले अन भएको देख्नुहुनेछ, र तपाईंको IoT उपकरणबाट सम्बन्धित आउटपुट:
Direct method received - relay_on
```
1. माथिको चरण दोहोर्याउनुहोस्, तर `--method-name` लाई `relay_off` मा सेट गर्नुहोस्। तपाईंले रिले अफ भएको देख्नुहुनेछ र IoT उपकरणबाट सम्बन्धित आउटपुट।
---
## 🚀 चुनौती
IoT Hub को निःशुल्क स्तरले दिनमा ८,००० सन्देशहरू अनुमति दिन्छ। तपाईंले लेखेको कोडले प्रत्येक १० सेकेन्डमा टेलिमेट्री सन्देशहरू पठाउँछ। प्रत्येक १० सेकेन्डमा एक सन्देशले दिनमा कति सन्देशहरू पठाउँछ?
माटोको चिसोपन मापनहरू कति पटक पठाइनु पर्छ भनेर सोच्नुहोस्। तपाईंको कोडलाई निःशुल्क स्तरभित्र रहन र आवश्यक भएजति जाँच गर्न तर धेरै पटक नजाँच गर्न कसरी परिवर्तन गर्न सकिन्छ? यदि तपाईंले दोस्रो उपकरण थप्न चाहनुभयो भने के हुन्छ?
## पोस्ट-व्याख्यान क्विज
[पोस्ट-व्याख्यान क्विज](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/16)
## समीक्षा र आत्म अध्ययन
IoT Hub SDK Arduino र Python दुवैका लागि खुला स्रोत हो। GitHub मा रहेको कोड रिपोजमा विभिन्न IoT Hub सुविधाहरूको साथ काम गर्ने केही नमूनाहरू छन्।
* यदि तपाईं Wio Terminal प्रयोग गर्दै हुनुहुन्छ भने, [GitHub मा Arduino नमूनाहरू](https://github.com/Azure/azure-iot-pal-arduino/tree/master/pal/samples) हेर्नुहोस्।
* यदि तपाईं Raspberry Pi वा Virtual उपकरण प्रयोग गर्दै हुनुहुन्छ भने, [GitHub मा Python नमूनाहरू](https://github.com/Azure/azure-iot-sdk-python/tree/master/azure-iot-hub/samples) हेर्नुहोस्।
## असाइनमेन्ट
[क्लाउड सेवाहरूको बारेमा जान्नुहोस्](assignment.md)
---
**अस्वीकरण**:
यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरी अनुवाद गरिएको हो। हामी यथासम्भव सटीकता सुनिश्चित गर्न प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादहरूमा त्रुटि वा अशुद्धता हुन सक्छ। यसको मूल भाषामा रहेको मूल दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्त्वपूर्ण जानकारीका लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याका लागि हामी जिम्मेवार हुने छैनौं।