Dash Button mit ESP-01 und MQTT

Begonnen von Gunter1710, 08 Juni 2019, 18:51:48

Vorheriges Thema - Nächstes Thema

Felix_86

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
du tust dich erheblich leichter wenn du nicht nach den Pins (1,2,3 ...) gehst

Sorry, aber Gunter hat HIER (Gestern um 09:19:40) mit der Bezeichnung "Pin" angefangen.

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
sondern nach den Bezeichnungen (GPIO 0, GPIO 1(TX), GPIO 2, GPIO 3(RX), RESET oder EN )

Ja, das habe ich getan, wie HIER zu lesen. Auch habe ich dort ein Bild zur Orientierung referenziert, damit wir von den gleichen Bezeichnungen und Pins ausgehen können. Scheint wohl niemand beachtet zu haben ?!

Zitat von: Papa Romeo am 17 Mai 2021, 12:34:45
EDIT:
... hört sich fast so an, als würdest du die Versorgungspannung oder die Masse über den Taster zuführen ....  ??? :(

Bzgl. der Masse tue ich es doch auch irgendwie. Der Button stellt eine Verbindung zwischen der Masse und dem Reset Pin her.


Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

Felix,

hast du deinen ESP01 für den DeepSleep modifiziert ?  ::) ... ansonsten wirst du mit den Knopfzellen nicht glücklich ... :( :-[ :-\

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Felix_86

Zitat von: Papa Romeo am 17 Mai 2021, 13:29:17
hast du deinen ESP01 für den DeepSleep modifiziert ?  ::) ... ansonsten wirst du mit den Knopfzellen nicht glücklich ... :( :-[ :-\

Nein, war dem Beitrag unter https://www.thingiverse.com/thing:3678995 auch nicht zu entnehmen, dass etwas modifiziert werden muss. Aktuell nutze ich zwei 1,5V AA Batterien, da ich noch im Teststadium bin.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

#18
Hallo Felix,

der ESP01 kann von Haus aus keinen DeepSleep. Deswegen wurde im Original-Projekt (https://www.thingiverse.com/thing:2803769) auch ein ESP-08 verwendet.
Auch das Web-Update wird mit dem verlinkten Sketch nicht funktionieren, da der ESP01 auch keinen Zugriff auf GPIO12 hat.

Gunter1710 hat wohl was von 22 uA Ruhestrom geschrieben. Aber nur dann, wenn er die durchgeführte Modifikation, wie z.B hier

https://www.instructables.com/Enable-DeepSleep-on-an-ESP8266-01/

beschrieben am ESP01 vorenthalten hat.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gunter1710

Habe nun meinen Dash-Button mit ESP-01 aus der Mottenkiste rausgeholt.
Den Deep-Sleep Modus hab ich nicht aktiviert. Das Projekt sollte eher aufzeigen, was so ein ESP-01 alles kann und eine Anregung sein für weitere Projekte.
Nachdem ich die Batterie erneuert habe, hat mein FHEM schon beim ersten drücken auf den Knopf reagiert.
Ich muss auch keine 4 Sekunden warten, wie Felix_86 schreibt.

Sorry, aber das einzige was ich mir jetzt noch vorstellen kann ist ein Wackelkontakt bei der Stromversorgung, der beim drücken auf den Taster irgendwie zu Kontakt führt.

Gruß
Gunter
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Papa Romeo

Hallo Gunter,

dann solltest du das eventuell korrigieren. Denn ohne die Modifikation am ESP01 reich dies nicht für Monate. Der ESP01 benötigt nach einem RESET für den Wiederaufbau
der WLan-Verbindung schon mal über 500mA. Das macht die CR nicht all zu lange mit. Deswegen wurde im Basisprojekt sinnvoller Weise ein ESP08 und keine CR verwendet.

Zitat von: Gunter1710 am 08 Juni 2019, 21:47:08
Wie lange die Batterie hält hängt stark von der Benutzung des Button ab.
Der ESP-01 soll aber ca. 22uA im Ruhemodus benötigen.
Das dürfte schon einige Monate reichen.

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gunter1710

Zitat von: Papa Romeo am 18 Mai 2021, 06:43:58
Hallo Gunter,

dann solltest du das eventuell korrigieren. Denn ohne die Modifikation am ESP01 reich dies nicht für Monate.

Danke für den Hinweis. Ich habe auf thingiverse einen kleinen Zusatz geschrieben. Wenn man die Kommentare auf thingiverse richtig durchliest, dann schreibe ich auch, dass die Batterie nur < 3Monate hält. Die 22uA bezogen sich auf dep sleep und nicht auf meine original Schaltung  ;)

Gruß
Gunter
PS: Felix_86, ein anderer User auf thingiverse hatte auch Probleme bei Inbetriebnahme der Schaltung. Bei ihm hat ein tausch der Batterien geholfen.
Raspberry Pi 3, 15x Wemos D1 mini (ESPEasy)
5x HM-CC-RT-DN, 5x HM-LC-SW1-PL, 1x HM-RC-12-B, 5x HB-UNI-Sensor1 (AskSinPP)
3x SONOFF Pow (Tasmota), 1x SONOFF S20 (Tasmota), 2x SONOFF basic (Tasmota)
1x FB7560, 1x SolarLog 500, 1x Resol DeltaSol MX, 1x eBus v2 an Vaillant ecoTerm

Felix_86

Zitat von: Gunter1710 am 18 Mai 2021, 06:19:52
Ich muss auch keine 4 Sekunden warten, wie Felix_86 schreibt.

Sorry, aber das einzige was ich mir jetzt noch vorstellen kann ist ein Wackelkontakt bei der Stromversorgung, der beim drücken auf den Taster irgendwie zu Kontakt führt.

Ich habe die Schaltung nun mehrfach auf der Steckplatine komplett neu nachgebaut und geprüft, andere Kabel und einen anderen Button verwendet, sogar die Stromquelle auf ein 3-12 Volt Universal-Netzteil umgestellt - keine Änderung im Verhalten: Die Stromzufuhr muss für 4-5 Sekunden gegeben sein (durch Drücken und Halten des Buttons), sonst ist der ESP nicht erreichbar (Ping) und sendet auch nichts (MQTT).

Im Übrigen ist das Verhalten identisch, wenn ich den ESP mittels USB-Programmer-Adapter am Laptop anschließe und die Serielle Ausgabe prüfe: Auch hier dauert es 4-5 Sekunden bis der ESP sich im WLAN anmeldet und die MQTT Nachricht schickt.

Zitat von: Gunter1710 am 18 Mai 2021, 07:10:34
PS: Felix_86, ein anderer User auf thingiverse hatte auch Probleme bei Inbetriebnahme der Schaltung. Bei ihm hat ein tausch der Batterien geholfen.

Ich habe die Stromquelle auf ein 3-12 Volt Universal-Netzteil umgestellt, das sollte wohl genug Spannung liefern - unverändertes Verhalten.

Mein Fazit:

Es handelt sich vermutlich um einen anderen ESP (deiner != meiner).
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Papa Romeo

Zitat von: Felix_86 am 21 Mai 2021, 13:46:03
Die Stromzufuhr muss für 4-5 Sekunden gegeben sein (durch Drücken und Halten des Buttons), sonst ist der ESP nicht erreichbar (Ping) und sendet auch nichts (MQTT).

... der ESP sollte doch immer "Stromzufuhr" haben. An Dieser wird auch nichts "getastet". Es wird nur kurzzeitig der RESET auf Masse gelegt und somit dem ESP gesagt, er soll aus dem Schlaf erwachen, sich kurz mit dem WLan verbinden um "Hallo" zu sagen und sich dann wieder verabschieden.

Ich kann mir nicht helfen, aber nach deiner Beschreibung, trennst du doch über den Taster die Betriebsspannung für den ESP.   

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Was mir noch eingefallen ist.

Sollte deine Verkabelung doch der des ursprünglichen Projektes entsprechen (nur der RESET geht über den Button an Masse), dann sind dein Buttons keine "Schließer" sondern "Öffner".

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Felix_86

Vielen Dank soweit.
Problem lag wohl nicht am ESP, sondern saß davor (wie so häufig)  :P

Das bei thingiverse verlinkte Arduino Sketch versucht sich mittels MQTT zu verbinden, schickt bei erfolgreicher MQTT Verbindung eine Nachricht und legt sich dann schlafen. Ich hatte und habe aber gar keinen MQTT Broker der hätte Antworten können, daher hing das Sketch in der "Stelle MQTT Verbindung her"-Schleife fest und ging daher nie in den Sleep Mode.

Für den von mir geplanten Einsatzbereich kommt MQTTS zum Einsatz und es muss eine Nachricht im JSON Format geschickt werden. Also habe ich in einem eigenen Sketch erst mal MQTTS und JSON zum Laufen gebracht und mich dann dem Sleep Mode gewitmet.
Alles kombiniert scheint nun auch zu funktionieren wie erwartet: WLAN Verbindung wird hergestellt, MQTTS Verbindung wird hergestellt, MQTTS Nachricht im JSON Format wird geschickt, der ESP legt sich schlafen.

Was ich bzgl. der WLAN-Reaktionszeit festgestellt habe:
- Bis der ESP in meinem WLAN zu Hause, bereitgestellt durch eine Fritzbox 7272, erreichbar ist, dauert es immer diese 4-5 Sekunden, egal mit welchem Sketch.
- Im WLAN im Büro, bereitgestellt durch eine Barracuda CloudGen Firewall, ist der ESP innerhalb von 1 Sekunde erreichbar.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT, SD_GT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS