Pessoal, hoje me aconteceu uma coisa muito estranha.

Eu estou tendo dificuldades na utilização do ESP8266 ESP-01, em particular na utilização do mesmo como interface WiFi da placa Arduino.

Pois bem; não conseguindo estabilidade na comunicação do Arduino com o ESP-01, mudei a tática para ver se o ESP-o1 funcionava bem como micro-processador e gravei no mesmo um sketche de teste de Webserver, isto eu o fiz com um conversor USB TTL CH340. Gravei na placa ESP-01.

Correu muito bem, com exceção de as vezes dar erro de sincronismo e eu precisava repetir a operação, mas o webserver funcionou muito bem, respondeu comandos, performance excelente rodando em 115200bps.

Ai eu pensei, o problema não é no módulo, é na comunicação do ESP-01 com o Arduino e remontei o esquema no qual já estava trabalhando, ESP-01 como interface WiFi do Arduino.

Bom, o sketche ainda estava gravado no Arduino e assim que liguei o mesmo, entrou em funcionamento... assim como o ESP-01 !!!

Uma bagunça, o sketche no Arduino enviava informações de debug para eu acompanhar seu funcionamento e nada estava funcionando..

Fui ao browser, acionei o webserver que tinha gravado no ESP-01 e o mesmo estava ativo, respondendo normalmente.

Então pergunto:

1. É normal isso ?

2. Como faço para eliminar o programa (sketche) rodando no ESP-01 - tenho de regravar o firmware ou basta jogar um sketche em branco ?

3. Dá para fazer aplicações rodando simultaneamente os dois processadores ?

Alguém já passou por isso ?

Grato

Exibições: 2693

Responder esta

Respostas a este tópico

Hoje FINALMENTE consegui utilizar a placa Arduino para enviar/receber comandos AT para o ESP8266 ESP-01.

Por incrivel que pareça, precisei ligar o TX do ARduino ao TX do ESP-01 e o RX do Arduino ao RX do ESP-01. Parece ilógico não é mesmo ?

Pois é, após tentar semanas a fio com o esquema sugerido em praticamente todos os tutoriais, samples, etc...etc.. encontrei este artigo que sugere exatamente o contrário:

http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-...

Bom, se alguém mais não tem conseguido conectar o ESP-01 a uma placa Arduino Uno, leia o tutorial acima, eu segui com exceção do RST do Arduino ao GND e finalmente deu certo.

Vale acrescentar o seguinte:

Este esquema é válido APENAS para utilizar a placa Arduino para enviar comandos AT ao ESP8266 pelo monitor serial. O sketch que você fizer para enviar comandos AT ao ESP8266 deverá ter o esquema de ligação tradicional - RX do Arduino ao TX do ESP8266 e TX do Arduino (com resistores para dimunir a voltagem) ao RX do ESP8266.

Boa sorte !!

Odilon, você esta enganado na identificação dos pinos TX e RX ou no Arduino ou no ESP8266.

Impossível funcionar do jeito que ligou  = TX com TX e RX com RX

Como enviou o comandos AT ? usou a a console IDE conectada no PC ?

Se foi assim, então não foi o Arduino que enviou os comandos, e sim o seu PC. 

Oi José Gustavo,

Não tem como eu estar enganado, cansei de verificar. Lembra-se de como eu disse várias vezes que não conseguia utilizar o monitor serial do arduino para enviar comandos AT ao módulo ESP-01 ?

Pois é... eu tinha de desconectar a placa arduino, conectar o conversor e através do Putty ou do Esplorer eu enviava os comandos AT, mas nunca pelo Arduino.

Depois de ler o exemplo acima, fiquei também em dúvida, mas como não tinha jeito de eu enviar comandos pelo monitor serial do Arduino, resolvi tentar. E deu certo, por incrivel que pareça.

Leia o artigo, o próprio autor comenta que o normal realmente é TX-RX e RX-TX, mas explica que essa ligação TX-TX e RX-RX só é possivel porque utilizaremos o Arduino apenas para estabelecer a ponte entre o PC e o ESP-01.

Agora, toda vez que preciso enviar comandos AT, consigo faze-lo pelo monitor serial Arduino com conexão na placa Arduino. Simplesmente conecto o RX do ESP-01 ao RX do Arduino e o TX do ESP-01 ao TX do Arduino. Simples assim. Apenas tomei o cuidado de colocar resistores entre o TX do Arduino e o TX do ESP-01.

Outro cuidado que eu tomo é de utilizar o pino 0 do Arduino como RX e o pino 1 como TX.

Já no sketch, utilizo o pino 2 como RX e o pino 3 como TX e inicio a serial com:

SoftwareSerial mySerial (2, 3, false);

Bom, está dando certo, finalmente.

Abraço

Você não me respondeu ...

Como enviou o comandos AT ? usou a a console IDE conectada no PC ?

Se foi assim, então não foi o Arduino que enviou os comandos, e sim o seu PC. 

No meu exemplo,a comunicação do Arduino com o ESP8266 é feita através de outra serial (SoftSerial).

Respondi Jośe Gustavo:

"Agora, toda vez que preciso enviar comandos AT, consigo faze-lo pelo monitor serial Arduino com conexão na placa Arduino. Simplesmente conecto o RX do ESP-01 ao RX do Arduino e o TX do ESP-01 ao TX do Arduino. Simples assim. Apenas tomei o cuidado de colocar resistores entre o TX do Arduino e o TX do ESP-01."

O que você chama de console IDE ? Se for o monitor serial da IDE Arduino, estamos falando da mesma coisa.

Sim, o que o artigo diz é exatamente isto, que utilizando a ligação dessa forma, quem envia os comandos é o PC e não o Arduino.

Para utilizar o Arduino (por meio de um sketch) eu preciso fazer a conexão RX-TX, TX-RX. Mas agora eu não preciso desconectar o Arduino e ligar o conversor USB para enviar comandos AT, posso faze-lo com o Arduino conectado, apenas inverto os dois cabos (RX,TX) que chegam ao ESP-01.

Meu sketch também utiliza a biblioteca SoftwareSerial:

Já no sketch, utilizo o pino 2 como RX e o pino 3 como TX e inicio a serial com:

SoftwareSerial mySerial (2, 3, false);

O que não estou conseguindo com essa versão de firmware (e nenhuma outra) é trabalhar acima de 9600bps.

Preciso gravar o firmware:

AT version:0.50.0.0(Sep 18 2015 20:55:38)

É o único que funciona para mim. Após gravar o firmware, coloco-o através de comando AT em 9600bps:

AT-UART_DEF=9600,8,1,0,0

E a partir desse ponto posso utlizar no sketch.

Fico-lhe grato pelas dicas que tem me dado, foram muito úteis.

Abraço !

O que estou tentando fazer agora é conseguir que o ESP8266 como AP seja também webserver e possa receber comandos enviados pela web.

Você sabe como faze-lo ?

Já fiz esse teste de enviar texto do Smartphone Android para o ESP8266.

Pode testar a partir de um PC também. Logo colocarei no Tutorial : Conhecendo o ESP8266.

https://alselectro.wordpress.com/2015/05/13/wi-fi-module-esp8266-3-...

Com o ESP8266 em Station Mode eu sei como fazer, quero saber como se faz webserver com o ESP8266 em AP mode.

Amigo, se vc puser o ESP8266 em modo AP, ele virará um access point, ou seja, não terá função de webserver, mas sim apenas permitir criar uma rede

Por qual motivo quer criar um webserver com o ESP no modo AP? Webserver com o ESP no modo station não basta? Vc já tentou configurar o ESP pra trabalhar nos 2 modos simultaneament (sta+ap)?

Modos de WIFI do ESP8266:

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

Diferenças entre Access Point e Station :

http://ccm.net/contents/804-wifi-modes-of-operation-802-11-or-wi-fi

No meu entender, Access Point seria indicado se você deseja conectar outras Stations no seu ESP8266.

Cada ESP8266 pode funcionar como uma Estação (Station). 

Stations podem ser PCs, Smartphones, etc.

Olá imhugo,

Consegui ontem à noite !!

Você concorda comigo que webserver como AP funcionará apenas nos equipamentos que estiverem conectados a esse AP.

Por outro lado, webserver como Station precisa de ssid e senha de uma wifi acessivel para possibilitar conexão pela internet.

Se eu levar meu "robot" para algum lugar, terei de recompilar o sketch fornecendo o ssid e a senha do wifi onde ele estiver.

Se, entretanto, meu sketch for inteligente e divulgar o ssid do modo AP (broadcast), eu poderei conectar-me a ele de qualquer browser, acessa-lo localmente, fornecer o ssid e a senha do wifi de onde ele estiver e a partir dai o acesso será não apenas local mas também pela internet !!

Não precisarei levar notebook com Arduino IDE, recompilar sketch e regravar. Apenas o browse é suficiente !!

Sim, já configurei o ESP para trabalhar nos dois modos simultaneamente, mas não resolve meu problema - para acessar o robot pela internet eu preciso, OBRIGATORIAMENTE, fornecer ssid e senha do wifi onde estiver para conectar-me à rede wifi em modo Station. Em modo AP eu acesso o robot pela rede local, pelo ssid e senha do ESP.

Essa é a idéia.

OK , Odilon Parabéns por ter  conseguido testar o modo AP.

Concordo que no caso de acesso local todas as Estações precisarão do SSID e senha do seu ESP8266 para acessa-lo.

Mas não entendi como acessar o seu ESP8266 pela internet. 

Qual será a via de acesso para Internet ? 

Seria um roteador ? Se for um roteador, precisará configurar no seu ESP8266, o SSID e Senha do seu roteador, não ??

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço