ESP8266 - Controla Relé via Web
Este tutorial ensina como controlar um relé por uma interface web usando um navegador em um PC ou celular, utilizando o ESP8266. Em detalhe, o ESP8266 será programado para funcionar como um servidor web. Vamos supor que o endereço IP do ESP8266 seja 192.168.0.3. Veja os detalhes de como funciona:
- Quando você digita 192.168.0.3 no navegador, o navegador envia uma requisição ao ESP8266, e o ESP8266 responde com uma página web que contém o botão de ligar/desligar para controlar o relé.
- Da mesma forma, quando você clica no botão "Turn ON" na página web ou digita 192.168.0.3/relay1/on no navegador, o ESP8266 liga o relé e responde com a página web de controle.
- Igualmente, quando você clica no botão "Turn OFF" na página web ou digita 192.168.0.3/relay1/off no navegador, o ESP8266 desliga o relé e responde com a página web de controle.

Vamos aprender por meio de dois códigos de exemplo:
- O conteúdo HTML está embutido no código do ESP8266
- O conteúdo HTML está separado do código do ESP8266 e colocado em um arquivo .h
O tutorial oferece os fundamentos que você pode personalizar com facilidade e inovação para conseguir o seguinte:
- Controlar vários relés pela web
- Redesenhar a interface de usuário web (UI)
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o relé e o ESP8266
Se você não conhece o relé e o ESP8266 (pinagem, como funciona, como programar ...), aprenda sobre eles nos tutoriais a seguir:
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
Código ESP8266 - O conteúdo HTML está embutido no código do ESP8266
Passos Rápidos
Para começar com o ESP8266 na Arduino IDE, siga estes passos:
- Veja o tutorial como configurar o ambiente para o ESP8266 na Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Ligue os componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código acima e abra-o com a Arduino IDE
- Altere as informações de WiFi (SSID e senha) no código para as suas
- Clique no botão Upload da Arduino IDE para fazer upload do código para o ESP8266
- Abra o Serial Monitor
- Confira o resultado no Serial Monitor.
- Você verá um endereço IP, por exemplo: 192.168.0.3. Esse é o endereço IP do Servidor Web ESP8266
- Abra um navegador e digite um dos três formatos abaixo na barra de endereços:
- Esteja ciente de que o endereço IP pode variar. Por favor, verifique o valor atual no Serial Monitor.
- Você também verá a saída abaixo no Serial Monitor
- Verifique o estado do relé
- Você verá a página web da placa ESP8266 no navegador, como abaixo

- Agora você consegue controlar o relé (ligar/desligar) pela interface web
Código ESP8266 - O conteúdo HTML está separado do código do ESP8266
Como uma página web gráfica contém uma grande quantidade de conteúdo HTML, embuti-la no código do ESP8266 como antes se torna inconveniente. Para resolver isso, precisamos separar o código do ESP8266 e o código HTML em arquivos diferentes:
- O código do ESP8266 será colocado em um arquivo .ino.
- O código HTML (incluindo HTML, CSS e Javascript) será colocado em um arquivo .h.
Passos Rápidos
- Abra a Arduino IDE e crie um novo sketch. Dê um nome a ele, por exemplo, newbiely.com.ino
- Copie o código abaixo e abra-o com a Arduino IDE
- Altere as informações de WiFi (SSID e senha) no código para as suas
- Crie o arquivo index.h na Arduino IDE da seguinte forma:
- Clique no botão logo abaixo do ícone do Serial Monitor e escolha New Tab, ou use as teclas Ctrl+Shift+N.
- Dê ao arquivo o nome index.h e clique no botão OK
- Copie o código abaixo e cole no index.h.
- Agora você tem o código em dois arquivos: newbiely.com.ino e index.h
- Clique no botão Upload da Arduino IDE para fazer upload do código para o ESP8266
- Acesse a página web da placa ESP8266 pelo navegador no seu PC ou celular como antes. Você a verá parecida com a do código anterior, como abaixo:
- Se você modificar o conteúdo HTML no index.h e não mexer em nada no arquivo newbiely.com.ino, quando você compilar e fizer upload do código para o ESP8266, a Arduino IDE não vai atualizar o conteúdo HTML.
- Para fazer a Arduino IDE atualizar o conteúdo HTML nesse caso, faça uma alteração no arquivo newbiely.com.ino (por exemplo, adicionar uma linha vazia, adicionar um comentário....)
- Controlar vários relés pela web
- Redesenhar a interface de usuário web (UI)



※ Nota:
Você pode personalizar o código acima com facilidade e inovação para conseguir o seguinte: