Spisu treści:

Inteligentny dzwonek do HomeAssistant: 4 kroki
Inteligentny dzwonek do HomeAssistant: 4 kroki

Wideo: Inteligentny dzwonek do HomeAssistant: 4 kroki

Wideo: Inteligentny dzwonek do HomeAssistant: 4 kroki
Wideo: AI-Speaker Home Assistant - dzwonek do drzwi + powiadomienie na telefon 2024, Lipiec
Anonim
Inteligentny dzwonek do HomeAssistant
Inteligentny dzwonek do HomeAssistant

Więc chciałem dzwonek do drzwi z następującymi funkcjami:

  • Wideo z drzwi
  • Dwukierunkowy dźwięk
  • Dwa przyciski
  • Integracja z tabletem naściennym z interfejsem HomeAssistant

Pojawiły się niektóre opcje, takie jak Doorbird (drogie i nie mają dwukierunkowych połączeń audio za pomocą HTML5) i Dzwonek do drzwi (ale nie lubię subskrypcji, dzwonek w chmurze)

Jako programista i majsterkowicz ukończyłem już kilka projektów, ale był to zdecydowanie jeden z najtrudniejszych do zrealizowania. Miałem wiele problemów z doprowadzeniem dwukierunkowego dźwięku do punktu, w którym można się nawzajem zrozumieć. Dzieje się tak głównie dlatego, że jest sporo echa, …. Pomysł pochodzi od DoorPi, ale przy protokole SIP miałem za dużo echa co powodowało, że nie rozumiem się nawzajem.

Ponieważ mój dzwonek jest całkowicie zabezpieczony przed żywiołami, jesteśmy w stanie wykonać front z drewna wycinanego laserowo.

Kieszonkowe dzieci

  • Raspberry Pi 3 B lub 3B+ (nie wybieraj Banana Pi z wbudowanym PoE, ponieważ nie obsługuje standardowego interfejsu kamery CSI Raspberry Pi) = 33, 67 €
  • Karta microSD = 2, 69
  • Kamera typu „rybie oko” Raspberry Pi = 14 €, 14
  • Adapter PoE = 4 €, 94
  • RaspiAudio Mic + = 24, 69
  • Dostęp do drukarki 3D (i wycinarki laserowej)
  • Przyciski do dzwonka
  • Dużo czasu!

W sumie daje to 80, 13 €.

Poza zakresem, stacja wewnętrzna:

  • Konfiguracja HomeAssistant z brokerem MQTT
  • Naścienny tablet z Androidem

Krok 1: Skonfiguruj Raspberry Pi

Gorąco polecam korzystanie z sieci Ethernet zamiast Wi-Fi. Dzięki temu moja jakość dźwięku znacznie się poprawiła. Będziemy również używać UV4L, ponieważ obsługuje webrtc, a zatem ma wbudowaną eliminację echa. Doorpi używa linphone, klienta SIP i nie udało mi się uruchomić usuwania echa.

  • Pobierz Raspbian Stretch Lite i zainstaluj go na karcie Micro SD. Upewnij się, że:

    włącz ssh, tworząc pusty plik ssh na partycji rozruchowej

  • Uruchom następujące polecenia:

aktualizacja sudo apt-get

sudo apt-get upgrade

Kamera

Włącz kamerę za pomocą raspi-config i upewnij się, że GPU ma co najmniej 192 MB pamięci RAM.

RaspiAudio

Postępuj zgodnie z instrukcją instalacji RaspiAudio, którą można znaleźć na stronie

UV4L

Postępuj zgodnie z instrukcją instalacji UV4L znajdującą się na

Dostosuj plik /etc/uv4l/uv4l-raspicam.conf i upewnij się, że dostosowałeś następujące ustawienia:

Najbardziej godne uwagi ustawienia to prawdopodobnie --enable-webrtc-video=no: dzieje się tak, ponieważ zawsze będziemy przesyłać strumieniowo wideo z uv4l przy użyciu mjpeg zakodowanego w h264.

Używając następujących plików znajdujących się w /usr/share/uv4l/demos/doorpi/, możesz już przetestować dwukierunkowe audio i wideo.

  • index.html (zmień jego nazwę z index.html5, konieczna do zmiany nazwy ze względu na wymagania dotyczące przesyłania instrukcji)
  • main.js
  • sygnalizacja.js

Przejdź do https://[ip-of-raspberrypi]:8888 i sprawdź, czy możesz uruchomić dwukierunkowy dźwięk.

pi-mqtt-gpio

Najłatwiejszym sposobem, w jaki znalazłem działanie przycisków dzwonka, jest podłączenie ich do Raspberry Pi i użycie pi-mqtt-gpio do zintegrowania go z HomeAssistant.

Mój plik konfiguracyjny wygląda następująco:

mqtt: host: xxxx port: 1883 użytkownik: [nazwa użytkownika] hasło: [hasło] prefiks_tematu: "dzwonek" gpio_modules: - nazwa: raspberrypi moduł: raspberrypi czyszczenie: tak digital_inputs: - nazwa: button_1 moduł: raspberrypi pin: 17 on_payload: " Off" off_payload: "On" pullup: tak pulldown: nie - name: button_2 moduł: raspberrypi pin: 27 on_payload: "Off" off_payload: "On" pullup: tak pulldown: nie

Zwróć uwagę, że ponieważ jest więcej pinów uziemiających dostępnych jako piny 3.3 V, wybieram użycie pinów pullup GPIO, a tym samym odwracam moje komunikaty MQTT.

uv4l-raspicam.conf

kierowca = raspicam
auto-video_nr = tak
bufory ramki = 4
kodowanie = h264
szerokość = 1024
wysokość = 768
liczba klatek na sekundę = 10
obrót = 270 #w zależności od konfiguracji sprzętu
opcja-serwera = --port=9090
opcja-serwera = --bind-adres-hosta=0.0.0.0
opcja-serwera = --use-ssl=tak
opcja-serwera = --ssl-private-key-file=/etc/uv4l/selfsign.key
opcja-serwera = --ssl-certificate-file=/etc/uv4l/selfsign.crt
opcja-serwera = --enable-webrtc-video=nie
opcja-serwera = --enable-webrtc-audio=tak
opcja-serwera = --webrtc-vad=tak
opcja-serwera = --webrtc-echo-cancellation=tak
opcja-serwera = --webrtc-max-playout-delay=34
opcja-serwera = --enable-www-server=tak
opcja-serwera = --www-root-path=/usr/share/uv4l/demos/doorpi/
opcja-serwera = --www-index-file=index.html
opcja-serwera = --www-port=8888
opcja-serwera = --www-bind-host-adres=0.0.0.0
opcja-serwera = --www-use-ssl=yes
opcja-serwera = --www-ssl-private-key-file=/etc/uv4l/selfsign.key
opcja-serwera = --www-ssl-certificate-file=/etc/uv4l/selfsign.crt
opcja-serwera = --www-webrtc-sciezka-sygnalizacji=/webrtc

wyświetl rawgistfile1.txt hostowany z ❤ przez GitHub

Krok 2: Skrzynka dzwonka

  • doorbell-back v1.stl: wydrukowane 3D pudełko na raspberry pi i adapter PoE
  • dzwonek-przód v1.svg: wycinana laserowo płyta czołowa
  • dzwonek-mikro v1.stl: pudełko wydrukowane w 3D zawierające mikrofon owinięty izolacją akustyczną, przyklejony do płyty czołowej

Wkręć raspberry pi w dołączone uchwyty na śruby i umieść adapter PoE w prawym górnym rogu. Umieść kamerę i mikrofon na miejscu (pamiętaj, aby odłączyć mikrofon i upewnić się, że otwór mikrofonu jest dobrze dopasowany do otworu w płycie czołowej).

Krok 3: Integracja HomeAssistant

Następujące pliki umożliwiają integrację z HomeAssistant:

  • doorpi.yaml: pakiet zawierający wszystko, co jest związane z dzwonkiem do drzwi, w tym słuchanie wiadomości MQTT i automatykę do odtwarzania dzwonka po naciśnięciu dzwonka
  • www/doorpi/doorpi-card.js: karta lovelace doorpi, która potrzebuje signalling.js i doorpi-camera-view.js

WAŻNE: Pamiętaj, że musisz uruchomić HomeAssistant z https/ssl, ponieważ w przeciwnym razie chrome nie pozwoli ci uzyskać dostępu do urządzeń audio.

Krok 4: Szczęśliwego dzwonienia do drzwi

To wszystko, teraz powinieneś być w stanie zadzwonić do kogoś przez dzwonek do drzwi, a HomeAssistant automatycznie przełączy się na kartę dzwonka. Tam możesz zdecydować, czy chcesz zaakceptować czy zignorować dzwonek do drzwi.

Zalecana: