فهرست مطالب:

خانه/اتاق هوشمند IOT CA2: 8 مرحله
خانه/اتاق هوشمند IOT CA2: 8 مرحله

تصویری: خانه/اتاق هوشمند IOT CA2: 8 مرحله

تصویری: خانه/اتاق هوشمند IOT CA2: 8 مرحله
تصویری: آموزش هوشمند سازی خانه (اینترنت اشیا) || (IOT) Smart Home with using NodeMCU ESP8266 2024, جولای
Anonim
خانه/اتاق هوشمند IOT CA2
خانه/اتاق هوشمند IOT CA2
خانه/اتاق هوشمند IOT CA2
خانه/اتاق هوشمند IOT CA2

فهرست مطالب

1 مرور کلی خانه امن

2 سخت افزار مورد نیاز + راه اندازی

3 نرم افزار مورد نیاز + راه اندازی

4 تمشک را به عنوان یک چیز ثبت کنید

5 سطل S3 ایجاد کنید

6 راه اندازی DynamoDB + قوانین

7 نتیجه مورد انتظار

8 کد (از Pastebin)

9 مراجع

بررسی اجمالی

خوش آمدی! این پروژه رزبری پای یک سیستم مدیریت "خانه هوشمند" است که دارای ویژگی های امنیتی خاصی است. این پروژه قادر به اندازه گیری مقادیر مختلف مانند دما و نور است. بخش امنیتی شامل یک سوزن ، یک سیستم اسکن کارت (کارت مجاز) ، یک دوربین داخلی و خارجی و همچنین یک سیستم هشدار پیامکی است. دستورالعمل های زیر مجموعه ای از کل پروژه را پوشش می دهد.

اساساً ، ما یک مقاومت دیود نور و یک سنسور DHT11 برای دریافت دما و مقادیر نور داریم. سپس مقادیر در "اتاق هوشمند/سنسورها/مقادیر" منتشر می شوند و یک اشتراک در موضوع وجود دارد تا بررسی شود که آیا مقادیر در حال انتشار هستند یا خیر. پس از انتشار مقادیر ، مقادیر نیز به جدول DynamoDB ما ارسال می شوند. مقادیر ذخیره شده در DynamoDB را می توان استخراج و در نمودار رسم کرد که مقادیر زمان واقعی را در رابط وب ما نشان می دهد. (نمودار نوری) علاوه بر استفاده از حسگرها برای بدست آوردن مقادیر برای رسم نمودار ما برای اهداف تجزیه و تحلیل ، سنسور dht11 ما همچنین به عنوان یک آشکارساز "آتش" بالقوه استفاده می شود. هنگامی که به دمای خاصی می رسد که ممکن است آتش باشد ، ما یک اسکریپت به نام publikHeat.py داریم که دما را در یک موضوع "اتاق هوشمند/حسگر/آتش" منتشر می کند ، سپس تخته نان که نماد بیرون آپارتمان است ، مشترک آن می شود. موضوع را روشن کرده و چراغ LED را روشن کنید تا نشان دهد ممکن است آتش سوزی احتمالی وجود داشته باشد. زنگ هشدار و همچنین یک پیام کوتاه برای هشدار دادن به صاحب خانه در صورت احتمالی آتش سوزی به صدا در می آید.

برای ورود به خانه/اتاق ، کاربر باید روی کارت خود در اسکنر RFID ضربه بزند. اگر کارت ضبط شده نادرست باشد ، زنگ هشدار به صدا در می آید تا زمانی که روی کارتی که دارای اعتبار مناسب است ضربه بزنید. علاوه بر این ، هنگامی که روی یک کارت نادرست ضربه زده می شود ، دوربین نظارتی بیرون از کاربری که روی کارت ضربه زده عکس می گیرد و تصویر را در سطل S3 بارگذاری می کند. صاحب خانه همچنین اس ام اس دریافت می کند که نشان می دهد فردی تلاش کرده است وارد خانه او شود. اتاق دارای یک نشانگر LED در خارج است که در صورت باز بودن/قفل بودن درب برچسب گذاری می شود. هنگامی که در قفل می شود ، LED زرد روشن می شود. وقتی قفل باز می شود ، LED سبز روشن می شود. هنگامی که روی کارت مجاز ضربه می زنید ، قفل در به مدت 15 ثانیه باز می شود و با روشن شدن LED سبز و روشن شدن مجدد LED به رنگ قفل باز می شود.

کاربران می توانند داده های جمع آوری شده را از طریق داشبورد در Node-Red مشاهده کنند که مقادیر اندازه گیری فعلی را نشان می دهد ، علاوه بر نمایش گرافیکی یک اندازه گیری و یک نمودار تاریخی. داشبورد همچنین شامل ویژگی های اضافی مانند ساعت است که داده ها و زمان فعلی را نمایش می دهد و برای کنترل از راه دور لوازم برقی مختلف ، که به عنوان LED و زنگ نشان داده می شوند ، تغییر می کند.

