विषयसूची:

IOT CA2 सिक्योर स्मार्ट होम/रूम: 8 कदम
IOT CA2 सिक्योर स्मार्ट होम/रूम: 8 कदम

वीडियो: IOT CA2 सिक्योर स्मार्ट होम/रूम: 8 कदम

वीडियो: IOT CA2 सिक्योर स्मार्ट होम/रूम: 8 कदम
वीडियो: Root or Not ? Advantage & Disadvantage of rooting | My Opinion 2024, जुलाई
Anonim
IOT CA2 सिक्योर स्मार्ट होम/रूम
IOT CA2 सिक्योर स्मार्ट होम/रूम
IOT CA2 सिक्योर स्मार्ट होम/रूम
IOT CA2 सिक्योर स्मार्ट होम/रूम

विषयसूची

1 स्मार्ट सिक्योर होम का अवलोकन

2 हार्डवेयर आवश्यकताएँ + सेटअप

3 सॉफ़्टवेयर आवश्यकताएँ + सेटअप

4 रास्पबेरी पाई को एक चीज़ के रूप में पंजीकृत करें

5 एक S3 बकेट बनाएं

6 डायनेमोडीबी सेटअप + नियम

7 अपेक्षित परिणाम

8 कोड (पेस्टबिन से)

9 संदर्भ

अवलोकन

स्वागत! यह रास्पबेरी पाई परियोजना कुछ सुरक्षा सुविधाओं के साथ एक "स्मार्ट होम" प्रबंधन प्रणाली है। परियोजना तापमान और प्रकाश जैसे विभिन्न मूल्यों को मापने में सक्षम है। सुरक्षा अनुभाग में एक बजर, एक कार्ड स्कैनर सिस्टम (कार्ड अधिकृत करता है), एक इनडोर और आउटडोर कैमरा के साथ-साथ एक एसएमएस अलर्ट सिस्टम भी शामिल है। निम्नलिखित निर्देश संपूर्ण परियोजना की स्थापना को कवर करेंगे।

मूल रूप से, हमारे पास तापमान और साथ ही प्रकाश मान प्राप्त करने के लिए एक प्रकाश डायोड रोकनेवाला और एक DHT11 सेंसर है। फिर मूल्यों को 'स्मार्टरूम/सेंसर/वैल्यू' पर प्रकाशित किया जाएगा और यह जांचने के लिए विषय की सदस्यता होगी कि क्या मान प्रकाशित किए जा रहे हैं। एक बार मान प्रकाशित होने के बाद, मान हमारी डायनेमोडीबी तालिका में भी भेजे जाएंगे। DynamoDB के अंदर संग्रहीत मूल्यों को निकाला जा सकता है और एक ग्राफ में प्लॉट किया जा सकता है जो हमारे वेब इंटरफेस में वास्तविक समय मूल्यों को प्रदर्शित करता है। (लाइट ग्राफ) विश्लेषण उद्देश्यों के लिए हमारे ग्राफ को प्लॉट करने के लिए मान प्राप्त करने के लिए सेंसर का उपयोग करने के अलावा, हमारे dht11 सेंसर का उपयोग संभावित "फायर" डिटेक्टर के रूप में भी किया जाता है। जब यह एक निश्चित तापमान से टकराता है जो आग हो सकता है, तो हमारे पास publishHeat.py नाम की एक स्क्रिप्ट होती है जो तापमान को 'स्मार्टरूम/सेंसर/फायर' विषय पर प्रकाशित करेगी, ब्रेडबोर्ड जो अपार्टमेंट के बाहर का प्रतीक है, फिर उस की सदस्यता लेगा विषय और एक एलईडी लाइट अप यह इंगित करने के लिए कि संभावित आग हो सकती है। संभावित आग लगने पर घर के मालिक को सचेत करने के लिए अलार्म के साथ-साथ एक एसएमएस भी बंद हो जाएगा।

घर/कमरे में प्रवेश करने के लिए, उपयोगकर्ता को आरएफआईडी स्कैनर पर अपने कार्ड को टैप करना होगा। यदि टैप किया गया कार्ड गलत है, तो अलार्म तब तक बजता रहेगा जब तक कि सही क्रेडेंशियल वाले कार्ड को टैप नहीं किया जाता। इसके अलावा, जब एक गलत कार्ड टैप किया जाता है, तो बाहर का निगरानी कैमरा उस उपयोगकर्ता की तस्वीर लेगा जिसने कार्ड को टैप किया और चित्र को S3 बाल्टी में अपलोड किया। घर के मालिक को एक एसएमएस भी मिलेगा जिसमें कहा जाएगा कि किसी ने उसके घर में घुसने का प्रयास किया है। यदि दरवाजा खुला / बंद है तो कमरे के बाहर लेबल लगाने के लिए एक एलईडी संकेतक भी है। जब दरवाजा बंद होता है, तो पीली एलईडी जलती है। अनलॉक होने पर हरी एलईडी जलेगी। जब एक अधिकृत कार्ड टैप किया जाता है, तो दरवाजा 15 सेकंड के लिए अनलॉक हो जाएगा और हरे रंग की एलईडी के साथ फिर पीले एलईडी के साथ अनलॉक मोड में वापस आ जाएगा।

उपयोगकर्ता एक डैशबोर्ड के माध्यम से एकत्र किए गए डेटा को नोड-रेड में देख सकते हैं जो एक गेज और एक ऐतिहासिक ग्राफ के ग्राफिकल प्रतिनिधित्व के अलावा वर्तमान माप मान दिखाता है। डैशबोर्ड में अतिरिक्त विशेषताएं भी शामिल हैं जैसे एक घड़ी जो वर्तमान डेटा और समय को प्रदर्शित करती है और विभिन्न विद्युत उपकरणों को दूरस्थ रूप से नियंत्रित करने के लिए स्विच करती है, जिन्हें एलईडी और बजर के रूप में दर्शाया जाता है।

अंत में, हमारे पास टेलीग्राम बॉट फीचर भी है। टेलीग्राम बॉट कमरे के अंदर जो कुछ भी हो रहा है उसकी तस्वीरें दूर से ले सकता है और इसे S3 बकेट में स्टोर कर सकता है। इन तस्वीरों को एक फोल्डर के अंदर लेबल किया जाएगा जिसका नाम है “होमड/यूज़र टेलीग्राम बॉट कमरे में एलईडी लाइट को दूर से भी नियंत्रित करने में सक्षम होगा।

चरण 1: हार्डवेयर आवश्यकताएँ + सेटअप

हार्डवेयर आवश्यकताएँ + सेटअप
हार्डवेयर आवश्यकताएँ + सेटअप
हार्डवेयर आवश्यकताएँ + सेटअप
हार्डवेयर आवश्यकताएँ + सेटअप

अपने 2 रास्पबेरी पीस के साथ निम्नलिखित घटकों को कनेक्ट करें जैसा कि ऊपर फ्रिटिंग आरेखों में दिखाया गया है।

2 एक्स रास्पबेरी पाई

3 एक्स ब्रेडबोर्ड

1 एक्स एमसीपी3008 एडीसी

1 एक्स डीएचटी 11 सेंसर

1 एक्स एलडीआर

1 एक्स आरएफआईडी/एनएफसी एमएफआरसी५२२ कार्ड रीडर

4 एक्स एलईडी

1 एक्स एलसीडी स्क्रीन

3 x 10k रोकनेवाला

4 x 220/330 रोकनेवाला

1 एक्स बटन

1 एक्स बजर

34 x पुरुष से पुरुष केबल

11 x पुरुष से महिला केबल

चरण 2: सॉफ़्टवेयर आवश्यकताएँ + सेटअप

सॉफ़्टवेयर आवश्यकताएँ + सेटअप
सॉफ़्टवेयर आवश्यकताएँ + सेटअप
सॉफ़्टवेयर आवश्यकताएँ + सेटअप
सॉफ़्टवेयर आवश्यकताएँ + सेटअप
सॉफ़्टवेयर आवश्यकताएँ + सेटअप
सॉफ़्टवेयर आवश्यकताएँ + सेटअप

यह सुनिश्चित करने के लिए कि वे स्थापित हैं, अपने रास्पबेरी पाई टर्मिनल में निम्न कमांड टाइप करें।

यदि निम्न में से कोई भी सॉफ़्टवेयर आपके pi में पहले से ही डाउनलोड हो चुका है, तो sudo pip install (सॉफ़्टवेयर नाम) --upgrad उसे अपडेट करने की तरकीब करेगा।

- सुडो पिप इंस्टॉल गीवेंट

- सुडो पाइप इंस्टाल फ्लास्क

- सुडो पाइप नेक्समो स्थापित करें

- sudo pip install --upgrad --force-reinstall pip==9.0.3

- sudo pip AWSIoTPythonSDK --upgrad --disable-pip-version-check स्थापित करें

- sudo pip install --upgrad pip

- sudo apt-get install python-dev

- sudo pip install boto3

- सुडो पाइप बोटोकोर स्थापित करें

- सुडो पाइप इंस्टाल numpy

- सीडी ~

गिट क्लोन

सीडी ~/एसपीआई-पीई

sudo python setup.py install"

- सीडी ~

गिट क्लोन

सीडी ~/एमएफआरसी522-पायथन

sudo python setup.py install"

- sudo nano /boot/config.txt, जांचें कि क्या लाइन्स device_tree_param=spi=on

dtoverlay=spi-bcm2835 अंदर हैं, अन्यथा जोड़ें।

चरण 3: एक चीज़ का पंजीकरण

एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण
एक चीज़ का पंजीकरण

a) सबसे पहले, सेवाओं पर क्लिक करके AWS वेबसाइट के भीतर IoT Core पर नेविगेट करें, फिर IoT Core पर।

b) मैनेज के तहत नेविगेशन बार में, चीजों का चयन करें और एक चीज को पंजीकृत करें चुनें।

सी) एक ही चीज़ बनाएं चुनें।

d) अपनी चीज़ के लिए एक नाम दर्ज करें, उदाहरण के लिए, MyRaspberryPi2। शेष फ़ील्ड को उनके डिफ़ॉल्ट मानों से छोड़ दें। पृष्ठ के निचले भाग में अगला क्लिक करें।

ई) सर्टिफिकेट क्रिएट पर क्लिक करें। सभी चार फाइलें डाउनलोड करें। रूट CA फ़ाइल के लिए, Amazon Root CA 1 डाउनलोड करें और इसे नोटपैड में सहेजें।

च) एक बार हो जाने के बाद, चार फाइलों को रास्पबेरी पाई में एक निर्देशिका में ले जाएं।

छ) सक्रिय करें पर क्लिक करें।

h) अटैच पॉलिसी पर क्लिक करने के बाद आप अगले पेज पर आ जाएंगे। रजिस्टर चीज पर क्लिक करें, पॉलिसी बाद में बनेगी।

i) आईओटी डैशबोर्ड पर, सुरक्षित अनुभाग के अंतर्गत नीतियों पर नेविगेट करें। नीति बनाएं पर क्लिक करें.

j) अपनी पॉलिसी के लिए एक नाम दर्ज करें, इस उदाहरण के लिए यह MyRaspberryPiSecurityPolicy होगी और Add स्टेटमेंट्स के तहत निम्नलिखित में कुंजी होगी। इसके बाद क्रिएट पर क्लिक करें।

k) आईओटी डैशबोर्ड पर, सुरक्षित अनुभाग के अंतर्गत प्रमाणपत्रों पर नेविगेट करें। आपके द्वारा पहले बनाए गए प्रमाणपत्र का चयन करें, और क्रिया ड्रॉपडाउन से नीति संलग्न करें पर क्लिक करें। आपके द्वारा पहले बनाई गई नीति संलग्न करें।

एल) आपके द्वारा पहले बनाए गए प्रमाणपत्र को फिर से चुनें, और अटैचमेंट पर क्लिक करें। आपके द्वारा पहले बनाई गई नीति संलग्न करें। आपके द्वारा पहले बनाई गई चीज़ को संलग्न करें।

चरण 4: S3 बाल्टी बनाना

S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना
S3 बकेट बनाना

ए) हम एडब्ल्यूएस प्रबंधन कंसोल में खोज फ़ंक्शन का उपयोग करके शुरू करेंगे और "एस 3" की खोज करेंगे।

b) क्रिएट बकेट पर क्लिक करें।

c) बकेट के लिए एक नाम टाइप करें। इस उदाहरण के लिए, हम "sp-p1703263" नाम का उपयोग करेंगे। हम "US EAST (N. VIRGINIA)" क्षेत्र का चयन करेंगे जो कि us-east-1 है। यह हो जाने के बाद Create पर क्लिक करें।

d) नई बनाई गई बकेट डैशबोर्ड में दिखाई देगी।

चरण 5: DynamoDB तालिका बनाना और नियम निर्धारित करना

DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना
DynamoDB तालिका बनाना और नियम निर्धारित करना

a) सबसे पहले, AWS सेवाओं पर क्लिक करके नेविगेट करें

सेवाएं, फिर डायनेमोडीबी। तालिका बनाएँ पर क्लिक करें।

b) तालिका नाम "iotdata" और प्राथमिक कुंजी "deviceid" को सॉर्ट कुंजी "datetimeid" के साथ दर्ज करें, फिर पृष्ठ के निचले भाग में बनाएं पर क्लिक करें।

सी) उसके बाद, आईओटी कोर पेज पर वापस नेविगेट करें। एक्ट पर क्लिक करें, फिर नया नियम बनाएं पर क्लिक करें।

