Como utilizar timers no ESP8266 com nodeMCU

Uma importante função no desenvolvimento de um firmware embarcado é o timer. O timer é uma função que, quando configurada de forma correta, executa uma determinada ação a cada ciclo de tempo configurado.

Por exemplo:

Se desejar piscar um LED a cada 500 mile segundos, criamos um timer que executa uma função, para fazer o LED acender ou apagar a cada vez que a função for chamada, trocando o estado atual do LED para um novo.
No ESP8266, podemos utilizar até 7 timers simultâneos, que vão de 0 até 6, onde a função de configuração do timer é dada:

tmr.alarm(index, ms, type, callback)

Onde:

index: Corresponde a identificação do timer, que deve ser de 0 à 6 e não pode se repetir.
ms: É o tempo de intervalo entre um timer e outro, que é dado em mile segundos.
type: É o tipo do timer, onde 0 é um timer de única execução e 1 são multiplas execuções ou até que o timer receba o comando de parar.
callback: É a função que será chamada a cada execução.

Para parar um timer, basta executar o seguinte comando com o index do timer a ser parado:

tmr.stop(index)

Abaixo segue um exemplo do uso de timers para conectar em um Access Point e para fazer o pisca LED.

Com isso, o uso de timers passa a ser mais simples!

Happy Hacking!