Reduzierung des Verbrauchs von ESP8266 bei der Offline-Arbeit mit Sensoren

Seit mehr als fünf Jahren werden WiFi-Module auf Basis des ESP8266 SOC (ESP8285) erfolgreich in eigenständigen Geräten eingesetzt, um verschiedene Parameter von Objekten und der Umgebung bei der Übertragung empfangener Daten über WiFi zu messen.



In dem Artikel "So reduzieren Sie den Verbrauch von WLAN-Modulen um das Zehnfache oder mehr" sprach er über einige Möglichkeiten, die Aktivitätszeit solcher Module für WiFI-Sitzungen zu reduzieren, wodurch der Energieverbrauch während der Datenübertragung erheblich gesenkt werden kann. In diesem Fall kann die typische Zeit einer Kurznachrichtenübertragungssitzung von 1 bis 4 Sekunden auf 0,12 bis 0,3 Sekunden reduziert werden.



Bei Geräten mit langsamen Sensoren oder mit einer großen Anzahl von Sensoren erhöht sich jedoch die Zeit zum Abrufen von Informationen von den Sensoren erheblich. In diesem Fall entspricht der Energieverbrauch bei Abfragesensoren dem Energieverbrauch für die Datenübertragung über WLAN.



Wenn sich die von den Sensoren überwachten Parameter nicht wesentlich geändert haben oder die Messergebnisse autonom verwendet werden können, müssen keine Daten über WLAN übertragen werden. Wenn beispielsweise die gemessene Temperatur eines Objekts gleich bleibt, ist es nicht erforderlich, seinen Wert zu übertragen, was bei einer WiFi-Sitzung Energie spart.



Darüber hinaus kann das auf ESP8266 basierende Temperaturmessmodul regelmäßig in den Tiefschlafmodus wechseln, bei dem der Stromverbrauch weniger als 20 μA beträgt. Beim Aufwachen liest das Modul die Sensorwerte und vergleicht diese Werte mit den vorherigen Daten. Wenn sich die Messwerte unwesentlich geändert haben oder innerhalb des zulässigen Betriebstemperaturbereichs liegen, schaltet das Modul ohne Kommunikationssitzung in den Ruhemodus zurück.

Wenn sich die Sensorwerte merklich ändern oder den zulässigen Bereich überschreiten, überträgt das Modul Daten und / oder einen Alarm über WLAN und wechselt in den Tiefschlafmodus.



, , WiFi . 70 . , WiFi .



: WiFi , 15, 5 .



, WiFi SDK , . 1 , 0.3 . , WiFi WiFi .



WiFi . , , , .



, void user_pre_init(void), NONOS SDK, 3.0, 0x60000704 . WiFi , 15 .

, WiFi.



, 0x60000704. , WiFi .



WiFi SDK wifi_get_opmode(), / . , , WiFi .



:



uint32 *RT= (uint32_t *)0x60000700;
void  user_pre_init(void)
{
    uint32 xRT=RT[4]; RT[4]=0;
//         
//   ,   :
   RT[4]=xRT;   
}


:

.



WiFi .



UDP.



Bild



...



Im nächsten Beitrag werde ich Ihnen erklären, wie Sie den Betrieb von ESP8266-Modulen mit Sensoren im Standby-Modus für Interrupts von einem Timer oder GPIO organisieren, jedoch mit einer Stromaufnahme von 2 mA anstelle von 15 mA bei ausgeschaltetem WiFi-Modem (oder anstelle von 70 mA beim Einschalten). Infolgedessen reduzieren wir den Verbrauch von ESP8266 bei der Arbeit mit Sensoren um das 10-fache oder mehr.




All Articles