Оглавление:

Умный дверной звонок для HomeAssistant: 4 шага
Умный дверной звонок для HomeAssistant: 4 шага

Видео: Умный дверной звонок для HomeAssistant: 4 шага

Видео: Умный дверной звонок для HomeAssistant: 4 шага
Видео: Видеозвонок для умного дома Tuya. Тест звука и подключение его в Home Assistant 2024, Июль
Anonim
Умный дверной звонок для HomeAssistant
Умный дверной звонок для HomeAssistant

Итак, я хотел дверной звонок со следующими характеристиками:

  • Видео с двери
  • Двустороннее аудио
  • Две кнопки
  • Интеграция с настенным планшетом с пользовательским интерфейсом HomeAssistant

Пришли некоторые варианты, такие как Doorbird (дорого, и у них нет двусторонних аудиовызовов с использованием HTML5) и дверной звонок Ring (но мне не нравится подписка, облачный дверной звонок)

Как разработчик и мастеринг, я уже закончил несколько проектов, но это был один из самых сложных. У меня было много проблем с тем, чтобы двустороннее аудио работало до такой степени, что вы могли понимать друг друга. Это в основном потому, что здесь довольно много эха,…. Идея исходит от DoorPi, но с протоколом SIP у меня было слишком много эха, что привело к непониманию друг друга.

Поскольку мой дверной звонок полностью защищен от непогоды, мы можем изготовить фасад из дерева с лазерной резкой.

Запасы

  • Raspberry Pi 3 B или 3B + (не выбирайте Banana Pi со встроенным PoE, поскольку он не поддерживает стандартный интерфейс камеры Raspberry Pi CSI) = 33 67 евро.
  • Карта Micro SD = 2 69 евро
  • Камера «рыбий глаз» на Raspberry Pi = 14, 14 евро.
  • Адаптер PoE = 4, 94 евро
  • RaspiAudio Mic + = 24, 69 евро
  • Доступ к 3D-принтеру (и лазерному резаку)
  • Кнопки для дверного звонка
  • Много времени!

В сумме получается 80, 13 евро.

Вне области действия абонентская станция:

  • Настройка HomeAssistant с брокером MQTT
  • Настенный Android-планшет

Шаг 1. Настройте Raspberry Pi

Я настоятельно рекомендую вам использовать Ethernet вместо Wi-Fi. Благодаря этому качество моего звука значительно улучшилось. Мы также будем использовать UV4L, поскольку он поддерживает webrtc и, следовательно, имеет встроенное эхоподавление. Doorpi использует linphone, SIP-клиент, и мне не удалось заставить работать эхоподавление.

  • Загрузите Raspbian Stretch Lite и установите его на карту Micro SD. Убедись, что ты:

    включить ssh, создав пустой файл ssh в загрузочном разделе

  • Выполните следующие команды:

sudo apt-get update

sudo apt-get upgrade

Камера

Включите камеру через raspi-config и убедитесь, что у графического процессора не менее 192 МБ оперативной памяти.

РаспиАудио

Следуйте руководству по установке RaspiAudio, которое можно найти по адресу

UV4L

Следуйте руководству по установке UV4L, которое можно найти по адресу

Отрегулируйте файл /etc/uv4l/uv4l-raspicam.conf и убедитесь, что вы изменили следующие параметры:

Наиболее примечательная настройка - это вероятно --enable-webrtc-video = no: это потому, что мы всегда будем транслировать видео из uv4l, используя mjpeg в кодировке h264.

Используя следующие файлы, расположенные в / usr / share / uv4l / demos / doorpi /, вы уже можете протестировать двустороннее аудио и видео.

  • index.html (переименуйте его из index.html5, необходимо переименовать из-за требований к загрузке инструкций)
  • main.js
  • signalling.js

Перейдите по адресу https:// [ip-of-raspberrypi]: 8888 и проверьте, сможете ли вы настроить двустороннее аудио.

pi-mqtt-gpio

Самый простой способ заставить кнопки дверного звонка работать - это прикрепить их к Raspberry Pi и использовать pi-mqtt-gpio для интеграции с HomeAssistant.

Мой файл конфигурации выглядит следующим образом:

mqtt: host: xxxx port: 1883 user: [username] password: [password] topic_prefix: "doorbell" gpio_modules: - name: raspberrypi module: raspberrypi cleanup: yes digital_inputs: - name: button_1 module: raspberrypi pin: 17 on_payload: " Off "off_payload:" On "подтягивание: да раскрывающееся меню: no - имя: button_2 module: raspberrypi pin: 27 on_payload:" Off "off_payload:" On "подтягивание: да раскрывающееся меню: нет

Обратите внимание, что, поскольку в качестве контактов 3,3 В доступно больше контактов заземления, я решил использовать подтягивающие контакты GPIO и, таким образом, инвертировал свои сообщения MQTT.

uv4l-raspicam.conf

драйвер = raspicam
auto-video_nr = да
фрейм-буферы = 4
кодировка = h264
ширина = 1024
высота = 768
частота кадров = 10
Rotation = 270 # в зависимости от настроек вашего оборудования
server-option = --port = 9090
вариант-сервера = --bind-адрес-хоста = 0.0.0.0
server-option = --use-ssl = да
server-option = --ssl-private-key-file = / etc / uv4l / selfsign.key
параметр-сервера = --ssl-файл-сертификата = / etc / uv4l / selfsign.crt
server-option = --enable-webrtc-video = нет
server-option = --enable-webrtc-audio = да
server-option = --webrtc-vad = да
server-option = --webrtc-echo-cancellation = да
server-option = --webrtc-max-playout-delay = 34
server-option = --enable-www-server = да
server-option = --www-root-path = / usr / share / uv4l / demos / doorpi /
server-option = --www-index-file = index.html
вариант-сервера = --www-порт = 8888
server-option = --www-bind-host-address = 0.0.0.0
server-option = --www-use-ssl = да
server-option = --www-ssl-private-key-file = / etc / uv4l / selfsign.key
server-option = --www-ssl-certificate-file = / etc / uv4l / selfsign.crt
вариант-сервера = --www-webrtc-сигнальный-путь = / webrtc

просмотреть rawgistfile1.txt, размещенный на ❤ на GitHub

Шаг 2: дверной звонок

  • doorbell-back v1.stl: 3D печатная коробка для raspberry pi и адаптера PoE
  • дверной звонок-передний v1.svg: лицевая панель, вырезанная лазером
  • doorbell-micro v1.stl: коробка, напечатанная на 3D-принтере, содержащая звукоизоляцию микрофона, приклеенную к лицевой панели

Вкрутите raspberry pi в прилагаемые держатели для винтов и поместите адаптер PoE вверху справа. Установите камеру и микрофон на место (обязательно отсоедините микрофон и убедитесь, что отверстие микрофона совмещено с отверстием на лицевой панели).

Шаг 3. Интеграция HomeAssistant

Следующие файлы позволяют интегрировать HomeAssistant:

  • doorpi.yaml: пакет, содержащий все, что связано с дверным звонком, включая прослушивание сообщений MQTT и автоматизацию для воспроизведения сигнала при нажатии дверного звонка
  • www / doorpi / doorpi-card.js: карта lovelace doorpi, для которой нужны файлы signalling.js и doorpi-camera-view.js

ВАЖНО: обратите внимание, что вы должны запускать HomeAssistant с https / ssl, иначе Chrome не позволит вам получить доступ к аудиоустройствам.

Шаг 4: Счастливого звонка в дверь

Вот и все, теперь вы можете позвонить кому-нибудь через дверной звонок, и HomeAssistant автоматически переключится на карточку дверного звонка. Там вы можете принять или проигнорировать звонок в дверь.

Рекомендуемые: