Para quem já me conhece no Lab, sabe que gosto de ir a fundo ao conhecer componentes e circuitos eletrônicos. 

Em 2012 criei um tópico sobre Conhecendo o Raspberry Pi e hoje já tem mais de 16.480 visualizações.  http://labdegaragem.com/forum/topics/conhecendo-o-raspberry-pi

Acho importante compartilhar o conhecimento adquirido. Para a gente que tem bastante tempo que estuda eletrônica e microcontroladores, fica mais fácil para descobrir e aprender. 

Como ontem eu comprei dois ESP8266, a partir de hoje vou divulgar tudo que eu for aprendendo sobre os mesmos nesse novo tópico : Conhecendo o ESP8266. 

Não tenho pressa e nem todo tempo para me dedicar à esse tópico. Assim que for descobrindo as

coisas, compartilharei com vocês. 

Como o Tutorial esta crescendo muito, para facilitar a pesquisa criei um Indice :

Indice do Tutorial - Conhecendo o ESP8266

ESP8266 - O que é um ESP8266 ?
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Link dos manuais da ESPRESSIF:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Módulo ESP8266-12E
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - alcance do sinal de RF:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Alimentação e consumo de energia:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Pinos e definições :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Pinos usados no módulo:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

Módulo ESP8266 ESP-201 - descrição e uso:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - alimentação no Protoboard :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Conexão USB Serial:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Interface Serial 5V - testado e aprovado OK :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Diagrama da montagem do Modulo ESP8266-ESP201:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Diagrama da montagem do Modulo ESP8266-01:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 12E - Conexão USB Serial
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Atualização de firmware:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Programas Terminal TERMITE e CoolTerm:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Atualização de firmware - baixando o firmware do Site:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Atualização de firmware - escolhendo os arquivos do FW
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Atualização de firmware - usando a ferramenta Flash download tool:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Guia do Usuário - Ferramenta Flash Tool:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Conectando na Rede WIFI
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Mais alguns comandos AT :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Comunicação de dados TCP/IP:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Comunicação WEB Server:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - mapa de memória do ESP8266:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - destravando o módulo:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Ferramenta FLASH Download Python para LINUX:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Descobrindo o tamanho da memória Flash:
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Teste de comunicação serial do Arduino com o ESP8266 :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - atualizando Firmware através da rede WIFI - FOTA 

http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ESP8266 - Usando IDE Arduino (exemplos ADAFRUIT/SPARKFUN )
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

Informações sobre modos de dormir (sleep) do ESP8266 :
http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

A maioria do material sobre ESP8266 esta em inglês ou mandarim (chinês).

Se precisar tradução para o português, veja essas ferramentas que poderão auxiliá-lo:

http://labdegaragem.com/forum/topics/lendo-material-em-ingl-s

Boa jornada para nós !

Exibições: 108186

Responder esta

Respostas a este tópico

Teste de comunicação serial do Arduino com o ESP8266 :

Como prometido, consegui fazer o teste efetivo de comunicação do Arduino (SoftSerial) com um ESP8266 (Serial) Tive as mesmas dificuldades que muitos já relataram, como caracteres estranhos, mas consegui desvendar o mistério.

 

A causa do problema é que quando usando a interface SoftSerial (que é uma segunda interface virtual) a comunicação fica truncada ao usar altas velocidades de transmissão de dados (baud rates), por exemplo 115200 bps. 

E além disso, para um melhor sincronismo na comunicação, recomendo que a Baud Rate dos dois sejam iguais !

No meu teste usei :

 Arduino 2009 - IDE 1.6.5

 Arduino IDE console = 38400 bps 

 ESP8266-ESP201 - AT version:0.50.0.0 - SDK version:1.4.0

 ESP8266 Serial = 38400 bps 

A primeira vez que rodar o Sketch, use o baud rate de 115200 bps para a serial do ESP8266.

Altere no sketch (poderão aparecer caracteres truncados) 

Serial.begin(115200);     // Baud Rate da Console IDE Arduino
esp8266.begin(115200);  // Baud Rate da Serial do ESP8266

Depois mude o baud rate .Para mudar o baud rate do ESP8266, digite esse comando. Se desligar ou resetar, deverá digitar novamente o comando !

AT+UART_CUR=38400,8,1,0,0

Não se esqueça de sempre configurar a console da IDE do Arduino para o baud rate correto.

Além disso configure na linha inferior da Console : 

AMBOS, NL e CR 

Para a  conexão das duas interfaces, eu usei esse circuito. Veja que limitei a tensão do sinal de RXD do ESP8266 para no máximo 2,5 V ( dividi a tensão 5V por dois, usando dois resistores de 10K) .

Conforme já havia informado, revendo as especificações do Módulo ESP8266, constatei que todas as entradas Digital IO são protegidas contra sobre-tensão e tensão estática. Portanto não precisam de proteção para a tensão de 5V ! Mas para o funcionamento correto do pino RXD, este precisa de um redutor de nível de tensão de 5V para 3,3V.

http://labdegaragem.com/forum/topics/conhecendo-o-esp8266?commentId...

ARDUINO D2 ( RXD )conectado diretamente no TXD do ESP8266 

ARDUINO D3 ( TXD ) conectado no RXD do ESP8266 (usando o divisor com resistores) 

Conecte o terra (GND) do Arduino no terra do ESP8266.

O programa Sketch de teste foi baseado nesse link:

http://arduino.stackexchange.com/questions/12500/esp8266-and-arduin...

Anexei o arquivo ArduinoESP8266SerialJG.INO 

Alguns testes ( telas copiadas da IDE do Arduino) 

AT+GMR

busy p...
AT version:0.50.0.0(Sep 18 2015 20:55:38)
SDK version:1.4.0
compile time:Sep 18 2015 21:32:07
OK

AT+CIFSR

busy p...
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"1a:fe:34:9e:f9:7e"
+CIFSR:STAIP,"192.168.1.107"
+CIFSR:STAMAC,"18:fe:34:9e:f9:7e"

OK

A partir desse teste, você poderá criar novos programas no Arduino, para comandar o seu ESP8266 !

Qualquer dúvida, me avisem. 

Anexos

Observação :

Depois que mudar o Baud Rate no ESP8266, altere novamente no Sketch , compile e salve no Arduino 

a nova velocidade. E não se esqueça de mudar a velocidade também na console da IDE, para 38400 bps.

Serial.begin(38400);          // Baud Rate da Console IDE Arduino
esp8266.begin(38400);      // Baud Rate da Serial do ESP8266

Grato José Augusto,

Eu estou limitando a tensão com dois resistores de 1K em série no GND e um de 1K no pino TX do Arduino, está limitando a 3.3v.

Igual a seu desenho, no lugar de 10K estou usando 1K.

Não tenho resistores maiores.. pode ser assim ?

Creio que sim. 

Se não funcionar, use somente dois resistores igual ao meu diagrama. 

Mas no seu diagrama são 3 resistores.

Attention please !

Ahhhh eu estava olhando o desenho acima com dois de 10K no GND e um no RX. OK!

Boa tarde, nesse e desenho, é colocado 3 resistores de 10k em serie conectados do TXD ao GND?

E entre o primeiro resistor do lado do TXD é conectado o RXD do ESP? 

O que nesse caso ficaria como se estivesse ligando um resistor de 10k e um de 20k e entre os dois ligasse o RXD do ESP? Pra dividir a corrente? Isso? 

Ai por essa divisão a tensão fica baixa. Ai é recomendado o desenho de cima, onde são utilizados apenas 2 resistores de 10k? Isso?

Stella boa tarde , 

Nesse e desenho, são colocados 3 resistores de 10k em serie conectados do TXD ao GND?

No diagrama inicial só existem dois resistores. O post seguinte esta gerando confusão. 

Por isso irei apaga-lo. 

E entre o primeiro resistor do lado do TXD é conectado o RXD do ESP? 

Um resistor de 10K conecta o TXD da interface serial com o RXD do ESP8266. Além disso, conecte um outro resistor de 10K entre o RXD do ESP8266 e o terra (GND). 

Não se esqueça de conectar o terra da interface serial com o terra do ESP8266

O que nesse caso ficaria como se estivesse ligando um resistor de 10k e um de 20k e entre os dois ligasse o RXD do ESP? Pra dividir a corrente? Isso? 

Esse circuito é um divisor de tensão e não divisor de corrente. 

Ai por essa divisão a tensão fica baixa. Ai é recomendado o desenho de cima, onde são utilizados apenas 2 resistores de 10k? Isso?

Sim , use o diagrama inicial com dois resistores. 

 

Se não funcionar me avise.

O comando "AT+UART_DEF=" grava no ESP8266. Estou utilizando-o no lugar do "AT+UART_CUR="

Sei disso.

Por isso estou usando AT+UART_CUR !

Se algo der errado, é só resetar ou rebootar o ESP8266.

Se der algo errado com o seu comando, irá travar o seu ESP8266 !

Tem razão. Boa !!

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2019   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço