Med ett par ESP8266-mikrokontrollkort kan du bygga en smart trådlös dörrklocka som fungerar med din Home Assistant-smarta heminstallation.

En smart dörrklocka är ett bekvämt och innovativt sätt att förbättra din bekvämlighet och säkerhet i hemmet och hitta vem som står vid din dörr, även när du inte är hemma.

Med hjälp av två ESP8266-kort kommer vi att bygga en fullt fungerande Wi-Fi smart dörrklocka som integreras med Home Assistent programvara för smart hemautomation och skickar push-meddelanden till din smartphone när någon ringer dörrklocka. Detta fungerar både lokalt och på distans.

Saker du behöver

Du behöver följande komponenter för att bygga den smarta DIY Wi-Fi-dörrklockan.

  • 2 x ESP8266 mikrokontrollerkort, som NodeMCU eller D1 Mini, kommer att fungera som dörrklockans hjärna
  • Dörrklocka omkopplare
  • Micro USB strömförsörjning
  • DFPlayer Mini (MP3-spelare modul)
  • microSD-kort (512MB eller större)
  • 2W eller 3W (1" eller 2" bred) högtalare för ljudutgången
  • 2,4 GHz Wi-Fi-nätverk
  • Home Assistant-server som körs på en Raspberry Pi, eller så kan du installera Home Assistant på en x86-dator.
  • Bygelkablar för att ansluta alla komponenter

Steg 1: Kompilera firmware

Vi kommer att kompilera två olika firmwares:

  • Firmware för smart bell-högtalare (mottagare)
  • Firmware för smart bell switch (sändare)

Följ dessa steg för att kompilera smart bell-högtalaren och smart bell switch-firmware:

  1. Om det inte redan är installerat, installera ESPHome i Home Assistant: gå till inställningar > Lägg till-Ons och klicka ESPHome.
    Skärmdump av Ravi. NAR
  2. Klick Öppna webbgränssnittet och klicka sedan Ny enhet.
  3. Namnge enheten vad du vill. För den här handledningen kallade vi den "smart-bell-speaker". Klick Nästa > Hoppa över det här steget.
  4. Välj sedan ESP8266 ombord från alternativen och klicka sedan Hoppa.
  5. Detta kommer att se en ny konfiguration som heter smart-bell-högtalare.
  6. Skapa på samma sätt ytterligare en konfiguration och namnge den smart-bell-switch.
  7. När konfigurationerna har skapats öppnar du smart-bell-högtalare konfiguration genom att klicka på Redigera knapp.
  8. Klistra sedan in följande kod under captive_portal: text.
    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. Redigera även Wi-Fi SSID och lösenordshemligheter med ditt Wi-Fi-namn och lösenord. Se till var du ska installera smart-bell-högtalare och smart-bell-switch har anständig täckning för Wi-Fi-nätverk.
    wifi: 
    ssid: "MyWiFiName"
    password: "MyWiFiPassword"
  10. Klick Spara och klicka sedan Installera.
  11. Välja Manuell nedladdning. Detta kommer att starta firmwarekompileringen. När den har kompilerats, ladda ner och spara firmware på ditt system.
  12. Öppna nu smart-bell-switch-projektet, ändra Wi-Fi-hemligheterna och klistra sedan in följande kod under 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. Klick Spara och klicka sedan Installera.
  14. Välja Manuell nedladdning. Efter kompileringen börjar nedladdningen av den fasta programvaran automatiskt. Spara både firmware på Skrivbord.

Steg 2: Ladda upp MP3-ljudfiler till ett MicroSD-kort

Ta ett microSD-kort med liten kapacitet (så lite som 512 MB fungerar). Anslut den till din PC. Ladda ner dina favoritklockljud från internet, eller så kan du spela in din egen eller din röst och spara dem som MP3-filer på microSD-kortet. Se till att namnge dessa filer som 1.mp3, 2.mp3, etc.

Steg 3: Flasha firmware till ESP8266 mikrokontroller

För att flasha den fasta programvaran, anslut NodeMCU eller D1 Mini till datorn med en mikro-USB-kabel och följ sedan dessa steg:

  1. Ladda ner och starta ESPHome-Flasher verktyg.
  2. Välj den COM port och klicka sedan Bläddra för att välja den firmware-fil du laddade ner i föregående steg.
  3. Klick Flash ESP. Vänta tills den fasta programvaran blinkar.
  4. När det är klart kommer enheten automatiskt att ansluta till Wi-Fi-nätverket.

Följ samma steg för att flasha den fasta programvaran på de två ESP8266-korten.

Steg 4: Anslut ESP8266-kort med DFPlayer och högtalare

Se följande diagram för att koppla DFPlayer till ESP8266 som du visade smart-bell-högtalare firmware.

Du kan använda bygelkablar för att göra dessa anslutningar och använda en lödkolv för att ansluta högtalaren till DFPlayer (MP3-spelarmodul).

När allt är anslutet, använd två bygelkablar (hane till hona) och anslut dem till smart-bell-switch ESP8266 kort. Du måste ansluta en tråd till D2 stift på NodeMCU- eller D1 Mini ESP8266-kortet och en annan till 3V eller 3,3V stift. Anslut sedan de andra två ändarna till din traditionella tryckknappsklocka, som visas i diagrammet nedan.

Se till att dubbelkolla kablarna innan du fortsätter.

Steg 5: Lägg till enheter i Home Assistant

Vi måste lägga till båda enheterna i Home Assistant. För att göra det, följ dessa steg:

  1. Gå till inställningar > Enheter och tjänster.
  2. Du kommer att se smart-bell-switch och smart-bell-högtalare (om den är påslagen) i Upptäckta enheter lista.
  3. Klick Konfigurera > Skicka in.
  4. Välj ett område från rullgardinsmenyn och klicka Avsluta.
  5. På samma sätt slå på och lägg till smart-bell-högtalare enheten till din Home Assistant.

Steg 6: Skapa automatisering för anpassade klockljud och push-meddelanden

För att aktivera push-meddelanden för din smarta DIY Wi-Fi smarta dörrklocka måste du skapa en automatisering i Home Assistant. För att skapa en, följ dessa steg:

  1. I Hemassistent, gå till Inställningar > Automationer och scener.
  2. Klick Skapa automatisering > Skapa ny automatisering.
  3. Klick Lägg till trigger och välj Enhet.
  4. Välja smart-bell-switch och välj sedan Smart Door Bell är påslagen i Utlösare falla ner.
  5. Klick Lägg till åtgärd och välj Ring service.
  6. Välja ESPHome: smart_speaker_dfplayer_play från rullgardinsmenyn.
  7. I den fil, skriv 1, 2 eller 3 för vilket MP3-klockljud du vill spela.
  8. Klicka sedan Spara.
  9. Ge automatiseringen ett namn och klicka sedan Spara igen.
  10. För push-meddelanden på din telefon, installera Home Assistant-appen på din smartphone, logga in på din Home Assistant och klicka sedan på Lägg till åtgärd i automationsfönstret.
  11. Välj Ring service och välj Aviseringar: Skicka ett meddelande via mobile_app_YourPhone.
  12. Skriv ett meddelande som du vill få i aviseringen och klicka Spara.

Om du nu trycker på dörrklockans knapp kommer klockljudet att spelas från smart-bell-högtalare. Du kan kontrollera loggarna för mer information om automatiseringen fungerar.

Gör en smart dörrklocka smartare

Att bygga din egen DIY Wi-Fi smart dörrklocka med ESP8266 mikrokontrollerkort och Home Assistant är ett givande och kostnadseffektivt projekt.

När den grundläggande funktionaliteten hos den smarta DIY Wi-Fi-dörrklockan fungerar korrekt kan du lägga till en CCTV IP-kamera, och integrera med Home Assistant med Frigate NVR för att skapa avancerad hemautomation och förbättra hemsäkerheten. Du kan också integrera en PIR-sensor eller en kapacitiv beröringssensor istället för en traditionell dörrklocka. Möjligheterna med Home Assistant är oändliga.