- Необходимые компоненты
- Принципиальная электрическая схема
- Настройка IFTTT для дверного звонка Wi-Fi
- Код Пояснение
- Корпус с 3D-печатью для умного дверного звонка Wi-Fi
- Тестирование умного дверного звонка Wi-Fi
В настоящее время система безопасности является одной из наиболее исследуемых областей, и в связи с ростом угроз безопасности компании запускают новые интеллектуальные продукты безопасности для борьбы с этими угрозами. Интернет вещей - дополнительное преимущество в этой области, которое может автоматически инициировать событие, такое как вызов полиции, пожарной бригады или вашего соседа, в случае любой чрезвычайной ситуации. Ранее мы создавали множество систем безопасности, таких как система мониторинга посетителей Raspberry Pi, камера видеонаблюдения, беспроводной дверной звонок, дверная сигнализация на основе Интернета вещей и т. Д. Сегодня мы будем использовать ESP32 и камеру для создания умного дверного звонка Wi-Fi.
В другом уроке мы узнали о ESP32-CAM и о том, как использовать его для потоковой передачи видео, теперь мы сделаем интеллектуальный дверной звонок для видеосигнала Wi-Fi с использованием ESP32-CAM. Этот умный дверной звонок может легко питаться от розетки переменного тока, и всякий раз, когда кто-то на двери нажимает кнопку дверного звонка, он воспроизводит определенную песню на вашем телефоне и отправляет текстовое сообщение со ссылкой на страницу потокового видео, где вы можете увидеть человека на дверь из любой точки мира.
Необходимые компоненты
- ESP32-CAM
- Плата программирования FTDI
- Преобразователь 220 В переменного тока в 5 В постоянного тока
- Зуммер
- Нажать кнопку
- Светодиод (2)
Принципиальная электрическая схема
Принципиальная схема этого умного дверного звонка Wi-Fi очень проста, достаточно подключить два светодиода, кнопку и зуммер к контактам ESP32 GPIO. Зуммер используется для подачи звука при нажатии кнопки. Один светодиод используется для индикации состояния питания, а другой - для индикации состояния сети. Светодиод сети будет в высоком состоянии, если ESP подключен к сети, в противном случае он будет мигать.
Вот так будет выглядеть установка видеодомофона Wi-Fi в корпусе, напечатанном на 3D-принтере:
Настройка IFTTT для дверного звонка Wi-Fi
IFTTT - это бесплатная веб-служба, которая позволяет пользователям создавать цепочки простых условных операторов, называемых «рецептами», которые запускаются на основе изменений в других веб-службах, таких как Gmail, Facebook, Instagram и. IFTTT - это аббревиатура от «If This Then That».
В этом проекте IFTTT используется для отправки электронного письма всякий раз, когда температура или влажность выходят за пределы заданного предела. Ранее мы использовали IFTTT во многих проектах на основе IoT для отправки электронных писем или SMS о конкретных событиях, таких как чрезмерное потребление электроэнергии, высокая частота импульсов, проникновение злоумышленника и т. Д.
Первый Войти в IFTTT с учетными данными или Зарегистрируйтесь , если у вас нет учетной записи на нем.
Теперь найдите «Webhooks» и нажмите на раздел «Webhooks in Services».
Теперь в окне Webhooks щелкните «Документация» в правом верхнем углу, чтобы получить закрытый ключ.
Скопируйте этот ключ. Он будет использован в программе.
После получения закрытого ключа мы создадим апплет, используя Webhooks и почтовые службы. Чтобы создать апплет, щелкните свой профиль, а затем щелкните « Создать». '
Теперь в следующем окне щелкните значок «Это» .
Теперь найдите Webhooks в разделе поиска и нажмите « Webhooks». '
Теперь выберите триггер « Получить веб-запрос» и в следующем окне введите имя события как button_pressed, а затем нажмите «Создать триггер».
Теперь, чтобы завершить работу апплета, нажмите «Это», чтобы создать реакцию на событие button_pressed .
Здесь мы будем играть определенную песню на телефоне при нажатии кнопки дверного звонка IoT. Для этого выполните поиск по запросу «Android-устройство» в разделе поиска.
Теперь на устройстве Android выберите триггер « Воспроизвести определенную песню» .
Теперь введите название песни, которую вы хотите воспроизводить при нажатии кнопки дверного звонка. В моем случае я проигрываю песню под названием «123» из моей музыки Google Play. Вы также можете использовать Spotify или другие музыкальные приложения.
После этого нажмите « Создать действие», а затем «Готово», чтобы завершить процесс.
Теперь создайте еще один апплет для отправки на телефон сообщения со ссылкой на веб-страницу при нажатии кнопки дверного звонка.
Итак, чтобы создать этот апплет, выберите « Webhooks » в « этом » разделе и в «том» разделе выберите « Android SMS» .
Теперь он попросит ввести номер телефона и тело сообщения. Для этого проекта дверного звонка Wi-Fi мы отправляем сообщение со ссылкой на веб-сервер, чтобы вы могли напрямую просматривать потоковое видео в реальном времени.
Код Пояснение
Полный код и видео для этой камеры дверного звонка Wi-Fi приведены в конце этого документа. Его также можно скачать здесь. Ниже мы объясняем некоторые важные части кода.
Сначала включите все необходимые файлы библиотеки для этого кода.
#include "esp_camera.h" #include
Затем введите учетные данные Wi-Fi.
const char * ssid = "Имя Wi-Fi"; const char * password = "Пароль Wi-Fi";
После этого введите имя хоста IFTTT и закрытый ключ, которые вы скопировали с веб-сайта IFTTT.
const char * host = "maker.ifttt.com"; const char * privateKey = "Ваш закрытый ключ";
Определите все контакты, которые вы используете в этом проекте. Я использую контакты GPIO 2, 14 и 15 для подключения кнопки, светодиода и зуммера.
const int buttonPin = 2; const int led1 = 14; const int buzzer = 15;
Внутри цикла настройки void определите контакт кнопки как вход, а контакты светодиода и зуммера как выход.
void setup () {pinMode (buttonPin, ВВОД); pinMode (led1, ВЫХОД); pinMode (зуммер, ВЫХОД);
Он попытается подключиться к Wi-Fi, используя указанные учетные данные, и при подключении к сети состояние светодиода изменится с низкого на высокий.
WiFi.begin (ssid, пароль); int led = LOW; в то время как (WiFi.status ()! = WL_CONNECTED) {задержка (500); Serial.print ("."); digitalWrite (светодиод1, светодиод); led =! led; } Serial.println (""); Serial.println («WiFi подключен»); digitalWrite (led1, HIGH);
При отключении от сети ESP32 перезапустится, пока не подключится к сети.
а (WiFi.status () == WL_DISCONNECTED) {ESP.restart (); digitalWrite (led1, LOW); Serial.print («Соединение потеряно»);
ESP32 считывает состояние кнопки, и если кнопка находится в НИЗКОМ состоянии (нажата на высоком уровне), т.е. кнопка была нажата, он отправляет событие и включает зуммер на 3 секунды.
int чтение = digitalRead (buttonPin); если (buttonState == LOW) {send_event ("button_pressed"); Serial.print («кнопка нажата»); digitalWrite (зуммер, ВЫСОКИЙ); задержка (3000); digitalWrite (зуммер, LOW);
Корпус с 3D-печатью для умного дверного звонка Wi-Fi
Здесь я разработал 3D-печатный корпус для этой беспроводной камеры дверного звонка. Для этого я измерил размеры платы ESP32, кнопки, зуммера и светодиода с помощью штангенциркуля с нониусом, и после завершения конструкция выглядела примерно так, как показано ниже.
После этого я экспортировал его как файл STL, нарезал в соответствии с настройками принтера и, наконец, распечатал. Файл STL доступен для загрузки с Thingiverse, и вы можете распечатать с его помощью собственную оболочку.
После распечатки корпуса я собрал схему в свой корпус, и, как вы можете видеть здесь, все было хорошо подогнано.
Если вы хотите узнать больше о 3D-принтере и о том, как он работает, вы можете прочитать эту статью в Руководстве для начинающих по началу работы с 3D-печатью, а также проверить другие наши проекты, в которых мы использовали 3D-печатные корпуса, такие как Biped Robot, Robotic Arm и т. Д.
Тестирование умного дверного звонка Wi-Fi
После сборки схемы включите дверной звонок в розетку переменного тока. Теперь всякий раз, когда нажимается кнопка дверного звонка IoT, смартфон начинает воспроизводить песню с именем «123», и будет получено сообщение со ссылкой на веб-страницу, как показано ниже, где можно увидеть прямую видеотрансляцию.
Полный код и рабочее видео для этого дверного звонка Smart Wi-Fi можно найти в конце документа или скачать код отсюда. Если у вас есть какие-либо вопросы по этому проекту, оставьте их в разделе комментариев.