instructables Супер дешева камера безпеки з посібником з експлуатації ESP32-cam
Супердешева камера безпеки з камерою ESP32
Джованні Аджустатутто
Сьогодні ми створимо цю камеру відеоспостереження, яка коштує лише 5 євро, як піца чи гамбургер. Ця камера підключена до Wi-Fi, тому ми зможемо контролювати наш дім або те, що камера бачить, з телефону будь-де, або в локальній мережі, або ззовні. Ми також додамо двигун, який змушує камеру рухатися, щоб ми могли збільшити кут огляду камери. Окрім використання як камери безпеки, таку камеру можна використовувати для багатьох інших цілей, наприклад перевірити, чи правильно працює 3D-принтер, щоб зупинити його в разі проблем. Але тепер давайте почнемо
Щоб дізнатися більше про цей проект, перегляньте відео на моєму каналі YouTube (воно італійською мовою, але є англійські субтитри).
Постачання:
Щоб створити цю камеру, нам знадобиться плата камери ESP32, маленька камера, яка постачається разом із нею, і адаптер USB-послідовний. Плата камери ESP32 — це звичайний ESP32 із маленькою камерою на ній, усе в одній платі. Для тих, хто не знає, ESP32 — це програмована плата, схожа на Arduino, але з набагато потужнішим чіпом і можливістю підключення до WiFi. Ось чому я використовував ESP32 для різних проектів розумного будинку в минулому. Як я вже говорив вам раніше, плата камери ESP32 коштує близько 5 євро на Aliexpress.
Крім цього нам знадобляться:
- серводвигун, який здатний досягати певного кута, який передається йому мікроконтролером
- деякі дроти
інструменти:
- паяльник (опціонально)
- 3D-принтер (опціонально)
Щоб побачити, що бачить камера з телефону чи комп’ютера, і щоб зробити знімки, ми будемо використовувати Домашній помічник і ESPhome, але про це ми поговоримо пізніше.
Крок 1: Підготовка ESP32-cam
Спочатку вам потрібно підключити камеру до плати за допомогою маленького роз'єму, який дуже крихкий. Після того, як ви вставите роз’єм, ви можете опустити важіль. Потім я прикріпив камеру поверх дошки двостороннім скотчем. Камера ESP32 також має можливість вставляти micro SD, і хоча ми не будемо використовувати її сьогодні, вона дозволяє нам робити фотографії та зберігати їх прямо там.
Крок 2: Завантаження коду
Зазвичай плати Arduino та ESP також мають USB-роз’єм для завантаження програми з комп’ютера. Однак цей не має USB-роз’єму, тому для підключення його до комп’ютера для завантаження програми потрібен USB-послідовний адаптер, який зв’язується з чіпом безпосередньо через контакти. Той, який я знайшов, виготовлений спеціально для цього типу плати, тому він просто підключається до контактів без необхідності робити будь-які інші з’єднання. Однак універсальні адаптери USB-to-Serial також повинні бути 2ne. Щоб завантажити програму, ви також повинні підключити контакт 2 до землі. Для цього я припаяв перемичку до цих двох контактів. Тому, коли мені потрібно запрограмувати плату, я просто ставлю перемичку між двома контактами.
Крок 3: Підключення камери до Home Assistant
Але тепер давайте подивимося на програмне забезпечення, яке керуватиме камерою. Як я вже казав вам раніше, камеру буде підключено до Home Assistant. Home Assistant – це система домашньої автоматизації, яка працює локально, що дозволяє нам керувати всіма нашими пристроями домашньої автоматизації, такими як розумні лампочки та розетки, з одного інтерфейсу.
Для запуску Home Assistant я використовую старий ПК з Windows, на якому працює віртуальна машина, але якщо вона у вас є, ви можете використовувати Raspberry pi, яка споживає менше енергії. Щоб переглядати дані зі свого смартфона, ви можете завантажити програму Home Assistant. Для підключення поза локальною мережею я використовую Nabu Casa Cloud, це найпростіше рішення, але воно не безкоштовне. Є й інші рішення, але вони не зовсім безпечні.
Тож у додатку Home Assistant ми зможемо бачити відео з камери в реальному часі. Для підключення камери до Home Assistant ми будемо використовувати ESPhome. ESPhome — це доповнення, яке дозволяє підключати плати ESP до Home Assistant через WiFi. Щоб підключити ESP32-cam до ESPhome, виконайте такі дії:
- Встановіть плагін ESPhome у Home Assistant
- На інформаційній панелі ESPhome натисніть «Новий пристрій» і «Продовжити».
- Дайте своєму пристрою назву
- Виберіть ESP8266 або плату, яку ви використовували
- Скопіюйте наданий ключ шифрування, він нам знадобиться пізніше
- Натисніть РЕДАГУВАТИ, щоб побачити код пристрою
- У розділі esp32: вставте цей код (з коментарями framework: і type:)
esp32
дошка: esp32cam
#рамка:
# тип: arduino
- У розділі з вставте свій wi2 ssid і пароль
- Щоб зробити з’єднання більш стабільним, ви можете надати платі статичну IP-адресу за допомогою такого коду:
wifi:
ssid: yourssid
пароль: ваш пароль Wi-Fi
manual_ip
# Встановіть для цього IP-адресу ESP
static_ip: 192.168.1.61
# Установіть IP-адресу маршрутизатора. Часто закінчується на .1
шлюз: 192.168.1.1
# Підмережа мережі. 255.255.255.0 працює для більшості домашніх мереж.
підмережі: 255.255.255.0
- У кінці коду вставте цей:
2_камера:
ім'я: 1 камера
зовнішній_годинник:
прикріпити: GPIO0
частота: 20 МГц
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
роздільна здатність: 800×600
jpeg_quality: 10
vertical_flip: Неправда
вихід:
– платформа: gpio
контакт: GPIO4
ідентифікатор: gpio_4
– платформа: ledc
ідентифікатор: pwm_output
контакт: GPIO2
частота: 50 Гц
світло:
– платформа: бінарна
вихід: gpio_4
назва: Luce telecamera 1
номер:
- платформа: шаблон
Назва: Servo Control
min_value: -100
max_value: 100
крок: 1
оптимістичний: правда
set_action:
потім:
– servo.write:
id: my_servo
рівень: !lambda 'повернути x / 100.0;'
серво:
– ідентифікатор: my_servo
вихід: pwm_output
тривалість переходу: 5 с
Друга частина коду, під esp2_camera:, визначає всі контакти для фактичної камери. Потім зі світлом: де32ніфікується світлодіод камери. У кінці коду визначається серводвигун, а значення, яке використовується сервоприводом для встановлення кута повороту, зчитується з Home Assistant із номером:.
У підсумку код повинен виглядати так, але не вставляйте безпосередньо код нижче, кожному пристрою надається окремий ключ шифрування.
будинок:
ім'я: камера-1
esp32:
дошка: esp32cam
#рамка:
# тип: arduino
# Увімкнути лісозаготівля
ger:
# Увімкнути API Home Assistant
api:
шифрування:
ключ: “encryptionkey”
ота:
пароль: «пароль»
wifi:
ssid: “yoursid”
пароль: «ваш пароль»
# Увімкніть резервну точку доступу (портал захоплення) на випадок збою підключення Wi-Fi
ап:
ssid: «Запасна точка доступу Camera-1»
пароль: «пароль»
captive_portal:
esp32_camera:
назва: телекамера 1
зовнішній_годинник:
контакт: GPIO0
частота: 20 МГц
i2c_pins:
sda: GPIO26
scl: GPIO27
data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
роздільна здатність: 800×600
jpeg_quality: 10
vertical_flip: False
вихід:
– платформа: gpio
контакт: GPIO4
ідентифікатор: gpio_4
– платформа: ledc
ідентифікатор: pwm_output
контакт: GPIO2
частота: 50 Гц
світло:
– платформа: бінарна
вихід: gpio_4
назва: Luce telecamera 1
номер:
- платформа: шаблон
Назва: Servo Control
min_value: -100
max_value: 100
крок: 1
оптимістичний: правда
set_action:
потім:
– servo.write:
id: my_servo
рівень: !lambda 'повернути x / 100.0;'
Супердешева камера безпеки з ESP32-cam: Сторінка 12
Крок 4: З’єднання
серво:
– ідентифікатор: my_servo
вихід: pwm_output
тривалість переходу: 5 с
- Після завершення коду ми можемо натиснути «Встановити», підключити послідовний адаптер ESP32 до нашого комп’ютера за допомогою USB-кабелю та дотримуйтесь інструкцій на екрані, щоб завантажити код, як ви бачили на останньому кроці (це досить легко!)
- Коли камеру ESP32 підключено до Wi-Fi, ми можемо перейти до налаштувань Home Assistant, де ми, ймовірно, побачимо, що Home Assistant виявив новий пристрій
- Натисніть «Налаштувати» та вставте туди ключ шифрування, який ви скопіювали раніше.
Після завантаження програми ви можете зніміть перемичку між землею і контакт 0, і увімкніть плату (якщо перемичку не зняти, плата не працюватиме). Якщо ви подивіться на журнали пристрою, ви побачите, що ESP32-cam підключається до WiFi. У наступних кроках ми побачимо, як налаштувати інформаційну панель Home Assistant, щоб переглядати живе відео з камери, рухати двигун і робити фотографії з камери
Крок 4: Підключення
Після того, як ми запрограмували ESP32, ми можемо вийняти USB-послідовний адаптер і живити плату безпосередньо від контакту 5 В. І на цьому етапі камері бракує лише корпусу, в якому її можна було б встановити. Однак залишати камеру на місці нудно, тому я вирішив додати двигун, щоб вона рухалася. Зокрема, я буду використовувати серводвигун, який здатний досягати певного кута, який повідомляє йому ESP2. Я підключив коричневий і червоний дроти серводвигуна до джерела живлення, а жовтий дріт, який є сигналом, до контакту 2 ESP32. На зображенні вище ви можете побачити другу схему.
Крок 5: Створення корпусу
Тепер мені потрібно перетворити тестову схему на щось, що більше схоже на готовий продукт. Тож я розробив і надрукував на 2D всі деталі, щоб зробити маленьку коробочку, у якій можна встановити камеру. Нижче ви можете переглянути 3 файли .stl для 2D-друку. Потім припаяв дроти для джерела живлення та сигналу серводвигуна до контактів на ESP2. Щоб підключити роз'єм сервомотора, я припаяв до проводів роз'єм-перемичку. Отже, схема завершена, і, як бачите, вона досить проста.
Я пропустив серводвигун і дроти живлення через отвори на маленькій коробці. Потім я приклеїв камеру ESP32 до кришки, вирівнявши камеру з отвором. Я встановив серводвигун на кронштейні, який утримує камеру, і закріпив його двома болтами. Я прикріпив кронштейн до коробочки двома шурупами, щоб камеру можна було нахиляти. Щоб внутрішні гвинти не торкалися кабелів, я захистив їх термоусадочною трубкою. Потім я закрив кришку з камерою на чотири гвинти. На цьому етапі залишається лише зібрати основу. Я пропустив вал серводвигуна через отвір у основі та прикрутив маленьку ручку до валу. Потім я приклеїв руку до основи. Таким чином сервомотор може рухати камеру на 180 градусів.
І ось ми закінчили створення камери. Для його живлення ми можемо використовувати будь-який блок живлення 2 В. Використовуючи отвори в основі, ми можемо прикрутити камеру до стіни або дерев'яної поверхні.
Крок 6: Налаштуйте інформаційну панель Home Assistant
Щоб побачити відео в реальному часі з камери, перемістіть двигун, увімкніть світлодіод і перемістіть двигун з інтерфейсу Home Assistant, нам знадобляться чотири карти на інформаційній панелі Home Assistant.
- 2-й — це картка перегляду зображень, яка дозволяє переглядати живе відео з камери. У налаштуваннях картки просто виберіть сутність камери та встановіть Камера View в автоматичному режимі (це важливо, тому що якщо ви налаштуєте його на живе, камера завжди надсилає відео та перегрівається).
- Тоді нам знадобиться кнопка для фотографування з камери. Це трохи складніше. Спочатку ми повинні зайти в File Надбудова Editor (якщо у вас її немає, ви можете встановити її з магазину надбудов) у папці con2g і створіть нову папку для збереження фотографій, у цьому випадку під назвою camera. Код для текстового редактора для кнопки наведено нижче.
ow_name: правда
show_icon: правда
тип: кнопка
tap_action:
дія: виклик-сервіс
послуга: камера.знімок
дані:
fileназва: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#змініть назву сутності вище на назву сутності вашої камери
мета:
entity_id:
– camera.telecamera_1 #змінити назву сутності на назву сутності вашої камери
ім'я: зробити фото
icon_height: 50 пікселів
значок: mdi:camera
hold_action:
дія: немає
- Камера також має світлодіод, навіть якщо вона не здатна освітлити всю кімнату. Для цього я використав іншу картку кнопки, яка перемикає об’єкт світлодіода, коли його натискають.
- Остання картка — це картка об’єктів, яку я налаштував за допомогою об’єкта серводвигуна. Отже, з цією карткою ми маємо дуже простий повзунок для керування кутом двигуна та переміщення камери.
Я організував свої картки у вертикальний і горизонтальний стопки, але це зовсім необов’язково. Однак ваша інформаційна панель має виглядати так, як показано на малюнку вище. Звичайно, ви можете ще більше налаштувати картки відповідно до своїх потреб.
Крок 7: Це працює!
Нарешті камера працює, і в додатку Home Assistant я можу бачити, що бачить камера в реальному часі. У додатку я також можу змусити камеру рухатися, пересуваючи повзунок, щоб дивитися на більший простір. Як я вже говорив раніше, камера також має світлодіод, хоча світло, яке він виробляє, не дозволяє бачити вночі. У додатку ви можете робити фотографії з камери, але не можете знімати відео. Зроблені фотографії можна побачити в папці, яку ми створили раніше в Home Assistant. Щоб підняти камеру на наступний рівень, ви можете підключити камеру до датчика руху або датчика відкривання дверей, який, коли виявить рух, зробить знімок за допомогою камери.
Отже, це камера безпеки ESP32 cam. Це не найсучасніша камера, але за цю ціну ви не знайдете нічого кращого. Сподіваюся, вам сподобався цей посібник, і, можливо, він був для вас корисним. Щоб дізнатися більше про цей проект, ви можете переглянути 2-е відео на моєму каналі YouTube (воно італійською мовою, але має англійські субтитри).
Документи / Ресурси
![]() |
instructables Супер дешева камера безпеки з ESP32-cam [pdfІнструкція з експлуатації Супердешева камера безпеки з ESP32-cam, супердешева камера безпеки, ESP32-cam, дешева камера безпеки, камера безпеки, камера |