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.
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
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.
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)
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.
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.
LoRa-Module kosten auch nicht viel und brauchen sehr wenig Strom.
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.
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
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.
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.
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.
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.
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.
ja falsche Architektur.... ESP den Wert senden lassen, dann wacht er jede Minute oder so auf. Dann hast Du keinen hohen Strombedarf
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.