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

Amazon का IoT प्लेटफार्म क्यों? और आपको यह समझने की आवश्यकता क्यों है कि IoT प्लेटफ़ॉर्म कैसे काम करता है?
एम 2 एम - IoT - IoE
दुनिया में अधिक से अधिक IoT डिवाइस हैं, दोनों विश्लेषणात्मक एजेंसियां और विश्व आँकड़े इस बारे में बोलते हैं।
हम खुद स्पष्ट रूप से देख सकते हैं कि अधिक से अधिक सिस्टम इंटरनेट से जुड़े हैं और स्वचालित रूप से या लोगों द्वारा नियंत्रित होते हैं: स्मार्ट होम, कार, पहनने योग्य डिवाइस। और अब वे केवल IoT के बारे में नहीं, बल्कि IoE (इंटरनेट ऑफ एवरीथिंग) के बारे में बात कर रहे हैं, क्योंकि प्लेटफॉर्म से जुड़ने वाले उपकरणों का उपयोग न केवल औद्योगिक प्रणालियों में किया जाता है, बल्कि लोगों द्वारा भी किया जाता है।
इसलिए, हमें काम के सिद्धांतों को समझने की आवश्यकता है, कम से कम यह समझने के लिए कि आप अपने उपकरणों का प्रभावी ढंग से उपयोग कैसे कर सकते हैं या सुरक्षा की सीमाएं और बारीकियां क्या हैं।
अमेज़न क्यों है?
अमेज़ॅन दुनिया के रुझानों को ध्यान में रखते हुए सेवाएं बनाता है और परिणामस्वरूप "सार्वभौमिक" सिस्टम प्राप्त किए जाते हैं, जिसके मूल सिद्धांत सभी निर्माताओं द्वारा उपयोग किए जाते हैं। क्लाउड प्लेटफ़ॉर्म में एक बड़ा प्लस है - यह कॉर्पोरेट आईटी सेवा और सुरक्षा को शामिल किए बिना कुछ ही घंटों में सिस्टम को अपने आप में तैनात करने की क्षमता है)
क्यों एक स्मार्टफोन और कुछ IoT स्टार्टर किट नहीं?
करीब से निरीक्षण करने पर, स्मार्टफोन IoT डिवाइस का अच्छी तरह से अनुकरण करता है:
- इसमें लिनक्स है जिस पर एप्लिकेशन चलाना है;
- इंटरनेट से एक मोबाइल कनेक्शन है;
- सॉफ्टवेयर का उपयोग करके, आप सेंसर रीडिंग का अनुकरण कर सकते हैं।
यानी एक असली IoT डिवाइस के साथ काम करना स्मार्टफोन के साथ काम करने से अलग नहीं होगा, सिवाय इसके कि सेंसर रीडिंग लेने के लिए एक विशिष्ट एसडीके का उपयोग किया जाए। अन्य सभी संचार समान होंगे।
मुझे मानकों, विश्लेषिकी और विपणन अनुसंधान के साथ अनुभाग छोड़ना चाहिए - लेख के अंत में मैं कुछ प्रासंगिक लिंक दूंगा। मैं कुछ दिलचस्प करने के लिए उत्सुक हूं)
AWS IoT प्लेटफार्म
अमेज़ॅन अपने मंच का एक बिल्कुल स्पष्ट चित्र बनाता है:

यहाँ, सामान्य तौर पर, सब कुछ स्पष्ट है:
- (1) ऐसे उपकरण हैं जो आईओटी प्लेटफॉर्म के साथ एसडीके का उपयोग करके बातचीत करते हैं।
- (2) उपकरण प्रमाणीकरण और प्राधिकरण सेवा द्वारा सत्यापित किए गए संदेश भेजते हैं।
- (3) संदेश विभिन्न प्रोटोकॉल का उपयोग करके डिवाइस गेटवे पर पहुंचते हैं और फिर नियम हैंडलर (4.1) पर जाते हैं और डिवाइस छाया में कॉपी किए जाते हैं (4.2)।
- (४.२) डिवाइस शेड्स डिजिटल डबल्स हैं जो उन उपकरणों की वर्तमान स्थिति को संग्रहीत करते हैं जो हमेशा अनुप्रयोगों के लिए उपलब्ध होते हैं। दूसरी ओर, डिवाइस के साथ संचार की अनुपस्थिति में, डिवाइस शैडो अनुप्रयोगों से नियंत्रण आदेशों को निष्पादित करता है और, पुन: कनेक्ट करते समय, डिवाइस के साथ वर्तमान स्थिति को सिंक्रनाइज़ करता है।
- (४.१) प्राप्त आंकड़ों के आधार पर, नियम हैंडलर पूर्वनिर्धारित क्रियाएं करता है (५.१), उदाहरण के लिए, डीबी में डेटा बचाता है, एसएमएस या ई-मेल सूचना भेजता है, एचटीटीपी एपीआई को कॉल करता है, एनालिटिक्स सिस्टम को डेटा भेजता है, आदि।
- (5.2) अनुप्रयोग AWS API (6) का उपयोग करके उपकरणों को नियंत्रित और प्रबंधित करने के लिए इस डेटा का उपयोग करते हैं
- सभी उपकरणों की जानकारी AWS IoT प्लेटफ़ॉर्म (7) पर संग्रहीत है।
हम समझने लगे हैं, योजना थोड़ी जटिल है:

दिखाई देते हैं:
नौकरियां - उपकरणों पर मानक क्रियाएं करते हैं, उदाहरण के लिए, एप्लिकेशन इंस्टॉल करें, फर्मवेयर अपडेट करें, रिबूट डिवाइस, आदि।
विषय एमक्यूटीटी प्रोटोकॉल का सार हैं। IoT उपकरणों से संदेश विशिष्ट विषयों पर भेजे जाते हैं।
IAM रोल्स - AWS उपयोगकर्ता जिनकी ओर से नियमों को निष्पादित किया जाता है और जिनके पास आवश्यक AWS संसाधनों तक पहुँच होती है।
नियम शामिल हैं:
- फ़िल्टर - प्रसंस्करण के लिए संदेश फ़िल्टर। SQL क्वेरी के रूप में सेट करें।
- क्रिया - प्रदर्शन की जाने वाली क्रिया।
- भूमिका - एक या एक से अधिक IAM भूमिकाएँ।
प्रमाणपत्र - IoT डिवाइस पर अपलोड किया गया, उनकी सहायता से AWS प्लेटफ़ॉर्म पर उपकरणों का प्रमाणीकरण होता है। से मिलकर:
- X.509 डिवाइस प्रमाण पत्र
- निजी कुंजी
- AWS रूट प्रमाणपत्र
नीति - नीतियां उन प्रमाणपत्रों से जुड़ी होती हैं जो यह निर्धारित करती हैं कि डिवाइस क्या कार्य कर सकता है। नीतियां उपकरणों को अधिकृत करती हैं।
विवरण
AWS सेवाएँ जो IoT प्लेटफ़ॉर्म से जानकारी प्राप्त करती हैं: Analytics, DB, SNS अधिसूचना सेवा।
हम डिवाइस कनेक्ट करते हैं
मैं IoT डिवाइस को अमेज़न प्लेटफ़ॉर्म से जोड़ने के लिए पूरी तरह से निर्देश नहीं दूंगा:
AWS IoT के साथ शुरुआत करना । लेकिन कार्य के दायरे को समझने के लिए, मुझे उन चरणों को सूचीबद्ध करना होगा जो योजना के काम करने के लिए आवश्यक हैं:
- प्लेटफ़ॉर्म पर my-iot-dev डिवाइस बनाएं
- हमें डिवाइस प्रमाणपत्र X.509, निजी कुंजी, सार्वजनिक कुंजी मिलता है
- AWS प्लेटफ़ॉर्म का रूट प्रमाणपत्र प्राप्त करें (AWS IoT के लिए रूट CA)
- मेरी iot- देव नीति नीति बनाएँ। हमारे डेमो के लिए, हम सभी कार्यों की अनुमति देते हैं: iot: *

- एक प्रमाण पत्र के लिए एक नीति संलग्न करें
- डिवाइस को प्रमाण पत्र संलग्न करें
- नतीजतन, हमें डिवाइस और नीति के साथ एक प्रमाण पत्र मिला:

- एक नियम बनाएं। ई-मेल भेजने के लिए नियम AWS SNS (सिंपल नोटिफिकेशन सर्विस) नोटिफिकेशन सर्विस को कॉल करेगा। इसलिए, आपको पहले AWS SNS (my-iot-dev-sns-topic) में एक विषय बनाना होगा:

- अब हम कॉन्फ़िगर करते हैं कि डेटा प्राप्त करते समय यह विषय वास्तव में क्या करेगा। ऐसा करने के लिए, विषय की सदस्यता बनाएं (Amazon SNS विषय की सदस्यता लें), लक्ष्य ई-मेल पता दर्ज करें, सत्यापन पत्र की प्रतीक्षा करें, ई-मेल की पुष्टि करें।

अब नियम स्वयं बनाएं (my_iot_dev_rule), जो बनाए गए विषय को कॉल करेगा:
- फ़िल्टर: SELECT * FROM 'my / dev-topic' - फ़िल्टर तब चालू होता है जब 'my / dev-topic' नाम के विषय में कोई संदेश प्राप्त होता है;
- क्रिया: पहले से बनाए गए SNS विषय "arn: aws: sns: eu-central-1: 1219xxx34064: my-iot-dev-sns-topic" को संदेश भेजना;
- IAM भूमिका: SNS विषयों तक पहुँच के साथ मेरी देव-भूमिका भूमिका बनाएँ।

- हमारे डिवाइस के लिए सभी तार्किक इकाइयाँ बनाई गई हैं। अब आप परीक्षण कर सकते हैं कि योजना सैद्धांतिक रूप से काम करती है। ऐसा करने के लिए, AWS के पास एक परीक्षण उपकरण है जो आपको वास्तविक उपकरणों के समान संदेश भेजने और प्राप्त करने की अनुमति देता है। हम इसे लॉन्च करते हैं, विषय (मेरे / देव-विषय) की सदस्यता लेते हैं और "हैलो वर्ल्ड!" पोस्ट:

- हम जाँचते हैं कि संदेश "हैलो वर्ल्ड!" आ गया है और यह निष्कर्ष निकालता है कि सर्किट काम करता है।
स्मार्टफ़ोन कॉन्फ़िगरेशन
आईओटी डिवाइस को कॉन्फ़िगर करने का समय आ गया है, जो मेरा स्मार्टफोन होगा। ऐसा करने के लिए,
AWS SDK जावास्क्रिप्ट निर्देश का उपयोग
करें । एक IoT डिवाइस में स्मार्टफोन को चालू करने के लिए आपको चाहिए:
- डिवाइस पर कॉपी करें: निजी कुंजी, एक्स 509 और "एडब्ल्यूएस के लिए रूट सीए" प्रमाण पत्र;
- Node.js और npm पैकेज प्रबंधक स्थापित करें;
- एडब्ल्यूएस एसडीके स्थापित करें;
- परीक्षण कार्यक्रम स्थापित करें और चलाएं।
हमारे मामले में, सब कुछ थोड़ा आसान होगा, क्योंकि मैंने GHHH पर प्रमाण पत्र, एडब्ल्यूएस एसडीके और परीक्षण कार्यक्रम रखा और आप केवल
IoT-Sensors रिपॉजिटरी को क्लोन कर सकते हैं। यदि कोई मेरे परीक्षण कार्यक्रम का उपयोग करना चाहता है, तो उसे / IoT / certs निर्देशिका में अपने प्रमाण पत्र लगाने होंगे और डिवाइस के लिए वास्तविक रेस्ट एपीआई एंडपॉइंट को / सर्वर / src / सेवाओं / IoT-AOI- सर्वर फ़ाइल में लिखना होगा:
device = deviceModule({ … host: 'a2lqo1xxx4zydi-ats.iot.eu-central-1.amazonaws.com', … })
बाकी API समापन बिंदु डिवाइस सेटिंग्स से लिया गया है:

