Met een paar ESP8266-microcontrollerkaarten kunt u een slimme draadloze deurbel bouwen die werkt met uw Home Assistant smart home-installatie.

Een slimme deurbel is een handige en innovatieve manier om uw gemak en veiligheid in huis te vergroten en te zien wie er voor uw deur staat, zelfs als u niet thuis bent.

Met behulp van twee ESP8266-kaarten bouwen we een volledig functionele slimme Wi-Fi-deurbel die kan worden geïntegreerd met Home Assistent slimme huisautomatiseringssoftware en stuurt pushmeldingen naar uw smartphone wanneer iemand aanbelt deurbel. Dit werkt zowel lokaal als op afstand.

Dingen die je nodig hebt

Je hebt de volgende componenten nodig om de DIY Wi-Fi slimme deurbel te bouwen.

  • 2 x ESP8266-microcontrollerkaarten, zoals NodeMCU of D1 Mini, zullen dienen als het brein van de deurbel
  • Deurbel schakelaar
  • Micro-USB-voeding
  • DFPlayer Mini (MP3-spelermodule)
  • microSD-kaart (512 MB of groter)
  • 2W of 3W (1" of 2" breed) luidspreker voor de geluidsweergave
  • 2,4GHz Wi-Fi-netwerk
  • instagram viewer
  • Home Assistant-server draait op een Raspberry Pi, of dat kan ook installeer Home Assistant op een x86-pc.
  • Jumperdraden om alle componenten met elkaar te verbinden

Stap 1: Compileer de firmware

We zullen twee verschillende firmwares compileren:

  • Firmware voor slimme belluidspreker (ontvanger)
  • Firmware slimme belschakelaar (zender)

Volg deze stappen om de firmware van de slimme belluidspreker en slimme belschakelaar te compileren:

  1. Indien nog niet geïnstalleerd, installeer ESPHome in Home Assistant: ga naar Instellingen > Toevoegen-Ons en klik ESPHome.
    Schermafbeelding van Ravi. NAR
  2. Klik Open de webinterface en klik vervolgens Nieuw apparaat.
  3. Geef het apparaat een naam die u maar wilt. Voor deze tutorial noemden we het "smart-bell-speaker". Klik Volgende > Sla deze stap over.
  4. Selecteer vervolgens ESP8266 bord uit de opties en klik vervolgens op Overslaan.
  5. Hierdoor wordt een nieuwe configuratie met de naam slimme bel-luidspreker.
  6. Maak op dezelfde manier nog een configuratie en geef deze een naam slimme belschakelaar.
  7. Zodra de configuraties zijn gemaakt, opent u het slimme bel-luidspreker configureren door op te klikken Bewerking knop.
  8. Plak vervolgens de volgende code onder het captive_portal: tekst.
    uart:
    tx_pin: GPIO3
    rx_pin: GPIO1
    baud_rate: 9600

    dfplayer:
    on_finished_playback:
    then:
    logger.log: 'Playback finished event'

    api:
    encryption:
    key: "kQ5tP73N1pOl6XDYtq5RY15IaPsXjTg2A9g5nzHPejE="
    services:
    - service: dfplayer_next
    then:
    -dfplayer.play_next:
    - service: dfplayer_previous
    then:
    -dfplayer.play_previous:
    - service: dfplayer_play
    variables:
    file: int
    then:
    - dfplayer.play: !lambda'return file;'
    - service: dfplayer_play_loop
    variables:
    file: int
    loop_: bool
    then:
    -dfplayer.play:
    file: !lambda'return file;'
    loop: !lambda'return loop_;'
    - service: dfplayer_play_folder
    variables:
    folder: int
    file: int
    then:
    -dfplayer.play_folder:
    folder: !lambda'return folder;'
    file: !lambda'return file;'

    - service: dfplayer_play_loop_folder
    variables:
    folder: int
    then:
    -dfplayer.play_folder:
    folder: !lambda'return folder;'
    loop: true

    - service: dfplayer_set_device_tf
    then:
    -dfplayer.set_device: TF_CARD

    - service: dfplayer_set_device_usb
    then:
    -dfplayer.set_device: USB

    - service: dfplayer_set_volume
    variables:
    volume: int
    then:
    - dfplayer.set_volume: !lambda'return volume;'
    - service: dfplayer_set_eq
    variables:
    preset: int
    then:
    - dfplayer.set_eq: !lambda'return static_cast<: eqpreset="eqpreset">(preset);'

    - service: dfplayer_sleep
    then:
    -dfplayer.sleep

    - service: dfplayer_reset
    then:
    -dfplayer.reset

    - service: dfplayer_start
    then:
    -dfplayer.start

    - service: dfplayer_pause
    then:
    -dfplayer.pause

    - service: dfplayer_stop
    then:
    -dfplayer.stop

    - service: dfplayer_random
    then:
    -dfplayer.random

    - service: dfplayer_volume_up
    then:
    -dfplayer.volume_up

    - service: dfplayer_volume_down
    then:
    -dfplayer.volume_down

  9. Bewerk ook de Wi-Fi SSID en wachtwoordgeheimen met uw Wi-Fi-naam en wachtwoord. Zorg ervoor dat u de slimme bel-luidspreker En slimme belschakelaar heeft een behoorlijke Wi-Fi-netwerkdekking.
    wifi: 
    ssid: "MyWiFiName"
    password: "MyWiFiPassword"
  10. Klik Redden en klik vervolgens Installeren.
  11. Kiezen Handmatig downloaden. Hierdoor wordt de firmwarecompilatie gestart. Eenmaal gecompileerd, downloadt u de firmware en slaat u deze op uw systeem op.
  12. Open nu het smart-bell-switch-project, wijzig de Wi-Fi-geheimen en plak vervolgens de volgende code onder het captive_portal:
    binary_sensor:
    - platform: gpio
    name: "Smart Bell Switch"
    pin:
    number: 4
    mode: INPUT_PULLUP
    inverted: True
    on_press:
    - switch.toggle: relay1
    internal: True

    switch:
    - platform: gpio
    name: "Smart Door Bell"
    icon: 'mdi: bell'
    id: relay1
    pin:
    number: 2
    mode: OUTPUT
    inverted: True

  13. Klik Redden en klik vervolgens Installeren.
  14. Kiezen Handmatig downloaden. Na de compilatie begint de firmware automatisch met downloaden. Bewaar beide firmware op de Bureaublad.

Stap 2: Upload MP3-geluidsbestanden naar een MicroSD-kaart

Neem een ​​microSD-kaart met een kleine capaciteit (zo laag als 512 MB zal werken). Sluit hem aan op uw pc. Download uw favoriete belgeluiden van internet, of u kunt uw eigen of uw stem opnemen en deze als MP3-bestanden op de microSD-kaart opslaan. Zorg ervoor dat u deze bestanden een naam geeft als 1.mp3, 2.mp3, enz.

Stap 3: Flash de firmware naar de ESP8266-microcontroller

Om de firmware te flashen, sluit u de NodeMCU of D1 Mini aan op de pc met behulp van een micro-USB-kabel en volgt u vervolgens deze stappen:

  1. Downloaden en starten ESPHome-Flasher hulpmiddel.
  2. Kies de COM poort en klik vervolgens op Blader om het firmwarebestand te selecteren dat u in de vorige stap hebt gedownload.
  3. Klik Flits ESP. Wacht tot de firmware knippert.
  4. Als u klaar bent, maakt het apparaat automatisch verbinding met het Wi-Fi-netwerk.

Volg dezelfde stappen om de firmware op de twee ESP8266-kaarten te flashen.

Stap 4: ESP8266-kaart bedraden met DFPlayer en luidspreker

Raadpleeg het volgende diagram om de DFPlayer aan te sluiten op de ESP8266 waarop u de flash hebt uitgevoerd slimme bel-luidspreker firmware.

U kunt verbindingsdraden gebruiken om deze verbindingen te maken en een soldeerbout gebruiken om de luidspreker op de DFPlayer (MP3-spelermodule) aan te sluiten.

Zodra alles is aangesloten, gebruikt u twee verbindingsdraden (mannelijk naar vrouwelijk) en sluit u deze aan op de slimme belschakelaar ESP8266-bord. U moet één draad aansluiten op de D2 pin op het NodeMCU- of D1 Mini ESP8266-bord en een andere op de 3V of 3,3V pin. Sluit vervolgens de andere twee uiteinden aan op uw traditionele beldrukknopschakelaar, zoals weergegeven in het onderstaande schema.

Zorg ervoor dat u de bedrading nogmaals controleert voordat u doorgaat.

Stap 5: Apparaten toevoegen aan Home Assistant

We moeten beide apparaten toevoegen aan Home Assistant. Om dit te doen, volgt u deze stappen:

  1. Ga naar Instellingen > Apparaten en diensten.
  2. Je zult de zien slimme belschakelaar En slimme bel-luidspreker (indien ingeschakeld) in de Ontdekte apparaten lijst.
  3. Klik Configureer > Indienen.
  4. Kies een gebied uit de vervolgkeuzelijst en klik Finish.
  5. Op dezelfde manier schakelt u het in en voegt u het slimme bel-luidspreker apparaat naar uw Home Assistant.

Stap 6: Creëer automatisering voor aangepast belgeluid en pushmeldingen

Om pushmeldingen in te schakelen voor je slimme DIY Wi-Fi slimme deurbel, moet je een automatisering aanmaken in de Home Assistant. Om er een te maken, volgt u deze stappen:

  1. In Thuisassistent, ga naar Instellingen > Automatiseringen en scènes.
  2. Klik Automatisering creëren > Creëer nieuwe automatisering.
  3. Klik Trigger toevoegen en selecteer Apparaat.
  4. Kiezen slimme belschakelaar en selecteer vervolgens Slimme deurbel ingeschakeld in de Trekker laten vallen.
  5. Klik Actie toevoegen en selecteer Bel service.
  6. Kiezen ESPHome: smart_speaker_dfplayer_play uit de vervolgkeuzelijst.
  7. In de bestand, typ 1, 2 of 3 voor welk MP3-belgeluid u ook wilt afspelen.
  8. Dan klikken Redden.
  9. Geef de automatisering een naam en klik vervolgens Redden opnieuw.
  10. Voor pushmeldingen op je telefoon installeer je de Home Assistant-app op je smartphone, log je in bij je Home Assistant en klik je vervolgens op Actie toevoegen in het automatiseringsvenster.
  11. Selecteer Bel service en kies Meldingen: stuur een melding via mobile_app_YourPhone.
  12. Typ een bericht dat u in de melding wilt ontvangen en klik Redden.

Als u nu op de deurbelknop drukt, klinkt het belgeluid uit de slimme bel-luidspreker. U kunt de logboeken raadplegen voor meer informatie als de automatisering werkt.

Maak een slimme deurbel slimmer

Het bouwen van uw eigen doe-het-zelf slimme Wi-Fi-deurbel met behulp van ESP8266-microcontrollerkaarten en Home Assistant is een lonend en kosteneffectief project.

Zodra de basisfunctionaliteit van de doe-het-zelf Wi-Fi slimme deurbel correct werkt, kunt u een CCTV IP-camera toevoegen, en integreer met Home Assistant met behulp van Frigate NVR om geavanceerde huisautomatisering te creëren en de huisbeveiliging te verbeteren. U kunt ook een PIR-sensor of een capacitieve aanraaksensor integreren in plaats van een traditionele deurbelschakelaar. De mogelijkheden met Home Assistant zijn eindeloos.