PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ESP32 sendet Barometerdaten, dazwischen Deep sleep oder Wlan und MQTT aus-/anschalten



stepbystep
25.11.2021, 00:32
Hallo zusammen,
sende jede paar Minuten Barometerdaten mit dem ESP32 und MQTT. Damit eine Akkuladung recht lange hält möchte ich zwischen den Sendungen den ESP still legen. Soll ich das per deep sleep machen oder eher wlan und mqtt ausschalten und diese immer wieder wieder anwerfen (neue wlan Verbindung und am MQTT-Server neu anmelden?
Wie würdet ihr das machen?

Danke

jcrypter
25.11.2021, 11:12
Moin,
ich beschäftige mich gerade mit einem ähnlichen Thema.
Deep Sleep verbessert es, allerdings wird die Akkulaufzeit nicht für Monate reichen.
Ich werde wohl einen Attiny14a nehmen, der in den deep sleep geht und den ESP anschaltet sobald er aufwacht bzw sobald er die gewünschte Zeit überbrückt hat.
Attiny14a kann man auch mit der Arduino IDE und einem Uno programmieren.

Es kommt darauf an, was Du für eine Akkulaufzeit Du erreichen willst.
Ich würde es ausprobieren, wie lang reicht dein Akku wenn Du den ESP schlafen legst, vielleicht reicht dir das ja schon.

Crypi

stepbystep
25.11.2021, 19:42
Hallo,
ich habe mir 5 x AAA Akkus vorgestellt am Vin. Im Deep-Sleep per RTC-Timer soll der ESP nur 10 yA benötigen. Was benötigt der Attiny14a? Die Sensorüberwachung am ESP im deep-sleep soll ja auch schon 100yA benötigen.
Werde das mal beides probieren, mit deep-sleep und mit Abschaltung von Wlan wobei deep-sleep ja auch den wlan abschaltet :-/

Bietet sich deep-sleep überhaupt an für 5 Minuten Sendepause? Sind das nicht zu viele An-und Abschaltungen für den Router?

Rabenauge
25.11.2021, 23:38
Dem Router wird das relativ egal sein.
Ich würde dem ESP ne feste IP verpassen.

Und vergiss nicht, auch den Sensor abzuschalten, sonst wird der Schlafmodus nicht viel bringen.
Alles andere..wirst du wohl ausprobieren müssen.

Im übrigen: ein Barometer muss man normalerweise nicht aussen irgendwo montieren-die funktionieren drinnen genauso.
Das macht erst Sinn, wenn du nen Kombisensor wie den BMP 280 hast oder was ähnliches.

stepbystep
26.11.2021, 13:18
Hallo,
ja werde mal Verbrauchsdaten hier veröffentlichen wenn ich die "Sleep-Sache" reinprogrammiert habe (Wochenende).

An den Stromverbrauch des Sensors (BMP 280) hatte ich noch nicht gedacht. Ooohhh, wie schalte ich den denn ab?
Wichtiger für mich ist ja die Temperaturmessung vor Ort. Die Luftdruckmessung wollte ich hier nur als Nebeneffekt mitnehmen. Alternativ könnte ich dann evtl nur noch einen Temperaturfühler an den ESP anstecken und den BMP280 dann an meinen MQTT-Server (Raspi 3B) für die Luftdruckmessung einhängen.

Warum sollte ich den ESP auf statische Adresse setzen?

Rabenauge
27.11.2021, 12:01
..das musst du wahrscheinlich nicht.
Wird aber auch nix schaden.

Den Sensor kannst du über nen freien Pin zu-oder abschalten. Wenn du da nen Transistor ranhängst, sollte das gehen (ich weiss den Stromverbrauch von dem Ding grade nicht, da meine alle mit fester Stromversorgung laufen, unter sehr glücklichen Umständen braucht er weniger, als ein Pin liefern kann, dann gehts ohne Transistor-> Datenblatt lesen).
Im Grunde brauchst du ja nur drei Pins wirklich: Spannungsüberwachung (würde _ich_ auf jeden Fall mit rein nehmen, dann kann die Ausseneinheit nämlich über MQTT auch Bescheid geben, wenn die Batterie leer wird) und I2C.
Da ist also reichlich frei, um das abschalten realisieren zu können.

Und überleg dir ein gutes Gehäuse für den Sensor- wie alle Feuchte-Sensoren neigt auch der BMP dazu, von Zeit zu Zeit "nass" zu werden. Es geht aber,wenn man ihn sehr clever verbaut- meiner tut es jetzt schon ungefähr ein Jahr im Freien, und das aufm Gebirgskamm. Den musste ich noch nicht ein einziges Mal trocknen, es ist also möglich.

inka
27.11.2021, 16:39
Warum sollte ich den ESP auf statische Adresse setzen?

da musst du nicht viel machen, der router legt ja beim anmelden eines jeden neuen wlan gerätes eine IP adresse an und ordnet sie dem neuen gerät zu. Wenn du es bestätigst und dem router sagst, dass er hierfür immer die bereits angelegte IP-adresse zuordnen soll, ist das schon alles... Es ist aber einfacher, wenn die geräte immer unter der gleichen adresse auftauchen...

stepbystep
27.11.2021, 17:30
Hallo,
ok, gewöhne mir an die ganzen ESP's die ich im Einsatz habe auf statische IP zu setzen.

Es gibt Ergebnisse :cool:

Ein ESPressif32 (az-delivery-devkit-v4) mit "Blinkgprogramm" ohne angeschlossenen zusätzlichen Sensoren benötigt 50mA, im Deep-Sleep sind das 10mA und wenn man die Power-LED heraus bricht nur noch 8mA :-b

Mit angeschlossenem BMP280 geht der Strom hoch bis 124mA (Sendemodus) und im Deep-Sleep-Modus (diesmal mit Power-LED) runter auf 7-9 mA.

- - - Aktualisiert - - -

... was mir noch auffällt. Bei einem Vi von 5,5V anstatt 7,5V geht der Strom im letzten Beispiel mit Deep-Sleep auf sogar 6mA runter. Das muss irgendwie mit dem Onboard-Spannungsregler zu tun haben.

Rabenauge
27.11.2021, 19:55
Die Spannungsregler sind in diesen Dimensionen tatsächlich ziemliche Stromfresser. Wüsste aber auch nicht, wie der zu umschiffen wäre. Ein externer machts nicht besser, und Batterien gbts nicht, die perfekt passen würden.
Wegen dem hohen Strom beim senden: man kann die ESP _irgendwie_ auch in der Sendeleistung konfigurieren (ich habs mal irgendwo gemacht, aber keine Ahnung mehr, wo und wie..)- die kann man runter drehen, wenn man nicht alles braucht.
Aber das geht auch..

stepbystep
27.11.2021, 20:14
Über einen externen Step down Regler wäre das sicher verlustfreier!

Nach dem googeln meine ich, dass man die Sendeleitung mit der Espressif IDF machen kann (esp_err_t esp_wifi_set_max_tx_power(int8_t power). Mal schauen ob ich das mit meinem VSC PlatformIO auch irgendwie hin bekomme.

Testergebnis: Mit esp_wifi.h konnte ich mein Programm mit der Funktion esp_err_t esp_wifi_set_max_tx_power(int8_t power) fehlerfrei kompilieren und ausführen jedoch habe ich keine Unterschiede messen können bei unterschiedlichen Stärkewerten.

jcrypter
29.11.2021, 08:01
Ich komme nochmal auf meine Idee mit dem Attiny zurück.
Leider habe ich noch keine eigenen Erfahrungen, ich stecke an einem anderen Problem fest.
Aber wenn man dem hier:
https://homecircuits.eu/blog/low-power-picopower-attiny13a/
https://homecircuits.eu/blog/battery-powered-esp8266-iot-door-sensor/

glaubt, kommt man in den niedrigen µA Bereich.

Crypi