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: 92040

Responder esta

Respostas a este tópico

Leonardo se a memória Flash do seu ESP8266 é a W25Q80AS :

W25Q80BV ( 8 Mega Bits / 1 Mega Byte )  

https://www.adafruit.com/datasheets/W25Q80BV.pdf

Valeu José Gustavo !!! Muito obrigado por todas essas dicas, poupa-me um tempo enorme, pois o que eu estou apanhando da protoboard aqui é brincadeira.....

A minha memória é de 4Mbits... é a 25Q80ASSIG, igual a do Leonardo

Odilon - você esta enganado. ( O Leonardo também estava) 

25Q80ASSIG é 8 Mega bits / 1 Mega byte !

Pois é José Murta, olhando para esse link percebi que o meu chip é de 1MB. Agora vejo que o meu problema com o FlashDownload provavelmente foi a má escolha da memória. No outro software (ESP8266Flasher) não se especifica a memória, talvez seja "auto-detected" ou já estava configurado e por isso funcionou.

Amanha volto a fazer um teste seleccionando a memória certa e ver se funciona.

Beleza Leonardo !

Depois nos envie a tela da ESP Flash download Tool com o ID da sua memória Flash.

Deverá ser algo assim:

W25Q80BV ( 8 Mega Bits / 1 Mega Byte )    = ID 4014h

Obrigado.

Tá tudo explicadinho no início do Tutorial : 

Se o chip de memória for o Winbond 25Q32FV, é uma memória Flash de 32 Mbits ( 4 Mega Bytes) com interface única, dupla ou quad SPI / QPI. 

Modulo ESP8266-12E tem memória Flash Winbond 25Q32FV.

No meu módulo ESP8266 ESP-201, existe um outro tipo de memória - Winbond 25Q40BVNIG

Essa é uma memória Flash de somente 4 Mbits ( 512 K Bytes) com interface dupla ou quad SPI.

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

http://www.elinux.org/images/f/f5/Winbond-w25q32.pdf

Good Job !!!

Parabéns !

Descobrindo o tamanho da memória Flash do ESP8266 :

Lendo o forum da ESP8266:

http://www.esp8266.com/viewtopic.php?f=13&t=2506&start=8

Usando a ferramenta ESP FLASH Download tool , veja na janela DETECTED INFO:

no meu caso Flash devID = 4013h  ===> W25Q40BV ( 4 Mega Bits / 512K Byte )

W25Q40BV ( 4 Mega Bits / 512K Byte )        = ID 4013h

W25Q80BV ( 8 Mega Bits / 1 Mega Byte )    = ID 4014h

W25Q16BV ( 16 Mega Bits / 2 Mega Bytes ) = ID 4015h

W25Q32BV ( 32 Mega Bits / 4 Mega Bytes ) = ID 4016h

W25Q64CV ( 64 Mega bits / 8 Mega Bytes ) = ID  4017h

OBS: esses IDs eu encontrei nos Data Sheets das memórias Flash 

https://www.winbond.com/export/sites/winbond/product/files/SerialFl...

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. 

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço