Trådlösa dörrklockor är ett utmärkt sätt att lägga till klockor i hem eller kontor utan att använda några kablar. Dessa trådlösa klockor kommer dock med begränsade förkonfigurerade MIDI-ljud som spelas när någon trycker på knappen på sändarenheten.

Även om du kan växla mellan MIDI-ljuden och öka eller minska volymen, är det allt du kan göra med dessa trådlösa dörrklockor. Men idag kommer vi att bygga en DIY smart trådlös dörrklocka där du kan lägga till anpassade MP3-ljud, eller musikfiler, som kommer att spelas när någon trycker på klockknappen. Du kan också anpassa inställningen och använda klockan som en smart högtalare.

Saker du behöver

Du behöver följande för att bygga och ställa in en anpassad DIY smart dörrklocka.

  • Home Assistant-server som körs på en Raspberry Pi eller någon annan enhet som stöds.
  • 2 x Wemos D1 mini- eller NodeMCU-kort.
  • 50 mm högtalare.
  • Ett PAM8403 mini 5V digitalt förstärkarkort.
  • DuPont eller bygelkablar. Du kan också behöva en lödkolv och tenn för att löda fogar om du vill ha en permanent anslutning.
  • instagram viewer
  • Fodral för att montera alla delar. Du kan skriva ut detta 3D-fodral.

Steg 1: Bygg en smart högtalare

Först kommer vi att bygga en smart högtalare som fungerar med Home Assistant och sedan använda den som en smart klocka för detta projekt. Du kan också använda den här smarta klockan för att spela upp röstvarningar. Stegen är som följer:

  1. Öppna Home Assistant och installera ESPHome-tillägget.
  2. Efter installationen, öppna ESPHome och klicka +Ny enhet.
  3. Klick Fortsätta och skriv ett namn, t.ex smart högtalare.
  4. Klick Nästa > Välj en specifik bräda och välj Wemos D1 och Wemos D1 mini. Klick Nästa.
  5. Hitta en smart högtalare i listan och klicka på Redigera knapp.
  6. Uppdatera Wi-Fi SSID och lösenord i ditt YAML-redigeringsfönster.
  7. Klistra sedan in följande kod precis nedan captive_portal:
    uart:
    tx_pin: GPIO3
    rx_pin: GPIO1
    baud_rate: 9600
    dfplayer:
    on_finished_playback:
    sedan:
    logger.log: 'Uppspelning avslutad händelse'
    api:
    kryptering:
    nyckel: "Din krypteringsnyckel"
    tjänster:
    - tjänst: dfplayer_next
    sedan:
    -dfplayer.play_next:
    - tjänst: dfplayer_previous
    sedan:
    -dfplayer.play_previous:
    - tjänst: dfplayer_play
    variabler:
    fil: int
    sedan:
    - dfplayer.play: !lambda 'lämna tillbaka fil;'
    - tjänst: dfplayer_play_loop
    variabler:
    fil: int
    loop_: bool
    sedan:
    -dfplayer.spela:
    fil: !lambda 'lämna tillbaka fil;'
    slinga: !lambda 'lämna tillbaka slinga_;'
    - tjänst: dfplayer_play_folder
    variabler:
    mapp: int
    fil: int
    sedan:
    -dfplayer.play_folder:
    mapp: !lambda 'lämna tillbaka mapp;'
    fil: !lambda 'lämna tillbaka fil;'
    - tjänst: dfplayer_play_loop_folder
    variabler:
    mapp: int
    sedan:
    -dfplayer.play_folder:
    mapp: !lambda 'lämna tillbaka mapp;'
    slinga: Sann
    - tjänst: dfplayer_set_device_tf
    sedan:
    -dfplayer.set_device: TF KORT
    - tjänst: dfplayer_set_device_usb
    sedan:
    -dfplayer.set_device: USB
    - tjänst: dfplayer_set_volume
    variabler:
    volym: int
    sedan:
    - dfplayer.set_volume: !lambda 'lämna tillbaka volym;'
    - tjänst: dfplayer_set_eq
    variabler:
    förinställa: int
    sedan:
    - dfplayer.set_eq: !lambda 'returnera static_cast<dfplayer:: EqPreset>(förinställa);'
    - tjänst: dfplayer_sleep
    sedan:
    -dfplayer.sova
    - tjänst: dfplayer_reset
    sedan:
    -dfplayer.återställa
    - tjänst: dfplayer_start
    sedan:
    -dfplayer.Start
    - tjänst: dfplayer_pause
    sedan:
    -dfplayer.paus
    - tjänst: dfplayer_stop
    sedan:
    -dfplayer.sluta
    - tjänst: dfplayer_random
    sedan:
    -dfplayer.slumpmässig
    - tjänst: dfplayer_volume_up
    sedan:
    -dfplayer.Höj volymen
    - tjänst: dfplayer_volume_down
    sedan:
    -dfplayer.Sänk volymen
  8. Byta ut Din krypteringsnyckel i ovanstående kod med din befintliga krypteringsnyckel. Ta också bort följande kod om den är ovanför captive_portal: text – det ska bara finnas en api: sektion in den fullständiga koden, annars kommer du att få kompileringsfel.
    api:
    kryptering:
    nyckel: "Din krypteringsnyckel"
  9. Klick Spara och klicka sedan Installera.
  10. Välj den Anslut till den här datorn alternativet och vänta på att firmware kompileras.
  11. När den fasta programvaran är kompilerad klickar du på Ladda ner projekt länk för att ladda ner firmware.
  12. Klick Öppna ESPHome Web och anslut din D1 mini till datorn med en mikro-USB-kabel.
  13. Klick Ansluta och välj COM-port där D1 mini är ansluten.
  14. Klick Installera och klicka sedan Välj FIL för att välja den fasta programvaran du laddade ner.
  15. Klick Installera.
  16. När den fasta programvaran är installerad, se följande diagram för att ansluta DFPlayer eller din MP3-spelarmodul till D1-minikortet.

Som standard kan DFPlayer-modulen köra två 3W-högtalare som du kan ansluta till SPK_1- och SPK_2-stiften, som visas i diagrammet. Den andra terminalen på båda högtalarna ansluts till GND-terminalen mellan de två högtalarterminalerna på DFPlayer-modulen.

Dricks: För högre och fylligare ljud från din 50 mm eller större 3W-högtalare, se till att installera en förstärkarmodul som en PAM8403 mellan högtalaren och DFPlayer.

Steg 2: Bygg en smart switch

Ta ett annat D1-minikort och följ dessa steg för att bygga en smart switch.

  1. Gå till Hemassistent > ESPHome, klick Ny enhet, och skapa sedan ett nytt projekt som heter klocka. Se till att välja Wemos D1 och Wemos D1 mini styrelse.
  2. Klicka på Redigera knappen under bell-switch-projektet och klistra in följande kod precis nedanför captive_portal:
    växla:
    - Plattform: gpio
    stift: D2
    id: relä
    namn: "klocka"
    ikon: "mdi: klocka"
    on_turn_on:
    - fördröjning: 200ms
    - växla.turn_off: relä
  3. Uppdatera även Wi-FI SSID och lösenord.
  4. Klick Spara och klicka sedan Installera.
  5. Klick Anslut till den här datorn och ladda sedan ner firmware.
  6. Klick Öppna ESPHome Web och använd webbinstallationsprogrammet för att flasha den fasta programvaran på detta D1-minikort.
  7. När den fasta programvaran är installerad kan du löda två ledningar till detta D1-minikort som visas i diagrammet nedan, och sedan ansluta dessa två ledningar till valfri mekanisk klocka.
  8. Anslut strömmen och testa strömbrytaren. Du kommer att se utgången i klocka loggar.

Steg 3: Lägg till MP3-filer

Du kan ansluta ett microSD-kort till din PC och kopiera klockljud till kortet. Du kan också lägga till valfri låt eller dialog från en film som du vill spela upp när någon trycker på din dörrklockans knapp.

Se till att alla är MP3-filer och har fått siffror som 1, 2, 3 osv. Till exempel, 1.mp3 eller 2.mp3. Du kan också använda valfri text-till-tal MP3-konverteringswebbplats för att skapa dina egna ljud för den här smarta klockan. När MP3-ljuden har kopierats ansluter du microSD-kortet till DFPlayer.

I det här skedet kan du slå på den smarta högtalaren och den smarta klockomkopplaren. Du kan använda valfri 5V-adapter och mikro-USB-kabel för att driva båda enheterna. Du kan testa modulen genom att trycka på valfri IO eller ADKyckel stift på DFPlayer till GND. Du kommer att höra MP3-filerna spelas upp.

Steg 4: Skapa automatisering

Automatisering gör att du kan trigga eller spela den önskade MP3-filen när någon trycker på den smarta klockomkopplarknappen. Följ dessa steg:

  1. Gå till i Home Assistant inställningar > Automatisering och scener.
  2. Klick Skapa automatisering och klicka Börja med en tom automatisering.
  3. Klick Lägg till trigger > Enhet och sök sedan efter klocka.
  4. Välja klocka i Enhet och välj Ringklocka på alternativ från Utlösare falla ner.
  5. Under Handlingar, klick Lägg till åtgärd.
  6. Välja Ring service.
  7. Söka efter ESPHome: smart_speaker_dfplayer_play och välj den.
  8. I den fil fältet anger du MP3-filnumret du vill spela. Du kan ändra detta nummer när som helst för att ändra klockljudet.
  9. Din automatisering bör se ut så här:
  10. Klicka på Spara knappen och ge sedan denna automatisering valfritt namn med en beskrivning (valfritt).
  11. Klick Spara.

Nu, om du trycker på den smarta klocka-omkopplaren, kommer den att utlösa automatiseringen och spela upp ljudet på den smarta klockan vi gjorde.

Dessutom kan du skapa aviseringsljud, som "Tanken är full. Stäng av motorn" eller "Hög strömförbrukning upptäcks" med hjälp av TTS till MP3, och skapa automatisering för att spela dessa ljud närhelst sådana händelser inträffar eller baserat på sensorvärden. Du kan också följa våra detaljerade guider för att bygga en smart vattennivåsensor och smart effektövervakningsenhet för hemassistent.

Smart Bell för smarta hem

Den smarta klockan vi har gjort kan också användas som en smart högtalare med din Home Assistant Server för att spela upp varningar. Du kan också lägga till DFPlayer-kontroller på din Home Assistant-instrumentpanel för att spela, pausa, öka/sänka volymen etc. Lägg bara till ett entitetskort på Home Assistant-instrumentpanelen och sök efter DFPlayer-kontrollentiteterna för att lägga till dem.