Reducir el consumo de ESP8266 al trabajar de forma autónoma con sensores

Desde hace más de cinco años, los módulos WiFi basados ​​en el ESP8266 SOC (ESP8285) se han utilizado con éxito en dispositivos independientes para medir varios parámetros de objetos y el entorno con la transmisión de datos recibidos a través de WiFi.



En el artículo "Cómo reducir el consumo de módulos wifi en diez o más veces", habló sobre algunas formas de reducir el tiempo de actividad de la sesión wifi de dichos módulos, lo que puede reducir significativamente el consumo de energía durante la transferencia de datos. En este caso, el tiempo típico de una sesión de transmisión de mensajes cortos se puede reducir de 1 a 4 segundos a 0,12 a 0,3 segundos.



Sin embargo, en dispositivos con sensores lentos o con un gran número de ellos, el tiempo para obtener información de los sensores aumenta significativamente. En este caso, el consumo de energía al sondear los sensores se vuelve acorde con el consumo de energía para la transmisión de datos a través de WiFi.



Al mismo tiempo, si los parámetros monitoreados por los sensores no han cambiado significativamente, o los resultados de la medición pueden usarse de forma autónoma, entonces no es necesario transferir datos a través de WiFi. Por ejemplo, si la temperatura medida de un objeto sigue siendo la misma, entonces no es necesario transmitir su valor, lo que ahorra energía en una sesión WiFi.



Además, el módulo de medición de temperatura basado en ESP8266 puede cambiar periódicamente al modo de suspensión profunda, en el que el consumo de corriente es inferior a 20 μA. Al despertar, el módulo lee las lecturas del sensor, compara estas lecturas con los datos anteriores. Si las lecturas han cambiado de manera insignificante o están dentro del rango de temperatura de funcionamiento permisible, el módulo vuelve al modo de suspensión sin una sesión de comunicación.

Si las lecturas del sensor cambian notablemente o van más allá del rango aceptable, el módulo transmite datos y / o una alarma a través de WiFi y cambia al modo de suspensión profunda.



, , 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.



imagen



...



En el próximo post te contaré cómo organizar el funcionamiento de los módulos ESP8266 con sensores en modo standby para interrupciones de un temporizador o GPIO, pero con un consumo de corriente de 2 mA en lugar de 15 mA con el módem WiFi apagado (o en lugar de 70 mA cuando está encendido). Como resultado, reducimos el consumo de ESP8266 cuando trabajamos con sensores en 10 o más veces.




All Articles