IoT हब से जुड़े उपकरणों का उपयोग करने वाला मॉडल यह है कि वे आने वाले कनेक्शन को कभी स्वीकार नहीं करेंगे। IoT हब डिवाइस कभी भी 'सर्वर' के रूप में कार्य नहीं करते हैं, और यह Azure IoT में सुरक्षा मॉडल का एक महत्वपूर्ण हिस्सा है। इस पर निश्चित मॉडल क्लेमेंस वास्टर्स की 'सर्विस असिस्टेड कम्युनिकेशन' में संलग्न है ।
इसलिए डेटा भेजने या कमांड प्राप्त करने के लिए डिवाइस हमेशा एक बाहरी सेवा 'पोलिंग' होती है। APIs ऐसा लगता है कि डेटा किसी उपकरण को भेजा जा रहा है, लेकिन यह हमेशा आउटगोइंग कनेक्शन बनाने वाला उपकरण है।
IoT हब दो तरीकों से करता है:
- डिवाइस एंडपॉइंट पर डेटा भेजकर
/devices/{deviceId}/messages/devicebound
। यह एक क्यूक्यू या विषय सदस्यता के समान एएमक्यूपी मैसेजिंग एंडपॉइंट है। डिवाइस, जब रीडिंग कमांड, जरूरत पड़ने पर रसीद स्वीकार करने की आवश्यकता होती है, जो अंतर्निहित एएमक्यूपी प्रोटोकॉल का हिस्सा है। यह MQTT के साथ एक ही काम करता है, और https एक वैध वापसी है। एपीआई आप के लिए यह सब लपेटता है। अतिरिक्त अवधारणाएं हैं, जैसे कि 'प्रत्यक्ष विधियां' जो अनिवार्य रूप से एक ही अंतर्निहित संदेश प्रोटोकॉल के आसपास एक एपीआई आवरण हैं
- सर्वर-साइड डिवाइस ट्विन का उपयोग करके, जो डिवाइस और सर्वर के बीच गुणों को तार्किक रूप से रखने का एक तरीका है। आप डिवाइस जुड़वां पर एक संपत्ति सेट करते हैं, और जब डिवाइस सिंक करता है तो वह संपत्ति डिवाइस के साथ सिंक हो जाएगी। यह LWM2M डिवाइस प्रबंधन प्रोटोकॉल के शीर्ष पर कम संदेश-आधारित और निर्मित है।
एएमक्यूपी (या एमक्यूटीटी) प्रोटोकॉल के हिस्से के रूप में बहुत सारे 'पोलिंग', कनेक्टिंग, शेयरिंग कनेक्शन, रसीदें आदि का ध्यान रखा जाना चाहिए, जो बदले में IoT हब एसडीके में लिपटे हुए हैं। तो ऊपर अत्यधिक सरलीकृत किया गया है, लेकिन दोहराना करने के लिए, IoT हब नहीं कर सकता है, और (कभी भी) आपके डिवाइस पर एक आईपी पते / पोर्ट के लिए डेटा भेजने और भेजने की कोशिश नहीं करेगा।