Primeiros passos com o ESP8266

Primeiros passos com o ESP8266

30/04/2015 Alexandre Vicenzi 5 min de leitura

Dando continuidade ao artigo sobre o ESP8266, hoje irei mostrar os primeiros passos com este módulo. O primeiro passo e o mais importante é colocar ele pra funcionar. :D

Material necessário

Para a brincadeira de hoje, iremos necessitar de pelo menos um ESP8266, fique a vontade na escolha do seu módulo, eu irei utilizar o ESP-01 e o ESP-12. Além disso será necessário um módulo UART de 3.3v, um computador com uma porta USB disponível e algum programa para conversar serialmente, no meu caso irei utilizar a própria IDE do Arduino.

ESP-01 e ESP-12

Abaixo você pode conferir os meus ESPs montados.

Módulo UART

No meu caso o módulo usa o chip CP2102 e possui alimentação de 5 e 3.3v.

UART USB TTL CP2102

IDE Arduino

Caso você ainda não possua um aplicativo para comunicar com o ESP, eu sugiro a IDE do Arduino, que pode ser encontrar aqui.

Modos de Operação

O ESP permite que você conecte ele de duas formas, a primeira e mais comum é o modo de programação, onde é possível fazer upload de arquivos ou enviar comandos, tudo via serial. A outra forma é a de atualização de firmware (ou Flash). Esta por sua vez permite que você sobrescreva o firmware que vem no módulo. Dependendo o fabricante, as vezes nem é disponibilizado um firmware inicial, e você deve fazer o upload antes de iniciar o uso, mas isto é assunto para o próximo artigo.

Por padrão, nem sempre ocorre, os módulos ESP saem de fabrica com o firmware AT. Este firmware consiste em uma série de comandos básicos para o uso do módulo em si, mas não se compara ao NodeMCU, um firmware que permite que você programe o dispositivo em LUA, transformando ele em um mini Arduino com WiFi integrado. No caso do AT, é necessário o uso de um outro dispositivo para controlar o ESP, como é o caso dos shields Ethernet do Arduino. Mas com o NodeMCU, o ESP se torna auto gerenciável, bastando apenas fazer upload de um script LUA com o código a ser executado.

Confira abaixo como conectar o módulo UART no ESP para usá-lo nos modos de programação a atualização de firmware.

Conexão

Lembre-se que estas conexões mudam de acordo com o ESP e o módulo UART escolhido, então não nos comprometemos com os passos a seguir, faça por sua conta e risco. Lembre-se também de usar a voltagem correta.

A conexão básica funciona assim:

ESP UART
RX -> TX
TX -> RX
VCC -> VCC
CH_PD -> VCC
GND -> GND

Abaixo você pode observar as conexões específicas, pois além destes pinos, outros são necessários para o funcionamento.

ESP-01

Abaixo você pode observar os pinos do ESP-01.

ESP-01 Pins

Programação

Não necessita pinos adicionais.

Flash

Para entrar no modo de atualização de firmware, você deve conectar o GND ao GPIO0. Confira imagem abaixo:

ESP-01 UART Flash

ESP-12

Abaixo você pode observar os pinos do ESP-12.

ESP-12 Pins

Programação

No modo de programação ainda é necessário conectar o pino GND ao GPIO15. Confira imagem abaixo:

ESP-12 Pins

Flash

Para entrar no modo de atualização de firmware, você deve conectar o GND ao GPIO0. Confira imagem abaixo:

ESP-12 Pins to Flash

Comunicação Serial

Agora que já temos o nosso ESP pronto para ser ligado ao PC, vamos ao que interessa, enviar comandos básicos com o firmware AT.

Após abrir a IDE do Arduino vá em Tools > Port e escolha a porta USB onde está o UART. Depois disto, vá em Tools > Serial Monitor. Você deverá ver uma tela como esta:

Arduino Serial Monitor

Agora vamos configurar a comunicação. Por padrão a velocidade é 9200 baud e o fim de linha é Both NL & CR, como mostrado acima, mas caso você tenha problemas, tente mudar estes valores.

Depois de configurar vamos aos comandos básicos:

Comando Valores Descrição Exemplo
AT N/A Verifica se o ESP está OK AT
AT+RST N/A Reinicia o ESP AT+RST
AT+CWMODE 1 = Station, 2 = AP, 3 = Ambos Define o modo de operação WiFI AT+CWMODE=3
AT+CWLAP N/A Lista as redes disponíveis AT+CWLAP
AT+CWJAP SSID, Senha, Canal, Criptografia Conecta a uma rede AT+CWJAP="seu SSID","sua senha"
AT+CWQAP N/A Desconecta da rede AT+CWQAP
AT+CIPSTATUS N/A Retorna o status do WiFi AT+CIPSTATUS
AT+CWJAP? N/A Verifica qual rede conectada AT+CWJAP?
AT+CIFSR N/A Retorna o IP do ESP na rede AT+CIFSR

O comando mais básico a ser executado é o AT. Ao executar um comando você tem duas possíveis respostas:

  • OK - O seu comando foi executado com sucesso
  • ERROR - Erro no comando. Ou ele não existe, ou está com parâmetro errado

Se você executou o AT e não teve nenhum dos dois retornos, talvez você esteja em uma destas situações:

  • Você fez a conexão dos pinos errada
  • O seu ESP pode estar operando em outra velocidade
  • O seu ESP não possui firmware, ou veio com outro que não é o AT

Se o seu retorno for algum texto diferente, pode ser outro firmware. Se o texto for caracteres estranhos, provavelmente é a velocidade de comunicação muito elevada.

Espero que este artigo possa ajudar você no mais básico processo de comunicação. Nas próximas publicações mostrarei como alterar o firmware e fazer algumas brincadeiras com LEDs.

Até a próxima.