Умный дверной звонок с камерой на основе модуля ESP32-CAM


Системам безопасности в современном мире с каждым годом уделяется все больше внимания. В последние годы все большую роль в системах безопасности начинают играть технологии интернета вещей (Internet of Things, IoT), которые могут автоматически запускать выполнение определенных событий: передача SMS в случае обнаружения тревоги, автоматический вызов полиции или пожарной бригады и т.д.

Внешний вид умного дверного звонка с камерой на основе модуля ESP32-CAM

Ранее на нашем сайте мы рассмотрели достаточно много различных систем безопасности на основе плат Arduino и Raspberry Pi, в этой же статье мы рассмотрим создание умного Wi-Fi дверного звонка с камерой на основе модуля ESP32-CAM. Данный дверной звонок можно запитать от сети переменного тока и когда кто либо будет нажимать на кнопку этого звонка, то будет проигрываться определенная мелодия на вашем мобильном телефоне и вам будет передаваться текстовое сообщение со ссылкой на страницу, на которой вы на видео сможете посмотреть пришедшего посетителя.

Ранее на нашем сайте мы рассматривали использование модуля ESP32-CAM для видео трансляции и распознавания лиц.

Необходимые компоненты

  1. Модуль ESP32-CAM (купить на AliExpress).
  2. Плата FTDI для программирования модуля (купить на AliExpress).
  3. Преобразователь 220V AC в 5V DC.
  4. Зуммер (Buzzer) (купить на AliExpress).
  5. Кнопка.
  6. Светодиод – 2 шт. (купить на AliExpress).

Схема проекта

Схема умного дверного звонка с камерой на основе модуля ESP32-CAM представлена на следующем рисунке.

Схема умного дверного звонка с камерой на основе модуля ESP32-CAM

Как видите, схема достаточно проста. Зуммер используется для формирования звукового сигнала при нажатии кнопки звонка. Один светодиод используется для индикации подачи питания, а другой – для индикации статуса сети. Если модуль ESP32-CAM подключен к сети Wi-Fi, то данный светодиод будет гореть, иначе он будет мигать.

Автор проекта (ссылка на оригинал приведена в конце статьи) напечатал для данного дверного звонка корпус на 3D принтере, в результате у него получилась конструкция следующего вида:

Внешний вид собранной конструкции умного дверного звонка

Настройка сервиса IFTTT для умного Wi-Fi дверного замка

IFTTT представляет собой бесплатный в использовании сервис, который позволяет пользователям создавать простые цепочки действий с условиями, называемых "рецептами (recipes)", которые позволяют передавать сообщения в различные интернет сервисы, такие как Gmail, Facebook, Instagram, Pinterest и др. IFTTT расшифровывается как “If This Then That” (если произошло это, то выполнить то). На нашем сайте вы можете посмотреть все проекты с использованием сервиса IFTTT.

В нашем проекте мы будем использовать сервис IFTTT для передачи SMS на сотовый телефон.

Вначале заведите себе аккаунт на сервисе IFTTT (если у вас его еще нет). Затем в своем аккаунте в сервисе выполните поиск ‘Webhooks’ и затем выберите Webhooks в разделе Services.

Выбор Webhooks в разделе Services на сервисе IFTTT

Далее, в правом верхнем углу окна веб-хуков (Webhooks) нажмите на ссылку ‘Documentation’ чтобы получить приватный ключ (private key). Скопируйте себе этот ключ – в дальнейшем он нам понадобится в программе.

Получение приватного ключа в сервисе IFTTT

После получения приватного ключа мы создадим апплет (applet) используя веб-хуки и сервисы Email. Для создания апплета в сервисе IFTTT нажмите на иконку своего профиля и затем нажмите на пункт ‘Create.’

Начало создания апплета в сервисе IFTTT

В следующем окне нажмите на иконку ‘This’.

Выбор иконки ‘This’ в сервисе IFTTT

Далее в секции поиска осуществите поиск Webhooks и затем нажмите на ‘Webhooks.’

Выбор веб-хуков в сервисе IFTTT

После этого выберите триггер ‘Receive a Web Request’, в следующем окне введите имя события button_pressed (кнопка нажата) и затем нажмите create a trigger (создать триггер).

Затем, чтобы завершить создание апплета, нажмите на ‘That’ чтобы создать отклик на событие button_pressed.

Выбор иконки ‘That’ в сервисе IFTTT

Мы будем проигрывать определенную мелодию на сотовом телефоне когда кто-нибудь будет нажимать кнопку нашего дверного замка. Для этого в поле для поиска выполните поиск ‘Android device’.

Выбор устройств Android в сервисе IFTTT

В разделе Android Device выберите триггер ‘Play a specific song’ (проиграть определенную песню).

Выбор триггера с проигрыванием определенной песни в сервисе IFTTT

Затем введите название песни, которую вы хотите проигрывать при нажатии кнопки нашего дверного замка. В нашем случае мы будем проигрывать песню под именем ‘123’ из сервиса Google play music. Можно также использовать Spotify или другие музыкальные приложения.

Завершение создания апплета в сервисе IFTTT

После этого нажмите на ‘Create action’ (создать действие) и затем на ‘Finish’ чтобы завершить процесс.

Теперь создадим другой апплет – для передачи SMS со ссылкой на веб-страницу с видео трансляцией. Апплет будет также срабатывать при нажатии кнопки дверного замка.

Для создания данного апплета выберите ‘Webhooks’ в секции ‘this’ и затем в секции ‘that’ выберите ‘Android SMS’.

Выбор пункта ‘Android SMS’ в сервисе IFTTT

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

Ввод параметров передаваемых SMS в сервисе IFTTT

Объяснение программы для модуля ESP32

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Первым делом в коде программы подключим все необходимые библиотеки.

Затем укажем параметры доступа к сети Wi-Fi – ее имя и пароль.

После этого введем имя хоста (hostname) сервиса IFTTT и приватный ключ, который мы ранее скопировали с этого сервиса.

Далее укажем все контакты, которые мы используем в проекте, для подключения кнопки, светодиода и зуммера.

Внутри функции void setup() зададим режимы работы используемых контактов – на ввод или вывод данных.

Далее мы будем пытаться подключиться к сети Wi-Fi, когда нам это удастся, мы будем включать соответствующий светодиод (чтобы он горел постоянно). Пока мы не подключены к сети Wi-Fi светодиод будет мигать.

Если соединение с сетью Wi-Fi будет потеряно, модуль ESP32 будет перезагружаться чтобы снова подключиться к сети.

Модуль ESP32 будет считывать состояние кнопки и если ее состояние LOW (кнопка нажата), то модуль будет передавать событие "button_pressed" и включать зуммер на 3 секунды.

Печать корпуса для звонка на 3D принтере

Автор проекта напечатал корпус для нашего умного Wi-Fi дверного звонка на 3D принтере. Он измерил размеры модуля ESP32, кнопки, зуммера и светодиодов и на основе этих размеров спроектировал корпус для звонка, показанный на следующем рисунке.

Спроектированная модель корпуса для нашего дверного звонка

Далее он конвертировал полученную модель корпуса звонка в STL файл, который вы можете скачать с Thingiverse и самостоятельно напечатать этот корпус на 3D принтере.

После окончательной сборки у него получилась следующая конструкция проекта.

Собранная в корпусе конструкция дверного замка

Тестирование работы дверного звонка

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

Передваемые SMS со ссылкой на страницу с видеотрансляцией

Тестирование работы умного дверного звонка

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
1 156 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован.