Trådløse ringeklokker er en fin måte å legge til ringeklokker i hjem eller kontorer uten å bruke noen ledninger. Disse trådløse klokkene kommer imidlertid med begrensede forhåndskonfigurerte MIDI-lyder som spilles når noen trykker på knappen på senderenheten.

Selv om du kan veksle mellom MIDI-lydene og øke eller redusere volumet, er det alt du kan gjøre med disse trådløse ringeklokkene. I dag vil vi imidlertid bygge en DIY smart trådløs ringeklokke hvor du kan legge til tilpassede MP3-lyder, eller musikkfiler, som vil spilles av når noen trykker på ringebryteren. Du kan også tilpasse oppsettet og bruke klokken som en smart høyttaler.

Ting du trenger

Du trenger følgende for å bygge og sette opp en tilpasset DIY smart ringeklokke.

  • Home Assistant-server som kjører på en Raspberry Pi eller en annen støttet enhet.
  • 2 x Wemos D1 mini- eller NodeMCU-kort.
  • 50 mm høyttaler.
  • Et PAM8403 mini 5V digitalt forsterkerkort.
  • DuPont eller jumper ledninger. Du kan også trenge loddebolt og tinn for å lodde skjøter hvis du ønsker en permanent tilkobling.
  • Etui for å sette sammen alle deler. Du kan skrive ut dette 3D-dekselet.

Trinn 1: Bygg en smarthøyttaler

Først skal vi bygge en smart høyttaler som fungerer med Home Assistant og deretter bruke den som en smart bjelle for dette prosjektet. Du kan også bruke denne smarte klokken til å spille av talevarsler. Trinnene er som følger:

  1. Åpne Home Assistant og installer ESPHome-tillegget.
  2. Etter installasjonen åpner du ESPHome og klikker +Ny enhet.
  3. Klikk Fortsette og skriv inn et navn, for eksempel smart-høyttaler.
  4. Klikk Neste > Velg et spesifikt brett og velg Wemos D1 og Wemos D1 mini. Klikk Neste.
  5. Finn en smarthøyttaler i listen og klikk på Redigere knapp.
  6. Oppdater Wi-Fi SSID og passord i YAML-redigeringsvinduet.
  7. Deretter limer du inn følgende kode rett under captive_portal:
    uart:
    tx_pin: GPIO3
    rx_pin: GPIO1
    baud_rate: 9600
    dfplayer:
    on_finished_playback:
    deretter:
    logger.log: 'Avspilling fullført hendelse'
    api:
    kryptering:
    nøkkel: "Din Krypteringsnøkkel"
    tjenester:
    - tjeneste: dfplayer_next
    deretter:
    -dfspiller.play_next:
    - tjeneste: dfplayer_previous
    deretter:
    -dfspiller.play_previous:
    - tjeneste: dfplayer_play
    variabler:
    fil: int
    deretter:
    - dfplayer.play: !lambda 'komme tilbake fil;'
    - tjeneste: dfplayer_play_loop
    variabler:
    fil: int
    loop_: bool
    deretter:
    -dfspiller.spille:
    fil: !lambda 'komme tilbake fil;'
    Løkke: !lambda 'komme tilbake Løkke_;'
    - tjeneste: dfplayer_play_folder
    variabler:
    mappe: int
    fil: int
    deretter:
    -dfspiller.play_folder:
    mappe: !lambda 'komme tilbake mappe;'
    fil: !lambda 'komme tilbake fil;'
    - tjeneste: dfplayer_play_loop_folder
    variabler:
    mappe: int
    deretter:
    -dfspiller.play_folder:
    mappe: !lambda 'komme tilbake mappe;'
    Løkke: ekte
    - tjeneste: dfplayer_set_device_tf
    deretter:
    -dfspiller.set_device: TF-KORT
    - tjeneste: dfplayer_set_device_usb
    deretter:
    -dfspiller.set_device: USB
    - tjeneste: dfplayer_set_volume
    variabler:
    volum: int
    deretter:
    - dfplayer.set_volume: !lambda 'komme tilbake volum;'
    - tjeneste: dfplayer_set_eq
    variabler:
    forhåndsinnstilt: int
    deretter:
    - dfplayer.set_eq: !lambda 'returner static_cast<dfplayer:: EqPreset>(forhåndsinnstilt);'
    - tjeneste: dfplayer_sleep
    deretter:
    -dfspiller.sove
    - tjeneste: dfplayer_reset
    deretter:
    -dfspiller.nullstille
    - tjeneste: dfplayer_start
    deretter:
    -dfspiller.start
    - tjeneste: dfplayer_pause
    deretter:
    -dfspiller.pause
    - tjeneste: dfplayer_stop
    deretter:
    -dfspiller.Stoppe
    - tjeneste: dfplayer_random
    deretter:
    -dfspiller.tilfeldig
    - tjeneste: dfplayer_volume_up
    deretter:
    -dfspiller.volum opp
    - tjeneste: dfplayer_volume_down
    deretter:
    -dfspiller.volum ned
  8. Erstatte Din Krypteringsnøkkel i koden ovenfor med din eksisterende krypteringsnøkkel. Fjern også følgende kode hvis den er over captive_portal: tekst – det skal bare være én api: seksjon Jegn den komplette koden, ellers vil du motta kompileringsfeil.
    api:
    kryptering:
    nøkkel: "Din Krypteringsnøkkel"
  9. Klikk Lagre og klikk deretter Installere.
  10. Velg Koble til denne datamaskinen alternativet og vent på at fastvaren skal kompileres.
  11. Når fastvaren er kompilert, klikk på Last ned prosjektet lenke for å laste ned fastvaren.
  12. Klikk Åpne ESPHome Web og koble D1 mini til PC-en med en mikro-USB-kabel.
  13. Klikk Koble og velg COM-port hvor D1 mini er tilkoblet.
  14. Klikk Installere og klikk deretter Velg Fil for å velge fastvaren du lastet ned.
  15. Klikk Installere.
  16. Når fastvaren er installert, se følgende diagram for å koble DFPlayer eller MP3-spillermodulen til D1 minikortet.

Som standard kan DFPlayer-modulen kjøre to 3W-høyttalere som du kan koble til SPK_1- og SPK_2-pinnene, som vist i diagrammet. Den andre terminalen på begge høyttalerne kobles til GND-terminalen mellom de to høyttalerterminalene på DFPlayer-modulen.

Tips: For høyere og fyldigere lyd fra din 50 mm eller større 3W-høyttaler, sørg for å installere en forsterkermodul som en PAM8403 mellom høyttaleren og DFPlayer.

Trinn 2: Bygg en Smart Switch

Ta et annet D1 minikort og følg disse trinnene for å bygge en smart bryter.

  1. Gå til Hjemmeassistent > ESPHome, klikk Ny enhet, og deretter opprette et nytt prosjekt kalt ringeklokke. Sørg for å velge Wemos D1 og Wemos D1 mini borde.
  2. Klikk på Redigere knappen under bjellebryterprosjektet og lim inn følgende kode rett under captive_portal:
    bytte om:
    - plattform: gpio
    pinne: D2
    id: relé
    Navn: "Klokke"
    ikon: "mdi: bjelle"
    on_turn_on:
    - forsinkelse: 200ms
    - bytte om.turn_off: relé
  3. Oppdater også Wi-FI SSID og passord.
  4. Klikk Lagre og klikk deretter Installere.
  5. Klikk Koble til denne datamaskinen og last ned fastvaren.
  6. Klikk Åpne ESPHome Web og bruk nettinstallasjonsprogrammet til å flashe fastvaren på dette D1 minikortet.
  7. Når fastvaren er installert, kan du lodde to ledninger til dette D1-minikortet som vist i diagrammet nedenfor, og deretter koble disse to ledningene til en hvilken som helst mekanisk ringebryter.
  8. Koble til strømmen og test bryteren. Du vil se utgangen i ringeklokke tømmerstokker.

Trinn 3: Legg til MP3-filer

Du kan koble et microSD-kort til PC-en og kopiere ringelyder til kortet. Du kan også legge til hvilken som helst sang eller dialog fra en film som du vil spille av når noen trykker på ringeklokkebryteren.

Sørg for at alle er MP3-filer og omdøpt med tall, for eksempel 1, 2, 3 osv. For eksempel, 1.mp3 eller 2.mp3. Du kan også bruke alle gratis tekst-til-tale MP3-konverteringssider for å lage dine egendefinerte lyder for denne smarte klokken. Når MP3-lydene er kopiert, kobler du microSD-kortet til DFPlayer.

På dette stadiet kan du slå på smarthøyttaleren og smartklokkebryteren. Du kan bruke hvilken som helst 5V-adapter og mikro-USB-kabel for å drive begge enhetene. Du kan teste modulen ved å berøre hvilken som helst IO eller ADKøkkel pin av DFPlayer til GND. Du vil høre MP3-filene spilles av.

Trinn 4: Lag automatisering

Automatisering vil tillate deg å utløse eller spille av ønsket MP3-fil når noen trykker på knappen for smartklokkebryter. Følg disse instruksjonene:

  1. I Home Assistant, gå til Innstillinger > Automatisering og scener.
  2. Klikk Lag automatisering og klikk Start med en tom automatisering.
  3. Klikk Legg til trigger > Enhet og søk deretter etter klokke.
  4. Velge Klokke i Enhet og velg Klokkebryter på alternativ fra Avtrekker fall ned.
  5. Under Handlinger, klikk Legg til handling.
  6. Velge Ring service.
  7. Søk etter ESPHome: smart_speaker_dfplayer_play og velg den.
  8. I fil feltet, skriv inn MP3-filnummeret du vil spille av. Du kan endre dette nummeret når som helst for å endre ringelyden.
  9. Automatiseringen din skal se slik ut:
  10. Klikk på Lagre og gi deretter denne automatiseringen et hvilket som helst navn med en beskrivelse (valgfritt).
  11. Klikk Lagre.

Nå, hvis du trykker på smartklokkebryteren, vil den utløse automatiseringen og spille av lyden på smartklokken vi har laget.

I tillegg kan du lage varslingslyder, for eksempel "Tanken er full. Slå av motoren" eller "Høyt strømforbruk er oppdaget" ved hjelp av TTS til MP3, og lag automatisering for å spille av disse lydene når slike hendelser inntreffer eller basert på sensorverdier. Du kan også følge våre detaljerte veiledninger for å bygge en smart vannstandssensor og smart strømovervåkingsenhet for hjemmeassistent.

Smart Bell for Smart Home

Smartklokken vi har laget kan også brukes som en smarthøyttaler med Home Assistant Server for å spille av varsler. Du kan også legge til DFPlayer-kontroller på Home Assistant-dashbordet for å spille, sette på pause, øke/redusere volum osv. Bare legg til et enhetskort på Home Assistant-dashbordet og søk etter DFPlayer-kontrollenhetene for å legge dem til.