Módulo WiFi ESP-01 - Pequeno e poderoso
Vamos abordar neste post, o ESP-01 ou ESP8266. O primeiro módulo da categoria que foi bastante famoso uns tempos atrás, mas que hoje em dia ainda é muito util, sendo muito usado para projetos IoT (Internet of Things). |
Um pouco sobre o ESP-01 ou ESP8266
O ESP8266 ou ESP-01 da forma como conhecemos, foi projetado pela Espressif, que permitiu uma certa facilitação em termos de Internet das Coisas (IoT) e que fosse utilizado funções para o chip gravado na placa, desta forma permitindo a desenvolvedores gravarem seus firmwares.
O ESP-01 é um módulo WiFi com chip integrado que permite componentes compatíveis serem acessíveis pelo acesso a rede Wireless tanto com o ESP-01 conectado a um ponto de acesso quanto sendo seu próprio ponto de acesso como uma rede local. Este módulo pode ser usado tanto individualmente, com um programa gravado no próprio ESP, quanto em conjunto com alguma placa Arduino. A comunicação com o arduino é feita através dos pinos TX e RX do ESP-01 e tendo uma conexão Serial. Seu custo é cerca de ~5x menor que de placas arduino convencionais.
É um módulo relativamente simples, com poucas conexões, possui 8 pinos físicos, dentre eles 4 são pinos I/O. Na prática, apesar de ter 4 pinos I/O, dois deles são os RX e TX da placa, logo não são muito utilizados em projetos, mas para usar-los é necessário definir no setup() do código pelo Arduino IDE caso esteja usando o ESP como placa e não apenas como módulo.
void setup() {
pinMode(pinTX, INPUT);
pinMode(pinRX, INPUT);
}
Mas mesmo que adaptarmos os pinos TX e RX, ainda teremos apenas 4 pinos, é melhor que antes, mas mesmo assim comparado ao arduino é muito pouco, entretanto digamos que a comunidade de usuários do ESP-01 tecnicamente deram um jeito de expandir e usar mais pinos no ESP-01 ¯\_(ツ)_/¯.
Um vídeo gringo onde o cara fez uma soldagem e conseguiu usar mais de um pino do ESP. Eu sei que é real pq eu mesmo já fiz isso também. Mas no meu caso foi apenas um pino de I/O e outro que é usado para ativar o Deep Sleep.
Como programar nessa placa?
Para programar nessa placa é possivel usar o Arduino IDE, primeiro deve ir em “File > Preferences”, e em Additional Boards Manager URLS, adicione o seguinte link: http://arduino.esp8266.com/stable/package_esp8266com_index.json.
Assim, basta ir em “Tools > Boards > Boards Manager” e pesquisar por “esp8266” e instalar as placas da comunidade. Assim basta reiniciar a Arduino IDE que você poderá selecionar a placa “Generic ESP8266” para programar no ESP-01. Normalmente o pino do BUILDIN_LED no ESP01 é o pino 1, então certifique-se de que seja esse pino o selecionado, o restante você não precisa mecher, bastando abrir um Sketch do Blink e carregar ele que você verá o LED piscando.
Caso as imagens estegam pequenas basta clicar com botão direito e em abrir imagem em nova aba.
Pô, muito dahora e tal, mas como caralho conecto essa coisa no computador? bom existem algumas formas, algumas usando um Arduino Uno para servir de intermediário, outros mais práticos é usando um Adaptador TTL USB UART, felismente existem versões que já são feitos para usar com o ESP01.
Exemplo 1: Usando Arduino Uno
No caso do Arduino Uno, tem duas formas, uma usando um Adaptador adequado, e outro sem ele. Como eu tenho um Adaptador da Robocore (Fabricante Nacinal) vou demonstrar o Exemplo com Ele. A vantágem desse adaptador é que ele permite conectar aos 5v do Arduino.
O Esquema usando o Adaptador é o seguinte, para usar o ESP-01 em modo de gravação com o Adaptador, basta ligar os seguintes pinos.
- Pino TX do ESP-01 deve ser conectado ao TX do Arduino;
- Pino RX do ESP-01 deve ser conectado ao RX do Arduino;
- Pino RST do Arduino deve ser conectado ao GND;
- Pino GND do ESP-01 deve ser conectado ao GPIO0 do ESP-01.
Assim ao Ligar ambas as placas o ESP-01 estará em modo de gravação.
Caso não queira ou não tenha o Adaptador, o esquema é o seguinte, primeiro você vai precisar fazer um divisor de tensão com alguns resistores para que o Arduino Não queime o ESP01, o divisor tem que ter uma saída de 3.3 volts:
- Pino TX do ESP-01 deve ser conectado ao TX do Arduino;
- Pino RX do ESP-01 deve ser conectado ao RX do Arduino;
- Pino RST do Arduino deve ser conectado ao GND;
- Pino GND do ESP-01 deve ser conectado ao GPIO0 do ESP-01;
- Pino VCC do ESP-01 conectado ao CP_EN do ESP-01.
Assim ao Ligar ambas as placas o ESP-01 estará em modo de gravação.
Exemplo 2: Usando um Adaptador próprio para ESP01
O Segundo exemplo, consiste em usar um Adaptador USB, mas primeiro como o ESP01 para entrar em modo de programação precisa estar com o GPIO0 conectado ao GND. Basta soldar um botão no Adaptador bem nos pinos que correspondem as entradas e quando for conectar no PC aperte e segure o botão e conecte no PC, após conectar solte o botão que o ESP01 vai tá em modo de Gravação.
Desta forma, é possivel gravar no ESP01.