Byg en DIY-smart dørklokke til hjemmeassistent med push-beskeder

Byg en DIY-smart dørklokke til hjemmeassistent med push-beskeder
Læsere som dig hjælper med at støtte MUO. Når du foretager et køb ved hjælp af links på vores websted, kan vi optjene en affiliate-kommission. Læs mere.

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.





MUO Video af dagen RUL FOR AT FORTSÆTTE MED INDHOLD

Ved at bruge to ESP8266-kort vil vi bygge en fuldt funktionel Wi-Fi-smart-dørklokke, der integreres med Home Assistant-software til smart-hjemautomatisering og sender push-beskeder til din smartphone, hver gang nogen ringer på døren. 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 .
  • 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 - Vi og klik ESPHome .   tilslutning af dfplayer-højttaler for at lave en smart klokkehøjttaler
    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 .   forbinder den traditionelle trykknap med smart bell esp8266 modul
  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<dfplayer::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.   tjek logfiler for at fejlfinde og løse problemer
  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 MED 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:

min computer er frosset, og kontrol alt delete fungerer ikke
  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 integrere med Home Assistant ved hjælp af Fregate NVR for 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.