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

Responder esta

Respostas a este tópico

Olá José Augusto,

Estou me baseando em vários desenhos encontrados no Google, todos semelhantes.

A ligação é simples, muito semelhante ao conversor USB TTL CH340:

ESP-01 alimentado com fonte de protoboard 3.3v

tx - rx (direto)

rx - tx com resistores para abaixar a voltagem

gnd - gnd

3.3v - 3.3v

ch_pd - 3.3v já testei com e sem resistor.

rst - pino do Arduino, no reset do sketche jogo gnd e depois deixo ligado

Um dos códigos de teste é esse:

#include <SoftwareSerial.h>
//RX pino 2, TX pino 3
#define RX 2
#define TX 3
#define RST 4
#define DEBUG true

SoftwareSerial esp8266(RX, TX, false);

void piscaLed(int led){
  pinMode(led, OUTPUT);
  for(uint8_t i=0; i<3; i++) {
    digitalWrite(led, LOW);  delay(100);
    digitalWrite(led, HIGH); delay(100);
  }
}

String readSerial(String msg=""){
  Serial.setTimeout(3000);
  if (msg != "")
    Serial.print(msg);
  String resp = Serial.readStringUntil(10);
  if (resp != ""){
    Serial.print("{");
    Serial.print(resp);
    Serial.println ("}");
  }
  return resp;
}

void setup() {
  //ativo o RST
  piscaLed(RST);
  Serial.begin(9600);
  esp8266.begin(115200);
  sendData("AT+CWMODE_CUR=?", 5000, true);
  sendData("AT+CWMODE_CUR=9600,8,1,0,3", 5000, true);

  sendData("AT", 3000, DEBUG);
  sendData("AT+RST", 3000, DEBUG);
  sendData("AT+CWMODE_CUR?", 5000, true);
  sendData("AT+GMR", 5000, true);

}

void loop() {
  // put your main code here, to run repeatedly:

}

String sendData(String command, const int timeout, boolean debug)
{
  Serial.print ("Enviando: {");
  Serial.print (command);
  Serial.println ("}");
  // Envio dos comandos AT para o modulo
  String response = "";
  esp8266.println(command);
  long int time = millis();
  while ( (time + timeout) > millis())
  {
    while (esp8266.available())
    {
      // The esp has data so display its output to the serial window
      char c = esp8266.read(); // read the next character.
      response += c;
    }
  }
  if (debug)
  {
    Serial.println("response:");
    Serial.print("{");
    Serial.print(response);
    Serial.println ("}");
  }
  return response;
}

Já estou cansado de tanto tentar. Estou com 4 módulos ESP-01 diferentes, 3 placas Arduino Uno. Não tem como estarem todas com defeito.

Também não é possivel que todas formas de comunicação que tentei estejam erradas.

É BUG MESMO !!

Tudo bem, estou acostumado com bug, a gente pesquisa e dexcobre um jeito de contornar. Mas esse está me deixando louco, não acho a solução.

Sorry, tem um erro nesse sketche.

No lugar de AT+CWMODE_CUR leia AT+UART_CUR

Porque não tenta sem usar Arduino, somente o ESP  usando a IDE Arduino, elimine um problema.

Anexo programa blink.

Abs.

Anexos

Eu nunca usei ESP com Arduino ainda, uso  apenas ESP programando com LUA e IDE Arduino, obviamente não uso o ESP8266-01 justamente por toda essa necessidade de ter que usar um conversor e as poucas saídas, usei somente no inicio.

Outra placa que comprei mas ainda não usei por falta de tempo, é a do link abaixo, estimo que deve ser ideal para usar com Arduino.

http://www.labdegaragem.org/loja/esp8266/wifi-shield-esp8266.html

Abs.

Odilon, boa noite, por favor abra um novo tópico pra não congestionar esse que o amigo Murta abriu. Outro motivo de abrir novo tópico é que fica difícil acompanhar quando há dois assuntos ou mais correndo simultaneamente num mesmo tópico.

Acho que sei como te ajudar, pois ao contrário do amigo Carlos Kwiek, até hoje eu só trabalhei com o ESP-01 conectado ao arduino

OPA !!! mais de 1000 visualizações do meu tópico => Conhecendo o ESP8266.

Espero que estejam gostando e que seja util.

Esta sendo sim J.Gustavo!

Abs.

Certamente muito útil !

Abrax...

SEnsacional, muito bom mesmo.

Pena que eu esteja levando a maior surra do ESP-01.

Gostei da sua pesquisa referente à atualização do firmware, mas eu não consigo comuncação com meu ESP. Já tentei de tudo, já estou tonto de tanto pesquisar.

Uma dúvida que tenho, pois não consigo acessar o módulo, é quanto a que firmware utilizar, com que tamanho.

Comprei no ML:

http://produto.mercadolivre.com.br/MLB-718982721-arduino-wifi-wirel...

Mas os vendedores não sabem me explicar muita coisa sobre o produto.

Alguma idéia ?

Grato

Vamos por partes, 

Como esta alimentando o ESP8266-01 ?

Esta ligando  um regulador de 3,3V no pino VCC do ESP8266 ?

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

Placa ESP8266-01 

Qual interface USB Serial esta usando ? É compatível com o nivel 3,3V ?

ESP8266 - Conexão USB Serial 

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

Os pinos CH_PD (ou ENA)  e RST devem ter um resistor cada de 10K conectado no 3,3V !

Veja o diagrama para montagem do ESP8266-12E. A diferença é que o seu ESP8266-01 tem menos pinos !

clique na imagem:

Ola Jose Augusto,

Grato pelo apoio.

Para alimentar o ESP-01 estou usando uma fonte de protoboard, medi a saida 3.3V deu 3.27v.

Não estou usando USB Serial, estou utilizando uma placa Arduino Uno, pois nesse momento quero apenas utilizar o ESP-01 como conexão WiFi.

Não tenho resistor de 10K, utilizei 4 resistores de 1K em série, pelo menos estou tendo alguma resposta. Pode ser isso ? Se eu aumentar o resistor melhora a comunicação ?

Entretanto, estou utilizando o resistor apenas no CH_PD, o RST quando conectado parece que a comunicação piora. Vou testar mais e vou emendar uns resistores para fazer 10K. Tem que ser um resistor para o CH_PD e outro para o RST ?

Grato

Odilon , pode usar resistor de 1K ou maior para conectar os pinos CH_PD e RST no VCC, não tem problema.Tem que ser um resistor para o CH_PD e outro para o RST.

Se quiser dar um reset na placa aperte o botão (RST), assim o pino RST é aterrado por um pequeno periodo de tempo. 

Fonte com VCC = 3,27V esta ótima !

Para conectar o Arduino, esta usando um conversor de sinal (5V/3,3V) ?

Se não usar, poderá queimar o ESP8266.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço