Оглавление:

IOT CA2 Secure Smart Home / Room: 8 шагов
IOT CA2 Secure Smart Home / Room: 8 шагов

Видео: IOT CA2 Secure Smart Home / Room: 8 шагов

Видео: IOT CA2 Secure Smart Home / Room: 8 шагов
Видео: 9 Best Smart Home Gadgets & Products To Convert Any Home into Smart Home You Must Have 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 представляет собой систему управления «умным домом» с определенными функциями безопасности. Проект может измерять различные значения, такие как температура и свет. Секция безопасности состоит из зуммера, системы сканирования карт (авторизует карту), внутренней и наружной камер, а также системы оповещения по SMS. Следующие инструкции охватят настройку всего проекта.

По сути, у нас есть резистор светодиода и датчик DHT11 для измерения температуры и освещенности. Затем значения будут опубликованы в «умной комнате / датчиках / значениях», и будет оформлена подписка на эту тему, чтобы проверить, публикуются ли значения. После публикации значений значения также будут отправлены в нашу таблицу DynamoDB. Значения, хранящиеся в DynamoDB, могут быть извлечены и нанесены на график, который отображает значения в реальном времени в нашем веб-интерфейсе. (Световой график) Помимо использования датчиков для получения значений для построения нашего графика в целях анализа, наш датчик dht11 также используется в качестве потенциального «пожарного» детектора. Когда он достигает определенной температуры, которая может быть пожаром, у нас есть сценарий с именем publishHeat.py, который опубликует температуру в теме «умная комната / датчик / огонь», макет, который символизирует внешнюю часть квартиры, затем подпишется на нее. тему и загорится светодиодный индикатор, указывающий на возможное возгорание. Также сработает сигнализация и отправится SMS, чтобы предупредить владельца дома о возможном возгорании.

Чтобы войти в дом / комнату, пользователю нужно будет приложить карту к сканеру RFID. Если подключенная карта неверна, сигнал будет звучать до тех пор, пока не будет нажата карта с правильными учетными данными. Кроме того, при нажатии неправильной карты камера наблюдения снаружи сделает снимок пользователя, который коснулся карты, и загрузит изображение в корзину S3. Владелец дома также получит SMS-сообщение о том, что кто-то пытался войти в его / ее дом. В комнате также есть светодиодный индикатор снаружи, чтобы обозначить, если дверь открыта / заперта. Когда дверь заперта, горит желтый светодиод. При разблокировке горит зеленый светодиод. При нажатии авторизованной карты дверь будет разблокирована на 15 секунд, и при этом загорится зеленый светодиод, а затем снова будет разблокирован режим с горящим желтым светодиодом.

Пользователи могут просматривать данные, собранные с помощью панели инструментов в Node-Red, которая показывает текущие значения измерений в дополнение к графическому представлению датчика и исторического графика. Панель управления также включает в себя дополнительные функции, такие как часы, отображающие текущие данные и время, и переключатели для удаленного управления различными электрическими приборами, которые представлены в виде светодиодов и зуммера.

Наконец, у нас также есть функция бота для телеграмм. Телеграмм-бот может удаленно фотографировать все, что происходит в комнате, и сохранять это в ведре S3. Эти изображения будут отмечены значком внутри папки с именем «Homed / User». Телеграмм-бот также сможет удаленно управлять светодиодным освещением в комнате.

Шаг 1. Требования к оборудованию + настройка

Требования к оборудованию + настройка
Требования к оборудованию + настройка
Требования к оборудованию + настройка
Требования к оборудованию + настройка

Соедините следующие компоненты с двумя малиновыми писюками, как показано на схемах фритзинга выше.

2 х Raspberry Pi

3 x макет

1 x АЦП MCP3008

1 x датчик DhT 11

1 х LDR

Считыватель карт RFID / NFC MFRC522 - 1 шт.

4 светодиода

1 х ЖК-экран

Резистор 3 x 10 кОм

4 x 220/330 резистор

1 х кнопка

1 х зуммер

34 x штекер-штекер кабеля

11 x штекер-гнездо кабелей

Шаг 2. Требования к программному обеспечению + настройка

Требования к программному обеспечению + настройка
Требования к программному обеспечению + настройка
Требования к программному обеспечению + настройка
Требования к программному обеспечению + настройка
Требования к программному обеспечению + настройка
Требования к программному обеспечению + настройка

Введите следующие команды в свой терминал Raspberry Pi, чтобы убедиться, что они установлены.

Если какое-либо из следующих программ уже загружено в ваш Pi, sudo pip install (Software name) --upgrade выполнит трюк по его обновлению.

- sudo pip install gevent

- sudo pip install flask

- sudo pip install nexmo

- sudo pip install --upgrade --force-переустановить pip == 9.0.3

- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip install boto3

- sudo pip install botocore

- sudo pip install numpy

- cd ~

git clone

cd ~ / SPI-Py

sudo python setup.py install"

- cd ~

git clone

компакт-диск ~ / MFRC522-питон

sudo python setup.py install"

- sudo nano /boot/config.txt, проверьте, есть ли строки device_tree_param = spi = on

dtoverlay = spi-bcm2835 находятся внутри, иначе добавьте.

Шаг 3: Регистрация вещи

Регистрация вещи
Регистрация вещи
Регистрация вещи
Регистрация вещи
Регистрация вещи
Регистрация вещи
Регистрация вещи
Регистрация вещи

a) Сначала перейдите к IoT Core на веб-сайте AWS, щелкнув службы, а затем IoT Core.

б) На панели навигации в разделе «Управление» выберите объекты и выберите «зарегистрировать».

c) Выберите «Создать одну вещь».

г) Введите название вашей вещи, например MyRaspberryPi2. В остальных полях оставьте значения по умолчанию. Нажмите "Далее" внизу страницы.

д) Щелкните создать сертификат. Загрузите все четыре файла. Для корневого файла CA загрузите Amazon Root CA 1 и сохраните его в блокноте.

f) После этого переместите четыре файла в каталог в raspberry pi.

g) Нажмите "Активировать".

h) После нажатия на политику присоединения вы попадете на следующую страницу. Нажмите кнопку «Зарегистрировать», политика будет создана позже.

i) На панели управления iot перейдите к политикам в защищенном разделе. Щелкните создать политику.

j) Введите имя для своей политики, в этом примере это будет MyRaspberryPiSecurityPolicy, и введите следующее в разделе «Добавить». Затем нажмите «Создать».

k) На панели управления iot перейдите к сертификатам в защищенном разделе. Выберите сертификат, который вы создали ранее, и щелкните политику присоединения в раскрывающемся списке действий. Прикрепите политику, которую вы создали ранее.

l) Снова выберите сертификат, который вы создали ранее, и нажмите «Прикрепить». Прикрепите ранее созданную политику. Прикрепите то, что вы создали ранее.

Шаг 4: Создание сегмента S3

Создание сегмента S3
Создание сегмента S3
Создание сегмента S3
Создание сегмента S3
Создание сегмента S3
Создание сегмента S3
Создание сегмента S3
Создание сегмента S3

a) Мы начнем с использования функции поиска в консоли управления AWS и поиска «s3».

б) Нажмите "Создать ведро".

c) Введите имя для корзины. В этом примере мы будем использовать имя «sp-p1703263». Мы выберем регион «ВОСТОК США (Н. ВИРДЖИНИЯ)», который является us-east-1. После этого нажмите «Создать».

г) Новый созданный сегмент появится на панели инструментов.

Шаг 5: Создание таблицы DynamoDB и установка правил

Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил
Создание таблицы DynamoDB и установка правил

а) Сначала перейдите к сервисам AWS, нажав

services, затем DynamoDB. Щелкните создать таблицу.

б) Введите имя таблицы «iotdata» и первичный ключ «deviceid» с ключом сортировки «datetimeid», затем нажмите «Создать» внизу страницы.

c) После этого вернитесь на страницу IoT Core. Нажмите «Действовать», затем нажмите «Создать новое правило».

г) Создайте правило с именем «MyDynamoDBRule». Под темой запроса правила введите «датчики / свет».

e) В разделе «Установить одно или несколько действий» нажмите «Добавить действие», затем «разделить сообщение на несколько столбцов таблицы базы данных». Нажмите на действие настройки. Под именем таблицы выберите iotdata. В разделе «Имя роли IAM» выберите созданную вами ранее роль «Dynamodb_role». Щелкните добавить действие, затем создайте правило.

е) Нажмите на создание правила.

Шаг 6: Ожидаемый результат

Ожидаемый результат
Ожидаемый результат
Ожидаемый результат
Ожидаемый результат

Открытый

для пи, представляющего внешний вид комнаты, будут запущены скрипты heatdetector.py и AccessDoor.py. Если неправильная карта попадает в сканер RFID, сигнал тревоги срабатывает, а желтый светодиодный индикатор продолжает гореть. На телефон хозяина дома будет отправлено SMS с уведомлением о возможном вторжении. Тревога тоже будет звучать. Также будет сделан снимок и сразу же загружен в S3 Bucket. Если подключенная карта авторизована, загорится зеленый светодиод, и пользователь сможет войти. Дверь снова будет заблокирована через 15 секунд (зеленый светодиод погаснет, а желтый светодиод снова загорится). Если температура внутри комнаты / дома становится слишком высокой (до температуры, которую мы считаем домом / комнатой, потенциально горящей), мы отправим SMS-уведомление владельцу дома. Также прозвучит сигнал тревоги, и снаружи загорится красный светодиод.

В помещении

для пи, представляющего внутреннюю часть комнаты, будут запущены скрипты publishHeat.py, server.py, pubsub.py, telegrambot.py. Pubsub.py сохранит значения в реальном времени в DynamoDB. при запуске server.py введите в браузере ip-адрес rpi: 5000, и вы будете перенаправлены на наш веб-интерфейс. У нас есть график, который отображает значения освещенности в реальном времени, полученные с наших датчиков в pubsub.py в DynamoDB. Кроме того, в нашем веб-интерфейсе будут отображаться исторические значения освещенности. publishHeat.py будет публиковать значения температуры на макетной плате для датчиков пожара. telegrambot.py позволит пользователю удаленно управлять включением / выключением светодиодного освещения в комнате / доме, а также делать снимки того, что происходит внутри, и загружать изображение в корзину S3.

Для лучшей визуализации ожидаемого результата:

Шаг 7: исходные коды (Pastebin)

Исходные коды (Pastebin)
Исходные коды (Pastebin)

Щелкните ссылку. Состоит из всех необходимых исходных кодов:

Шаг 8: ссылки

использованная литература
использованная литература

Iotguider. (2019). Отправьте SMS с Raspberry Pi с помощью Python. [онлайн] Доступно по адресу: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [доступ 21 августа 2019 г.].

Рекомендуемые: