Статья

Сверхбюджетная камера для 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"

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

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



Я делал всё по инструкции, ничего не помогает. Монитор порта VSCode не работает, монитор Arduino IDE работает, но выдаёт ошибку См. фото ниже

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

Устройства


Espressif Systems

ESP32 Cam

(3 отзыва)

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