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

Responder esta

Respostas a este tópico

Corrigindo :

http://www.esp8266.com/viewtopic.php?f=6&t=5791

Estação (STA) é quando o ESP está se conectando ao seu wi-fi em casa.

Access Point (AP) é quando o ESP está transmitindo wi-fi para que você possa conectar-se.

Uma vez que cada  wi-fi está configurado de forma diferente , seu modulo irá adquirir  um endereço de sua rede  wi-fi,  que é o seu STAIP.

Da mesma forma, quando você se conectar a um wifi, neste caso, se você se conectar ao seu ESP, você terá  um endereço IP a partir do ESP, que é a APIP

.É por isso que existem dois endereços IP diferentes, como temos a possibilidade de comunicar em duas maneiras muito diferentes.

"Station (STA) is when your ESP is connecting to your home wifi.
Access Point (AP) is when your ESP is broadcasting wifi for you to connect to.
Since each home wifi is setup differently it will grab an address from your home wifi, and that is your STAIP.
Likewise, when you connect to a wifi, in this case if you connect to your ESP, you will be given an IP address from the ESP, that is the APIP.
That is why there are two different IP addresses, since you have the possibility of communicating in two very different ways."

Mais alguns comandos AT :

AT+CWMODE?   ( Verifica o modo de conexão WIFI do módulo ESP8266) 

+CWMODE:1

1 : station mode
2 : softAP mode
3 : softAP + station mode

AT+CWJAP?      (Identifica a rede WIFI que o módulo ESP8266 esta conectado) 

+CWJAP:"Tuiuti","00:1d:7e:61:fd:48",9,-90

AT+CIFSR      (Identifica o IP do seu módulo ESP8266) 

+CIFSR:STAIP,"192.168.1.109"
+CIFSR:STAMAC,"18:fe:34:9e:f9:7e"

AT+CIPSTATUS  (Mostra o status da Rede Wifi) 

STATUS:2

2 : Got IP               (adquiriu um IP)
3 : Connected         (conectado) 
4 : Disconnected     (desconectado) 

AT+CIPMUX=1    (Permite conexões multiplas ou não) 

OK 

<mode>0 single connection       (conexão unica) 
<mode>1 multiple connection    (conexão multipla) 

AT+CIPSERVER=1,1001   (Configure como TCP server) 

OK

AT+CIPSERVER=<modo>[,<porta>]

<mode> 0 Delete server
<mode> 1 Create server
<port> port number, default is 333
Nota:  Server só pode ser criado quando AT+CIPMUX=1

AT+CIPMODE=1     (define o modo de transferência)

<mode>0 modo normal 
<mode>1 UART-WiFi modo transparente 

AT+CIPMODE=1

CIPMUX and CIPSERVER must be 0

ERROR

Corrigindo o texto : faltou o sinal de + 

e não pode ter espaço depois do comando.

AT+CWMODE=3

- Esse comando serve para configurar o modo WFI 

1 : station mode
2 : softAP mode
3 : softAP + station mode

Olá José Gustavo,

Seguindo com os estudos do ESP, me surgiu uma dúvida e talvez você consiga me ajudar.

Já estabeleci a comunicação entre o ESP, nuvem e app.

Caso eu quisesse comunicar os módulos entre si (por exemplo: um ESP seria o mestre e outros 15 seriam os escravos), ele seria capaz de fazer tal processamento? Você tem alguma informação de como o ESP que seria o access point gerencia a fila de dados que são enviados para os escravos?

A comunicação seria sem acesso à Internet, utilizando os comandos AT, correto? É possível programar os comandos AT através da IDE do Arduino?

Muito obrigado pela atenção e por todas as informações contidas neste tutorial.

ESP8266 - Comunicação de dados TCP/IP 

A grande difusão de uso dos módulos ESP82266 deve-se à facilidade de acesso à rede de transmissão  de dados sem fio (WIFI). Por exemplo, pode ser desenvolvida uma aplicação no ESP8266 e enviar os dados para outros dispositivos ou então para a WEB. Ou também pode usar um Arduino (ou outro microcontrolador) conectado no ESP8266 através de uma porta serial (ou I2C ou SPI) e retransmitir os seus dados através da rede WIFI. 

O protocolo usado para essa transmissão de dados é o TCP/IP. Esse protocolo é o mais usado nas redes de computadores em todo mundo e serve para acesso à Internet. A vantagem do ESP8266 sobre os outros módulos, é que no código do microcontrolador (firmware) já tem incluído o protocolo TCP/IP com os mecanismos de segurança WEP, TKIP e AES. 

Para entender melhor o que é TCP/IP e como funciona , veja esse link: 

https://pt.wikipedia.org/wiki/TCP/IP

Para saber sobre os Mecanismos de Segurança do TCP/IP:

https://pt.wikipedia.org/wiki/Wi-Fi  (tópico sobre segurança) 

https://pt.wikipedia.org/wiki/TKIP

É importante também saber, que existem Portas de Comunicação no TCP/IP.

https://pt.wikipedia.org/wiki/Lista_de_portas_de_protocolos

Algumas das Portas de Comunicação mais usadas são essas: 

Porta 20 - FTP (protocolo de transmissão de arquivos) 

Porta 22 - SSH (acesso remoto com segurança) 

Porta 23 - Telnet (acesso remoto de console) 

Porta 80 - HTTP (acesso à WEB) 

Porta 8080 - HTTP alternado (acesso WEB Proxy) 

A linguagem de programação usada para a comunicação TCP/IP é relativamente complexa. Para facilitar o uso do TCP/IP no módulo ESP8266, os chineses usaram uma interface dos  antigos modems analógicos  de décadas passadas - linhas de comandos AT. Através dos Comandos AT, todo o processo de comunicação pode ser configurado, iniciado, terminado, etc. Por isso, nos tópicos anteriores especifiquei vários comandos AT do ESP8266. 

Como gosto de entender a fundo o que estou fazendo, pesquisei nessas ultimas semanas, como usar o TCP/IP no módulo ESP8266. Encontrei muitas soluções prontas, todas usando os comandos AT, mas nenhuma que explicasse detalhadamente todo o processo de comunicação. 

Encontrei no site da ESPRESSIF esse manual sobre um exemplo de comunicação WIFI usando os comandos AT. Mas o manual sugere o uso de uma ferramenta Network Tool que eu não a encontrei. Por isso, não consegui um teste efetivo. 

http://bbs.espressif.com/viewtopic.php?f=51&t=1022

4B-ESP8266__AT Command Examples__EN_v1.3.pdf           Examples of using AT commands

Ontem à noite, felizmente encontrei esse excelente link, que finalmente tirou todas as minhas dúvidas:

https://alselectro.wordpress.com/2015/05/13/wifi-module-esp8266-2-t...

Seguindo o exemplo do link,  consegui fazer testes efetivos de comunicação TCP/IP. 

Mesmo assim apanhei um pouco, pois o Firewall do meu Laptop estava bloqueando a comunicação. Portanto, ao fazer os seus testes, não se esqueça de desbloquear o acesso do IP do seu módulo ESP8266, se estiver usando firewall também. 

Recomendo também os outros links do mesmo alselectro ( muito bons !) 

https://alselectro.wordpress.com/2015/05/05/wifi-module-esp8266-1-g...

https://alselectro.wordpress.com/2015/05/31/wi-fi-module-esp8266-4-...

No próximo passo - O meu exemplo de comunicação TCP/IP com todos os detalhes. 

ESP8266 - Comunicação TCP/IP Server

Nesse Tópico, mostrarei um exemplo de comunicação TCP/IP usando o ESP8266 como servidor TCP, baseando-me no exemplo desse link :

https://alselectro.wordpress.com/2015/05/13/wifi-module-esp8266-2-t...

Conecte os cabos da interface USB Serial no seu módulo ESP8266. Através da console aberta com programa de Terminal como o Termite 3.2  , dê os comandos AT : 

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

Lembrando-se de  que o seu módulo  deve estar ao alcance do seu Roteador WIFI. 

Configurando o modo do WIFI :

AT+CWMODE=1             // modo Estação

Resposta  :OK

1 : modo station     (Estação) 
2 : modo softAP     (Ponto de Acesso) 
3 : modo softAP + station 

Conectando o módulo no Roteador WIFI :

AT+CWJAP="SSID", "senha"       // SSID e senha do Roteador

AT+CWJAP="Tuiuti","12345678"

WIFI CONNECTED
WIFI GOT IP

OK

Identificando o IP do módulo ESP8266 : 

AT+CIFSR

+CIFSR:STAIP,"192.168.1.109"             (endereço IP do ESP8266) 

+CIFSR:STAMAC,"18:fe:34:9e:f9:7e"     (endereço MAC do ESP8266) 

OK

Configurando Conexões múltiplas ou não :

Para comunicação com a página WEB é necessário configurar o ESP8266 no modo com múltiplas conexões. 

AT+CIPMUX=1

Resposta : OK 

Opções :

AT+CIPMUX=0  (modo unica conexão) 

AT+CIPMUX=1  (modo multiplas conexões) 

Se o servidor ESP8266 já estiver conectado, para mudar esse modo é preciso deletar antes o TCP server. 

Iniciando o Servidor TCP porta 80 :

Para iniciar o modulo ESP8266 como um Servidor TCP no modo HTTP. (pode ser usado em outros modos) 

AT+CIPSERVER=1,80

Resposta : OK 

AT+CIPSERVER=<modo>[,<porta>]

<modo> 0      Deleta o servidor TCP
<modo> 1      Cria o servidor TCP 
<porta> numero da porta , default é 333

Veja no tópico anterior os tipos de portas :

Porta 80 - HTTP (acesso à WEB) 

Um servidor TCP só pode ser criado quando AT+CIPMUX=1

Configurando o Timeout do Servidor TCP :

Após o start do Servidor TCP, recomendo que configure o timeout. 

Pois após a inicialização, se o ESP8266 não obtiver resposta a conexão cai. 

AT+CIPSTO=60     (timeout de 60 segundos) 

Reposta : OK 

AT+CIPSTO=<tempo em segundos> 

Verificando a resposta no WEB Browser: 

Abra uma janela no seu navegador WEB no seu PC (no meu caso Google Chrome) com o endereço IP do módulo:

192.168.1.109   (endereço IP do meu módulo / porta HTTP) 

Para certificar-se que houve comunicação entre o módulo e o seu PC, veja na console do Termite , 

logo após o Start do Servidor TCP :

Para enviar dados para a Página WEB :

AT+CIPSEND=0,30    (enviando até 30 caracteres) 

Resposta : OK 

Veja que aparecerá um prompt para envio dos caracteres 

Digite o texto que deseja enviar. Mas seja breve, para não dar timeout. 

Eu digitei : Isso é um teste !   e dei enter. 

(se falhar, digite novamente o comando) 

AT+CIPSEND=<ID da conexão>,<tamanho>   (enviando dados do seu módulo para o seu PC) 

O envio do texto somente ocorre após o comando :

AT+CIPCLOSE=0     (fechando a conexão TCP) 

Verificando o texto na página WEB:   teste OK !!

boa tarde josé gustavo

estou tentando   como faço para  gravar do esplorer um código, tenho um código

para leitura de temperatura no ds18b20, já consegui comunicar via wifi  coloquei a bibliotéca do sensor  ds18b20

só  quando  tento carregar pelo esplorer   dá  erro  waiting  answer  from esp  time out reached. comand  aborted.

se puder me dar uma luz 

obrigado

acr

Provavelmente o ESP não esta comunicando com o computador, verifique se a porta COM do ESplorer esta com os leds virtuais verdes acessos, certifique-se de que tem o firmware para linguagem LUA carregado no ESP8266

Anexe seu código aqui em arquivo TXT, para ver se esta bem.

Abs.

o lua nem consegui salvar  para entro do  esp

estou tentando novamente  o flachdowload

obrigado

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço