Reduzir o consumo de ESP8266 ao trabalhar autonomamente com sensores

Por mais de cinco anos, os módulos WiFi baseados no ESP8266 SOC (ESP8285) têm sido usados ​​com sucesso em dispositivos autônomos para medir vários parâmetros de objetos e do ambiente com a transmissão dos dados recebidos via WiFi.



No artigo "Como reduzir o consumo de módulos wi-fi em dez ou mais vezes", ele falou sobre algumas maneiras de reduzir o tempo de atividade da sessão Wi-Fi de tais módulos, o que pode reduzir significativamente o consumo de energia durante a transferência de dados. Nesse caso, o tempo típico de uma sessão de transmissão de mensagem curta pode ser reduzido de 1 a 4 segundos para 0,12 a 0,3 segundos.



Porém, em dispositivos com sensores lentos ou com grande número deles, o tempo de obtenção das informações dos sensores aumenta significativamente. Nesse caso, o consumo de energia ao pesquisar os sensores torna-se compatível com o consumo de energia para transmissão de dados via WiFi.



Ao mesmo tempo, se os parâmetros monitorados pelos sensores não mudaram significativamente, ou os resultados da medição podem ser usados ​​de forma autônoma, não há necessidade de transferir dados via WiFi. Por exemplo, se a temperatura medida de um objeto permanecer a mesma, não é necessário transmitir seu valor, o que economiza energia em uma sessão WiFi.



Além disso, o módulo de medição de temperatura baseado em ESP8266 pode alternar periodicamente para o modo de sono profundo, no qual o consumo de corrente é inferior a 20 μA. Ao acordar, o módulo lê as leituras do sensor, compara essas leituras com os dados anteriores. Se as leituras tiverem mudado insignificantemente ou estiverem dentro da faixa de temperatura operacional permitida, o módulo volta para o modo de espera sem uma sessão de comunicação.

Se as leituras do sensor mudarem perceptivelmente ou ultrapassarem o intervalo permitido, o módulo transmite dados e / ou um alarme via WiFi e muda para o modo de hibernação.



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



imagem



...



No próximo post, vou explicar como organizar o funcionamento dos módulos ESP8266 com sensores em modo de espera para interrupções de um temporizador ou GPIO, mas com um consumo de corrente de 2 mA em vez de 15 mA com o modem WiFi desligado (ou em vez de 70 mA quando ligado). Como resultado, reduzimos o consumo de ESP8266 ao trabalhar com sensores em 10 ou mais vezes.




All Articles