Med et par ESP8266-mikrocontrollertavler kan du bygge en smart trådløs dørklokke, der fungerer sammen med din Home Assistant-smarthjemopsætning.

En smart dørklokke er en praktisk og innovativ måde at forbedre din bekvemmelighed og sikkerhed i hjemmet og finde ud af, hvem der er ved din dør, selv når du ikke er hjemme.

Ved at bruge to ESP8266-kort vil vi bygge en fuldt funktionel Wi-Fi smart dørklokke, der integreres med Home Assistant smart home automation-software og sender push-beskeder til din smartphone, hver gang nogen ringer dørklokke. Dette fungerer både lokalt og eksternt.

Ting du får brug for

Du skal bruge følgende komponenter til at bygge den smarte DIY Wi-Fi-dørklokke.

  • 2 x ESP8266 mikrocontrollerkort, såsom NodeMCU eller D1 Mini, vil tjene som dørklokkens hjerne
  • Dørklokkekontakt
  • Micro USB strømforsyning
  • DFPlayer Mini (MP3-afspillermodul)
  • microSD-kort (512MB eller større)
  • 2W eller 3W (1" eller 2" bred) højttaler til lydoutput
  • 2,4 GHz Wi-Fi-netværk
  • Home Assistant-server kører på en Raspberry Pi, eller du kan installere Home Assistant på en x86 pc.
  • instagram viewer
  • Jumper ledninger til at forbinde alle komponenter

Trin 1: Kompiler firmwaren

Vi vil kompilere to forskellige firmwares:

  • Smart bell højttaler firmware (modtager)
  • Smart klokkekontakt firmware (sender)

Følg disse trin for at kompilere smart bell-højttaleren og smart bell switch-firmwaren:

  1. Hvis det ikke allerede er installeret, skal du installere ESPHome i Home Assistant: gå til Indstillinger > Tilføje-Ons og klik ESPHome.
    Skærmbillede af Ravi. NAR
  2. Klik Åbn Web UI og klik derefter Ny enhed.
  3. Navngiv enheden, hvad du vil. Til denne tutorial kaldte vi den "smart-bell-speaker". Klik Næste > Spring dette trin over.
  4. Vælg derefter ESP8266 bord fra indstillingerne, og klik derefter Springe.
  5. Dette vil se en ny konfiguration navngivet smart-klokke-højttaler.
  6. På samme måde skal du oprette en konfiguration mere og navngive den smart-klokke-afbryder.
  7. Når konfigurationerne er oprettet, skal du åbne smart-klokke-højttaler konfiguration ved at klikke på Redigere knap.
  8. Indsæt derefter følgende kode under 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. Rediger også Wi-Fi SSID og adgangskodehemmeligheder med dit Wi-Fi navn og adgangskode. Sørg for, hvor du vil installere smart-klokke-højttaler og smart-klokke-afbryder har en anstændig Wi-Fi-netværksdækning.
    wifi: 
    ssid: "MyWiFiName"
    password: "MyWiFiPassword"
  10. Klik Gemme og klik derefter Installere.
  11. Vælge Manuel download. Dette vil starte firmwarekompileringen. Når den er kompileret, download og gem firmwaren på dit system.
  12. Åbn nu smart-bell-switch-projektet, skift Wi-Fi-hemmelighederne og indsæt derefter følgende kode 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. Klik Gemme og klik derefter Installere.
  14. Vælge Manuel download. Efter kompileringen begynder firmwaren automatisk at downloade. Gem begge firmware på Desktop.

Trin 2: Upload MP3-lydfiler til et MicroSD-kort

Tag et microSD-kort med lille kapacitet (så lavt som 512 MB fungerer). Tilslut den til din pc. Download dine foretrukne klokkelyde fra internettet, eller du kan optage din egen eller din stemme og gemme dem som MP3-filer på microSD-kortet. Sørg for at navngive disse filer som 1.mp3, 2.mp3, etc.

Trin 3: Flash firmwaren til ESP8266-mikrocontrolleren