यदि आप कुछ मानक आज़माना चाहते हैं, तो आप AWS SDK से परीक्षण कार्यक्रमों का उपयोग कर सकते हैं।
एंड्रॉइड एक ही लिनक्स है, लेकिन इसकी सीमाओं के साथ, इसलिए जेएस अनुप्रयोगों को चलाने के लिए आपको एक विशेष टर्मिनल स्थापित करने की आवश्यकता है,
उदाहरण के लिए, टर्मक्स ।
टर्मक्स के प्रारंभिक विकास के लिए, कई लेख हैं, उदाहरण के लिए:
एंड्रॉइड पर एक नोडोड एप्लिकेशन लॉन्च करना । लेकिन बड़ी और, टर्मक्स स्थापित करने के बाद, आपको केवल कुछ जादू कमांड निष्पादित करने की आवश्यकता है:
git clone https://github.com/AlexeySushkov/IoT-Sensors.git
सर्वर स्थापना
cd ~/IoT-Sensors/server npm install npm start
यदि सब कुछ ठीक रहा, तो लाइन टर्मिनल में दिखाई देगी:
सर्वर पोर्ट: 8081 पर शुरू हुआ
लाइव यह इस तरह दिखता है:

ग्राहक स्थापना
cd ~/IoT-Sensors/client npm install npm run serve
यदि सब कुछ ठीक रहा, तो लाइन टर्मिनल में दिखाई देगी:
ऐप पोर्ट पर चल रहा है: 8080
अगला, स्मार्टफोन ब्राउज़र में, दर्ज करें:
http: // localhost: 8080और एक परीक्षण आवेदन स्क्रीन पर दिखाई देगा:

“INIT DEV” बटन दबाएं। यह AWS IoT प्लेटफ़ॉर्म पर IoT डिवाइस को प्रमाणित और अधिकृत करता है। सफल होने पर, स्थिति "Init OK" बन जाती है।
अगला, हम तापमान, नमी और दबाव सेंसर के मूल्यों में प्रवेश करते हैं, उदाहरण के लिए:
तापमान: 23
आर्द्रता: 65
दबाव: 787
और “SATA DATA” बटन दबाएं।

उसके बाद, एप्लिकेशन एक टाइम स्टैम्प जोड़ता है और MQTT संदेशों के रूप में "मेरा / देव-विषय" विषय पर डेटा भेजता है। IoT प्लेटफ़ॉर्म एक संदेश प्राप्त करता है और एक नियम को सक्रिय करता है जो AWS SNS अधिसूचना सेवा को एक संदेश भेजता है, जो JSON प्रारूप में प्राप्त डेटा के साथ एक ई-मेल भेजता है:
{"time":"Mon, 30 Sep 2019 13:54:52 GMT", "temperature":"23", "humidity":"65", "pressure":"787"}
यदि संदेश सफलतापूर्वक भेजा जाता है, तो स्थिति में परिवर्तन होता है: "ओके प्रकाशित करें" और ई-मेल मेल पर भेजा जाता है:

AWS IoT प्लेटफ़ॉर्म में एक मॉनिटरिंग सिस्टम है जो IoT डिवाइस, प्रोटोकॉल पर आंकड़े, संदेश, आदि से कनेक्शन और संदेशों की संख्या दिखाता है।:

तो अब सब कुछ असली के लिए काम कर रहा है!
निष्कर्ष
हमने Amazon प्लेटफॉर्म का उपयोग करके एक छोटा लेकिन वास्तविक IoT बनाया है। सभी प्लेटफार्मों को एक ही सिद्धांत पर बनाया गया है, इसलिए यदि प्रश्न IoT प्रणाली को चुनने के लिए उठता है, तो हम निम्नलिखित प्रश्न पूछने के लिए तैयार होंगे। और आगे, अमेज़ॅन के जवाबों को जानने के बाद, हम यह निष्कर्ष निकाल सकते हैं कि मंच कितना परिपक्व है:
उपकरणों- सिस्टम में डिवाइस कैसे जोड़े जाते हैं?
- डिवाइस प्रमाणीकरण और प्राधिकरण कैसे सुनिश्चित किया जाता है?
- क्या प्लेटफ़ॉर्म पर भेजे गए डेटा का एन्क्रिप्शन होता है?
मंच- प्लेटफ़ॉर्म पर कुंजियाँ और प्रमाणपत्र कैसे सुरक्षित हैं?
- कैसे बनते हैं नियम?
- नियम किन कार्यों का पालन कर सकते हैं?
- उपकरणों की निगरानी और प्रबंधन कैसे किया जाता है?
- क्या मंच पर उपकरणों की कोई छाया (डिजिटल युगल) है?
- क्या रिपोर्ट और विश्लेषण उपलब्ध हैं?
बातचीत- उपकरणों को जोड़ने के लिए क्या प्रोटोकॉल का उपयोग किया जाता है?
- डिवाइस के साथ अनुप्रयोगों की बातचीत कैसे होती है?
- इंटरेक्शन लॉजिक का परीक्षण कैसे किया जाता है?
जैसा कि वादा किया गया है, मैं मानकों और विश्लेषिकी के लिए कुछ प्रासंगिक लिंक प्रदान करूंगा:
IoT मानक
आश्चर्यजनक रूप से, मानकीकरण दिग्गज (
आईएसओ / आईईसी ,
आईईईई ,
आईटीयू-टी ) ने 2016 के बाद IoT में रुचि खो दी है। वे, निश्चित रूप से, कुछ कर रहे हैं, लेकिन किसी तरह ट्विंकल के बिना)। एनआईएसटी ने अपने
नेटवर्क ऑफ 'थिंग्स' के अध्ययन को भी जारी किया, लेकिन 2016 के बाद कुछ ज्यादा दिलचस्प नहीं है।
दूरसंचार संस्थान बेहतर दिखते हैं, जो तब से आश्चर्यजनक नहीं है कनेक्टिविटी के बिना, IoT IoT नहीं है। टीएम-फोरम, अपनी छतरी के नीचे,
आईओई और डिजिटल इकोसिस्टम के मामलों और परियोजनाओं को इकट्ठा करता है, ईटीएसआई आसान है और
वनएम 2 एम में शामिल हो
गया है ।
और अब हम दो संगठनों के लिए आते हैं जो अपेक्षाकृत हाल ही में बने थे, लेकिन पहले से ही IoT विकास की विश्व दिशा निर्धारित करते हैं:
OneM2MOneM2M विभिन्न देशों के मानकीकरण
संगठनों , दूरसंचार कंपनियों और निर्माताओं का
संघ है। उनके पास सार्वजनिक डोमेन में दर्जनों प्रासंगिक दस्तावेज हैं जो
वास्तुशिल्प मॉडल और कार्यात्मक आरेखों के साथ आत्मा को गर्म करते हैं।
आईआईसीIIC (औद्योगिक इंटरनेट कंसोर्टियम) - चीजों के औद्योगिक इंटरनेट के मानकीकरण के लिए एक संगठन - ये मुख्य रूप
से सॉफ्टवेयर और उपकरणों के निर्माता हैं। वे अपने
संदर्भ आर्किटेक्चर भी जारी करते हैं
। सामान्य तौर पर, वहाँ है जहाँ सही दुनिया को देखने के लिए! )
IoT विश्लेषिकी
हमारी सभी पसंदीदा विश्लेषणात्मक एजेंसियां IoT अनुसंधान जारी करती हैं, लेकिन सभी स्वतंत्र रूप से उपलब्ध नहीं हैं। एक उदाहरण के रूप में, मैं कुछ प्रासंगिक लेख दूंगा जो IoT के विकास के लिए आशावादी पूर्वानुमान प्रदर्शित करता है:
यह केवल शुरुआत है!