Pametno zvono na vratima za dom Pomoćnik: 4 koraka
Pametno zvono na vratima za dom Pomoćnik: 4 koraka
Anonim
Pametno zvono na vratima za kućnog pomoćnika
Pametno zvono na vratima za kućnog pomoćnika

Dakle, želio sam zvono na vratima sa sljedećim značajkama:

  • Video s vrata
  • Dvosmjerni zvuk
  • Dva gumba
  • Integracija sa zidnim tabletom koji prikazuje korisničko sučelje HomeAssistant

Došle su neke opcije poput Doorbird (skupo i nemaju dvosmjerni audio poziv pomoću HTML5) i Zvono na vratima (ali ne volim pretplatu, zvono na vratima u oblaku)

Kao programer i izvođač, već sam završio neke projekte, ali ovo je bio daleko jedan od najtežih za dovršenje. Imao sam mnogo problema s dovođenjem dvosmjernog zvuka u funkciju da se razumijete. To je uglavnom zato što ima dosta odjeka,…. Ideja dolazi od DoorPi-a, ali sa SIP protokolom imao sam previše odjeka koji je rezultirao nerazumijevanjem jedni drugih.

Budući da je moje zvono na vratima potpuno zaštićeno od elemenata, prednju stranu možemo izraditi u laserski izrezanom drvu.

Pribor

  • Raspberry Pi 3 B ili 3B+ (nemojte koristiti Banana Pi s ugrađenim PoE -om jer ne podržava standardno sučelje kamere Raspberry Pi CSI) = 33, 67 €
  • Mikro SD kartica = 2, 69 €
  • Raspberry Pi kamera s ribljim okom = 14, 14 €
  • PoE adapter = 4, 94 €
  • RaspiAudio Mic + = 24, 69 €
  • Pristup 3D pisaču (i laserskom rezaču)
  • Gumbi za zvono na vratima
  • Puno vremena!

To ukupno iznosi 80,13 €.

Van opsega, unutarnja stanica:

  • Postavljanje kućnog pomoćnika s posrednikom MQTT
  • Zidni Android tablet

Korak 1: Postavljanje Raspberry Pi

Toplo vam preporučujem da umjesto Wifi koristite ethernet. Moja kvaliteta zvuka se jako poboljšala zbog toga. Također ćemo koristiti UV4L jer podržava webrtc i stoga ima ugrađeno poništavanje odjeka. Doorpi koristi linphone, SIP klijent i nisam uspio aktivirati poništavanje odjeka.

  • Preuzmite Raspbian Stretch Lite i instalirajte ga na Micro SD karticu. Pobrinite se da:

    omogućiti ssh stvaranjem prazne ssh datoteke na particiji za pokretanje

  • Pokrenite sljedeće naredbe:

sudo apt-get ažuriranje

sudo apt-get nadogradnja

Fotoaparat

Omogućite kameru putem raspi-config i provjerite ima li GPU najmanje 192 MB RAM-a.

RaspiAudio

Slijedite instalacijski vodič za RaspiAudio koji se nalazi na

UV4L

Slijedite instalacijski vodič za UV4L koji se nalazi na

Prilagodite /etc/uv4l/uv4l-raspicam.conf datoteku i svakako prilagodite sljedeće postavke:

Najvažnije postavke su probaby --enable-webrtc-video = no: to je zato što ćemo uvijek strujati video iz uv4l koristeći h264 kodiran mjpeg.

Koristeći sljedeće datoteke koje se nalaze u/usr/share/uv4l/demos/doorpi/, već možete testirati dvosmjerni audio i video zapis.

  • index.html (preimenujte ga iz index.html5, potrebno je preimenovati zbog zahtjeva za učitavanje instrukcija)
  • main.js
  • signalling.js

Pregledajte https:// [ip-of-raspberrypi]: 8888 i testirajte možete li 2-smjerni zvuk raditi.

pi-mqtt-gpio

Najlakši način na koji sam otkrio tipke za zvono na vratima je da ih pričvrstim na malinu pi i pomoću pi-mqtt-gpio integriram s HomeAssistantom.

Moja konfiguracijska datoteka je sljedeća:

mqtt: host: xxxx port: 1883 korisnik: [korisničko ime] lozinka: [lozinka] prefiks_teme: "zvono na vratima" gpio_modules: - ime: raspberrypi modul: čišćenje maline: da digitalni_ulazi: - naziv: gumb_1 modul: raspberrypi pin: 17 on_payload: " Isključeno "off_payload:" Uključeno "povlačenje: da povlačenje: ne - naziv: button_2 modul: raspberrypi pin: 27 on_payload:" Isključeno "off_payload:" Uključeno "povlačenje: da povlačenje: ne

Imajte na umu da s obzirom na to da je dostupno više uzemljenih igala u obliku pinova od 3,3 V, odlučujem se koristiti izvlačne GPIO pinove i na taj način obrnuti svoje MQTT poruke.

uv4l-raspicam.conf

vozač = raspicam
auto-video_nr = da
frame-buffers = 4
kodiranje = h264
širina = 1024
visina = 768
framerate = 10
rotacija = 270 #ovisno o postavci vašeg hardvera
server-option = --port = 9090
server-option = --bind-host-address = 0.0.0.0
server-option = --use-ssl = da
server-option = --ssl-private-key-file =/etc/uv4l/selfsign.key
server-option = --ssl-certificate-file =/etc/uv4l/selfsign.crt
server-option = --enable-webrtc-video = ne
server-option = --enable-webrtc-audio = da
server-option = --webrtc-vad = da
server-option = --webrtc-echo-cancellation = da
server-option = --webrtc-max-playout-delay = 34
server-option = --enable-www-server = da
server-option = --www-root-path =/usr/share/uv4l/demos/doorpi/
server-option = --www-index-file = index.html
server-option = --www-port = 8888
server-option = --www-bind-host-address = 0.0.0.0
server-option = --www-use-ssl = da
server-option = --www-ssl-private-key-file =/etc/uv4l/selfsign.key
server-option = --www-ssl-certificate-file =/etc/uv4l/selfsign.crt
server-option = --www-webrtc-signaling-path =/webrtc

pogledajte rawgistfile1.txt hostirano sa ❤ na GitHubu

Korak 2: Kutija za zvono na vratima

  • zvono na vratima v1.stl: 3D tiskana kutija za maline pi i PoE adapter
  • zvono na vratima sprijeda v1.svg: Laserski izrezana prednja ploča
  • doorbell-micro v1.stl: 3D tiskana kutija koja sadrži mirofon omotan zvučnom izolacijom, zalijepljen na prednju ploču

Uvrnite malinu pi u pričvršćene držače vijaka i stavite PoE adapter gore desno. Postavite kameru i mikrofon na mjesto (odvojite mikrofon i provjerite je li otvor mikrofona dobro poravnat s rupom na prednjoj ploči).

Korak 3: HomeAssistant integracija

Sljedeće datoteke omogućuju integraciju programa HomeAssistant:

  • doorpi.yaml: paket koji sadrži sve što se odnosi na zvono na vratima, uključujući slušanje MQTT poruka i automatizaciju za sviranje zvona kada se zvono na vratima pritisne
  • www/doorpi/doorpi-card.js: lovelace doorpi kartica koja treba signalling.js i doorpi-camera-view.js

VAŽNO: Imajte na umu da morate pokrenuti HomeAssistant s https/ssl jer vam inače chrome neće dopustiti pristup audio uređajima.

Korak 4: Sretno zvonjenje na vrata

To je to, sada biste trebali moći nazvati nekoga putem zvona na vratima i HomeAssistant će se automatski prebaciti na karticu zvona na vratima. Tamo možete odlučiti prihvatiti ili ignorirati zvono na vratima.