For at flashe firmwaren skal du tilslutte NodeMCU eller D1 Mini til pc'en ved hjælp af et mikro-USB-kabel og derefter følge disse trin:

  1. Download og start ESPHome-Flasher værktøj.
  2. Vælg COM port og klik derefter Gennemse for at vælge den firmwarefil, du downloadede i det foregående trin.
  3. Klik Flash ESP. Vent på, at firmwaren blinker.
  4. Når det er gjort, vil enheden automatisk oprette forbindelse til Wi-Fi-netværket.

Følg de samme trin for at flashe firmwaren på de to ESP8266-kort.

Trin 4: Tilslutning af ESP8266-kort med DFPlayer og højttaler

Se følgende diagram for at forbinde DFPlayer med ESP8266, hvorpå du blinkede smart-klokke-højttaler firmware.

Du kan bruge jumperledninger til at lave disse forbindelser og bruge et loddekolbe til at forbinde højttaleren med DFPlayeren (MP3-afspillermodul).

Når alt er tilsluttet, skal du bruge to jumper-ledninger (han til hun) og forbinde dem til smart-klokke-afbryder ESP8266-kort. Du skal tilslutte en ledning til D2 pin på NodeMCU- eller D1 Mini ESP8266-kortet og en anden til 3V eller 3,3V pin. Tilslut derefter de to andre ender til din traditionelle trykknap-klokkekontakt, som vist i diagrammet nedenfor.

Sørg for at dobbelttjekke ledningerne, før du fortsætter.

Trin 5: Føj enheder til Home Assistant

Vi skal tilføje begge enheder til Home Assistant. For at gøre det skal du følge disse trin:

  1. Gå til Indstillinger > Enheder og tjenester.
  2. Du vil se smart-klokke-afbryder og smart-klokke-højttaler (hvis tændt) i Opdagede enheder liste.
  3. Klik Konfigurer > Indsend.
  4. Vælg et område fra rullemenuen, og klik Afslut.
  5. På samme måde skal du tænde og tilføje smart-klokke-højttaler enhed til din Home Assistant.

Trin 6: Opret automatisering til brugerdefineret klokkelyd og push-meddelelser

For at aktivere push-beskeder for din smarte DIY Wi-Fi smart dørklokke, skal du oprette en automatisering i Home Assistant. Følg disse trin for at oprette en:

  1. I Hjemmeassistent, gå til Indstillinger > Automatiseringer og scener.
  2. Klik Skab automatisering > Opret ny automatisering.
  3. Klik Tilføj trigger og vælg Enhed.
  4. Vælge smart-klokke-afbryder og vælg derefter Smart Door Bell tændt i Udløser drop-down.
  5. Klik Tilføj handling og vælg Ring til service.
  6. Vælge ESPHome: smart_speaker_dfplayer_play fra rullemenuen.
  7. I den fil, skriv 1, 2 eller 3 for hvilken MP3-klokkelyd du vil afspille.
  8. Klik derefter Gemme.
  9. Giv automatiseringen et navn, og klik derefter Gemme en gang til.
  10. For push-beskeder på din telefon skal du installere Home Assistant-appen på din smartphone, logge ind på din Home Assistant og derefter klikke på Tilføj handling i automatiseringsvinduet.
  11. Vælg Ring til service og vælg Notifikationer: Send en notifikation via mobile_app_YourPhone.
  12. Indtast en besked, som du vil modtage i meddelelsen, og klik Gemme.

Hvis du nu trykker på dørklokkeknappen, afspilles klokkelyden fra smart-klokke-højttaler. Du kan tjekke logfilerne for flere detaljer, hvis automatiseringen fungerer.

Gør en smart dørklokke smartere

At bygge din egen DIY Wi-Fi smart dørklokke ved hjælp af ESP8266 mikrocontroller boards og Home Assistant er et givende og omkostningseffektivt projekt.

Når den grundlæggende funktionalitet af DIY Wi-Fi smart dørklokken fungerer korrekt, kan du tilføje et CCTV IP-kamera, og integrer med Home Assistant ved hjælp af Fregate NVR til at skabe avanceret hjemmeautomatisering og forbedre hjemmets sikkerhed. Du kan også integrere en PIR-sensor eller en berøringskapacitiv sensor i stedet for en traditionel dørklokkekontakt. Mulighederne med Home Assistant er uendelige.