ВАЖНО: НЕ ИСПОЛЬЗУЙТЕ AT+IPR=9600
! (см. обновление)
У меня есть модуль ESP8266 12E, который обменивается данными со скоростью 115 200 бод. Так как я использую это с Arduino Nano с SoftwareSerial, вещи становятся грязными. Итак, я обнаружил, что должен уменьшить скорость передачи ESP-модуля.
Я нашел эту ссылку о том, как это сделать.
мне интересно
Это постоянное изменение или вам нужно делать это каждый раз после включения модуля?
Могу ли я добиться того же, отправив команду из Arduino через SoftSerial? Ну, думаю, нет, так как я пытался, и я всегда получаю сообщение об ошибке
AT+CIOBAUD=9600
илиAT+IPR=9600
.Я где-то читал, что в более новых версиях прошивки ESP8266 скорость передачи данных по умолчанию равна 9600. Кто-нибудь может это подтвердить и если да, то лучше ли прошивать эту более новую прошивку?
Производитель модуля:
Ai-Thinker Technology Co.,Ltd.
Я думаю, что текущая версия прошивки 0.3.0. Если я отправлю, AT+GMR
я получу:
sending AT+GMR
response: ?AT¥TJÕ¨H(Q�²•ÉÍ¥½¹é‚r¢‚r‚r‚BÕ��Â’‚ŠªŠ¢Ò¢ªÒªÂJm
SDK versioo:0.3.0
Ai�½½
‚Šj
Опять мусор из-за слишком высокой скорости передачи.
Другая информация о модуле:
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.
ОБНОВИТЬ
(*) Я использовал модуль FTDI232 для отправки AT+IPR=9600
на мой модуль ESP8266-12E и уложил его в кирпич !
НЕ ИСПОЛЬЗУЙТЕ AT+IPR=9600
НА ESP8266 (-12E).
Мне пока не удалось его восстановить! Я попытался перепрошить это, но я получаю Недопустимые исключения головы.
На новом модуле я отправил AT+CIOBAUD=9600
команду, и она сработала. Постоянно!
Мои технические характеристики модуля:
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
источник
Ответы:
В зависимости от того, какая последняя версия интерпретатора AT Instruction Set у вашего чипа, две пробные инструкции могут быть недействительными; они не указаны в документе Espressif ESP8266 AT Instruction Set . Поиск "CIOBAUD" или "IPR" в текущем документе (версия 1.5.3) не возвращает результатов.
Команды скорости передачи теперь «AT + UART_CUR» и «AT + UART_DEF», которые настраивают весь UART для текущего сеанса или текущего и будущих сеансов соответственно. Прототип руководства для команды:
Я использовал их и могу подтвердить, что они работают.
Я обнаружил, что при использовании последовательного программного обеспечения он может достаточно хорошо передавать 115200 бод для отправки команд на устройство (хотя я не буду создавать приложение, которое зависит от него), но оно может надежно считывать только до 9600 бод. Я смог изменить скорость передачи данных моих устройств с 115200 бод до 9600 бод по сравнению с последовательным программным обеспечением; Вы просто должны ожидать возвращения мусора и игнорировать его:
источник
Я подключил модуль FTDI232 со скоростью 115200 бод и теперь могу прочитать спецификации модуля ESP8266:
После этого я послал
AT+IPR=9600
команду, которая сначала, казалось, сделала свое дело. Но после перезагрузки модуля все, что я получил, было ответом мусора при любой скорости передачи данных.НЕ ОТПРАВЛЯЙТЕ AT + IPR = 9600 В МОДУЛЬ ESP8266 (12e)
Может быть,
AT+UART_DEF
команда - как упоминал JRobert - работает, но я использовалAT+CIOBAUD=9600
команду, и она сработала. Постоянно!Я надеюсь, что это может помочь другим.
источник
Я замутил свой Esp той же командой. После нескольких часов поисков я нашел способ сбросить кирпичи esp. https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware Мне пришлось установить скорость передачи данных 115200 вместо 9600, и между загрузкой файлов мне пришлось отключить esp от питания , Я надеюсь, что это поможет вам и всем, кто сделал то же самое и нашел ваш пост через Google.
источник
esptool.py
команду, но у меня это не получалось. Только после разбиения его на отдельные команды, по одной на файл, и циклически переключаясь между ними, я наконец смог восстановить прошивку AT. Спасибо за подсказку!esptool.py
функцию, поставляемую с IDF ESP32 (v2.1-beta1), и она успешно работает с одной командой, чтобы прошить все файлы на моем ESP8266 (который он также поддерживает) - так что только один цикл питания + GPIO0- GND требуется.Используя эту прошивку: https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware
и этот мигалка: http://yaab-arduino.blogspot.com.br/2015/12/flashing-esp8266-firmware-arduino.html мне удалось восстановить мой esp 8266 12f
источник
Похоже, у вас возникли проблемы с питанием. Какой у вас рейтинг блока питания? и попробуйте добавить небольшой конденсатор между VCC и землей. Также рекомендуется обновить прошивку до 0.9, в которой исправлена проблема скорости передачи данных.
Вы можете найти новую прошивку на https://github.com/espressif/esp8266_at
источник