ESPEASY - Firmware para os ESP8266
O ESPEASY é um Firmware desenvolvido pela comunidade LetsControlIt.com para os CHIPS ESP8266. Ele traz uma série de novas características a esses microcontroladores que facilitam muito a vida do profissional ou hobbysta. Em artigos anteriores, fiz uma breve apresentação sobre este firmware, que pretendo detalhar tecnicamente agora.
Eu tenho usado muito o ESPEASY com os CHIPS ESP8266 principalmente pela facilidade em administrar os diversos componentes de casa. Toda a administração e configuração das funções são feitas baseado em um servidor WEB. Desta forma, basta instalar o FIRMWARE, colocá-lo no local, ligar e usar. Não precisa programar, compilar, enviar para o modulo nem nada muito complexo. Tarefas simples podem ser feitas usando um celular, como conectar o modulo a uma rede WIFI, alterar senhas, mudar comportamento de sensores e botões. A produtividade melhora muito. E quando cito os CHIPS ESP8266, tem um motivo especial: praticamente todos os modelos de SONOFF possuem um ESP. Deste modo, podemos instalar o ESPEASY nos interruptores substituindo o firmware original.
Versões do ESPEASY
O ESPEASY é dividido em diversas VERSÕES que possuem diferentes recursos, correções e aprimoramentos. A versão mais antiga disponível e considerada por mim uma das mais tranquilas para uso é a 120. Ela é compatível com a maioria dos ESPs e possui um conjunto aceitável de módulos e funções. É a versão que poderíamos usar para a maior parte das situações.
Existem versões mais avançadas do firmware, como a 2.0, 2.1 e a 3, sempre seguindo um esquema de lançamento de novos firmwares estáveis. Para entender melhor a relação das versões, veja este link:
https://www.letscontrolit.com/wiki/index.php/ESPEasy#Version_names.2C_numbers.2C_and_branches
Dispositivos suportados
Como disse anteriormente, boa parte dos dispositivos SONOFF são suportados por este firmware. Em futuros artigos, irei demonstrar como fazer a instalação em diversos SONOFFs distintos. Para ver todos os dispositivos suportados, use o seguinte link:
https://www.letscontrolit.com/wiki/index.php/ESPEasy#Supported_Hardware
Download do firmware
Para este artigo, iremos utilizar a versão R120 como demonstração, mas os passos são parecidos em todas as versões. Para o download, siga este link: http://www.letscontrolit.com/downloads/ESPEasy_R120.zip
Atualizando o firmware
Você irá baixar um ZIP, descompacte-o. Veja o conteúdo do arquivo:
Note que os arquivos com a extensão .bin são os firmwares do ESPEASY. Para este exemplo, vou atualizar o firmware em um NODEMCU V3. Veja a placa abaixo. Para testar, um NODEMCU custa uns 20 reais no MercadoLivre.
É necessário apenas que você saiba qual é o tamanho da memoria do CHIP que você está atualizando, pois existem 3 tamanhos de arquivo: 512KB, 1MB e 4MB. Com uma pequena pesquisa, descobri que o meu NODEMCU tem 4MB de memória, portanto vou utilizar a imagem de 4MB.
Conecte o seu NODEMCU em uma porta USB da máquina e verifique em que porta COM ele está conectado, acessando o gerenciador de dispositivos:
Veja em “PORTAS” que o meu está na COM8 (USB-SERIAL CH340 (COM8)). Sabendo desta informação, iremos executar o arquivo flash.cmd. Preencha os dados como segue, visto que o 8 é a porta, o 4096 é o tamanho da memória do NODEMCU e o 120 é a versão do ESPEASY:
Aguarde a conclusão do processo:
Com o processo concluído, seu ESP está com o firmware atualizado com o ESPEASY. Reinicie o dispositivo.
Agora seu dispositivo, quando inicializar, criará uma nova rede wireless. Nesta versão do ESPEASY, a rede será a ESP_0:
Conecte nesta rede, usando um celular ou mesmo o notebook. A senha para esta rede será configesp.
Após a conexão, acesse o endereço http://192.168.4.1 em um navegador:
Note que serão exibidas todas as redes WIFI ao alcance do CHIP. Escolha a rede que você deseja conectar e digite a senha dela no campo Password e clique em Connect.
Aguarde a configuração e conexão na sua rede:
Após a conexão da rede, será apresentado uma tela com o IP que o ESPEASY conseguiu pegar. Para prosseguir com a configuração, clique no link “Proceed to main config”. Você será direcionado para a página inicial do ESPEASY:
Configurações iniciais do ESPEASY
A tela do ESPEASY é dividida em várias abas: MAIN, Config, Hardware, Devices e Tools. Cada uma delas tem o proposito de configurar alguma parte do ambiente do Software. Para mais detalhes, vamos ver cada uma delas:
MAIN
Na aba MAIN serão apresentadas as informações do ESPEASY:
Veja um detalhado sobre os itens principais:
LOAD: Porcentagem de uso do processador do ESP8266
Uptime: Tempo que o ESP8266 está ligado
Wifi RSSI: Nivel do sinal do WIFI
IP: IP atual do ESPEASY
GW: Gateway de rede do ESPEASY
BUILD: Versão do firmware
Core Version: Versão do núcleo do ESPEASY
Unit: Numero da unidade na rede
STA MAC: MAC ADDRESS da estação do WIFI
AP MAC: MAC ADDRESS do ACCESS POINT da rede
Flash SIze: Tamanho da memoria do ESP8266
Free Mem: Memoria livre no ambiente
Boot cause: Motivo do ultimo desligamento ocorrido no ESPEASY
CONFIG
Na aba CONFIG estão as configurações de nome do dispositivo, rede WIFI, configuração do HUB de automação e dados de endereçamento IP
Hardware
Nesta guia são configurados os comportamentos iniciais dos pinos (GPIOs) do ESP8266:
DEVICES
Nesta guia podemos definir o comportamento de cada pino, atribuindo um acessório, um sensor ou um botão e definindo diversas características de comportamento para cada item. Esta é uma das mais importantes na questão da configuração do comportamento do modulo. Iremos futuramente ver alguns truques e dicas de como utilizar este tópico.
TOOLS
Aqui podemos ajustar configurações avançadas relacionadas ao modulo, como ativar e desativar recursos, trocar a rede WIFI, adicionar um novo firmware ou mesmo resetar as configurações definidas.
Conclusão
Como pudemos observar, adicionar esse firmware a um ESP8266 é relativamente fácil (desde que o modulo permita essa facilidade sem usar um USB_TO_TTL, por exemplo) e o uso através da interface WEB é muito prático. Podemos configurar o modulo sem que pra isso eu precise retira-lo de onde ele está. Uma vez configurado e instalado, podemos fazer manutenções via WEB sem dor de cabeça. Essa é a grande sacada deste projeto. Podemos ainda ter algumas configurações mais avançadas, com comportamentos de acordo com atividades predefinidas e até um pouco de programação. Mas isso fica para os próximos artigos.