IMPORTANTE: NÃO USE AT+IPR=9600
! (ver atualização)
Eu tenho um módulo ESP8266 12E que se comunica em 115.200 bauds. Como eu o uso com um Arduino Nano com SoftwareSerial, as coisas ficam confusas. Então, descobri que deveria reduzir a taxa de transmissão do módulo ESP.
Encontrei este link sobre como fazê-lo.
estou pensando
É uma alteração permanente ou você precisa fazer isso sempre que o módulo é ligado?
Posso conseguir o mesmo enviando o comando do Arduino pelo SoftSerial? Bem, acho que não desde que tentei e sempre recebo um erro em
AT+CIOBAUD=9600
ouAT+IPR=9600
.Li em algum lugar que, nas versões mais recentes do firmware do ESP8266, a taxa de transmissão é 9.600. Alguém pode confirmar isso? Em caso afirmativo, é melhor atualizar esse firmware mais recente?
O fornecedor do módulo:
Ai-Thinker Technology Co.,Ltd.
Eu acho que a versão atual do firmware é 0.3.0. Se eu enviar AT+GMR
, recebo:
sending AT+GMR
response: ?AT¥TJÕ¨H(Q�²•ÉÍ¥½¹é‚r¢‚r‚r‚BÕ��Â’‚ŠªŠ¢Ò¢ªÒªÂJm
SDK versioo:0.3.0
Ai�½½
‚Šj
Novamente um pouco de lixo por causa da taxa de transmissão que é muito alta.
Outras informações sobre o módulo:
sending AT+RST
response: ?AT+RST
OK
WRT
"%M
<99CT
ets Jan 8 2013,rst catse:2, boot lode:(3,7)
load 0x40100000ntail 4
chksum 0x89
ld tail 4
chm3 tail 8 r 0 aM
ón't use rtc mem dat`
sl��oÌÿ
Ai-Thinker Technology Co.,Ltd.
ATUALIZAR
(*) Usei um módulo FTDI232 para enviar AT+IPR=9600
para o meu módulo ESP8266-12E e o coloquei em bloco !
NÃO USE AT+IPR=9600
EM UM ESP8266 (-12E).
Não consegui recuperá-lo até agora! Tentei voltar a piscar, mas recebo exceções de cabeça inválidas.
Em um novo módulo, enviei o AT+CIOBAUD=9600
comando e funcionou. Permanentemente!
Especificações do meu módulo:
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK
fonte
Respostas:
Dependendo da versão recente do interpretador AT Instruction Set que seu chip possui, as duas instruções que você tentou podem não ser válidas; eles não estão listados no documento do conjunto de instruções ESP8266 AT da Espressif . As pesquisas por "CIOBAUD" ou "IPR" no documento atual (versão 1.5.3) não retornam resultados.
Os comandos da taxa de transmissão agora são "AT + UART_CUR" e "AT + UART_DEF", que configuram o UART inteiro para a sessão atual ou para as sessões atuais e futuras, respectivamente. O protótipo do manual para o comando é:
Eu os usei e posso confirmar que eles funcionam.
O que eu descobri usando o serial de software é que ele pode enviar 115200 baud o suficiente para enviar comandos para o dispositivo (embora eu não construa um aplicativo que dependa disso), mas só pode ler com segurança até 9600 baud. Consegui alterar as taxas de transmissão de meus dispositivos de 115200 para 9600 em serial de software; você só precisa esperar que o lixo volte e ignorá-lo:
fonte
Conectei um módulo FTDI232 a 115200 baud e agora podia ler as especificações do módulo ESP8266:
Depois disso, enviei o
AT+IPR=9600
comando, que primeiro parecia fazer o truque. Mas, após a reinicialização do módulo, tudo o que obtive foi a resposta ao lixo, a qualquer taxa de transmissão.NÃO ENVIE AT + IPR = 9600 PARA O MÓDULO ESP8266 (12e)
Talvez o
AT+UART_DEF
comando - como mencionado por JRobert - funcione, mas eu usei oAT+CIOBAUD=9600
comando e funcionou. Permanentemente!Espero que isso possa ajudar os outros.
fonte
Também misturei meu Esp com o mesmo comando. Depois de horas pesquisando, encontrei uma maneira de redefinir o esp emparedado. https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware Eu tive que definir a taxa de transmissão para 115200 em vez de 9600, e entre os arquivos enviados tive que desconectar o esp da energia . Espero que ajude você e todos que fizeram o mesmo e encontraram sua postagem no Google.
fonte
esptool.py
comando, mas isso não funcionou para mim. Somente depois de dividi-lo em comandos individuais, um por arquivo e alternar entre cada um, finalmente consegui restaurar o firmware AT. Obrigado pela dica!esptool.py
que acompanha o ESP32 IDF (v2.1-beta1) e que funciona com sucesso com um único comando para atualizar todos os arquivos no meu ESP8266 (que também suporta) - para que apenas um ciclo de energia + GPIO0- GND necessário.Usando este firmware: https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware
e esse pisca-pisca: http://yaab-arduino.blogspot.com.br/2015/12/flashing-esp8266-firmware-arduino.html consegui recuperar meu esp 8266 12f
fonte
Parece que você está tendo problemas com a fonte de alimentação. Qual é a sua classificação de fonte de alimentação? e tente adicionar um pequeno capacitor entre vcc e terra. Também é uma boa idéia atualizar o firmware para 0.9, que possui um problema de baudrate corrigido.
Você pode encontrar um novo firmware em https://github.com/espressif/esp8266_at
fonte