Este tutorial demonstra como criar um servidor web usando Arduino e ESP8266 que é atualizado com AT Firmware. Os módulos WiFi ESP8266 vêm com firmware de comando AT pré-instalado. Antes de continuar com este tutorial, você pode conhecer os fundamentos dos comandos ESP8266 e AT para configurá-lo como um servidor web nos artigos a seguir.
Introdução ao ESP8266 e servidor Web usando ESP8266.
Aqui iremos conectar o Arduino UNO ao ESP8266 usando comunicação serial e programação do Arduino para lidar com os comandos AT.
O código lida com a inicialização do ESP8266 na função setup , como
-
Reinicialize o módulo.
-
Configure-o como um ponto de acesso.
-
Imprime o endereço IP do módulo.
-
Configure-o como um servidor na porta 80 e para múltiplas conexões.
Piscando novamente com firmware AT:
Esta etapa pode ser ignorada se você for novo no ESP8266 e tiver comprado o módulo recentemente, já que os módulos ESP8266 vêm com firmware de comando AT pré-carregado. Se você já usou o ESP8266 com firmware NodeMCU e script LUA, você deve atualizar com o firmware de comando AT mais recente antes de continuar com o tutorial.
Esta parte deste tutorial lhe dará uma ideia sobre como atualizar o novo firmware AT para o módulo ESP. Você pode baixar o firmware AT aqui.
Você pode usar o conversor USB-TTL para atualizar o ESP8266 com este firmware.
Para obter instruções detalhadas sobre como atualizar o ESP8266, consulte este artigo. Nesse artigo você encontrará detalhes sobre como atualizar o ESP8266 com NodeMCU. Usaremos o mesmo software para fazer o flash com firmware AT.
Conexões para modo Flash:
Os detalhes normais da conexão são os seguintes:
|
Módulo Wi-Fi |
USB-TTL
|
|
Vcc |
3,3 V |
|
Gnd |
Gnd |
|
Texas |
RX |
|
RX |
Texas |
|
CH_PD |
Conectado a 3,3 V para ativar a inicialização do firmware do chip |
Não se esqueça de puxar CH_PD HIGH, você não receberá resposta do módulo se isso não for feito.
Além das conexões acima. Para entrar no modo flash do firmware, precisamos fazer uma conexão adicional, o mais fácil é usar uma placa de ensaio para isso.
ESP-01 GPIO0 – Puxe para baixo conectando ao GND
Você pode seguir todas as etapas desse tutorial para atualizar o ESP8266, exceto que você deve escolher a guia Config e clicar no pequeno símbolo de engrenagem na primeira e navegar até o Firmware AT que você baixou.

Figura 1: Captura de tela do firmware AT
E clique no botão Flash para fazer o Flash. Você pode verificar o funcionamento enviando comandos AT.
Arduino para ESP8266 por comunicação serial:
Veja como configurar o Arduino para se comunicar com o ESP8266.
A fiação é muito semelhante à do FTDI.
Arduino 3.3V para ESP8266 VCC
Pino 3 do Arduino para ESP8266 RX
Pino 2 do Arduino para ESP8266 TX
Arduino GND para ESP8266 GND
Você pode usar um esboço simples de entrada e saída serial. Para verificar o funcionamento.
|
#include SoftwareSerial ESPserial(2, 3); //RX Texas
configuração nula { Serial.begin(9600); //comunicação com o computador host //enquanto (!Serial) { ; }
// Inicia a serial do software para comunicação com o ESP8266 ESPserial.begin(9600);
Serial.println(“”); Serial.println(“Defina NL e CR no monitor serial.”); Serial.println(“Pronto”); Serial.println(“”); }
loop vazio { // ouve a comunicação do ESP8266 e então a grava no monitor serial if (ESSerial.available ) {Serial.write(ESSerial.read ); }
// escuta a entrada do usuário e envia para o ESP8266 if (Serial.available ) { ESPserial.write(Serial.read ); } } |
Depois que tudo estiver configurado, abra o monitor serial e defina a taxa de transmissão para 9600, você deverá receber a mensagem de boas-vindas.

Figura 2: Captura de tela do terminal serial Arduino
Servidor web Arduino:
O servidor web pode ser criado configurando o ESP8266 como um ponto de acesso e outros dispositivos podem se conectar. Consulte o artigo detalhado sobre o servidor Web aqui.
Nosso objetivo é enviar todos os comandos AT do Arduino na ordem correta para tornar o ESP8266 um AP e permitir que outros dispositivos o acessem e controlem.
Aqui estamos criando uma Função no código do Arduino para enviar os comandos AT e receber as respostas dos comandos.
String sendData (comando String, const int timeout, depuração booleana)
Comando String – carregará o comando a ser enviado.
Timeout – tempo máximo de espera pela resposta.
Depurar – para saber o status do ESP8266.
Quando há solicitação de dados, se a string +IPD estiver nos dados seriais, então as Respostas HTTP que são Códigos HTML são enviadas em tempo real para criar uma página com o texto “HelloWorld” e um Botão “LED1” que está programado para alternar o LED embutido do Arduino. Após fazer o upload do código, abra o monitor serial do Arduino IDE. Você pode ver as respostas do módulo ESP8266.
Conecte-se ao ponto de acesso do ESP8266.

Fig. 3: Captura de tela dos pontos de acesso Wi-Fi
Você pode ver uma página como esta ao navegar até o endereço IP impresso na porta serial.

Fig. 4: Captura de tela da página da Web hospedada pelo Arduino Web Server
Clique no botão “LED1” para alternar o LED embutido no Arduino UNO.
Você também pode adicionar botões e controlar qualquer número de pinos replicando o código.
Verifique isso vídeo