Статья

Сверхбюджетная камера для Homekit

В один из теплых вечеров, я наткнулся на данную камеру. В первую очередь, привлекли меня в ней размеры и цена.
В сети по данной плате информации мало - кроме беглых обзоров стоковой прошивки толком ничего и нет, но на просторах GitHub нашел способ, как добавить поддержку RTSP протокола в неё. А если камера может транслировать RTSP, то интегрировать ее в HomeBridge не является проблемой, но для начала разберемся, что из себя представляет данная камера.

С основными характеристиками платы мы разобрались, предлагаю вернуться к теме и добавить поддержку RTSP протокола.
Для прошивки платы нам потребуется USB/UART конвертер, я буду использовать CP2102. Подключаем камеру к конвертеру - 

3v3 - 3v3 / GND - GND / RX - UOT / TX - UOR / GND на плате к IO0 на плате (перемычка для ввода esp в режим прошивки).
Вставляем в USB порт компьютера, устанавливаем драйвера для работы с CP2102, если они у вас не установлены.

Если все прошло успешно, система известит вас о новом подключенном устройстве, а в диспетчере задач в  "Порты (COM LPT)"
Вы должны увидеть - "Silicon Labs CP210x to Uart Bridge (COM10)", где COM10 - номер com порта, к которому подключен конвертер.

Установка Visual Studio Code и PlatformIO IDE

Заходим на официальный сайт и скачиваем программу Visual Studio Code. Останавливаться на установке не буду.
Пока устанавливается VSC, скачаем архив с прошивкой для нашей камеры. Извлекаем из архива папку с прошивкой.

Открываем Visual Studio Code, слева сверху находим: 
"Extensions", нажимаем, у нас появится строка поиска, в неё вбиваем "PlatformIO IDE". Нажимаем "Install"

После установки, в крайней слева панели, под "Extensions", появится новый значок: PlatformIO, Нажимаем левую кнопку мыши и попадаем на PIO Home.

pio run -t upload

Если все пройдет удачно, в терминале мы увидим сообщение:

Leaving... Hard resetting via RTS pin...

Модуль можно отключить от конвертера и запитать от 5 вольт. В вашей Wi-Fi сети должно появится новое устройство, мой роутер выдал камере IP адрес: 192.168.31.211, у вас, скорее всего, будет другой iP адрес. Проверить наличие новых устройств в сети можно через приложения, например, Angry IP Scanner, либо в панели администратора роутера.
 Я для проверки буду использовать VLC плеер, потому что он имеет поддержку RTSP потока.

rtsp://IP:554/mjpeg/1

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

Установка FFmpeg

Если у вас установлен образ с HomeBridge от Edward, вы можете пропустить этот шаг. Если вы устанавливали HomeBridge сами, то предлагаю два варианта установки FFmpeg:
1. Способ для параноиков (установка ручками).
2. Способ для ленивых (установкой займется скрипт).
Оба варианта установки на Raspberry pi 3b займут 40-60 минут, поэтому я выберу второй метод. Копируем скрипт ниже, вставляем его в командную строку SSH.  

git clone https://github.com/fantomnotabene/camera-ffmpeg_setup_script cd camera-ffmpeg_setup_script bash./install.sh

Если все прошло успешно, скрипт предложит конфиг для плагина homebridge-camera-ffmpeg. 

Интеграция в HomeBridge

Открываем Config.json, либо через web интерфейс нажимаем на "Config".

Если у вас нет Web интерфейса для Homebridge, советую его установить, но можно и по старинке. Вводим команду ниже:

sudo nano ~/.homebridge/config.json

Скопируем часть конфига и вставим ее в config.json

{ "platform": "Camera-ffmpeg", "cameras": [ { "name": "esp32cam", "videoConfig": { "source": "-rtsp_transport tcp -y -i rtsp://IP адрес камеры:554/mjpeg/1", "maxBitrate": 2000, "maxStreams": 2, "maxWidth": 320, "maxHeight": 240, "vcodec": "h264_omx", "audio": false } } ] },

Проверяем правильно ли проставлены запятые, сохраняем и перезапускаем HomeBridge.

Заходим в приложение "Дом", нажимаем на " " и выбираем
"Добавить аксессуар".
"Нет кода или нет возможности сканировать". Выбираем esp32cam и вводим пин от HomeBridge,
в моем случае - "390 99 869", у вас он будет другим.

Камера должна появиться в вашем доме.

Что в итоге?

Модуль ESP32-CAM научился отдавать RTSP поток, и может интегрироваться в Homekit.
Но, на камере есть вспышка, и куча свободных выводов, на которые можно подключить дополнительные устройства, например, кнопку, чтобы сделать "видео звонок" или датчик движения. Также необходимо изготовить корпус. Из-за нехватки времени я этого делать не буду, но вам задуматься стоит.
Рекомендую ли я данную камеру? Ответить сложно, смотря какую цель вы преследуете. Данная камера порой не стабильна, прошивка устанавливается через PlatformIO, который многие не любят. Но если у вас есть свободное время и желание улучшить прошивку, почему нет? Цена на данный модуль около 5$ либо 10 дошираков, кому как удобнее. Для людей, которым важно качество картинки и стабильность работы, наверное, стоит пропустить данную плату.


А почему в качестве прошивки не была взята EspHome?) а так статья полезная конечно!

Не знал что esphome поддерживает данную камеру, говорю же информации в сети 0

Сразу Видно HA'шник пишет, разве EspHome умеет в HK залетать?

Напрямую - нет, но никто не мешает использовать Homebridge совместно с ESPHome. 

отличная статья, можешь еще выложить реальное видео с камеры. 

Внизу ролик, реальное видео с камеры, если начинается актив, 1,5 секунды задержка слайд шоу

я понял, не через кит. а захвати в VLC чтоб качество картинки понять 

Очень посредственное там качество. 

Буду признателен, если выпустишь инструкцию

А размер картинки только 320*240, больше нормально не тянет? Хотя бы hd при 25-30 кадрах в HK? 

Можно 640х480, про hd забудь и про 25-30 кадров тоже, при подключении через web морду, там 60 кадров и все супер, но конвертирование rtsp потока, тоже требует ресурсов.

А ведь можно сделать конвертирование в RTSP не сервере? 

В esphome без потери работоспособности через определенное время по перегреву работает

800x600 и 10 кадров в секунду. Но rtsp разумеется там нету. 

Не слабые запросы, для железки ценой меньше 5 баксов. Если HD на 30 кадрах - это "хотя бы" то мне чисто интересно какие требования вы вообще ставите для видеонаблюдения? 

Подскажите с какими параметрами камера не виснет, чё я только не делал, и выставлял разрешение камеры меньше и частоту и питание камеры, постоянно зависает по прошествии 2 часов

попробуйте добавить перезагрузку в код:

i=i+1; 

if (i==3600*50000) { 

Serial.println("reboot"); 

ESP.restart(); 

i=0; 

}

Статья супер, все получилось.

если можете выложить код для управления подсветкой (вспышкой), то вобще будет биг супер.

сам не програмер в кодировке полный ноль, поэтому могу только повторить по инструкции.

 ЗЫ:для управления вспышкой подойдет и GET запрос

Долго плясал с бубном но так и не получилось запустить ее из "внешнего интернета", причем не работает весь хомбридж, датчики и тп. Дома через wi-fi работает. 

Дело было в старой прошивке iPad 10.2, купил новый айпад с IOS 13  все прекрасно работает. Может кому поможет данный комментарий.

а где поменять название камеры в роутере? Прошил две платы и в настройках роутера они под одинаковым именем "espressif"

в настройках прошивки поменяй

Ищу и не могу найти где это🤨


Вернуться назад

Устройства


Заказать на:

Espressif Systems

ESP32 Cam

(3 отзыва)

Вернуться назад