terça-feira, 6 de outubro de 2015

ESP8266: Transformando o módulo em um servidor TCP com comandos AT








Figura 1: ESP8266






















































Passos:

Conexão entre um Cabo FTDI e o módulo ESP8266.

Atenção: O ESP8266 é alimentado com 3.3v.
Figura 2: Conexão ESP - FTDI

Instalação do Firmware AT. 

Instale o programa para instalação do firmware AT: esp8266_flasher.
Baixe o arquivo .bin do firmware: New-AI-v0.9.5.0 AT Firmware.


Figura 3: Tela do programa para instalação do Firmware
Após abrir o programa, clique em "Bin" e selecione o arquivo New-AI-v0.9.5.0 AT Firmware.bin e selecione a porta COM onde está conectado o ESP8266. Depois clique em "Download".
Poderá ocorrer um erro ao fim.
Para testar se o firmware foi instalado corretamente você pode usar uma conexão serial, por exemplo com o programa PuTTY.exe.

Figura 4: Tela do programa PuTTY

Neste programa, selecione a opção "Serial" em "Connection type" e a porta COM correta (em "Serial line"). Clique em "Open".

Observação: o baudrate pode variar, teste primeiramente com 9600 no Speed. Se não funcionar tente com 115200.

No terminal digite "AT" e o módulo deve responder "OK". Para verificar o firmware digite "AT+GMR", o módulo responderá a versão do firmware instalado.

Módulo como Servidor TCP

Siga os comando abaixo:
Observação: Os comandos devem obter respostas de "OK" do módulo para confirmar que o comando funcionou.
  • Ative o módulo para funcionar como Station e Access Point: 
AT+CWMODE=3
  • Descubra as redes reconhecidas pelo módulo: 
AT+CWJAP?
  • Conecte-se a uma das redes disponíveis: 
AT+CWJAP="SSID","password"
  •  Verifique o IP do módulo:
AT+CIFSR
  • Permita múltiplas conexões:
AT+CIPMUX=1

  • Coloque o módulo para ouvir uma porta, no caso a 1336:
AT+CIPSERVER=1,1336
Pronto, seu módulo pode trocar mensagens via TCP. Para testar abra outro terminal PuTTY e, através da conexão Telnet, escolha o IP do módulo e a porta anteriormente configurada (no caso, 1336).
Figura 5: Tela do PuTTY para conexão Telnet
Após a conexão, você já pode enviar dados para o módulo! Basta escrever e digitar enter no terminal Telnet do PuTTY. O Módulo receberá os dados, conforme figura 6, que podem ser vistos no terminal serial do PuTTY.
Figura 6: Exemplo de dado recebido pelo módulo
Você também pode enviar dados do módulo para o Telnet:

AT+CIPSEND=0,8

Sendo o "0" o canal de comunicação e o 8 o tamanho do dado. Aparecerá um ">" como na figura 7, quando você poderá escrever o dado do tamanho que selecionou para enviar.


 Pronto, agora você consegue trocar dados através de TCP com seu módulo ESP8266!