Arduino Nano ESP32 - Controla LED via Web
Neste tutorial, vamos aprender a controlar um LED por meio de uma interface web usando um navegador em um PC ou celular, utilizando o Arduino Nano ESP32. Em detalhes, o Arduino Nano ESP32 será programado para funcionar como um servidor web. Vamos supor que o endereço IP do Arduino Nano ESP32 seja 192.168.0.3. Veja os detalhes de como funciona:
- Quando você digita 192.168.0.3 no navegador web, o navegador envia uma requisição ao ESP32, e o Arduino Nano ESP32 responde com uma página web que contém o botão de ligar/desligar para controlar o LED.
- Da mesma forma, quando você clica no botão "Turn ON" na página web ou digita 192.168.0.3/led1/on no navegador web, o Arduino Nano ESP32 liga o LED e responde com a página web de controle.
- Do mesmo modo, quando você clica no botão "Turn OFF" na página web ou digita 192.168.0.3/led1/off no navegador web, o Arduino Nano ESP32 desliga o LED 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 Arduino Nano ESP32
- O conteúdo HTML está separado do código do Arduino Nano ESP32 e colocado em um arquivo .h
O tutorial oferece os fundamentos que você pode personalizar facilmente e com inovação para conseguir o seguinte:
- Controlar vários LEDs pela web
- Redesenhar a interface do usuário (UI) web
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Sobre o LED e o Arduino Nano ESP32
Se você não conhece o LED e o Arduino Nano ESP32 (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
Código Arduino Nano ESP32 - O conteúdo HTML está embutido no código do Arduino Nano ESP32
Passos Rápidos
Para começar com o Arduino Nano ESP32, siga estes passos:
- Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 na Arduino IDE.
- Faça a ligação dos componentes de acordo com o diagrama fornecido.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.
- Abra o Library Manager clicando no ícone Library Manager na barra de navegação à esquerda da Arduino IDE.
- Pesquise por “DIYables ESP32 WebServer” e encontre a DIYables ESP32 WebServer.
- Clique no botão Install para instalar a biblioteca Web Server da DIYables.

- Copie o código acima e abra-o na Arduino IDE
- Altere as informações de WiFi (SSID e senha) no código para as suas
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor.
- Você verá um endereço IP, por exemplo: 192.168.0.3. Este é o endereço IP do Servidor Web do Arduino Nano ESP32
- Abra um navegador web e digite um dos três formatos abaixo na barra de endereços:
- Esteja ciente de que o endereço IP pode variar. Verifique o valor atual no Serial Monitor.
- Você também verá a saída abaixo no Serial Monitor
- Verifique o estado do LED
- Você verá a página web da placa Arduino Nano ESP32 no navegador web como abaixo

- Agora você consegue ligar/desligar o LED por meio da interface web
Código Arduino Nano ESP32 - O conteúdo HTML está separado do código do Arduino Nano ESP32
Como uma página web gráfica contém uma grande quantidade de conteúdo HTML, embuti-la no código do Arduino Nano ESP32 como antes se torna inconveniente. Para resolver isso, precisamos separar o código do Arduino Nano ESP32 e o código HTML em arquivos diferentes:
- O código do Arduino Nano ESP32 ficará em um arquivo .ino.
- O código HTML (incluindo HTML, CSS e Javascript) ficará 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 na 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-o no index.h.
- Agora você tem o código em dois arquivos: newbiely.com.ino e index.h
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Acesse a página web da placa Arduino Nano ESP32 por meio de um navegador web no seu PC ou celular como antes. Você a verá semelhante ao 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 o upload do código para o ESP32, a Arduino IDE não 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 LEDs pela web
- Redesenhar a interface do usuário (UI) web



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