You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/mr/2-farm/lessons/4-migrate-your-plant-to-the...
co-op-translator[bot] 9508c7b48a
🌐 Update translations via Co-op Translator (#545)
4 weeks ago
..
README.md 🌐 Update translations via Co-op Translator (#545) 4 weeks ago
assignment.md 🌐 Update translations via Co-op Translator (#545) 4 weeks ago
single-board-computer-connect-hub.md 🌐 Update translations via Co-op Translator (#545) 4 weeks ago
wio-terminal-connect-hub.md 🌐 Update translations via Co-op Translator (#545) 4 weeks ago

README.md

तुमच्या वनस्पतीला क्लाउडमध्ये स्थलांतरित करा

या धड्याचा स्केच नोट आढावा

स्केच नोट नित्या नरसिंहन यांनी तयार केले. मोठ्या आवृत्तीसाठी प्रतिमेवर क्लिक करा.

हा धडा IoT for Beginners Project 2 - Digital Agriculture series चा भाग म्हणून Microsoft Reactor कडून शिकवला गेला.

Azure IoT Hub सह तुमचे डिव्हाइस क्लाउडशी कनेक्ट करा

पूर्व-व्याख्यान प्रश्नमंजुषा

पूर्व-व्याख्यान प्रश्नमंजुषा

परिचय

मागील धड्यात, तुम्ही तुमच्या वनस्पतीला MQTT ब्रोकरसह कसे कनेक्ट करायचे आणि स्थानिकरित्या चालणाऱ्या सर्व्हर कोडमधून रिले कसे नियंत्रित करायचे हे शिकले. हे इंटरनेटशी जोडलेल्या स्वयंचलित पाणीपुरवठा प्रणालीचे मुख्य तत्त्व आहे, जे घरातील वैयक्तिक वनस्पतींपासून ते व्यावसायिक शेतीपर्यंत वापरले जाते.

IoT डिव्हाइसने सार्वजनिक MQTT ब्रोकरसह संवाद साधला, हे तत्त्व समजावून सांगण्यासाठी एक साधा मार्ग होता, परंतु हा सर्वात विश्वासार्ह किंवा सुरक्षित मार्ग नाही. या धड्यात तुम्ही क्लाउड आणि सार्वजनिक क्लाउड सेवांद्वारे प्रदान केलेल्या IoT क्षमतांविषयी शिकाल. तसेच, सार्वजनिक MQTT ब्रोकरवरून तुमच्या वनस्पतीला या क्लाउड सेवांमध्ये स्थलांतरित कसे करायचे हे शिकाल.

या धड्यात आपण शिकणार आहोत:

क्लाउड म्हणजे काय?

क्लाउडच्या आधी, जेव्हा एखाद्या कंपनीला त्यांच्या कर्मचाऱ्यांसाठी (उदा. डेटाबेस किंवा फाइल स्टोरेज) किंवा सार्वजनिक वापरासाठी (उदा. वेबसाइट्स) सेवा पुरवायच्या असत, तेव्हा त्यांना डेटा सेंटर तयार करावे लागे. हे एका खोलीतील काही संगणकांपासून एका इमारतीत अनेक संगणकांपर्यंत असू शकते. कंपनीला सर्वकाही व्यवस्थापित करावे लागे, जसे की:

  • संगणक खरेदी करणे
  • हार्डवेअर देखभाल
  • वीज आणि थंडकरण
  • नेटवर्किंग
  • सुरक्षा, इमारतीची आणि संगणकावरील सॉफ्टवेअरची सुरक्षा
  • सॉफ्टवेअर स्थापना आणि अद्यतने

हे खूप महागडे ठरू शकते, विविध कौशल्य असलेल्या कर्मचाऱ्यांची गरज भासते, आणि गरज पडल्यास बदल करण्यात खूप वेळ लागतो. उदाहरणार्थ, जर एखाद्या ऑनलाइन स्टोअरला व्यस्त सुट्टीच्या हंगामासाठी योजना आखायची असेल, तर त्यांना हार्डवेअर खरेदी, त्याचे कॉन्फिगरेशन, सॉफ्टवेअर स्थापना यासाठी महिन्यांपूर्वी तयारी करावी लागते. हंगाम संपल्यानंतर, विक्री कमी झाल्यावर, त्यांनी खरेदी केलेले संगणक निष्क्रिय राहतात.

तुम्हाला असे वाटते का की यामुळे कंपन्या जलद हालचाल करू शकतील? जर एखाद्या सेलिब्रिटीने त्यांच्या कपड्यांमध्ये दिसल्यामुळे एखाद्या ऑनलाइन कपड्यांच्या विक्रेत्याला अचानक लोकप्रियता मिळाली, तर ते ऑर्डरच्या अचानक वाढलेल्या संख्येसाठी पुरेसे संगणकीय सामर्थ्य जलद मिळवू शकतील का?

दुसऱ्याचा संगणक

क्लाउडला विनोदाने 'दुसऱ्याचा संगणक' असे म्हटले जाते. मूळ कल्पना सोपी होती - संगणक खरेदी करण्याऐवजी, दुसऱ्याचा संगणक भाड्याने घ्या. दुसरे कोणी, म्हणजे क्लाउड कंप्युटिंग प्रदाता, मोठ्या डेटा सेंटरचे व्यवस्थापन करेल. ते हार्डवेअर खरेदी आणि स्थापना, वीज आणि थंडकरण व्यवस्थापन, नेटवर्किंग, इमारतीची सुरक्षा, हार्डवेअर आणि सॉफ्टवेअर अद्यतने यासाठी जबाबदार असतील. ग्राहक म्हणून, तुम्ही गरजेनुसार संगणक भाड्याने घेऊ शकता, मागणी वाढल्यावर अधिक भाड्याने घेऊ शकता, आणि मागणी कमी झाल्यावर कमी करू शकता. हे क्लाउड डेटा सेंटर जगभरात आहेत.

मायक्रोसॉफ्ट क्लाउड डेटा सेंटर मायक्रोसॉफ्ट क्लाउड डेटा सेंटर नियोजित विस्तार

ही डेटा सेंटर अनेक चौरस किलोमीटरच्या आकाराची असू शकतात. वरील प्रतिमा काही वर्षांपूर्वी मायक्रोसॉफ्ट क्लाउड डेटा सेंटरमध्ये घेतल्या गेल्या होत्या, आणि त्यात प्रारंभिक आकार तसेच नियोजित विस्तार दाखवला आहे. विस्तारासाठी साफ केलेला भाग 5 चौरस किलोमीटरपेक्षा जास्त आहे.

💁 या डेटा सेंटरला इतकी मोठी वीज लागते की काहींचे स्वतःचे वीज केंद्र असते. त्यांच्या आकारामुळे आणि क्लाउड प्रदात्यांच्या गुंतवणुकीमुळे, ते सहसा पर्यावरणपूरक असतात. ते अनेक लहान डेटा सेंटरपेक्षा अधिक कार्यक्षम असतात, प्रामुख्याने नूतनीकरणक्षम ऊर्जेवर चालतात, आणि कचरा कमी करण्यासाठी, पाण्याचा वापर कमी करण्यासाठी, आणि डेटा सेंटरसाठी जागा तयार करण्यासाठी तोडलेल्या जंगलांची पुनर्निर्मिती करण्यासाठी क्लाउड प्रदाते खूप मेहनत घेतात. क्लाउड प्रदात्यांपैकी एक कसा टिकाऊपणावर काम करत आहे याबद्दल अधिक वाचण्यासाठी Azure टिकाऊपणा साइट पहा.

संशोधन करा: मायक्रोसॉफ्टचे Azure किंवा गुगलचे GCP यांसारख्या प्रमुख क्लाउड्सबद्दल वाचा. त्यांच्याकडे किती डेटा सेंटर आहेत, आणि ती जगात कुठे आहेत?

क्लाउडचा वापर केल्याने कंपन्यांचे खर्च कमी होतात, आणि त्यांना त्यांच्या मुख्य कामावर लक्ष केंद्रित करता येते, क्लाउड कंप्युटिंगचे कौशल्य प्रदात्याकडे सोपवले जाते. कंपन्यांना डेटा सेंटर जागा भाड्याने घेण्याची किंवा खरेदी करण्याची, कनेक्टिव्हिटी आणि वीजसाठी वेगवेगळ्या प्रदात्यांना पैसे देण्याची, किंवा तज्ञांना कामावर ठेवण्याची गरज नसते. त्याऐवजी, त्यांना क्लाउड प्रदात्याला एक मासिक बिल भरून सर्व काही व्यवस्थापित करून मिळते.

क्लाउड प्रदाता मोठ्या प्रमाणावर खरेदी करून खर्च कमी करू शकतो, देखभालीसाठी त्यांचा कार्यभार कमी करण्यासाठी साधनांमध्ये गुंतवणूक करू शकतो, आणि त्यांच्या क्लाउड ऑफरिंग सुधारण्यासाठी स्वतःचे हार्डवेअर डिझाइन आणि तयार करू शकतो.

मायक्रोसॉफ्ट Azure

Azure हा मायक्रोसॉफ्टचा डेव्हलपर क्लाउड आहे, आणि तुम्ही या धड्यांसाठी याचाच वापर करणार आहात. खालील व्हिडिओ Azure चा एक छोटा आढावा देतो:

Azure व्हिडिओचा आढावा

क्लाउड सबस्क्रिप्शन तयार करा

क्लाउडमधील सेवा वापरण्यासाठी, तुम्हाला क्लाउड प्रदात्यासोबत सबस्क्रिप्शनसाठी साइन अप करावे लागेल. या धड्यासाठी, तुम्ही मायक्रोसॉफ्ट Azure सबस्क्रिप्शनसाठी साइन अप करणार आहात. जर तुमच्याकडे आधीच Azure सबस्क्रिप्शन असेल, तर तुम्ही हे टास्क वगळू शकता. येथे वर्णन केलेले सबस्क्रिप्शन तपशील लेखनाच्या वेळी योग्य आहेत, परंतु ते बदलू शकतात.

💁 जर तुम्ही तुमच्या शाळेद्वारे हे धडे घेत असाल, तर तुमच्याकडे आधीच Azure सबस्क्रिप्शन उपलब्ध असू शकते. तुमच्या शिक्षकाकडे तपासा.

Azure चे दोन वेगवेगळ्या प्रकारचे मोफत सबस्क्रिप्शन आहेत:

  • Azure for Students - हे 18+ वयोगटातील विद्यार्थ्यांसाठी डिझाइन केलेले सबस्क्रिप्शन आहे. साइन अप करण्यासाठी तुम्हाला क्रेडिट कार्डची गरज नाही, आणि तुम्ही तुमचा शाळेचा ईमेल पत्ता वापरून विद्यार्थी असल्याचे सत्यापित करता. साइन अप केल्यावर तुम्हाला क्लाउड संसाधनांवर खर्च करण्यासाठी US$100 मिळतात, तसेच IoT सेवेसाठी एक मोफत आवृत्ती मिळते. हे 12 महिने टिकते, आणि तुम्ही विद्यार्थी राहिल्यापर्यंत दरवर्षी नूतनीकरण करू शकता.

  • Azure फ्री सबस्क्रिप्शन - हे विद्यार्थ्यांसाठी नसलेल्या कोणासाठीही सबस्क्रिप्शन आहे. सबस्क्रिप्शनसाठी साइन अप करण्यासाठी तुम्हाला क्रेडिट कार्डची आवश्यकता असेल, परंतु तुमच्या कार्डावर शुल्क आकारले जाणार नाही, हे फक्त तुम्ही बॉट नसून खरे मानव आहात हे सत्यापित करण्यासाठी वापरले जाते. तुम्हाला पहिल्या 30 दिवसांत कोणत्याही सेवेसाठी वापरण्यासाठी $200 चा क्रेडिट मिळतो, तसेच Azure सेवांच्या मोफत स्तरांचा लाभ मिळतो. एकदा तुमचा क्रेडिट संपल्यावर, तुमच्या कार्डावर शुल्क आकारले जाणार नाही, जोपर्यंत तुम्ही पे-एज-यू-गो सबस्क्रिप्शनमध्ये रूपांतर करत नाही.

💁 मायक्रोसॉफ्ट 18 वर्षांखालील विद्यार्थ्यांसाठी Azure for Students Starter सबस्क्रिप्शन ऑफर करते, परंतु लेखनाच्या वेळी यात IoT सेवा समर्थित नाहीत.

टास्क - मोफत क्लाउड सबस्क्रिप्शनसाठी साइन अप करा

जर तुम्ही 18+ वयोगटातील विद्यार्थी असाल, तर तुम्ही Azure for Students सबस्क्रिप्शनसाठी साइन अप करू शकता. तुम्हाला शाळेच्या ईमेल पत्त्याने सत्यापन करावे लागेल. तुम्ही हे दोन प्रकारे करू शकता:

  • education.github.com/pack येथे GitHub Student Developer Pack साठी साइन अप करा. यामुळे तुम्हाला GitHub आणि Microsoft Azure यांसारख्या साधनांचा आणि ऑफरचा प्रवेश मिळतो. एकदा तुम्ही डेव्हलपर पॅकसाठी साइन अप केल्यावर, तुम्ही Azure for Students ऑफर सक्रिय करू शकता.

  • azure.microsoft.com/free/students येथे थेट Azure for Students खात्यासाठी साइन अप करा.

⚠️ जर तुमचा शाळेचा ईमेल पत्ता ओळखला गेला नाही, तर या रेपोमध्ये समस्या नोंदवा आणि आम्ही तो Azure for Students अलाउ लिस्टमध्ये जोडता येतो का ते पाहू.

जर तुम्ही विद्यार्थी नसाल, किंवा तुमच्याकडे वैध शाळेचा ईमेल पत्ता नसेल, तर तुम्ही Azure फ्री सबस्क्रिप्शनसाठी साइन अप करू शकता.

  • azure.microsoft.com/free येथे Azure फ्री सबस्क्रिप्शनसाठी साइन अप करा.

क्लाउड IoT सेवा

तुम्ही वापरत असलेला सार्वजनिक चाचणी MQTT ब्रोकर शिकण्यासाठी एक उत्तम साधन आहे, परंतु व्यावसायिक सेटिंगमध्ये वापरण्यासाठी त्यात काही मर्यादा आहेत:

  • विश्वासार्हता - ही एक मोफत सेवा आहे ज्याची कोणतीही हमी नाही, आणि ती कधीही बंद केली जाऊ शकते
  • सुरक्षा - ती सार्वजनिक आहे, त्यामुळे कोणीही तुमचा टेलिमेट्री डेटा वाचू शकतो किंवा तुमचे हार्डवेअर नियंत्रित करण्यासाठी आदेश पाठवू शकतो
  • कार्यक्षमता - ती फक्त काही चाचणी संदेशांसाठी डिझाइन केली आहे, त्यामुळे मोठ्या प्रमाणात संदेश पाठवण्यासाठी ती सक्षम नाही
  • शोध - कनेक्ट केलेली डिव्हाइस शोधण्यासाठी कोणताही मार्ग नाही

क्लाउडमधील IoT सेवा या समस्या सोडवतात. त्या मोठ्या क्लाउड प्रदात्यांद्वारे व्यवस्थापित केल्या जातात, जे विश्वासार्हतेसाठी मोठ्या प्रमाणावर गुंतवणूक करतात आणि उद्भवलेल्या कोणत्याही समस्यांचे निराकरण करण्यासाठी तत्पर असतात. त्यात सुरक्षा अंतर्भूत असते, ज्यामुळे हॅकर्सना तुमचा डेटा वाचण्यापासून किंवा चुकीचे आदेश पाठवण्यापासून रोखले जाते. त्या उच्च कार्यक्षमतेच्या असतात, दररोज लाखो संदेश हाताळण्यास सक्षम असतात, आणि गरजेनुसार क्लाउडचा लाभ घेतात.

💁 तुम्हाला या फायद्यांसाठी मासिक शुल्क भरावे लागते, परंतु बहुतेक क्लाउड प्रदाते त्यांच्या IoT सेवांची मोफत आवृत्ती ऑफर करतात, ज्यामध्ये दररोज मर्यादित संदेश किंवा कनेक्ट होणाऱ्या डिव्हाइसची मर्यादा असते. ही मोफत आवृत्ती डेव्हलपरसाठी सेवा शिकण्यासाठी पुरेशी असते. या धड्यात तुम्ही मोफत आवृत्ती वापरणार आहात.

IoT डिव्हाइस क्लाउड सेवेशी डिव्हाइस SDK (सेवेच्या वैशिष्ट्यांसह कार्य करण्यासाठी कोड प्रदान करणारे लायब्ररी) वापरून किंवा थेट MQTT किंवा HTTP सारख्या संवाद प्रोटोकॉलद्वारे कनेक्ट होतात. डिव्हाइस SDK हा सहसा सर्वात सोपा मार्ग असतो कारण तो तुमच्यासाठी सर्व काही हाताळतो, जसे की कोणत्या टॉपिक्सवर प्रकाशित करायचे किंवा सदस्यता घ्यायची, आणि सुरक्षा कशी हाताळायची.

डिव्हाइस डिव्हाइस SDK वापरून सेवेशी कनेक्ट होतात. सर्व्हर कोड देखील SDK द्वारे सेवेशी कनेक्ट होतो

तुमचे डिव्हाइस नंतर तुमच्या अनुप्रयोगाच्या इतर भागांशी या सेवेद्वारे संवाद साधते - जसे तुम्ही MQTT वर टेलिमेट्री पाठवली आणि आदेश प्राप्त केले. हे सहसा सेवा SDK किंवा तत्सम लायब्ररी वापरून केले जाते. संदेश तुमच्या डिव्हाइसवरून सेवेकडे येतात, जिथे तुमच्या अनुप्रयोगाचे इतर घटक त्यांना वाचू शकतात, आणि संदेश पुन्हा तुमच्या डिव्हाइसवर पाठवले जाऊ शकतात.

वैध गुप्त की नसलेली डिव्हाइस IoT सेवेशी कनेक्ट होऊ शकत नाहीत

या सेवांमध्ये सुरक्षा लागू केली जाते, ज्या डिव्हाइस कनेक्ट होऊ शकतात आणि डेटा पाठवू शकतात त्याबद्दल माहिती ठेवून, डिव्हाइस आधीच सेवेसह नोंदणीकृत असतात किंवा त्यांना गुप्त की किंवा प्रमाणपत्रे दिली जातात, जी ते प्रथमच कनेक्ट होताना सेवेसह स्वतःची नोंदणी करण्यासाठी वापरतात. अज्ञात डिव्हाइस कनेक्ट होऊ शकत नाहीत, जर त्यांनी प्रयत्न केला तर सेवा कनेक्शन नाकारते आणि त्यांच्याकडून पाठवलेले संदेश दुर्लक्ष करते.

संशोधन करा: कोणत्याही डिव्हाइस किंवा कोडला कनेक्ट होऊ देणारी उघडी IoT सेवा ठेवण्याचा तोटा काय आहे? हॅकर्सने याचा फायदा घेतल्याचे विशिष्ट उदाहरण शोधू शकता का?

तुमच्या अनुप्रयोगाचे इतर घटक IoT सेवेशी कनेक्ट होऊ शकतात आणि कनेक्ट केलेल्या किंवा नोंदणीकृत सर्व डिव्हाइसबद्दल जाणून घेऊ शकतात, आणि त्यांच्याशी थेट मोठ्या प्रमाणावर किंवा वैयक्तिकरित्या संवाद साधू शकतात. 💁 IoT सेवा अतिरिक्त क्षमता देखील लागू करतात, आणि क्लाउड प्रदाते अतिरिक्त सेवा आणि अनुप्रयोग प्रदान करतात जे सेवेशी जोडले जाऊ शकतात. उदाहरणार्थ, जर तुम्हाला सर्व उपकरणांनी पाठवलेल्या टेलीमेट्री संदेश एका डेटाबेसमध्ये संग्रहित करायचे असतील, तर क्लाउड प्रदात्याच्या कॉन्फिगरेशन साधनात काही क्लिक करून सेवा डेटाबेसशी जोडणे आणि डेटा प्रवाहित करणे शक्य होते.

क्लाउडमध्ये IoT सेवा तयार करा

आता तुमच्याकडे Azure सदस्यता आहे, तुम्ही IoT सेवेसाठी साइन अप करू शकता. Microsoft कडून IoT सेवा Azure IoT Hub म्हणून ओळखली जाते.

Azure IoT Hub लोगो

खालील व्हिडिओ Azure IoT Hub चा संक्षिप्त आढावा देतो:

Azure IoT Hub व्हिडिओचा आढावा

🎥 वरील प्रतिमेवर क्लिक करून व्हिडिओ पहा

थोडा वेळ घ्या आणि Microsoft IoT Hub दस्तऐवज मध्ये IoT Hub चा आढावा वाचा.

Azure मध्ये उपलब्ध क्लाउड सेवा वेब-आधारित पोर्टलद्वारे किंवा कमांड-लाइन इंटरफेस (CLI) द्वारे कॉन्फिगर केल्या जाऊ शकतात. या कार्यासाठी, तुम्ही CLI वापराल.

कार्य - Azure CLI स्थापित करा

Azure CLI वापरण्यासाठी, ते प्रथम तुमच्या PC किंवा Mac वर स्थापित केले पाहिजे.

  1. CLI स्थापित करण्यासाठी Azure CLI दस्तऐवज मधील सूचना अनुसरा.

  2. Azure CLI अनेक विस्तारांना समर्थन देते जे विविध प्रकारच्या Azure सेवांचे व्यवस्थापन करण्यासाठी क्षमता जोडतात. तुमच्या कमांड लाइन किंवा टर्मिनलवरून खालील कमांड चालवून IoT विस्तार स्थापित करा:

    az extension add --name azure-iot
    
  3. तुमच्या कमांड लाइन किंवा टर्मिनलवरून खालील कमांड चालवा जेणेकरून Azure CLI मधून तुमच्या Azure सदस्यतेमध्ये लॉग इन करता येईल.

    az login
    

    तुमच्या डिफॉल्ट ब्राउझरमध्ये एक वेब पृष्ठ उघडले जाईल. तुमच्या Azure सदस्यतेसाठी साइन अप करताना वापरलेल्या खात्याचा वापर करून लॉग इन करा. एकदा तुम्ही लॉग इन केल्यानंतर, ब्राउझर टॅब बंद करू शकता.

  4. जर तुमच्याकडे एकाधिक 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> च्या जागी तुम्हाला वापरायच्या सदस्यतेचा आयडी ठेवा. ही कमांड चालवल्यानंतर, तुमच्या खात्यांची यादी पुन्हा चालवा. तुम्ही निवडलेल्या सदस्यतेसाठी IsDefault कॉलम True म्हणून चिन्हांकित केले जाईल.

कार्य - संसाधन गट तयार करा

Azure सेवा, जसे की IoT Hub उदाहरणे, व्हर्च्युअल मशीन, डेटाबेस किंवा AI सेवा, यांना संसाधने म्हणून संदर्भित केले जाते. प्रत्येक संसाधनाला संसाधन गट मध्ये राहावे लागते, एक किंवा अधिक संसाधनांचे तर्कसंगत गट.

💁 संसाधन गट वापरल्याने तुम्ही एकाच वेळी अनेक सेवा व्यवस्थापित करू शकता. उदाहरणार्थ, एकदा तुम्ही या प्रकल्पासाठी सर्व धडे पूर्ण केल्यानंतर तुम्ही संसाधन गट हटवू शकता आणि त्यातील सर्व संसाधने आपोआप हटवली जातील.

  1. जगभरातील अनेक 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 geographies पृष्ठावर नकाशावर प्रदेश शोधू शकता.

  2. soil-moisture-sensor नावाचा संसाधन गट तयार करण्यासाठी खालील कमांड चालवा. तुमच्या सदस्यतेतील संसाधन गटांची नावे अद्वितीय असली पाहिजेत.

    az group create --name soil-moisture-sensor \
                    --location <location>
    

    <location> च्या जागी तुम्ही मागील चरणात निवडलेले स्थान ठेवा.

कार्य - IoT Hub तयार करा

आता तुम्ही तुमच्या संसाधन गटात IoT Hub संसाधन तयार करू शकता.

  1. तुमचे 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 मध्ये कायमस्वरूपी ठेवले जातात, त्यामुळे कोणत्याही वेळी डिव्हाइस पुन्हा कनेक्ट होऊ शकते आणि नवीनतम डिव्हाइस ट्विन मिळवू शकते.

संशोधन करा: IoT Hub दस्तऐवजामध्ये डिव्हाइस-टू-क्लाउड कम्युनिकेशन्स मार्गदर्शन आणि क्लाउड-टू-डिव्हाइस कम्युनिकेशन्स मार्गदर्शन वाचा.

तुमचे डिव्हाइस IoT सेवेशी कनेक्ट करा

एकदा हब तयार झाल्यानंतर, तुमचे IoT डिव्हाइस त्याच्याशी कनेक्ट होऊ शकते. फक्त नोंदणीकृत डिव्हाइस सेवा कनेक्ट करू शकतात, त्यामुळे तुम्हाला तुमचे डिव्हाइस प्रथम नोंदणी करावे लागेल. जेव्हा तुम्ही नोंदणी करता तेव्हा तुम्हाला कनेक्शन स्ट्रिंग मिळते ज्याचा वापर डिव्हाइसला कनेक्ट करण्यासाठी करता येतो. हा कनेक्शन स्ट्रिंग डिव्हाइस-विशिष्ट असतो आणि त्यामध्ये IoT Hub, डिव्हाइस आणि एक गुप्त की याबद्दल माहिती असते ज्यामुळे डिव्हाइसला कनेक्ट करता येते.

🎓 कनेक्शन स्ट्रिंग हा कनेक्शन तपशील असलेल्या मजकूराचा सामान्य शब्द आहे. IoT Hubs, डेटाबेस आणि अनेक इतर सेवांशी कनेक्ट करताना याचा वापर केला जातो. यात सेवा ओळखकर्ता, जसे की URL, आणि सुरक्षा माहिती जसे की गुप्त की असते. हे SDKs ला सेवेशी कनेक्ट करण्यासाठी दिले जातात.

⚠️ कनेक्शन स्ट्रिंग सुरक्षित ठेवले पाहिजेत! सुरक्षा पुढील धड्यात अधिक तपशीलवारपणे कव्हर केली जाईल.

कार्य - तुमचे IoT डिव्हाइस नोंदणी करा

Azure CLI वापरून IoT डिव्हाइस तुमच्या IoT Hub मध्ये नोंदणी केली जाऊ शकते.

  1. डिव्हाइस नोंदणी करण्यासाठी खालील कमांड चालवा:

    az iot hub device-identity create --device-id soil-moisture-sensor \
                                      --hub-name <hub_name>
    

    <hub_name> च्या जागी तुम्ही तुमच्या IoT Hub साठी वापरलेले नाव ठेवा.

    हे soil-moisture-sensor आयडीसह डिव्हाइस तयार करेल.

  2. जेव्हा तुमचे 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 साठी वापरलेले नाव ठेवा.

  3. आउटपुटमध्ये दर्शवलेला कनेक्शन स्ट्रिंग साठवा कारण तुम्हाला नंतर त्याची आवश्यकता असेल.

कार्य - तुमचे IoT डिव्हाइस क्लाउडशी कनेक्ट करा

तुमचे IoT डिव्हाइस क्लाउडशी कनेक्ट करण्यासाठी संबंधित मार्गदर्शक वाचा:

कार्य - इव्हेंट्स मॉनिटर करा

सध्या, तुम्ही तुमचा सर्व्हर कोड अपडेट करणार नाही. त्याऐवजी तुम्ही Azure CLI वापरून तुमच्या IoT डिव्हाइसकडून इव्हेंट्स मॉनिटर करू शकता.

  1. तुमचे IoT डिव्हाइस चालू ठेवा आणि मातीतील आर्द्रता टेलीमेट्री मूल्ये पाठवत ठेवा.

  2. तुमच्या 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 वापरून.

  3. या संदेशांमध्ये स्वयंचलितपणे जोडलेली अनेक गुणधर्म असतात, जसे की ते पाठवले गेलेले टाइमस्टॅम्प. यांना annotations म्हणतात. सर्व संदेश annotations पाहण्यासाठी खालील कमांड वापरा:

    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}"
        }
    }
    

    annotations मधील वेळेची मूल्ये UNIX time मध्ये असतात, जी 1st जानेवारी 1970 च्या मध्यरात्रीपासून सेकंदांची संख्या दर्शवतात.

    तुम्ही पूर्ण झाल्यावर इव्हेंट मॉनिटर बंद करा.

कार्य - तुमचे IoT डिव्हाइस नियंत्रित करा

तुम्ही Azure CLI वापरून तुमच्या IoT डिव्हाइसवर थेट पद्धती कॉल करू शकता.

  1. तुमच्या कमांड प्रॉम्प्ट किंवा टर्मिनलमध्ये खालील कमांड चालवा जेणेकरून IoT डिव्हाइसवरील relay_on पद्धती invoke करता येईल:

    az iot hub invoke-device-method --device-id soil-moisture-sensor \
                                    --method-name relay_on \
                                    --method-payload '{}' \
                                    --hub-name <hub_name>
    

    <hub_name> तुमच्या IoT Hub साठी तुम्ही वापरलेल्या नावाने बदला.

हे method-name ने निर्दिष्ट केलेल्या पद्धतीसाठी एक थेट पद्धत विनंती पाठवते. थेट पद्धतींमध्ये पद्धतीसाठी डेटा असलेला पेलोड असू शकतो, आणि तो method-payload पॅरामीटरमध्ये JSON स्वरूपात निर्दिष्ट केला जाऊ शकतो.

तुम्हाला रिले चालू होताना दिसेल, आणि तुमच्या IoT डिव्हाइसकडून संबंधित आउटपुट मिळेल:

    Direct method received -  relay_on
    ```

1. वरील पायरी पुन्हा करा, पण `--method-name` `relay_off` वर सेट करा. तुम्हाला रिले बंद होताना दिसेल आणि IoT डिव्हाइसकडून संबंधित आउटपुट मिळेल.

---

## 🚀 आव्हान

IoT Hub च्या फ्री टियरमध्ये दररोज 8,000 संदेशांची मर्यादा आहे. तुम्ही लिहिलेला कोड दर 10 सेकंदांनी टेलिमेट्री संदेश पाठवतो. दर 10 सेकंदांनी एक संदेश पाठवला तर एका दिवसात किती संदेश जातील?

मातीतील ओलसरतेचे मोजमाप किती वेळा पाठवले पाहिजे याचा विचार करा. फ्री टियरमध्ये राहण्यासाठी आणि आवश्यकतेनुसार तपासणी करण्यासाठी पण खूप जास्त वेळा नाही, तुमचा कोड कसा बदलता येईल? जर तुम्हाला दुसरे डिव्हाइस जोडायचे असेल तर काय कराल?

## व्याख्यानानंतरचा क्विझ

[व्याख्यानानंतरचा क्विझ](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) चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील मूळ दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवणाऱ्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.