- Потрібні компоненти
- Кругова діаграма
- Налаштування IFTTT для дверного дзвінка Wi-Fi
- Пояснення коду
- 3D друкований кожух для дверного дзвінка Smart Wi-Fi
- Тестування дверного дзвінка Smart Wi-Fi
На сьогоднішній день система безпеки є однією з найбільш досліджуваних галузей, і зі збільшенням загрози безпеці компанії випускають нові інтелектуальні продукти безпеки для боротьби з цими загрозами. IoT - це додаткова перевага в цій галузі, яка може автоматично викликати подію, наприклад, виклик поліції, пожежної охорони або вашого сусіда, у разі надзвичайної ситуації. Раніше ми побудували багато систем безпеки, такі як система моніторингу відвідувачів Raspberry Pi, камера відеоспостереження, бездротовий дзвінок, сигналізація безпеки дверей на базі IoT тощо. Сьогодні ми будемо використовувати ESP32 та камеру для створення дзвінка Smart Wi-Fi.
В іншому підручнику ми дізналися про ESP32-CAM та про те, як використовувати його для потокового передавання відео, тепер ми зробимо розумний дзвінок для дзвінка Wi-Fi за допомогою ESP32-CAM. Цей розумний дзвінок можна легко живити від розетки змінного струму, і кожен раз, коли хтось біля дверей натискає кнопку дверного дзвінка, він відтворюватиме певну пісню на вашому телефоні та надсилає текстове повідомлення із посиланням на сторінку потокового відео, де ви можете побачити людину двері з будь-якої точки світу.
Потрібні компоненти
- ESP32-CAM
- Рада з програмування FTDI
- Перетворювач змінного струму на 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 в розділі Services.
Тепер у вікні Webhooks натисніть «Документація» у верхньому правому куті, щоб отримати закритий ключ.
Скопіюйте цей ключ. Він буде використаний у програмі.
Отримавши закритий ключ, ми зараз створимо аплет за допомогою веб-хуків та служб електронної пошти. Щоб створити аплет, натисніть на свій профіль, а потім натисніть " Створити. '
Тепер у наступному вікні натисніть на піктограму "Це" .
Тепер знайдіть Webhooks у розділі пошуку та натисніть « Webhooks. '
Тепер оберіть тригер " Отримати веб-запит", а в наступному вікні введіть назву події як натиснуте кнопку і натисніть на кнопку створити тригер.
Тепер, щоб завершити роботу аплету, натисніть «Це», щоб створити реакцію на подію button_pressed .
Тут ми будемо грати певну пісню на телефоні, коли буде натиснута кнопка дзвінка IoT. Для цього знайдіть "пристрій Android" у розділі пошуку.
Тепер на пристрої Android виберіть тригер " Відтворити певну пісню" .
Тепер введіть назву пісні, яку ви хочете відтворити, коли натиснути кнопку дзвінка. У моєму випадку я граю пісню під назвою "123" із моєї музики Google play. Ви також можете використовувати Spotify або інші музичні програми.
Після цього натисніть " Створити дію", а потім "Готово", щоб завершити процес.
Тепер створіть інший аплет, щоб надіслати на телефон повідомлення із посиланням на веб-сторінку, коли натиснута кнопка дзвінка.
Отже, щоб створити цей аплет, виберіть « Вебхуки » у розділі « цей », а в розділі «той» виберіть « SMS для Android» .
Тепер він попросить ввести номер телефону та тіло повідомлення. Для цього проекту дзвінка 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 зумер = 15;
Всередині контуру налаштування порожнечі визначте штифт кнопки як вхідний, а штифти світлодіодів та зумер як вихідний.
void setup () {pinMode (buttonPin, INPUT); pinMode (led1, OUTPUT); pinMode (зумер, ВИХІД);
Він спробує підключитися до Wi-Fi, використовуючи дані облікових даних, і при підключенні до мережі стан світлодіода зміниться з низького на високий.
WiFi.begin (ssid, пароль); int led = LOW; while (WiFi.status ()! = WL_CONNECTED) {затримка (500); Serial.print ("."); digitalWrite (led1, led); led =! led; } Serial.println (""); Serial.println ("Wi-Fi підключений"); digitalWrite (led1, HIGH);
При відключенні від мережі ESP32 перезапуститься, поки не підключиться до мережі.
в той час як (WiFi.status () == WL_DISCONNECTED) {ESP.restart (); digitalWrite (led1, LOW); Serial.print ("Підключення втрачено");
ESP32 зчитує стан кнопки, і якщо кнопка перебуває в стані LOW (високо потягнуто), тобто, якщо натиснута кнопка, вона надсилає подію та включає зумер протягом 3 секунд.
int reading = digitalRead (buttonPin); якщо (buttonState == LOW) {send_event ("натиснуто кнопку"); Serial.print ("кнопка натиснута"); digitalWrite (зумер, HIGH); затримка (3000); digitalWrite (зумер, LOW);
3D друкований кожух для дверного дзвінка Smart Wi-Fi
Тут я розробив корпус із 3D друком для цієї бездротової дзвінки. Для цього я виміряв розміри плати ESP32, кнопки, звукового сигналу та світлодіода за допомогою штангенциркуля, і дизайн виглядав приблизно так, як це було зроблено нижче.
Після цього я експортував його як файл STL, нарізав на основі налаштувань принтера і нарешті роздрукував. Файл STL доступний для завантаження з Thingiverse, і ви можете надрукувати власний кожух, використовуючи його.
Після друку корпусу я зібрав схему в свій корпус, і все було гарно, як ви можете бачити тут.
Якщо ви хочете дізнатись більше про 3D-принтер та як він працює, ви можете прочитати цю статтю в Посібнику для початківців для початку роботи з 3D-друком, а також перевірити інші наші проекти, де ми використовували 3D-друковані кожухи, такі як Biped Robot, Robotic Arm тощо.
Тестування дверного дзвінка Smart Wi-Fi
Після складання ланцюга підключіть дверний дзвінок за допомогою розетки змінного струму. Тепер, коли натискається кнопка дзвінка IoT, смартфон починає відтворювати пісню під назвою '123', і буде отримано повідомлення із посиланням на веб-сторінку, як показано нижче, де можна побачити пряму відеофільм.
Повний код та робоче відео для цього дзвінка Smart Wi-Fi можна знайти в кінці документа, або ви можете завантажити код звідси. Якщо у вас є запитання щодо цього проекту, залиште їх у розділі коментарів.