Inhoudsopgave:

Slimme deurbel voor HomeAssistant: 4 stappen
Slimme deurbel voor HomeAssistant: 4 stappen

Video: Slimme deurbel voor HomeAssistant: 4 stappen

Video: Slimme deurbel voor HomeAssistant: 4 stappen
Video: This is the ULTIMATE Video Doorbell that we've all been waiting for! And it works in Home Assistant! 2024, Juli-
Anonim
Slimme deurbel voor HomeAssistant
Slimme deurbel voor HomeAssistant

Ik wilde dus een deurbel met de volgende eigenschappen:

  • Video van de deur
  • Tweeweg audio
  • Twee knoppen
  • Integratie met aan de muur gemonteerde tablet met HomeAssistant UI

Sommige opties kwamen langs zoals Doorbird (duur en ze hebben geen tweerichtingsaudiobellen met HTML5) en Ring doorbell (maar ik hou niet van een abonnement, cloudgebaseerde deurbel)

Als ontwikkelaar en knutselaar heb ik al een aantal projecten afgerond, maar dit was veruit een van de moeilijkste om te voltooien. Ik had veel moeite om de tweerichtingsaudio zover te krijgen dat je elkaar kunt verstaan. Dit vooral omdat er best veel echo is, …. Het idee komt van DoorPi, maar met het SIP-protocol had ik te veel echo waardoor ik elkaar niet begreep.

Omdat mijn deurbel volledig beschermd is tegen de elementen, kunnen we de voorkant in lasercut hout maken.

Benodigdheden

  • Raspberry Pi 3 B of 3B+ (ga niet voor een Banana Pi met PoE ingebouwd aangezien deze de standaard Raspberry Pi CSI camera interface niet ondersteunt) = € 33,67
  • Micro SD-kaart = € 2, 69
  • Raspberry Pi fisheye-camera = € 14, 14
  • PoE-adapter = € 4, 94
  • RaspiAudio Mic + = € 24, 69
  • Toegang tot 3D-printer (en lasercutter)
  • Knoppen voor de deurbel
  • Veel tijd!

Dit komt neer op een totaal van € 80,13.

Buiten bereik, het binnenstation:

  • HomeAssistant setup met een MQTT Broker
  • Aan de muur gemonteerde Android-tablet

Stap 1: Stel Raspberry Pi in

Ik raad je ten zeerste aan om ethernet te gebruiken in plaats van wifi. Mijn geluidskwaliteit is er enorm door verbeterd. We zullen ook UV4L gebruiken omdat het webrtc ondersteunt en dus echo-annulering ingebouwd heeft. De Doorpi gebruikt linphone, een SIP-client en ik kon de echo-onderdrukking niet laten werken.

  • Download Raspbian Stretch Lite en installeer het op de Micro SD-kaart. Zorg ervoor dat je:

    schakel ssh in door een leeg ssh-bestand te maken in de opstartpartitie

  • Voer de volgende opdrachten uit:

sudo apt-get update

sudo apt-get upgrade

Camera

Schakel de camera in via raspi-config en zorg ervoor dat de GPU minimaal 192 MB werkgeheugen heeft.

RaspiAudio

Volg de installatiehandleiding van RaspiAudio op

UV4L

Volg de installatiegids van UV4L op

Pas het bestand /etc/uv4l/uv4l-raspicam.conf aan en zorg ervoor dat u de volgende instellingen aanpast:

De meest opvallende instellingen zijn probaby --enable-webrtc-video=no: dit komt omdat we de video altijd van uv4l zullen streamen met behulp van h264-gecodeerde mjpeg.

Met behulp van de volgende bestanden in /usr/share/uv4l/demos/doorpi/, kunt u de tweeweg audio en video al testen.

  • index.html (hernoem het van index.html5, nodig om te hernoemen vanwege uploadvereisten voor instructables)
  • main.js
  • signalling.js

Blader naar https://[ip-of-raspberrypi]:8888 en test of je de 2-weg audio werkend kunt krijgen.

pi-mqtt-gpio

De gemakkelijkste manier die ik heb gevonden om de deurbelknoppen te laten werken, is door ze aan de Raspberry Pi te bevestigen en pi-mqtt-gpio te gebruiken om deze te integreren met HomeAssistant.

Mijn configuratiebestand is als volgt:

mqtt: host: xxxx poort: 1883 gebruiker: [gebruikersnaam] wachtwoord: [wachtwoord] topic_prefix: "deurbel" gpio_modules: - naam: raspberrypi module: raspberrypi opschonen: ja digitale_inputs: - naam: button_1 module: raspberrypi pin: 17 on_payload: " Off" off_payload: "On" pullup: ja pulldown: nee - naam: button_2 module: raspberrypi pin: 27 on_payload: "Off" off_payload: "On" pullup: ja pulldown: nee

Houd er rekening mee dat, aangezien er meer aardingspinnen beschikbaar zijn als 3.3V-pinnen, ik ervoor kies om pull-up GPIO-pinnen te gebruiken en zo mijn MQTT-berichten omgekeerd.

uv4l-raspicam.conf

bestuurder = raspicam
auto-video_nr = ja
frame-buffers = 4
codering = h264
breedte = 1024
hoogte = 768
framerate = 10
rotatie = 270 #afhankelijk van uw hardware-instellingen
server-optie = --port=9090
server-optie = --bind-host-adres=0.0.0.0
server-optie = --use-ssl=ja
server-optie = --ssl-private-key-file=/etc/uv4l/selfsign.key
server-optie = --ssl-certificaat-bestand=/etc/uv4l/selfsign.crt
server-optie = --enable-webrtc-video=no
server-optie = --enable-webrtc-audio=ja
server-optie = --webrtc-vad=ja
server-optie = --webrtc-echo-cancellation=ja
server-optie = --webrtc-max-playout-delay=34
server-option = --enable-www-server=ja
server-option = --www-root-path=/usr/share/uv4l/demos/doorpi/
server-optie = --www-index-file=index.html
server-optie = --www-port=8888
server-optie = --www-bind-host-adres=0.0.0.0
server-optie = --www-use-ssl=yes
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

bekijk rawgistfile1.txt gehost met ❤ door GitHub

Stap 2: Deurbeldoos

  • doorbell-back v1.stl: 3D-geprinte doos voor raspberry pi en PoE-adapter
  • deurbel-front v1.svg: Lasergesneden frontplaat
  • doorbell-micro v1.stl: 3D-geprinte doos met mirophone omwikkeld met geluidsisolatie, gelijmd op frontplaat

Schroef de raspberry pi in de bijgevoegde schroefhouders en plaats de PoE-adapter rechtsboven. Plaats de camera en de microfoon op hun plaats (zorg ervoor dat u de microfoon losmaakt en zorg ervoor dat het gat van de microfoon goed is uitgelijnd met een gat in de voorplaat).

Stap 3: HomeAssistant-integratie

De volgende bestanden maken HomeAssistant-integratie mogelijk:

  • doorpi.yaml: pakket met alles wat met de deurbel te maken heeft, inclusief het luisteren naar MQTT-berichten en automatiseringen om de gong te spelen wanneer de deurbel wordt ingedrukt
  • www/doorpi/doorpi-card.js: lovelace doorpi-kaart die de signalling.js en doorpi-camera-view.js nodig heeft

BELANGRIJK: Houd er rekening mee dat u HomeAssistant met https/ssl moet gebruiken, omdat Chrome u anders geen toegang geeft tot de audioapparaten.

Stap 4: Gelukkig bellen met de deurbel

Dat is het, je zou nu iemand moeten kunnen bellen via de deurbel en HomeAssistant schakelt automatisch over naar de deurbelkaart. Daar kun je besluiten de deurbel te accepteren of te negeren.

Aanbevolen: