O ESP8266 é um módulo Wi-Fi adequado para projetos de IoT e automação residencial. Ele permite controlar entradas e saídas como você faria com uma placa da série Arduino, mas com Wi-Fi. Portanto, é adequado para aplicações de automação residencial/IoT.
Comparando o ESP8266 com outras soluções Wi-Fi no mercado, ele é uma excelente escolha para a maioria dos projetos de "Internet das Coisas". Neste artigo, apresentaremos os conceitos básicos da placa ESP8266, sua pinagem e exemplos de programação.
Introdução ao ESP8266
O ESP8266 é um microcontrolador potente e versátil com Wi-Fi que ganhou popularidade no mundo da eletrônica e da IoT (Internet das Coisas). Desenvolvido pela Espressif Systems, o ESP8266 oferece uma solução econômica para conectar dispositivos à Internet e permitir que eles se comuniquem entre si. Ele possui um módulo Wi-Fi integrado, um processador potente e pinos GPIO para conectar componentes externos. O ESP8266 pode ser programado usando várias linguagens de programação, tornando-o acessível tanto para iniciantes quanto para desenvolvedores experientes. Seu baixo consumo de energia e tamanho compacto o tornam ideal para uma ampla gama de aplicações, incluindo automação residencial, redes de sensores sem fio e dispositivos inteligentes. Por exemplo, o ESP8266 pode ser usado para criar um termostato inteligente que permite aos usuários controlar a temperatura de suas casas remotamente.
Pinagem do ESP8266

No diagrama dos pinos, alguns pinos têm outras utilizações além do GPIO. Por exemplo, o pino D1 não é apenas o GPIO5, mas também uma interface SCL, que pode ser ligada ao pino SCL correspondente do ecrã LCD.
A tabela a seguir mostra a correspondência entre as etiquetas na identificação da placa e os números GPIO, quais pinos são mais adequados para projetos e quais pinos requerem cuidado. Os pinos destacados em verde estão prontos para uso. Os destacados em amarelo podem ser usados, mas requerem atenção, pois podem apresentar um comportamento inesperado, principalmente na inicialização. Os pinos destacados em vermelho não são recomendados para uso como entradas ou saídas.
| Label | GPIO | Input | Output | Notes |
|---|---|---|---|---|
| D0 | GPIO16 | No Interrupt | No PWM or I2C support | HIGH at boot used to wake up from deep sleep |
| D1 | GPIO5 | OK | OK | Commonly used as SCL (I2C) |
| D2 | GPIO4 | OK | OK | Commonly used as SDA (I2C) |
| D3 | GPIO0 | Pull-up | OK | Connected to FLASH button, boot fails if pulled LOW |
| D4 | GPIO2 | Pull-up | OK | HIGH at boot connected to on-board LED, boot fails if pulled LOW |
| D5 | GPIO14 | OK | OK | SPI (SCLK) |
| D6 | GPIO12 | OK | OK | SPI (MISO) |
| D7 | GPIO13 | OK | OK | SPI (MOSI) |
| D8 | GPIO15 | Pull-down | OK | SPI (CS) Boot fails if pulled HIGH |
| RX | GPIO3 | OK | RX | HIGH at boot |
| TX | GPIO1 | TX | OK | HIGH at boot debug output at boot, boot fails if pulled LOW |
| A0 | ADC0 | Analog | X | Analog pin |
Como programar o ESP8266 com o Arduino IDE?
Existem várias maneiras de programar o ESP8266:
- Use o Arduino IDE para desenvolver, siga o estilo de desenvolvimento do Arduino, fácil de usar;
- Use o desenvolvimento SDK oficial do ESP8266;
- Use o MicroPython para desenvolver, siga o estilo de programação do Python (esse método precisa gravar um firmware especial para a placa primeiro);
Aqui escolhemos a primeira opção, porque a programação do Arduino é simples e fácil de operar.
Passo 1: Instale o Arduino IDE
Faça o download do IDE no site oficial do Arduino: https://www.arduino.cc/en/software. A versão que estou usando agora é o Arduino IDE 1.8.3. (Observe que a versão mais recente do Arduino IDE 2.1.1 não permite instalar o pacote de recursos ESP8266 online.)

Passo 2: Instalar o pacote ESP8266
Como o Arduino IDE é usado por padrão para a placa de desenvolvimento Arduino, existem apenas recursos de desenvolvimento relevantes para a placa de desenvolvimento Arduino por padrão. Para usar o ESP8266 no Arduino IDE, precisamos instalar manualmente o pacote de desenvolvimento ESP8266. Existem dois métodos de instalação: instalação online e instalação de pacote offline. Aqui, escolhemos o primeiro.
Primeiro, localize “Arquivo -> Preferências” no menu do Arduino IDE:

Em seguida, insira o link abaixo em "URLs adicionais do Gerenciador de Quadros":
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Em seguida, clique para abrir: Ferramentas -> Quadro -> Gerenciador do quadro.

No campo, digite e pesquise "esp8266". Você verá um pacote esp8266. Clique em "Instalar" para iniciar a instalação online.


Após a conclusão da instalação, você encontrará todos os recursos sobre a placa esp8266 no menu "Ferramentas->Placa".

Passo 3: Programação do ESP8266
Aqui, escrevemos um programa simples de teste de conexão de rede para a placa ESP8266. O código do programa é o seguinte:
void setup() {
Serial.begin(9600);
Serial.println("esp8266 test");
initWiFi();
}
void loop() {
Serial.println("hello esp8266");
delay(1000);
}
#include
constchar ssid[] = "xxxxx"; //WiFi Name
constchar pass[] = "xxxxx"; //WiFi Password
WiFiClient client;
//Initialize WIFI
void initWiFi()
{
Serial.print("Connecting WiFi...");
WiFi.mode(WIFI_STA); //Configure WIFI as Station mode
WiFi.begin(ssid, pass); //Incoming ssid and password of WIFI hotspot
while (WiFi.status() != WL_CONNECTED) //Waiting for successful connection
{
delay(500);
Serial. print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP()); //print your own IP address
}
Notas:
A função setup é usada para inicialização da porta serial. Por exemplo, "Serial.begin(9600);" significa que a taxa de transmissão inicial da porta serial é 9600.
A função loop é semelhante ao while(1){} na função principal no desenvolvimento de um microcomputador de chip único, onde podemos escrever códigos de lógica de programa.
Para usar a função WIFI, você precisa incluir o arquivo de cabeçalho "ESP8266WiFi.h".
O processo de inicialização do WIFI inclui 3 etapas:
- Configurar o WIFI para o modo Station, ou seja, nosso ESP8266 é usado como um dispositivo WIFI;
- Passar o ssid e a senha do hotspot WIFI, para que o ESP8266 possa se conectar ao hotspot;
- Leia o status da conexão WIFI e aguarde até que a conexão seja bem-sucedida.
Selecione o modelo e o número da porta serial da sua placa de desenvolvimento ESP8266:

Agora, podemos compilar e gravar o código na placa ESP8266WiFi.





