mikrocontroller.net

Forum: Haus & Smart Home ESP8266 Webserver auf Akkubasis


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: WWhite (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: WWhite (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Renate (Gast)
Datum:

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

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Timmo H. (masterfx)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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
Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: WWhite (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: GEKU (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: GEKU (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Piter K. (kurczaq)
Datum:

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

Autor: WWhite (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven B. (scummos)
Datum:

Bewertung
0 lesenswert
nicht 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. ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.