Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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.