d) “MyDynamoDBRule” नाम से एक नियम बनाएं। नियम क्वेरी स्टेटमेंट विषय के तहत, "सेंसर/लाइट" दर्ज करें।

ई) एक या अधिक क्रियाएँ सेट करें अनुभाग के अंतर्गत, क्रिया जोड़ें पर क्लिक करें, "डेटाबेस तालिका के एकाधिक स्तंभों में संदेश को विभाजित करें" पर क्लिक करें। कॉन्फ़िगर क्रिया पर क्लिक करें। तालिका नाम के अंतर्गत, iotdata चुनें। IAM भूमिका नाम के अंतर्गत, आपके द्वारा पहले बनाई गई भूमिका का चयन करें जो "dynamodb_role" है। क्रिया जोड़ें पर क्लिक करें, फिर नियम बनाएं।

च) नियम बनाएं पर क्लिक करें।

चरण 6: अपेक्षित परिणाम

अपेक्षित परिणाम
अपेक्षित परिणाम
अपेक्षित परिणाम
अपेक्षित परिणाम

घर के बाहर

कमरे के बाहरी हिस्से का प्रतिनिधित्व करने वाले पीआई के लिए, हीटडेटेक्टर.py और AccessDoor.py स्क्रिप्ट चलाई जाएंगी। यदि आरएफआईडी स्कैनर पर कोई गलत कार्ड टैप करता है, तो अलार्म बंद हो जाएगा, पीली एलईडी लाइट अभी भी जलेगी। संभावित घुसपैठ की सूचना देने के लिए घर के मालिक के फोन पर एक एसएमएस भेजा जाएगा। अलार्म भी बज जाएगा। एक तस्वीर भी ली जाएगी और तुरंत S3 बकेट में अपलोड कर दी जाएगी। यदि टैप किया गया कार्ड अधिकृत है, तो हरे रंग की एलईडी जलेगी और उपयोगकर्ता प्रवेश कर सकता है। 15 सेकंड के बाद दरवाजा फिर से बंद कर दिया जाएगा (हरी एलईडी बंद हो जाएगी और पीली एलईडी बैक अप हो जाएगी)। यदि कमरे/घर के अंदर का तापमान बहुत अधिक हो जाता है (एक तापमान जिसे हम घर/कमरे में संभावित रूप से आग के रूप में मानते हैं), हम घर के मालिक को एक एसएमएस अलर्ट भेजेंगे। बाहर लाल एलईडी के साथ अलार्म भी बजने लगेगा।

घर के अंदर

कमरे के इनडोर का प्रतिनिधित्व करने वाले पीआई के लिए, publishHeat.py, server.py, pubsub.py, telegrambot.py स्क्रिप्ट चलाई जाएंगी। Pubsub.py वास्तविक समय मानों को DynamoDB में संग्रहीत करेगा। जब server.py चलाया जाता है, तो rpi का ip पता टाइप करें: ब्राउज़र में 5000, आपको हमारे वेब इंटरफेस पर निर्देशित किया जाएगा। हमारे पास एक ग्राफ है जो हमारे सेंसर से प्राप्त वास्तविक समय के प्रकाश मूल्यों को pubsub.py में DynamoDB में प्रदर्शित करता है। इसके अलावा, हमारे वेब इंटरफेस में ऐतिहासिक प्रकाश मूल्य भी प्रदर्शित किए जाएंगे। publishHeat.py आग सेंसर उद्देश्यों के लिए बाहरी ब्रेडबोर्ड पर तापमान मान प्रकाशित करेगा। telegrambot.py उपयोगकर्ता को कमरे/घर में एलईडी लाइट के चालू/बंद को दूरस्थ रूप से नियंत्रित करने के साथ-साथ अंदर क्या हो रहा है की एक तस्वीर को स्नैप करने और तस्वीर को एस 3 बाल्टी में अपलोड करने में सक्षम करेगा।

अपेक्षित परिणाम कैसा दिखना चाहिए, इसके बेहतर दृश्य के लिए:

चरण 7: स्रोत कोड (पेस्टबिन)

स्रोत कोड (पेस्टबिन)
स्रोत कोड (पेस्टबिन)

लिंक पर क्लिक करें। सभी आवश्यक स्रोत कोड से मिलकर बनता है:

चरण 8: संदर्भ

संदर्भ
संदर्भ

आईओटगाइडर। (2019)। पायथन का उपयोग करके रास्पबेरी पाई से एसएमएस भेजें। [ऑनलाइन] यहां उपलब्ध: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [21 अगस्त 2019 को एक्सेस किया गया]।

सिफारिश की: