Forum: Haus & Smart Home ESP8266 Webserver auf Akkubasis


von WWhite (Gast)


Lesenswert?

Hallo,

aktuell habe ich durch ein parallelen Aufbau mehrere 18650er eine 
Stromquelle von 3.6V die zusammen Rund 10.000mAh zur Verfügung stellen. 
Zusätzlich habe ich einen Kondensator von 470uF eingebaut, um die 
Spannung konstant zu erhalten.

Ich würde mit diesem Aufbau gerne einen ESP8266-01 betreiben, auf 
welchem ein simpler Webserver läuft, welcher beim Request durch ein 
Client einfach einen durch einen Sensor gemessenen Wert zurückliefert.
Nun liegt mein Problem darin, dass der ESP8266-01 einen hohen 
Stromverbrauch aufweist, weshalb die Akkus nicht allzulang halten.

Da ich in meinem Setup leider auf keine Stromquelle zurückgreifen kann 
(und auch nicht möchte), überlege ich, inwiefern ich mein Setup 
verbessern kann. Ebenfalls das Betreiben eines Solarpanels o.Ä. bietet 
sich in diesem Fall nicht an.

Zuerst habe ich überlegt, ob ich ein WOL (WakeOnLan) zum ESP schicken 
könnte, dieser dann 5 Sekunden lang den Webserver startet und ich in der 
Zwischenzeit den Wert abfrage, im Anschluss würde der ESP8266 wieder in 
den Deepsleep gehen, aber auch hierfür müsste der ESP8266-01 
Empfangsbereit sein.

Ich verwende aktuell kein Sleeps oder Ähnliches in meinem Script. Habt 
ihr Erfahrung in diesem Bereich und könnt mir für die Lösung meines 
Problems Tricks/Tipps verraten?

Freue mich auf eure Ideen/Vorschläge.

von Sven B. (scummos)


Lesenswert?

Wie sieht der Client aus? Kannst du eine zweite (Low-Power, nRF24L oder 
so) Funkverbindung o.ä. vorsehen, die den ESP aufweckt? Kannst du 
umgekehrt den Client ununterbrochen laufen lassen, sodass der ESP8266 
periodisch aufwachen kann und seine Werte übertragen?

Falls beides nicht geht, glaube ich nicht, dass es dafür eine 
Möglichkeit gibt. Außer du nimmst eben größere Einschränkungen im Kauf, 
also z.B. alle 5 Minuten aufwachen und für 5 Sekunden an bleiben, und 
bis dahin merkt sich der Client eben den Request ...

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Der Webserver ist im Sleep Modus nicht erreichbar, also muss er immer 
normal laufen. Und das verbraucht etwa 100mA. WLAN ist nicht für's 
Strom-Sparen ausgelegt.

Wake-On-Wlan kann im Sleep Modus auch nicht funktionieren, falls es das 
überhaupt gibt.

von WWhite (Gast)


Lesenswert?

Da ich die Werte nur auf Anfrage brauche und dann Live, ist ein Senden 
alle 5Minuten leider nicht möglich.

Der Client ist mein Raspberry-PI der immer läuft. Eine Komponente 
einbauen, die den ESP weckt wäre möglich, dies müsste aber auch in 
diesem Fall live (1-5Sekunden Verzögerung wäre ok) passieren. Leider 
bringt mir das Ergebnis im Falle einer Verzögerung von Größer 5 Sekunden 
nichts, da somit die zeitliche Differenz zu groß wäre. (Luxusproblem)

von Stefan F. (Gast)


Lesenswert?

WWhite schrieb:
> Der Client ist mein Raspberry-PI der immer läuft.

Dann drehe das doch um, mache den Raspberry Pi zum Server und den ESP 
zum Client. Dann wacht der ESP auf, wenn er etwas melden möchte.

Diese Variante ist ohnehin sehr viel einfacher zu programmieren, denn 
auf dem Raspi kannst du einen handelsüblichen Webserver mit Scripting 
Engine (z.B. Apache mit PHP) verwenden.

von Sven B. (scummos)


Lesenswert?

Die Frage ist halt ob der ESP zu deinem WLAN in <5 Sekunden eine 
Verbindung aufbauen kann, mit DHCP und allem. Meiner kann das jedenfalls 
nicht ...

Evtl. direkt ein anderes Funkmodul nehmen, z.B. das bereits erwähnte 
nRF24L01? Wenn du eh ein RPi als Client hast, ist das WLAN eigentlich 
nicht wirklich nötig.

von Renate (Gast)


Lesenswert?

LoRa-Module kosten auch nicht viel und brauchen sehr wenig Strom.

von Wolfgang (Gast)


Lesenswert?

Renate schrieb:
> LoRa-Module kosten auch nicht viel und brauchen sehr wenig Strom.

Ohne irgendwelche Informationen zu der Anwendung ist es schwierig zu 
sagen, ob das eine Alternative wäre.

von Timmo H. (masterfx)


Angehängte Dateien:

Lesenswert?

Sven B. schrieb:
> Die Frage ist halt ob der ESP zu deinem WLAN in <5 Sekunden eine
> Verbindung aufbauen kann, mit DHCP und allem. Meiner kann das jedenfalls
> nicht ...
Also ich habe einen ESP8285 als Wetterstation am laufen. Der wacht alle 
2 Minuten aus dem Deepsleep auf und sendet die Daten dann via MQTT an 
meinen RPi. Parallel dazu lasse ich mir auch die Zeit mitschicken wie 
lange er für den Wifi-Connect (inkl. DHCP Request) benötigt. Im mittel 
sind es bei mir 200ms und hin und wieder mal ausreißer bis hoch zu 3 
Sekunden im schlimmsten Fall. Sollte er nach 3 Sekunden die Verbindung 
nicht aufgebaut haben schicke ich ihn wieder in Deepsleep. Mein 800mAh 
Akku hält so 1-2 Monate. Die Hellblaue Linie ist die Zeit für den MQTT 
Connect.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Die Zeiten hängen sehr stark davon ab, mit wie vielen Leuten du dir das 
Funknetz teilst. Bei mir sind es typischerweise 3 Sekunden, manchmal 
aber auch 5. Mit festen IP Adressen kann das angeblich merklich 
verkürzen, habe ich aber noch nicht ausprobiert weil die 3 Sekunden für 
mich Ok sind.

von WWhite (Gast)


Lesenswert?

Im Prinzip geht es darum, wenn der ESP8266-01 angefunkt wird, je nach 
Request der eingeht ein Schrittmotor zu steuern und anschließend solang 
zu warten, bis der nächste Request rein kommt. Den selben Anwendungsfall 
habe ich noch für einen Sensor, welcher den Wert eines 
Entfernungsmessers (HC-SR04) zurückgibt.

Ich habe im hoffentlich endgültigen Zustand zukünftig nur keinen 
direkten ZUgriff auf die ESP8266-01 (sind fest verbaut), weshalb die 
möglichst lang auf Akkus laufen sollen.

von GEKU (Gast)


Lesenswert?

Das wichtigste Auswahlkriterium ist der Stromverbrauch des Empfängers 
bei einer Spannung zwischen 2,5 und 3,6 V. Wobei die Reichweite nicht 
außer acht gelassen werden darf.
Da die Übertragungsgeschwindigkeit wesentlich entscheidet für den 
Stromverbrauch ist, und diese für die Anwendung nicht erforderlich ist, 
scheidet IP aus.
Grundsätzlich ist die Frage ob eine Webinterface für 
Maschinen/Maschineninterface überhaupt optimal ist, es sind unnötig 
viele Daten zu übertragen.

von GEKU (Gast)


Lesenswert?

Der MRF89XAM8A arbeitet im ISM-Band auf 868 MHz und braucht im 
empfangsbereiten Zustand typisch 3mA. Der Stromverbrauch des MC (z..B. 
MSP430G2553) sollte im Stromverbrauch zu vernachlässigen sein.
Damit ließe das System über 4 Monate betreiben. Je nachdem wieviel 
gesendet werden muss und welche Aktivitäten noch parallel laufen ist die 
Laufzeit entsprechend kürzer.

von Stefan F. (Gast)


Lesenswert?

WWhite schrieb:
> Im Prinzip geht es darum, wenn der ESP8266-01 angefunkt wird, je nach
> Request der eingeht ein Schrittmotor zu steuern und anschließend solang
> zu warten, bis der nächste Request rein kommt.

Dann muss der ESP8266 wohl die Rolle des Servers einnehmen und somit 
permanent ca. 100mA Strom aufnehmen. Geht mit WLAN nicht anders.

von Piter K. (kurczaq)


Lesenswert?

ja falsche Architektur.... ESP den Wert senden lassen, dann wacht er 
jede Minute oder so auf. Dann hast Du keinen hohen Strombedarf

von WWhite (Gast)


Lesenswert?

Das Problem ist, dass in einem Anwendungsfall der ESP als Akteur dient 
also auf Bedarf eine Aktion ausführt. Für den Anwendungsfall mit den 
Sensoren auslesen stimme ich euch zu.

von Sven B. (scummos)


Lesenswert?

Ich denke die Antwort auf das Thema ist relativ eindeutig, und wurde ja 
auch schon mehrmals genannt. WLAN ist nicht die richtige Technologie, um 
Low-Power, Low-Bandwidth-Anwendungen umzusetzen, besonders wenn man 
Kontrolle über Sender und Empfänger hat. Du kannst dich m.E. entweder 
mit einem der genannten anderen Module auseinandersetzen oder wählen, 
welchen Todes du mit dem WLAN sterben willst. ;)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.