O NodeMCU ESP8266 revolucionou os projetos com Arduino ao unir microcontrolador + Wi-Fi em um único módulo de baixo custo. Com ele, é possível criar um WebServer completo, acessível pelo navegador, sem a necessidade de computador ou servidor externo.
Neste post, você aprenderá a criar um WebServer com ESP8266, capaz de controlar dispositivos e exibir informações em tempo real através da rede Wi-Fi.
🎯 Objetivo do Projeto
Criar um sistema capaz de:
- Conectar o ESP8266 a uma rede Wi-Fi
- Criar um servidor web embarcado
- Acessar o sistema via navegador
- Controlar saídas digitais (LED, relé, etc.)
- Exibir informações em tempo real
🧠 Como Funciona o WebServer no ESP8266
O ESP8266 possui uma pilha TCP/IP integrada, permitindo:
- Hospedar páginas HTML
- Receber requisições HTTP
- Responder comandos do navegador
Fluxo básico:
Navegador ⇄ Wi-Fi ⇄ ESP8266 (WebServer)
🧰 Componentes Utilizados
Hardware
- NodeMCU ESP8266
- LED ou Módulo Relé
- Resistores
- Jumpers
Software
- Arduino IDE
- Biblioteca ESP8266WiFi
- Navegador web
⚙️ Configuração da Arduino IDE
- Instale o suporte ESP8266 no Gerenciador de Placas
- Selecione:
- Placa: NodeMCU 1.0 (ESP-12E)
- Porta correta
🌐 Conectando o ESP8266 ao Wi-Fi
#include <ESP8266WiFi.h>
const char* ssid = "SUA_REDE";
const char* password = "SUA_SENHA";
WiFiServer server(80);
void setup() {
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi conectado");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
}
🌍 Criando o WebServer
Exemplo simples para controlar um LED:
int led = D1;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
WiFiClient client = server.available();
if (!client) return;
String request = client.readStringUntil('\r');
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(led, HIGH);
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(led, LOW);
}
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<h1>Controle Web ESP8266</h1>");
client.println("<a href='/LED=ON'>Ligar</a><br>");
client.println("<a href='/LED=OFF'>Desligar</a>");
delay(1);
}
🖥️ Acesso pelo Navegador
Após o upload:
- Abra o Monitor Serial
- Anote o IP exibido
- Digite o IP no navegador
- A página web será carregada
🔐 Boas Práticas de Segurança
- Utilizar senha forte no Wi-Fi
- Implementar autenticação HTTP
- Restringir comandos sensíveis
- Usar HTTPS (quando possível)
🚀 Possíveis Melhorias
- Interface HTML + CSS
- Controle via smartphone
- Leitura de sensores
- Integração com MySQL e PHP
- Comunicação MQTT
- Uso de ESP32
🏠 Aplicações Práticas
- Automação residencial
- Controle de iluminação
- Monitoramento remoto
- Projetos IoT
- Ensino de redes e web embarcada
📌 Conclusão
O NodeMCU ESP8266 com WebServer via Wi-Fi é um dos projetos mais completos e versáteis com Arduino. Ele une eletrônica, redes e desenvolvimento web em um único sistema.
Com pequenas melhorias, esse projeto pode se transformar em uma solução profissional de IoT.
🌐 Próximo passo: WebServer com ESP8266 + Dashboard Responsivo