در نهایت ، ما یک ویژگی ربات تلگرام نیز داریم. ربات تلگرام قادر است از راه دور از هر اتفاقی که در داخل اتاق می افتد عکس بگیرد و آن را در سطل S3 ذخیره کند. این تصاویر با پوشه ای به نام "Homed/User" برچسب گذاری می شوند. ربات تلگرام قادر خواهد بود از راه دور نور LED را در اتاق نیز کنترل کند.

مرحله 1: سخت افزار مورد نیاز + راه اندازی

سخت افزار مورد نیاز + راه اندازی
سخت افزار مورد نیاز + راه اندازی
سخت افزار مورد نیاز + راه اندازی
سخت افزار مورد نیاز + راه اندازی

اجزای زیر را با 2 پیس تمشک خود به هم متصل کنید ، همانطور که در نمودارهای خنک کننده بالا نشان داده شده است.

2 برابر Raspberry Pi

3 عدد تخته نان

1 x MCP3008 ADC

سنسور 1 x DhT 11

1 x LDR

1 عدد کارت خوان RFID/NFC MFRC522

4 x LED

1 x صفحه نمایش LCD

مقاومت 3 x 10k

4 مقاومت 220/330

1 دکمه

1 زنگ

34 x کابل های نر تا نر

11 x کابل های نر به ماده

مرحله 2: نرم افزار مورد نیاز + راه اندازی

نرم افزار مورد نیاز + راه اندازی
نرم افزار مورد نیاز + راه اندازی
نرم افزار مورد نیاز + راه اندازی
نرم افزار مورد نیاز + راه اندازی
نرم افزار مورد نیاز + راه اندازی
نرم افزار مورد نیاز + راه اندازی

دستورات زیر را در پایانه تمشک pi خود تایپ کنید تا مطمئن شوید که نصب شده اند.

اگر هر یک از نرم افزارهای زیر قبلاً در pi شما بارگیری شده اند ، sudo pip install (نام نرم افزار) -upgrade ترفند به روز رسانی آن را انجام می دهد.

- sudo pip install gevent

- فلاسک نصب sudo pip

- sudo pip install nexmo

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

-sudo pip install AWSIoTPythonSDK-ارتقاء-غیرفعال کردن-پیپ-نسخه-بررسی

-نصب sudo pip -ارتقاء pip

-sudo apt-get python-dev را نصب کنید

- sudo pip install boto3

- sudo pip install botocore

- sudo pip install numpy

- سی دی

git clone

cd ~/SPI-Py

sudo python setup.py install"

- سی دی

git clone

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt ، بررسی کنید آیا خطوط device_tree_param = spi = روشن است

dtoverlay = spi-bcm2835 داخل آن است ، در غیر این صورت اضافه کنید.

مرحله 3: ثبت یک چیز

ثبت یک چیز
ثبت یک چیز
ثبت یک چیز
ثبت یک چیز
ثبت یک چیز
ثبت یک چیز
ثبت یک چیز
ثبت یک چیز

الف) ابتدا با کلیک روی سرویس ها و سپس IoT Core به IoT Core در وب سایت AWS بروید.

ب) در نوار پیمایش تحت مدیریت ، موارد را انتخاب کرده و ثبت یک مورد را انتخاب کنید.

ج) انتخاب ایجاد یک چیز واحد را انتخاب کنید.

د) نام مورد خود را وارد کنید ، به عنوان مثال ، MyRaspberryPi2. بقیه فیلدها را با مقادیر پیش فرض خود رها کنید. بعدی را در پایین صفحه کلیک کنید.

ه) روی ایجاد گواهی کلیک کنید. هر چهار فایل را بارگیری کنید. برای فایل ریشه CA ، Amazon Root CA 1 را بارگیری کرده و آن را در یک دفترچه یادداشت ذخیره کنید.

و) پس از اتمام کار ، چهار فایل را به پوشه ای در تمشک pi منتقل کنید.

g) فعال سازی را کلیک کنید.

ح) پس از کلیک روی پیوست خط مشی ، به صفحه زیر آورده می شوید. روی ثبت چیز کلیک کنید ، سیاست بعدا ایجاد می شود.

من) در داشبورد iot ، به خط مشی های زیر قسمت امن بروید. روی ایجاد خط مشی کلیک کنید.

ی) نامی را برای خط مشی خود وارد کنید ، برای مثال این MyRaspberryPiSecurityPolicy خواهد بود و در زیر در زیر عبارت Add افزوده می شود. سپس بر روی Create کلیک کنید.

k) در داشبورد iot ، به گواهی ها در بخش امن بروید. گواهی ای را که قبلاً ایجاد کرده اید انتخاب کرده و از منوی کشویی اقدامات پیوست کنید. خط مشی ای را که قبلاً ایجاد کرده اید پیوست کنید.

l) مجدداً گواهینامه ای را که قبلاً ایجاد کرده اید انتخاب کرده و روی پیوست چیزی کلیک کنید. خط مشی ای را که قبلاً ایجاد کرده اید پیوست کنید. چیزی را که قبلاً ایجاد کرده اید پیوست کنید.

مرحله 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" وارد کنید ، سپس روی ایجاد در پایین صفحه کلیک کنید.

ج) پس از آن ، به صفحه اصلی IoT بازگردید. روی Act کلیک کنید ، سپس روی ایجاد یک قانون جدید کلیک کنید.

د) یک قانون با نام "MyDynamoDBRule" ایجاد کنید. در موضوع عبارت عبارت query query ، "سنسورها/نور" را وارد کنید.

ه) در بخش تنظیم یک یا چند اقدام ، روی افزودن اقدام کلیک کنید ، روی "تقسیم پیام به چند ستون از جدول پایگاه داده" کلیک کنید. روی پیکربندی اقدام کلیک کنید. در زیر نام جدول ، iotdata را انتخاب کنید. تحت نام نقش IAM ، نقشی را که قبلاً ایجاد کرده اید "dynamodb_role" انتخاب کنید. روی افزودن اقدام و سپس ایجاد قانون کلیک کنید.

f) روی ایجاد قاعده کلیک کنید.

مرحله 6: نتیجه مورد انتظار

خروجی مورد نظر
خروجی مورد نظر
خروجی مورد نظر
خروجی مورد نظر

در فضای باز

برای pi که نمای بیرونی اتاق را دارد ، اسکریپت های heatdetector.py و AccessDoor.py اجرا می شوند. اگر کارت نادرستی روی اسکنر RFID ضربه بزند ، زنگ هشدار خاموش می شود و چراغ LED زرد هنوز روشن است. یک پیام کوتاه به تلفن صاحب خانه ارسال می شود تا از نفوذ احتمالی مطلع شود. زنگ هشدار نیز صدا خواهد بود. همچنین یک عکس گرفته می شود و فوراً در سطل S3 بارگذاری می شود. اگر کارت ضربه زده مجاز باشد ، LED سبز روشن می شود و کاربر می تواند وارد شود. درب بعد از 15 ثانیه دوباره قفل می شود (چراغ سبز خاموش می شود و LED زرد دوباره روشن می شود). اگر دمای داخل اتاق/خانه بیش از حد بالا برود (در دمایی که ما تصور می کنیم خانه/اتاق به طور احتمالی در آتش است) ، ما یک هشدار پیامکی به صاحب خانه ارسال می کنیم. زنگ هشدار نیز با چراغ قرمز قرمز در خارج روشن می شود.

سرپوشیده

برای pi که نمایانگر فضای داخلی اتاق است ، اسکریپت های publicHeat.py ، server.py ، pubsub.py ، telegrambot.py اجرا می شوند. Pubsub.py مقادیر زمان واقعی را در DynamoDB ذخیره می کند. وقتی server.py اجرا شد ، آدرس IP rpi را وارد کنید: 5000 در مرورگر ، به رابط وب ما هدایت می شوید. ما یک نمودار داریم که مقادیر نور واقعی را که از سنسورهای ما در pubsub.py به دست آمده در DynamoDB نمایش می دهد. علاوه بر این ، مقادیر نور تاریخی نیز در رابط وب ما نمایش داده می شود. publishedHeat.py مقادیر دما را برای اهداف سنسور آتش در تخته نان در فضای باز منتشر می کند. telegrambot.py به کاربر این امکان را می دهد که از راه دور روشن/خاموش شدن چراغ LED در اتاق/خانه را کنترل کرده و همچنین تصویری از آنچه در داخل اتفاق می افتد بگیرد و تصویر را در سطل S3 بارگذاری کند.

برای تجسم بهتر نحوه ظاهری نتیجه مورد انتظار:

مرحله 7: کدهای منبع (Pastebin)

کدهای منبع (Pastebin)
کدهای منبع (Pastebin)

روی پیوند کلیک کنید. شامل همه کدهای منبع مورد نیاز:

مرحله 8: منابع

منابع
منابع

راهنمای یوت (2019). ارسال پیامک از Raspberry Pi با استفاده از پایتون. [آنلاین] موجود در: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [دسترسی 21 آگوست 2019].

توصیه شده: