В один из теплых вечеров, я наткнулся на данную камеру. В первую очередь, привлекли меня в ней размеры и цена.
В сети по данной плате информации мало - кроме беглых обзоров стоковой прошивки толком ничего и нет, но на просторах 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
Если у вас нет 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 чтоб качество картинки понять
Очень посредственное там качество.
Опять через прокладку (фейспалм)
https://github.com/lizzus/esp32-homekit-camera">https://github.com/lizzus/esp32-homekit-camera
https://github.com/AchimPieters/esp32-homekit-camera">https://github.com/AchimPieters/esp32-homekit-camera
Буду признателен, если выпустишь инструкцию
А размер картинки только 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 все прекрасно работает. Может кому поможет данный комментарий.
в настройках прошивки поменяй
Ищу и не могу найти где это🤨