جدول المحتويات:

المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات
المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات

فيديو: المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات

فيديو: المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات
فيديو: اغرب واحدة شكلها تغير بدون ميكب 2024, شهر نوفمبر
Anonim
المنزل الذكي الآمن IOT CA2 / الغرفة
المنزل الذكي الآمن IOT CA2 / الغرفة
المنزل الذكي الآمن IOT CA2 / الغرفة
المنزل الذكي الآمن IOT CA2 / الغرفة

جدول المحتويات

1 نظرة عامة على Smart Secure Home

2 متطلبات الأجهزة + الإعداد

3 متطلبات البرنامج + الإعداد

4 سجل raspberrypi كشيء

5 قم بإنشاء حاوية S3

6 إعداد DynamoDB + القواعد

7 النتيجة المتوقعة

8 رموز (من Pastebin)

9 المراجع

ملخص

أهلا بك! مشروع Raspberry Pi هذا هو نظام إدارة "المنزل الذكي" ، مع ميزات أمان معينة. المشروع قادر على قياس قيم مختلفة مثل درجة الحرارة والضوء. يتكون قسم الأمان من Buzzer ونظام ماسح البطاقة (بطاقة التصريح) وكاميرا داخلية وخارجية بالإضافة إلى نظام تنبيه عبر الرسائل القصيرة. ستغطي التعليمات التالية إعداد المشروع بأكمله.

في الأساس ، لدينا مقاوم الصمام الثنائي الخفيف ومستشعر DHT11 للحصول على درجة الحرارة بالإضافة إلى قيم الضوء. سيتم بعد ذلك نشر القيم إلى "smartroom / المستشعرات / القيم" وسيكون هناك اشتراك في الموضوع للتحقق مما إذا كان يتم نشر القيم. بمجرد نشر القيم ، سيتم أيضًا إرسال القيم إلى جدول DynamoDB الخاص بنا. يمكن استخراج القيم المخزنة داخل DynamoDB وتخطيطها في رسم بياني يعرض قيم الوقت الحقيقي في واجهة الويب الخاصة بنا. (الرسم البياني الخفيف) إلى جانب استخدام المستشعرات للحصول على القيم لرسم الرسم البياني لأغراض التحليل ، يتم استخدام مستشعر dht11 أيضًا ككاشف "حريق" محتمل. عندما تصل إلى درجة حرارة معينة قد تكون حريقًا ، لدينا نص برمجي اسمه publishHeat.py والذي سينشر درجة الحرارة إلى موضوع "smartroom / sensor / fire" ، ثم تشترك لوحة التجارب التي ترمز إلى السطح الخارجي للشقة في ذلك موضوع وإضاءة LED للإشارة إلى احتمالية نشوب حريق. سينطلق الإنذار أيضًا بالإضافة إلى رسالة نصية قصيرة لتنبيه صاحب المنزل عند احتمالية نشوب حريق.

لدخول المنزل / الغرفة ، سيتعين على المستخدم النقر على بطاقته على ماسح RFID. إذا كانت البطاقة التي تم النقر عليها غير صحيحة ، فسيصدر صوت التنبيه حتى يتم النقر على بطاقة بها بيانات الاعتماد الصحيحة. بالإضافة إلى ذلك ، عند النقر على بطاقة غير صحيحة ، ستلتقط كاميرا المراقبة بالخارج صورة للمستخدم الذي نقر على البطاقة وتحميل الصورة في دلو S3. سيتلقى صاحب المنزل أيضًا رسالة نصية قصيرة تفيد بأن شخصًا ما حاول دخول منزله / منزلها. تحتوي الغرفة أيضًا على مؤشر LED بالخارج لتسمية ما إذا كان الباب مفتوحًا / مغلقًا. عندما يتم قفل الباب ، يضيء مؤشر LED الأصفر. عند إلغاء القفل ، سيضيء مؤشر LED الأخضر. عند النقر على بطاقة مصرح بها ، سيتم فتح الباب لمدة 15 ثانية ومع إضاءة LED الخضراء ، ثم تعود إلى وضع إلغاء القفل مع إضاءة LED الصفراء.

يمكن للمستخدمين عرض البيانات التي تم جمعها عبر لوحة المعلومات في Node-Red والتي تعرض قيم القياس الحالية بالإضافة إلى تمثيل رسومي لمقياس ورسم بياني تاريخي. تتضمن لوحة القيادة أيضًا ميزات إضافية مثل الساعة التي تعرض البيانات الحالية والوقت والمفاتيح للتحكم عن بُعد في الأجهزة الكهربائية المختلفة ، والتي يتم تمثيلها على شكل مصابيح LED وجرس.

أخيرًا ، لدينا أيضًا ميزة Telegram bot. يستطيع برنامج telegram bot التقاط صور عن بُعد لما يحدث داخل الغرفة وتخزينه في دلو S3. سيتم تسمية هذه الصور بداخل مجلد باسم Homed / User. سيتمكن برنامج telegram bot من التحكم عن بعد في ضوء LED في الغرفة أيضًا.

الخطوة 1: متطلبات الأجهزة + الإعداد

متطلبات الأجهزة + الإعداد
متطلبات الأجهزة + الإعداد
متطلبات الأجهزة + الإعداد
متطلبات الأجهزة + الإعداد

قم بتوصيل المكونات التالية بـ 2 pis raspberry كما هو موضح في الرسوم البيانية fritzing أعلاه.

2 × Raspberry Pi

3 × اللوح

1 × MCP3008 ADC

1 × حساس DhT 11

1 × LDR

1 × قارئ بطاقات RFID / NFC MFRC522

4 × ليد

1 × شاشة LCD

3 × 10 كيلو المقاوم

4 × 220/330 المقاوم

1 × زر

1 × الجرس

34 × كابلات ذكر لذكر

11 × كابل ذكر إلى أنثى

الخطوة 2: متطلبات البرنامج + الإعداد

متطلبات البرنامج + الإعداد
متطلبات البرنامج + الإعداد
متطلبات البرنامج + الإعداد
متطلبات البرنامج + الإعداد
متطلبات البرنامج + الإعداد
متطلبات البرنامج + الإعداد

اكتب الأوامر التالية في محطة raspberry pi للتأكد من تثبيتها.

إذا تم تنزيل أي من البرامج التالية بالفعل في pi الخاص بك ، فإن تثبيت sudo pip (اسم البرنامج) - الترقية ستؤدي حيلة تحديثه.

- sudo pip install gevent

- قارورة تثبيت sudo pip

- تثبيت sudo pip nexmo

- تثبيت sudo pip - ترقية - فرض - إعادة تثبيت النقطة = = 9.0.3

- تثبيت sudo pip AWSIoTPythonSDK - ترقية - التحقق من إصدار نقطة تعطيل

- تثبيت sudo pip - ترقية بيب

- sudo apt-get install python-dev

- تثبيت sudo pip boto3

- sudo pip تثبيت botocore

- تثبيت sudo pip numpy

- cd ~

استنساخ بوابة

القرص المضغوط ~ / SPI-Py

sudo python setup.py install"

- cd ~

استنساخ بوابة

cd ~ / MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt ، تحقق مما إذا كانت الخطوط device_tree_param = spi = on

dtoverlay = spi-bcm2835 بالداخل ، وإلا أضف.

الخطوة 3: تسجيل شيء

تسجيل شيء
تسجيل شيء
تسجيل شيء
تسجيل شيء
تسجيل شيء
تسجيل شيء
تسجيل شيء
تسجيل شيء

أ) أولاً ، انتقل إلى IoT Core داخل موقع ويب AWS بالنقر فوق الخدمات ، ثم IoT Core.

ب) في شريط التنقل تحت الإدارة ، حدد الأشياء واختر تسجيل شيء.

ج) اختر إنشاء شيء واحد.

د) أدخل اسمًا لشيءك ، على سبيل المثال ، MyRaspberryPi2. اترك باقي الحقول حسب قيمها الافتراضية. انقر فوق التالي في أسفل الصفحة.

هـ) انقر فوق إنشاء شهادة. قم بتنزيل جميع الملفات الأربعة. بالنسبة إلى ملف CA الجذر ، قم بتنزيل Amazon Root CA 1 واحفظه في مفكرة.

و) بمجرد الانتهاء ، انقل الملفات الأربعة إلى دليل في Raspberry pi.

ز) انقر فوق تنشيط.

ح) بعد النقر على سياسة المرفقات ، سيتم نقلك إلى الصفحة التالية. انقر فوق تسجيل شيء ، سيتم إنشاء السياسة لاحقًا.

i) في لوحة معلومات iot ، انتقل إلى السياسات ضمن القسم الآمن. انقر فوق إنشاء سياسة.

ي) أدخل اسمًا لسياستك ، على سبيل المثال سيكون MyRaspberryPiSecurityPolicy وأدخل ما يلي ضمن إضافة عبارات. ثم انقر فوق إنشاء.

ك) في لوحة معلومات iot ، انتقل إلى الشهادات ضمن القسم الآمن. حدد الشهادة التي قمت بإنشائها مسبقًا ، وانقر فوق سياسة إرفاق من قائمة الإجراءات المنسدلة. أرفق السياسة التي أنشأتها مسبقًا.

ل) حدد الشهادة التي قمت بإنشائها مسبقًا مرة أخرى ، وانقر فوق إرفاق شيء. أرفق السياسة التي أنشأتها مسبقًا. قم بإرفاق الشيء الذي قمت بإنشائه مسبقًا.

الخطوة 4: إنشاء حاوية S3

إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3
إنشاء حاوية S3

أ) سنبدأ باستخدام وظيفة البحث في وحدة تحكم إدارة AWS والبحث عن "s3".

ب) انقر فوق إنشاء دلو.

ج) اكتب اسمًا للحاوية. في هذا المثال ، سنستخدم الاسم "sp-p1703263". سنختار المنطقة "US EAST (N. VIRGINIA)" التي هي us-east-1. بعد ذلك ، انقر فوق إنشاء.

د) ستظهر الحاوية الجديدة التي تم إنشاؤها في لوحة المعلومات.

الخطوة 5: إنشاء جدول DynamoDB وضبط القواعد

إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد
إنشاء جدول DynamoDB وضبط القواعد

أ) أولاً ، انتقل إلى خدمات AWS بالنقر فوق

الخدمات ، ثم DynamoDB. انقر فوق إنشاء الجدول.

ب) أدخل اسم الجدول "iotdata" والمفتاح الأساسي "deviceid" مع مفتاح الفرز "datetimeid" ، ثم انقر فوق إنشاء في أسفل الصفحة.

ج) بعد ذلك ، انتقل مرة أخرى إلى صفحة إنترنت الأشياء الأساسية. انقر على "قانون" ، ثم انقر على "إنشاء قاعدة جديدة".

د) أنشئ قاعدة باسم "MyDynamoDBRule". ضمن موضوع بيان استعلام القاعدة ، أدخل "أجهزة الاستشعار / الضوء".

هـ) ضمن قسم تعيين إجراء واحد أو أكثر ، انقر فوق إضافة إجراء ، وانقر فوق "تقسيم الرسالة إلى عدة أعمدة في جدول قاعدة البيانات". انقر فوق تكوين الإجراء. تحت اسم الجدول ، اختر iotdata. ضمن اسم دور IAM ، حدد الدور الذي أنشأته مسبقًا وهو "dynamodb_role". انقر فوق إضافة إجراء ، ثم قم بإنشاء قاعدة.

و) انقر فوق إنشاء قاعدة.

الخطوة 6: النتيجة المتوقعة

النتيجة المتوقعة
النتيجة المتوقعة
النتيجة المتوقعة
النتيجة المتوقعة

في الخارج

بالنسبة لـ pi الذي يمثل الجزء الخارجي من الغرفة ، سيتم تشغيل scripts heatdetector.py و AccessDoor.py. إذا نقرت بطاقة غير صحيحة على ماسح RFID ، سينطلق الإنذار ، مع استمرار إضاءة مصباح LED الأصفر. سيتم إرسال رسالة نصية قصيرة إلى هاتف صاحب المنزل لإخطاره بالتطفل المحتمل. سيصدر المنبه صوتًا أيضًا. سيتم أيضًا التقاط صورة وتحميلها على الفور في S3 Bucket. إذا تم التصريح بالبطاقة التي تم النقر عليها ، فسيضيء مؤشر LED الأخضر ويمكن للمستخدم الدخول. سيتم قفل الباب مرة أخرى بعد 15 ثانية (سينطفئ مؤشر LED الأخضر ويضيء مؤشر LED الأصفر احتياطيًا). إذا كانت درجة الحرارة داخل الغرفة / المنزل مرتفعة للغاية (لدرجة الحرارة التي نعتبرها قد تشتعل في المنزل / الغرفة) ، فسنرسل تنبيهًا عبر الرسائل القصيرة إلى مالك المنزل. سيكون التنبيه أيضًا صوتًا مع إضاءة LED الخارجية باللون الأحمر.

داخلي

بالنسبة إلى pi الذي يمثل الجزء الداخلي للغرفة ، سيتم تشغيل البرامج النصية publishHeat.py، server.py، pubsub.py، telegrambot.py. سيقوم Pubsub.py بتخزين قيم الوقت الحقيقي في DynamoDB. عند تشغيل server.py ، اكتب عنوان IP الخاص بـ rpi: 5000 في المتصفح ، سيتم توجيهك إلى واجهة الويب الخاصة بنا. لدينا رسم بياني يعرض قيم الضوء في الوقت الفعلي التي تم الحصول عليها من مستشعراتنا في pubsub.py إلى DynamoDB. بالإضافة إلى ذلك ، سيتم أيضًا عرض قيم الإضاءة التاريخية في واجهة الويب الخاصة بنا. سوف ينشر publishHeat.py قيم درجة الحرارة على اللوح الخارجي لأغراض مستشعرات الحريق. سيمكن telegrambot.py المستخدم من التحكم عن بعد في تشغيل / إيقاف ضوء LED في الغرفة / المنزل وكذلك التقاط صورة لما يحدث بالداخل وتحميل الصورة في دلو S3.

للحصول على تصور أفضل لكيفية ظهور النتيجة المتوقعة:

الخطوة 7: رموز المصدر (Pastebin)

رموز المصدر (Pastebin)
رموز المصدر (Pastebin)

اضغط على الرابط. يتكون من جميع أكواد المصدر المطلوبة:

الخطوة 8: المراجع

مراجع
مراجع

Iotguider. (2019). أرسل SMS من Raspberry Pi باستخدام Python. [عبر الإنترنت] متوفر على: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [تم الدخول 21 آب / أغسطس 2019].

موصى به: