Esp32 drahtloses Senden über Batterie

Hallo,

ich würde gerne eine drahtlose Türklingel bauen. Diese muss über Batterie laufen (am besten 2AA Batterien).
Jetzt suche ich nach einer Möglichkeit möglichst stromsparend die Daten an meinen Computer zu senden.
Die einfachste Möglichkeit wäre den Esp32 als BLE Tastatur zu konfigurieren und dann eine Tastenkombination zu senden (sowas in der Art benötige ich am PC). Jedoch zieht dies dauerhaft Strom und die Batterie relativ schnell leer.
Wichtig ist, dass das Empfangen relativ schnell geht. Es sollte auf keinen Fall länger als eine Sekunde dauern.
Habt ihr vielleicht Ideen? Wenn ich einen zweiten Esp32 nutze, der am PC an Dauerstrom hängt, könnte ich auf einen WiFi oder BLE Server prüfen. Und bei Druck auf den Knopf wird dann einer auf dem andern (batteriebetrieben) geöffnet. Das würde wahrscheinlich auch funktionieren aber ist das nicht von der Geschwindigkeit relativ langsam?
Habt ihr noch andere Ideen?

Danke im Voraus

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
mfg ein Moderator.

Was genau verstehst du darunter ?
Muss es zwingend ein ESP32 sein ?
Es gibt ja noch andere Funk-Lösungen.
Un bei Batteriebetrieb ist ein ESP32 nicht gerade sparsam.

Da hätte ich was für dich. S1 ersetzt du durch einen Taster (Klingeltaster) deiner Wahl. Nach betätigen des Tasters hast du an out deine Spannung deiner Wahl, die du mit einem Microcontroller deiner Wahl verbinden kannst. Dieser macht dann was er machen soll, bzw. dieser kann dann Daten versenden. Beispielsweise über Wifi, Bluetooth, lora etc. was halt für dich am schnellsten ist und über P2 (1) kannst du mit einem high Impuls die ganze Schaltung wieder deaktivieren und nichts verbraucht Strom, solange nicht wieder der Taster gedrückt wird.

Ich selber benutze eine ähnliche Schaltung an einem ATSAMD21 allerdings noch erweitert um USB C und einem Lipo Laderegler und einem BMS und noch bisserl mehr Kram. Aber Ich gehe da mit 3,7 V rein und Wandle auf 3,3 V runter. Funktioniert einwandfrei.

C1 da sind die 10uF allerdings nicht ausreichend, hier sollte man mit mindestens 100uF arbeiten, damit das ganze zuverlässig funktioniert.

Brauchst Du nur eine klassische Klingel, oder sollen auf der batteriebetriebenen Seite weitere Funktionen integriert werden?
Ich wäre bei einem nacktem µC mit RFM69 Transceiver auf der Batterieseite, auf der "PC-Seite" kannst Du das wieder mit einem RFM69 am ESP oder Arduino, oder Raspi empfangen ...

Gruß André

Ich verstehe nicht, was du damit meinst. Was soll geöffnet werden?

Ich habe mal die Bibliothek BleKeyboard probiert.

Nach Reset wird ein direkt verschickter Buchstabe auf meinem Händi nicht erkannt. Erst bei millis() > 2000 funktioniert es. Mit meinem Händi wäre der Verbindungsaufbau also zu langsam.

Mein PC von 2016 hat wohl kein BLE, da wird der ESP32 nicht erkannt.

Eventuell ist Dein PC ja schneller :slightly_smiling_face:

Ich mache das so:

Es gibt im Haus einen ESP8266 der an einem Netzteil hängt.
Es gibt einen zweiten ESP8266 der ein kleines Programm hat das eine ESP-NOW-Nachricht sendet.

Die Klingeltaste wird als Strom-Einschalt-Taster benutzt.
Das bedeutet man muss die Taste ca 1,5 Sekunden lang gedrückt halten.
In den 1,5 Sekunden bootet der ESP8266 und sendet die ESP-NOW-Nachricht.

Wenn der Druck auf den Klingeltaster schon bei ganz kurzem Druck die Klingel auslösen soll dann könnte man das so machen
Der Klingel-Taster schaltet ein kleines bistabiles Relais. Der Relais-kontakt schaltet den Strom ein, dann sendet das Programm die ESP-NOW-Nachricht und sobald es damit fertig ist gibt es einen 50 Millisekunden-Impuls auf die zweite Spule des Relais wodurch der Strom wieder abgeschaltet wird.

Dadurch läuft der ESP8266 immer nur ganz kurz.
Das sollte mit einem ESP32 ganz ähnlich funktionieren habe ich aber noch nicht in der Realität getestet.
vgs

Hallo @evil17

was ist "Q1" für ein Bauteil? Ist das ein MOS-FET?
Kannst du da eine echte Typenbezeichnung posten?
image

vgs

Reicht da nicht ein PNP in der Versorgung des μC? PullUp vom Gate zur Versorgung. Taster Richtung GND an das Gate. Ein GPIO des μC an das Gate.
Sobald der Taster gedrückt wird, wird der PNP leitend. Des μC erste Arbeit ist den GPIO auf GND zu legen. Somit hält er seine Versorgung selbst. Wenn er fertig mit seiner Arbeit ist, gibt er dem GPIO Versorgungsspannung und der PNP trennt die Versorgung.

@StefanL38 Q1 ist ein Mosfet ich benutze dafür den PMV32UP,215 (steht auch unter Q1)

https://www.digikey.de/de/products/detail/nexperia-usa-inc/PMV32UP-215/2780258

@StefanL38 & @Plumps:

Selbsthaltung mit zwei Transistoren und drei Widerständen, wobei der Taster solange gedrückt werden muß, bis der Arduino-Steuerpin HIGH liefert:

mit mehr Aufwand und Abfallverzögerung durch C1:

Nicht zu vergessen die Selbsthalteschaltung mit Relais siehe bei Wikipedia.

Dann muss man die Taste wieder so lange drücken bis der µC gebootet hat
weil ja der µC für die Selbsthaltung den IO-pin schalten muss.
Dem bistabilen Relais reichen 50-100 Millisekunden bis es geschaltet hat.

Ich war bisher der Annahme, dass das "booten" sehr viel schneller geht. Zumindest schneller als ein Mensch einen Taster drücken und wieder loslassen kann.

Geht natürlich auch wird aber tendenziell mehr Strom verbrauchen, weil ja die Relais-Spule "die ganze Zeit" bestromt werden muss bis der µC gebootet hat. = ca 1,5 Sekunden. Das Senden der ESP-NOW-Nachricht ist dann in 2 Millisekunden erledigt.
Bei 1,5 Sekunden können da WiFi, Bluetooth usw. einfach nicht mithalten. Auf der Empfängerseite hat man jedoch ständigen Stromverbrauch. Netzteil 5V ca 50 mA.

Dem ESP8266 / ESP32 würden ja auch 3V genügen. Gibt es eigentlich kleine Steckernetzteile mit 3,3V?
vgs

Hm also ich habe die Zeit des Bootens nicht gemessen. Das ist jedenfalls die Zeit die ich den Taster drücken muss bis meine per ESP-NOW geschaltete Garagenstromversorgung sich eingeschaltet hat.

EPS8266-Sender ----> ESP-NOW-----ESP8266-Empfänger----Kleinrelais----Schaltschütz 32A für die Garage

Warum denn alles so kompliziert? Die Schaltung die ich gepostet habe, hält sich auch selbst. Benötigt nur einen kurzen Impuls und wäre theoretisch unabhängig von einem Microcontroller zu betreiben. Da muss nicht gewartet werden bis irgendwas gebootet ist.
Und im Aus Zustand wird kein Strom verbraucht, also optimal für einen Batteriebetrieb.

Auch wenn der ESP32 nicht erst dem Bootloader startet, so benötigt der Aufbau der Funkverbindung doch so 1,5 bis 2 Sekunden, siehe #7.

Ich habe überhaupt nichts gegen Deine Schaltung, aber wenn man die Relaisschaltung verstanden hat, versteht man möglicherweise auch die elektronischen Schaltungen besser. So meine Idee :slightly_smiling_face:

Warum den Pin nicht Schalten vor Aufbau von irgendwelchen Verbindungen?