Vraag


Acties:
  • 0 Henk 'm!

  • verjager
  • Registratie: Oktober 2012
  • Niet online
Situatie:
  • bedrade deurbel op trafo 8V wisselspanning
  • tutorial gevolgd van Frenck op https://frenck.dev/diy-smart-doorbell-for-just-2-dollar/ met afgebogen pin GPIO2
  • ESP-01S + ESP-01S Relay v1.0
  • Firmware succesvol geflashed en Wifi-verbinding succesvol wanneer vervolgens via de FTDI aangesloten met enkel 3.3V op 3V3 + CH-EN, en GND naar GND
  • Geen Wifi-verbinding wanneer vervolgens met een USB-lader 5V wordt gezet op het Relay bordje met de ESP. Tenminste... wanneer ik de spanning erop laat staan, en de ESP er een aantal keer af haal en terugzet, lukt het uiteindelijk wel... tot een reboot.
Het lijkt erop dat het booten niet lukt omdat de GPIO2 (ook) wordt gebruikt om de ESP in flash-modus te zetten. In https://gathering.tweakers.net/forum/list_messages/2024002 is een suggestie over een condensator aangedragen. Maar i.v.m. gebrek aan elektronica-kennis, echter toch een paar vragen.
  • Met een testmotortje aangesloten op NO en CON van het Relay reageert deze alleen wel precies omgekeerd op het maken van contact op GPIO2. Klopt dit wel?
  • Is de condensator echt nodig, moet dit eigenlijk niet worden afgevangen via de mode INPUT_PULLUP?
  • In dat topic wordt ook de optie genoemd om GPIO3 te gebruiken. Lijkt een mooi alternatief. Wat is dan de mode die gebruikt moet worden?
  • Of ben ik beter af met een Wemos D1 o.i.d.?
  • En anders kan ik nog altijd via een Shelly1 proberen, maar dit geknutsel is toch wel leuk...
Code esphome:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
substitutions:
  name: deurbel
  
esphome:
  name: ${name}
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: '###'
  password: '###'
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.0.105
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.0.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
    
# Enable logging
logger:

# Enable Web server
web_server:
  port: 80

# Enable Home Assistant API
api:
  password: '###'

ota:
  password: '###'

# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time
    timezone: Europe/Amsterdam

# Text sensors with general information.
text_sensor:
  # Expose ESPHome version as sensor.
  - platform: version
    name: ${name}_ESPHome Version
  # Expose WiFi information as sensors.
  - platform: wifi_info
    ip_address:
      name: ${name}_IP
    ssid:
      name: ${name}_SSID
    bssid:
      name: ${name}_BSSID

# Sensors with general information.
sensor:
  # Uptime sensor.
  - platform: uptime
    name: ${name}_Uptime

  # WiFi Signal sensor.
  - platform: wifi_signal
    name: ${name}_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: ${name}_Restart

  # Switch to turn on/off the chime.
  - platform: gpio
    id: relay
    inverted: true
    name: ${name}_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: ${name}_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: ${name}_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

Beste antwoord (via verjager op 19-04-2021 20:15)


  • brsm
  • Registratie: Juni 2008
  • Laatst online: 06-07 11:42
Ik denk dat ik de oplossing gevonden heb, het lijkt in ieder geval te werken:

Ik heb de input_pullup verwijderd en ik laat het de ESP zelf regelen.

code:
1
2
# mode: INPUT_PULLUP
# inverted: true

[ Voor 27% gewijzigd door brsm op 19-04-2021 20:10 ]

Alle reacties


Acties:
  • +1 Henk 'm!

  • raymonvdm
  • Registratie: December 2001
  • Laatst online: 30-06 16:35
Ik heb deze helemaal doorgelezen maar ik zie zo geen gekke dingen.

Als het relay verkeerd om zou zijn dan betekend dat wellicht dat deze verkeerd om is

code:
1
2
3
4
5
6
 Switch to turn on/off the chime.
  - platform: gpio
    id: relay
    inverted: true        <<----
    name: Doorbell Chime
    pin: GPIO0


Maar als gpio2 ook gebruikt wordt voor de programmeer stand dan zal het indrukken van de bel ook invloed hebben op je boot bij een stroomfailure 8)7

De GPIO2 lijkt niet iets te doen met de boot mode tenzij GPIO0 ook LOW is

Afbeeldingslocatie: https://tweakers.net/i/25ECHLNdf4urwtAU2lXgKNQ6nII=/800x/filters:strip_exif()/f/image/8JN2DDNOE9UL1vIe933GxwxE.png?f=fotoalbum_large

https://www.instructables...g-Up-Your-New-ESP01-Modu/


Je gebruikt wel een Normally Open schakeleer om je deurbel te testen en niet stiekem een Normally Closed schakelaar?

zou het zo kunnen zijn dat je relais printje niet helemaal lekker is, werkt de losse ESP wel als je deze alleen voeding geeft? Heb je eventueel een tweede setje om een en ander uit te sluiten?

[ Voor 101% gewijzigd door raymonvdm op 13-01-2021 01:06 ]


Acties:
  • 0 Henk 'm!

  • verjager
  • Registratie: Oktober 2012
  • Niet online
Bedankt voor je antwoord. Ik heb e.e.a. geprobeerd, maar helaas nog geen succes.
raymonvdm schreef op woensdag 13 januari 2021 @ 00:38:
Ik heb deze helemaal doorgelezen maar ik zie zo geen gekke dingen.

Als het relay verkeerd om zou zijn dan betekend dat wellicht dat deze verkeerd om is

code:
1
2
3
4
5
6
 Switch to turn on/off the chime.
  - platform: gpio
    id: relay
    inverted: true        <<----
    name: Doorbell Chime
    pin: GPIO0
Aangepast en die wisselt het relay inderdaad om.
Maar als gpio2 ook gebruikt wordt voor de programmeer stand dan zal het indrukken van de bel ook invloed hebben op je boot bij een stroomfailure 8)7
Als de stroom uit is gevallen, zal de deurbel het toch niet doen ;-)
De GPIO2 lijkt niet iets te doen met de boot mode tenzij GPIO0 ook LOW is

[Afbeelding]

https://www.instructables...g-Up-Your-New-ESP01-Modu/
Het wel of niet beschikbaar komen van de Wifi-verbinding bij booten is ook met inverted: false nog steeds onbetrouwbaar. Maar in beide gevallen blijft -- als het dan gelukt is door de ESP er een paar keer op en af te halen -- bij 'indrukken' van de bel het relay wel gewoon schakelen. Maar zonder Wifi is er niets smart aan.
Je gebruikt wel een Normally Open schakeleer om je deurbel te testen en niet stiekem een Normally Closed schakelaar?
Ja, gewoon met een Dupont kabeltje. Los = uit, op GPIO2 = aan simuleren.
zou het zo kunnen zijn dat je relais printje niet helemaal lekker is, werkt de losse ESP wel als je deze alleen voeding geeft? Heb je eventueel een tweede setje om een en ander uit te sluiten?
Heb hier 2 ESPs en relays (zelfde bestelling) maar die reageren identiek.

Acties:
  • 0 Henk 'm!

  • brsm
  • Registratie: Juni 2008
  • Laatst online: 06-07 11:42
Hier hetzelfde probleem. De GPIO2 pull_up lijkt niet te reageren. Heb de setup ook op mn breadboard nagemaakt, heeft echt met de firmware te maken. Ondertussen verder opzoek naar een oplossing.

Acties:
  • 0 Henk 'm!

  • verjager
  • Registratie: Oktober 2012
  • Niet online
Ik heb t maar opgegeven, en een Shelly1 gebruikt. Had m bijna gefrituurd door op 12V DC de plus en min te verwisselen, maar werkt nu perfect.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • brsm
  • Registratie: Juni 2008
  • Laatst online: 06-07 11:42
Ik denk dat ik de oplossing gevonden heb, het lijkt in ieder geval te werken:

Ik heb de input_pullup verwijderd en ik laat het de ESP zelf regelen.

code:
1
2
# mode: INPUT_PULLUP
# inverted: true

[ Voor 27% gewijzigd door brsm op 19-04-2021 20:10 ]


Acties:
  • 0 Henk 'm!

  • verjager
  • Registratie: Oktober 2012
  • Niet online
Mooi dat het gelukt is! Zal er misschien later zelf ook nog eens naar kijken.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:52

Septillion

Moderator Wonen & Mobiliteit
Wil je probleemloos dan gebruik je GPIO2 niet voor een input. Je kan dan beter GPIO1 (Tx) of GPIO3 (Rx) gebruiken als je toch geen serial wilt hebben.

Als je bel bij het opstarten even af gaat dan is het verstandiger om gewoon het andere relais contact te pakken :)

Acties:
  • 0 Henk 'm!

  • p38cyq
  • Registratie: December 2017
  • Laatst online: 07-07 09:02
Ivm. een ander onderwerp op deze site : wat gebeurt er als men de reset pin even kortsluit met gnd?

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:52

Septillion

Moderator Wonen & Mobiliteit
@p38cyq Dan reset de ESP. Uitgaande dat de reset pin netjes hoog getrokken wordt via een weerstand.

Acties:
  • 0 Henk 'm!

  • p38cyq
  • Registratie: December 2017
  • Laatst online: 07-07 09:02
Bv. met een 3k3 of dergelijke van RST naar GND?
En wat gebeurt er dan met de firmware van de ESP? Deze is vanuit de fabriek voorzien van een SSID, verdwijnt die dan? Of gaat die dan naar default-instellingen (die ik niet ken)?

[ Voor 4% gewijzigd door p38cyq op 14-12-2021 15:38 ]


Acties:
  • 0 Henk 'm!

  • p38cyq
  • Registratie: December 2017
  • Laatst online: 07-07 09:02
Heb dit gedaan met een 3K3 weerstand. ESP werd teruggezet naar default-instellingen.( = AP Mode)

[ Voor 6% gewijzigd door p38cyq op 26-12-2021 18:06 ]

Pagina: 1