Slimme deurbel

Bron: https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/

Dit artikel laat je zien hoe je je (bestaande) bedrade deurbel (werkt ook voor bellen op batterijen) kunt omzetten in een slimme, wifi-compatibele deurbel.  Solderen is niet nodig en je hoeft geen elektronica-expert te zijn.

Foto van de resulterende DIY Smart Doorbell op mijn testbank
Het resultaat van dit DIY Smart Doorbell-project op mijn testbank, klaar om te worden geïnstalleerd

Het integreren van je deurbel in je smart home is een heel logische stap. Door je deurbel slim te maken, kun je er leuke dingen mee doen, bijvoorbeeld:

  • Zet de bel/bel uit na een bepaalde tijd, wanneer de kinderen of jij naar bed gingen. Zet hem ook ’s ochtends weer aan.
  • Stuur pushmeldingen naar je telefoon/tv/watch/smart speaker, druk op de deurbelknop.
  • Maak een momentopname van een camera aan de voordeur, druk op de deurbelknop.
  • Stream je voordeurcamera naar je tv, druk op de deurbelknop.
  • Bel continu aan de deur in geval van nood (bijv. rookmelders geactiveerd).

Deze methode is natuurlijk niet de enige oplossing. Het is echter dat het de goedkoopste is die er is en een geweldige manier om zelf aan de slag te gaan. 


Inhoudsopgave

  • Hoe werkt een deurbel; Voor en na.
  • Slimme deurbel spullen die je nodig hebt
    • De belangrijkste componenten:
    • Andere gereedschappen en hardware
    • Benodigde software
  • Aanpassen aan de ESP-01S-chip
  • Knipperen van de firmware op de chip
    • De firmware maken, bouwen en downloaden
    • De firmware uploaden naar de ESP-01S-chip
  • Je slimme deurbel installeren en bedraden
  • Integreren met Home Assistant
  • Home Assistant slimme deurbel automatiseringen
    • Meldingen naar uw telefoon verzenden
    • Schakel de bel uit tijdens de late uurtjes
    • De camera aan de voordeur streamen als er iemand voor de deur staat
    • Meer slimme ideeën voor deurbelautomatisering
  • Optionele wijzigingen en aanpassingen
    • De voeding van de chimes gebruiken met een step-down
    • Meerdere deurbelknoppen gebruiken (bijv. voor- & achterdeur)
    • MQTT gebruiken (bijvoorbeeld voor gebruik met OpenHAB)
  • Dit artikel gaat niet over een slimme deurbel…

Hoe werkt een deurbel; Voor en na.

Laten we, voordat we iets gaan doen, even kijken hoe een bedrade deurbel werkt. Voor dit artikel is uitgegaan van een bedrade en AC-aangedreven deurbel. deurbellen op batterijen zijn echter niet zo verschillend.

Toont een normaal deurbelcircuit/bedradingsschema
Regular doorbell circuit schema

Een vrij standaard deurbelopstelling heeft een voeding, rechtstreeks aangesloten op de bel. De deurlbel is hoorbaar als de belknop wordt ingedrukt. Daarom gaat je bel wanneer iemand op de deurbelknop drukt.

Toont een circuit/bedradingsschema voor de DIY Smart deurbel
DIY Smart doorbell circuit schema

De afbeelding hierboven geeft weer hoe de slimme deurbel is opgebouwd Kortom, het deurbelcircuit wordt opsplitst in twee afzonderlijke circuits. Eén circuit detecteert het indrukken van de deurbel; het andere circuit regelt de bel. Deze splitsing maakt het mogelijk om deze afzonderlijk te bedienen, bijvoorbeeld het detecteren van een deurbeldruk door Home Assistant, zonder de gong te activeren.

De smart device gaat fungeren als een sensor voor het drukken op de deurbelknop en als een schakelaar voor de bel. In feite wordt de activering van de bel van de deurbelknop verplaatst naar het nieuwe apparaat. De smart device heeft een voeding van 5V nodig. Elke oude USB-telefoonoplader is hiervoor bruikbaar.

Slimme deurbel onderdelen

Dit project bestaat uit slechts 2 delen. Een op ESP8266 gebaseerde chip genaamd de ESP-01S en een klein bord met een relais erop.

De ESP-01S is een van de kleinste beschikbare wifi-borden, die werkt met ESPHome en Home Assistant.

Productafbeelding van de ESP-01S-chip

Dit relaismodulebord voor de ESP-01(S), het is voorgesoldeerd en het ESP schuift er gewoon bovenop.


Productafbeelding van de ESP-01(s) relaismodulekaart

Er is ook een andere versie van de ESP-chip, zonder de S , de ESP-01. Die chip is ook bruikbaar, maar de ESP-01S is een verbeterde versie en heeft een dubbele hoeveelheid geheugen. Aangezien het prijsverschil slechts een paar cent is, zou ik de S- versie ten zeerste aanbevelen.

Het bordje wordt gevoed door 5V. De meeste telefoonopladers van 5V leveren voldoende stroom voor dit project.

De belangrijkste benodigde componenten:

  • Een ESP-01S
  • Het relaismodulebord voor de ESP-01(S)
  • Een oude telefoonoplader, levert 5 Volt

Andere gereedschappen en hardware

Met behulp van de FTDI-adater wordt de ESP01-S-chip geprogrammeerd. gebruikt.  ZProductafbeelding van een FTDI-adapter

FTDI-adapter

Voor het verbinden van de ESP-01S0Productafbeelding met een aantal Dupont-draden

Dupont-draden

Benodigde software

Uiteraard heb je wat software nodig om dit voor elkaar te krijgen. Alle gebruikte software is open source en gratis voor u om te gebruiken.

Home Assistant is mijn favoriete domotica-hub en voor deze handleiding neem ik aan dat je het ook gebruikt. Dit project kan echter ook op andere hubs worden gebruikt (zoals Domoticz of OpenHAB). Ik heb aan het einde van het artikel een sectie toegevoegd voor meer informatie hierover.

Aanpassen aan de ESP-01S-chip

Om deze setup te laten werken, zou je een kleine aanpassing aan de ESP-01S-chip moeten maken. Reden voor deze aanpassing is dat je een extra pin vrij moet maken voor het aansluiten van je deurbelknop. Deze input/output-pinnen worden GPIO-pinnen genoemd.

De ESP-01S heeft twee GPIO-pinnen beschikbaar. Met behulp van de relaiskaart is een van de GPIO-pinnen aangesloten op het relais, de andere is aangesloten op een resetmechanisme. Zonder deze aanpassing zou een druk op de deurbel leiden tot een reset/herstart van de chip, wat natuurlijk niet is wat we willen.

Maak je geen zorgen, deze wijziging is eenvoudig. We moeten de GPIO2-pin van de ESP-01S buigen. Hiermee hebt u toegang tot de pin voor het aansluiten van de deurbelknop, terwijl u deze loskoppelt van het relaisbord.about:blankKlik om cookies te accepteren en deze inhoud in te schakelen

De verloren reset-functionaliteit wordt later hersteld via een software-switch in ESPHome. Verder heeft de resetknop aan de zijkant van het relaisbord hier geen last van en blijft deze ook als resetknop werken.

Knipperen van de firmware op de chip

Dit project gebruikt ESPHome om firmware voor de ESP-01S-chip te maken. Ik ga geen volledige tutorial maken over het instellen van ESPHome, omdat dat echt goed wordt behandeld op hun website. Zorg er dus voor dat u ESPHome hebt ingesteld voordat u doorgaat.

Voor de rest van deze handleiding ga ik ervan uit dat je Hass.io gebruikt. De ESPHome-handleiding om aan de slag te gaan voor niet-Hass.io-gebruikers is echter uiterst gedetailleerd en u zou zich gemakkelijk moeten kunnen aanpassen.

De firmware maken, bouwen en downloaden

Maak een bestand aan met de naam doorbell.yaml; voor Hass.io-gebruikers, maak het bestand in de /config/esphomemap aan, zodat je eindigt met het bestand: /config/esphome/doorbell.yaml.

Voeg vervolgens de volgende inhoud toe aan het bestand:

---
esphome:
  name: doorbell
  platform: ESP8266
  board: esp01_1m

# WiFi connection, correct these
# with values for your WiFi.
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# Enable logging.
logger:

# Enable Home Assistant API.
api:

# Enable over-the-air updates.
ota:

# Enable Web server.
web_server:
  port: 80

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: Doorbell ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: Doorbell IP
    ssid:
      name: Doorbell SSID
    bssid:
      name: Doorbell BSSID

# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: Doorbell Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: Doorbell WiFi Signal
    update_interval: 60s

# Global to store the on/off state of the chime
globals:
  - id: chime
    type: bool
    restore_value: true
    initial_value: 'true'

# Exposed switches.
switch:
  # Switch to restart the doorbell.
  - platform: restart
    name: Doorbell Restart

  # Switch to turn on/off the chime.
  - platform: gpio
    id: relay
    inverted: true
    name: Doorbell Chime
    pin: GPIO0

  # Switch to turn on/off chime when
  # doorbell button is pushed.
  #
  # It creates a "virtual" switch based
  # on a global variable.
  - platform: template
    name: Doorbell Chime Active
    id: chime_active
    restore_state: false
    turn_on_action:
      - globals.set:
          id: chime
          value: 'true'
    turn_off_action:
      - globals.set:
          id: chime
          value: 'false'
    lambda: |-
      return id(chime);
# Binary sensor representing the
# Doorbell button push.
binary_sensor:
  - platform: gpio
    id: button
    name: Doorbell Button
    pin:
      # Connected to GPIO on the ESP-01S.
      number: GPIO2
      mode: INPUT_PULLUP
      inverted: true
    filters:
      # Small filter, to debounce the button press.
      - delayed_on: 25ms
      - delayed_off: 25ms
    on_press:
      # Only turn on the chime when it is active.
      then:
        if:
          condition:
            - switch.is_on: chime_active
          then:
            - switch.turn_on: relay
    on_release:
      # On release, turn of the chime.
      - switch.turn_off: relay

Het bovenstaande bestand toont een ESPHome-projectdefinitie; de ESPHome-projectcode, of ook wel ESPHome YAML genoemd. De code beschrijft de firmware waarmee ESPHome deze kan genereren. Ik heb geprobeerd zoveel mogelijk extra tekst aan het bovenstaande toe te voegen, om je te helpen begrijpen hoe het werkt.

Zorg ervoor dat u op lijn 9 & 10 uw wifi-gegevens instelt, anders kunt u problemen krijgen. Sla het bestand op en open de ESPHome-webinterface; Het deurbelproject zou moeten verschijnen!

Nu zou u de firmware van ESPHome moeten kunnen valideren, bouwen en downloaden. Ik zal je een schermopname laten zien hoe dat werkt:

Animatie over het valideren, compileren en downloaden van ESPHome-firmware
Doorbell ESPHome: valideren, compileren en downloaden

De firmware uploaden naar de ESP-01S-chip

Afbeelding laat zien dat mijn ESP-01S flitst voor de slimme deurbel
Knipperend met mijn ESP-01S voor de slimme deurbel

Nu je de firmware hebt (de gedownloade doorbell.bin), kun je deze voor gebruik op de ESP-01S-chip plaatsen. Deze knipperende procedure is het moeilijkste deel, en als dit nieuw voor je is, heb dan wat geduld, het kan een paar pogingen vergen voordat je het goed krijgt.

Begin met het aansluiten van de ESP-01S-chip op de FTDI-adapter, met behulp van enkele Dupont-draden. Schrik nu niet, we hoeven dit maar één keer te doen. Zodra je de chip hebt geflitst, kunnen toekomstige flitsen/upgrades Over-the-Air (OTA) via wifi worden gedaan. Bedraad de FTDI & ESP-01S volgens het volgende draadschema:

Illustreert hoe u een FTDI-adapter aansluit op een ESP-01S-chip.
FTDI naar ESP-01S bedradingsschema

Zorg ervoor dat u de bedrading dubbel controleert en de FTDI instelt op 3,3 V. Zelfs als je een ervaren flitser van ESP-chips bent, houd er dan rekening mee dat de VCC/3.3V- en aardedraden dubbel bedraad zijn! Hoewel ik een veelgebruikt FTDI-bord in dit schema heb gebruikt, kan je FTDI er anders uitzien, zorg ervoor dat je de bedrading correct aansluit door de namen op je bord te verifiëren.

Klaar om te flitsen? Mooi zo!

Sluit de FTDI-adapter aan op uw pc en start de ESPHome Flasher-tool. Ja, ik weet het, het is mogelijk om rechtstreeks vanuit ESPHome zelf te flitsen, maar als je op mij lijkt: ik heb de machine niet met Home Assistant in de buurt van mijn bureau. Bovendien kan het een hele uitdaging zijn voor mensen die Hass.io op een virtuele machine draaien. De ESPHome Flasher is eenvoudig te gebruiken en werkt gewoon vanaf uw bureaublad.

Selecteer de beschikbare seriële poort en laad het gedownloade doorbell.binbestand door op de knop “Bladeren” te klikken. Start de flash-procedure door op de knop “Flash ESP” te klikken. De console laat je de voortgang zien en vertelt je wanneer het klaar is.

Animatie over het flashen van firmware met de ESPHome Flasher
Firmware flashen met de ESPHome Flasher

Als dit proces mislukt, controleer dan uw bedrading. Een veelgemaakte fout is het door elkaar halen van de TX/RX-draden tussen de FTDI en de ESP-01S. Ze moeten onderling verbonden zijn (TX -> RX, RX -> TX).

Je slimme deurbel installeren en bedraden

Tijd om je nieuwe slimme deurbel te installeren. Het volgende schema helpt u om de draden correct aan te sluiten.

Deze afbeelding laat zien hoe je je slimme doe-het-zelf deurbel bedraden.
DIY Deurbel Bedrading Gids

Houd er rekening mee hoe de aardedraad van de telefoonoplader wordt gedeeld met de drukknop. Om de drukknop op de gebogen GPIO-2-pin aan te sluiten, raad ik aan om een ​​Dupont-draad te gebruiken, omdat je hem in die vrij krappe ruimte recht op de pin kunt schuiven.

Foto van GPIO-2 bedraad met een Dupont-draad
De GPIO-2-pin bedraden met een Dupont-draad

Als je bel een batterijgevoede is, verschilt het schema niet zo veel. Doe net alsof de transformator niet in de bovenstaande afbeelding staat. De twee aansluitingen van de batterijgevoede bel, sluit direct aan op het bord (naar de COMen NOgelabelde poorten).

Gedaan? Geweldig! Als u op de deurbelknop drukt, gaat de bel nu al! Dus eigenlijk ben je nu geëindigd met wat je al had …

Nu kun je doorgaan met het configureren van je slimme deurbel in Home Assistant, laat het plezier maar beginnen!

Integreren met Home Assistant

Welkom bij het gemakkelijkere deel van deze gids. Integratie van je nieuwe, zelfgemaakte, slimme deurbel met Home Assistant. Home Assistant zal het automatisch ontdekken. Het enige dat u hoeft te doen, is het te activeren en een heleboel nieuwe entiteiten te ontgrendelen waarmee u kunt spelen.

Deze schermopname laat zien hoe dat werkt:

Animatie over hoe je de doe-het-zelf slimme deurbel integreert met Home Assistant
Integratie van de ESPHome DIY slimme deurbel met Home Assistant

Home Assistant slimme deurbel automatiseringen

Op dit moment heb je een deurbel met wifi. Is het al slim? Niet echt…

Het toevoegen van enkele automatiseringen aan Home Assistant zou het echt slim maken! Er zijn veel automatiseringen die hiermee kunnen worden gecreëerd. Laat me u echter een paar eenvoudige en nuttige voorbeelden geven.

Meldingen naar uw telefoon verzenden

Deze kleine automatisering stuurt een melding naar onze telefoon als er iemand voor de deur staat. We hebben Apple iPhones en horloges, dus die meldingen zouden ook op onze pols terechtkomen, zelfs als de bel is uitgeschakeld!

---
# This automation triggers when the doorbell button is pushed
# and sends out a notification to our Apple iPhones/watches.
#
automation:
  - alias: "Doorbell Notifications"
    trigger:
      platform: state
      entity_id: binary_sensor.doorbell_button
      to: 'on'
    action:
      - service: notify.mobile_app_frencks_iphone
        data:
          title: Doorbell
          message: Ding dong! Someone is at the door!
          data:
            attachment:
              content-type: jpeg
              url: http://tiptag.com.ar/wp-content/uploads/2018/06/timbre1.jpg
      - service: notify.mobile_app_ninja_iphone
        data:
          title: Doorbell
          message: Ding dong! Someone is at the door!
          data:
            attachment:
              content-type: jpeg
              url: http://tiptag.com.ar/wp-content/uploads/2018/06/timbre1.jpg

Schakel de bel uit tijdens de late uurtjes

Ik heb twee kinderen. Niets is vervelender dan het geluid van de deurbel ongeveer 15 minuten nadat je ze in bed hebt gelegd 😞. Deze kleine automatisering schakelt de gong tijdens de late uurtjes uit en schakelt hem ’s ochtends weer in.

---
# Turns off the doorbell chime after 8pm.
# Turns it on again in the morning @ 7am.
#
automation:
  - alias: "Doorbell off after 8pm"
    trigger:
      platform: time
      at: "20:00:00"
    action:
      service: switch.turn_off
      entity_id: switch.doorbell_chime_active

  - alias: "Doorbell on after 7am"
    trigger:
      platform: time
      at: "07:00:00"
    action:
      service: switch.turn_on
      entity_id: switch.doorbell_chime_active

De camera aan de voordeur streamen als er iemand voor de deur staat

Deze kleine automatisering is handig als je een camera op je voordeur hebt gericht. Als je op de deurbelknop drukt, wordt de camerastream van je voordeurcamera naar je woonkamer-tv gestuurd 📺.

---
# This automation triggers when the doorbell button is pushed
# and out the front door camera stream to the tv.
#
automation:
  - alias: "Doorbell Camera"
    trigger:
      platform: state
      entity_id: binary_sensor.doorbell_button
      to: 'on'
    action:
      - service: camera.play_stream
        data:
          entity_id: camera.front_door
          media_player: media_player.living_room_tv

Meer slimme ideeën voor deurbelautomatisering

  • Schakel de bel uit wanneer u het alarm inschakelt wanneer u thuis bent, om aan te geven dat u naar bed bent gegaan.
  • Gebruik druksensoren in je bed om de bel uit te zetten tijdens het slapen.
  • Maak een momentopname van de camera wanneer er iemand voor de deur staat en stuur deze naar je telefoon.
  • Gebruik de gong ook als alarmbel, bijvoorbeeld bij rook- of waterlek.
  • Gebruik gezichtsherkenning op je voordeurcamera om de deurbel uit te schakelen voor degenen voor wie je de deur niet wilt openen. Bijv. een onbekende persoon of je schoonmoeder😈
  • Voorkom overmatig misbruik van het indrukken van de deurbel door deze een paar minuten uit te schakelen nadat erop is gedrukt.
  • Sluit de actieve schakelaar van de deurbelbel aan op je spraakassistent, zodat je ‘Hey Google, zet de deurbel uit’ kunt zeggen

Optionele wijzigingen en aanpassingen

Er zijn waarschijnlijk honderd variaties op deze benadering die ik heb gekozen, maar dat was niet het punt van deze gids. Sommige zijn echter het vermelden waard.

De voeding van de chimes gebruiken met een step-down

In mijn geval wordt mijn deurbelsignaal gevoed door 8 Volt (DC) van de transformator. Hoewel de spanning te hoog is voor het bord, had ik een kleine regelaar kunnen gebruiken om van de 8 volt naar de 5 volt te gaan die het bord nodig heeft.Productafbeelding van een AMS1117 step down naar 5v

DC-spanningsregelaar Step Down
4.75V-12V tot 5V 800mA

De pin-headers worden meestal apart geleverd, dus dit vereist solderen.

Deze “step-down” zijn beschikbaar voor ongeveer een dollar op AliExpress. Omdat ik echter genoeg oudere opladers heb die ik zou kunnen gebruiken, en ik heb wel een stopcontact beschikbaar in mijn nutskast (waar de deurbeldraden zijn); Ik heb mezelf het extra geld bespaard 😉.

Meerdere deurbelknoppen gebruiken (bijv. voor- & achterdeur)

In sommige huizen zijn er meerdere deurbellen. Bijvoorbeeld een voor de voordeur, de andere voor de achterdeur. Meestal zijn ze verbonden met dezelfde gong. Er zijn drie manieren om deze handleiding in die gevallen te gebruiken:

  1. Sluit de deurbeldrukknoppen parallel aan op één chip. Dit is snel en goedkoop, u kunt echter niet onderscheiden op welke knop is gedrukt.
  2. Sluit twee van die borden parallel aan op de gong. Je hebt twee borden en één bel nodig, maar je kunt nog steeds de deurbel onderscheiden.
  3. Vervang de ESP-01S en relaiskaart door een van de grotere broers. Die zorgen voor meer GPIO-pinnen. Het zou echter duurder zijn in vergelijking met het gebruik van slechts twee van dit project.

MQTT gebruiken (bijvoorbeeld voor gebruik met OpenHAB)

Maak je geen gebruik van Home Assistant? Echt? Of misschien gebruik je MQTT liever met OpenHAB, Node-RED of Domoticz. Welnu, u kunt dit project ook gebruiken! ESPHome biedt een MQTT-interface.

Raadpleeg de documentatie van ESPHome MQTT Client Component voor meer informatie over het gebruik van MQTT met ESPHome.

Dit artikel gaat niet over een slimme deurbel…

Ik hoop dat je geniet van je doe-het-zelf slimme deurbel! Nu is het echter tijd voor mij om schoon te maken. Dit artikel ging nooit over de deurbel! Dit artikel gaat over het laten zien hoe gemakkelijk, leuk en goedkoop doe-het-zelf smart home-oplossingen zijn. ESPHome & Home Assistant zijn gewoon geweldige tools waarmee iedereen erin kan springen en geweldige dingen kan maken.

De ESP-01S is een verbazingwekkend goedkoop en klein op ESP8266 gebaseerd bord, dat tegenwoordig zelden wordt overwogen of besproken. Je vindt er vooral artikelen en verwijzingen naar haar grote broers; de ESP8266 en ESP32. Als u echter slechts één of twee GPIO-pinnen nodig heeft, is dit een haalbare optie.

Overweeg dit: Vervang “deurbel” in dit artikel door “LED-lampje op het bed”… 🤯. Alles met een schakelaar en/of knop kan door dit bord vervangen worden (binnen de vermogensgrenzen blijven natuurlijk).