جدول المحتويات:
- الخطوة 1: متطلبات الأجهزة + الإعداد
- الخطوة 2: متطلبات البرنامج + الإعداد
- الخطوة 3: تسجيل شيء
- الخطوة 4: إنشاء حاوية S3
- الخطوة 5: إنشاء جدول DynamoDB وضبط القواعد
- الخطوة 6: النتيجة المتوقعة
- الخطوة 7: رموز المصدر (Pastebin)
- الخطوة 8: المراجع
فيديو: المنزل الذكي الآمن IOT CA2 / الغرفة: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
جدول المحتويات
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
أ) سنبدأ باستخدام وظيفة البحث في وحدة تحكم إدارة AWS والبحث عن "s3".
ب) انقر فوق إنشاء دلو.
ج) اكتب اسمًا للحاوية. في هذا المثال ، سنستخدم الاسم "sp-p1703263". سنختار المنطقة "US EAST (N. VIRGINIA)" التي هي us-east-1. بعد ذلك ، انقر فوق إنشاء.
د) ستظهر الحاوية الجديدة التي تم إنشاؤها في لوحة المعلومات.
الخطوة 5: إنشاء جدول 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)
اضغط على الرابط. يتكون من جميع أكواد المصدر المطلوبة:
الخطوة 8: المراجع
Iotguider. (2019). أرسل SMS من Raspberry Pi باستخدام Python. [عبر الإنترنت] متوفر على: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [تم الدخول 21 آب / أغسطس 2019].
موصى به:
المنزل الذكي من Raspberry Pi: 5 خطوات (بالصور)
Smart Home من Raspberry Pi: هناك بالفعل العديد من المنتجات التي تجعل شقتك أكثر ذكاءً ، ولكن معظمها حلول مملوكة. ولكن لماذا تحتاج إلى اتصال بالإنترنت لتبديل الضوء بهاتفك الذكي؟ كان هذا أحد الأسباب التي دفعتني إلى بناء Smar الخاص بي
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino - أفكار أتمتة المنزل: 15 خطوة (بالصور)
كيفية جعل المنزل الذكي باستخدام وحدة التحكم في ترحيل Arduino | أفكار أتمتة المنزل: في مشروع أتمتة المنزل هذا ، سنصمم وحدة ترحيل منزلية ذكية يمكنها التحكم في 5 أجهزة منزلية. يمكن التحكم في وحدة الترحيل هذه من الهاتف المحمول أو الهاتف الذكي أو جهاز التحكم عن بعد بالأشعة تحت الحمراء أو جهاز التحكم عن بعد في التلفزيون أو المفتاح اليدوي. يمكن لهذا التتابع الذكي أيضًا أن يستشعر r
نظام المنزل الذكي IoT: 8 خطوات
نظام المنزل الذكي IoT: هذا هو نظام المنزل الذكي Keefe and Jons على iot
التحكم الذكي في الغرفة: 5 خطوات
التحكم الذكي في الغرفة: في هذا المشروع ، نهدف إلى تعلم كيفية استخدام AWS و MQTT في الإعداد الخاص بنا. كونك في عالم التكنولوجيا ، كم ستكون قادرًا على التحكم في غرفتك باستخدام الكمبيوتر المحمول فقط! تخيل نفسك تندفع للحصول على الوقت لإكمال مشاريعك ، وتمشي
IOT CA2 - الباب الذكي: 3 خطوات
IOT CA2 - Smart Door: الوصف: هو نظام قفل باب لغرفة ما ، حيث سيتمكن المستخدمون المسجلون من استخدام بطاقة RFID للدخول ، وسيتم تشغيل مصابيح الغرفة. إذا تم النقر على بطاقة RFID خاطئة ، فستلتقط الكاميرا صورة ، متبوعة بضوء أحمر