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

  1. Instale o suporte ESP8266 no Gerenciador de Placas
  2. 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:

  1. Abra o Monitor Serial
  2. Anote o IP exibido
  3. Digite o IP no navegador
  4. 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

By muchoa

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *