ESP8266 Руководство по устранению неисправностей
У ESP8266 есть несколько общих проблем, особенно при попытке записать новую прошивку или загрузке скриптов.
Вот подборка наиболее распространенных проблем с ESP8266 и способы для их исправления.
Устранение неполадок ESP8266 — NodeMCU Flasher
Где скачать флешер NodeMCU?
Перейдите в репозиторий GitHub флешера NodeMCU и загрузите флешер для вашей версии Windows, нажав кнопку «Raw»:
- NodeMCU прошивальщик Windows 64 бит
- NodeMCU прошивальщик Windows 32 бит
Какие настройки следует использовать с флешером NodeMCU?
Флешер NodeMCU уже поставляется с правильными настройками по умолчанию.
Настройки по умолчанию:
После нажатия кнопки «Flash» ничего не происходит, прошивальщик NodeMCU не запускает процесс перепрошивки
Если вы нажали кнопку «Flash» и ничего не происходит . Это может быть одно из двух:
- ESP не находится в режиме прошивки (перепроверьте, подключен ли GPIO 0 к GND при включении питания)
- программатор FTDI не может подать достаточный ток на ESP
Проблема 1 — Как заставить ESP перейти в режим прошивки:
- Закройте окно флешера NodeMCU
- Отключите питание от вашего ESP8266
- Подключите ESP следующим образом (дважды проверьте, что GPIO 0 подключен к GND)
- Подайте питание на ESP8266 и откройте флешер NodeMCU Нажмите кнопку «Flash»
Если он все еще сообщает «Ожидание MAC», попробуйте следующее:
- Подключите провод от вашего reset ESP8266 к GND
- Отсоедините этот провод от GND и присоединитесь к VCC
Повторите шаги несколько раз, пока ESP не перезагрузится, и, скорее всего, флешер NodeMCU сможет обнаружить ESP и начать процесс перепрошивки.
Проблема 2. Если FTDI не может обеспечить достаточный ток, возможно, придется купить новый программатор FTDI или подключить ESP8266 к внешнему источнику питания.
Флешер NodeMCU зависает или останавливается на определенном проценте
- Отключите питание от ESP + FTDI: Закройте окно флешера NodeMCU
- Подключите ESP + FTDI к компьютеру снова
- Откройте флешер NodeMCU и попробуйте скорость передачи 19200 бод
Если этот процесс завершится неудачно, повторите ту же процедуру для следующих скоростей передачи (38400, 57600, 74880 и 115200).
Ппо крайней мере 5 человек столкнулись с той же проблемой, и этот способ решил ее.
Как должен выглядеть NodeMCU после успешной прошивки?
У него должна быть зеленая стрелка внизу слева.
Разблокировка программатора FTDI на ПК с Windows
Если у вас новый программатор FTDI то сначала необходимо установить драйверы FTDI в Windows, посетите официальный веб-сайт для получения официальных драйверов: http://www.ftdichip.com/Drivers/VCP.htm.
В качестве альтернативы можете связаться с продавцом, который продал программатор FTDI.
Если возникли проблемы с установкой драйверов FTDI в Windows 7/8 / 8.1 / 10, вполне вероятно, что FTDI заблокирован.
Устранение неполадок ESP8266 — ESPlorer IDE
ESPlorer IDE Ошибка: разрешен только один tcp сервер
Это означает, что вы пытались загрузить несколько скриптов, и в ESP все еще выполняется старый скрипт с веб-сервером. Чтобы это исправить, нужно выполнить эти команды, чтобы удалить все файлы и перезапустить ESP:
- file.format()
- node.restart ()
Как очистить EEPROM (Энергонезависимую память)
Пример циклом проходим по всем ячейкам памяти, и записывает в них нули.
// Подключение библиотеки для работы с EEPROM. #include "EEPROM.h" void setup() < // Проход всех ячеек(байтов) и запись в них нулей. for (int i = 0; i < EEPROM.length(); i++) EEPROM.update(i, 0); >void loop() < // Пустой цикл. >
Откат к заводским настройкам
Если вы хотите вернуть память к заводским настройкам необходимо заменить 0 на 255, т.е. записать не нули, а число 255. Таким образом, в дальнейшем при помощи функции isNaN() возможно проверить была ли произведена запись в память EEPROM или нет.
// Подключение библиотеки для работы с EEPROM. #include "EEPROM.h" void setup() < // Проход всех ячеек(байтов) и запись в них чисел 255. for (int i = 0; i < EEPROM.length(); i++) EEPROM.update(i, 255); >void loop() < // Пустой цикл. >
Тотальная очистка esp8266
Извиняюсь, если подобная тема уже есть на этом форуме.
Как «форматнуть» esp8266?
есть подозрение, что даже при перепрошивке в памяти остаются какие то данные от предыдущей..
например, непонятна ситуация с запоминанием настроек wi-fi (была сеть с одними настройками AP, записываю другую прошивку с созданием AP с новыми именем и паролем, а в сети esp все равно видна под старыми.. и нормально соединяется..) от чего подобные фокусы могут быть?
использую arduino IDE
rojer
Разработчик Smart.js
Команда форума
chip erase вам в помощь.
tretyakov_sa
Moderator
Команда форума
Извиняюсь, если подобная тема уже есть на этом форуме.
Как «форматнуть» esp8266?
есть подозрение, что даже при перепрошивке в памяти остаются какие то данные от предыдущей..
например, непонятна ситуация с запоминанием настроек wi-fi (была сеть с одними настройками AP, записываю другую прошивку с созданием AP с новыми именем и паролем, а в сети esp все равно видна под старыми.. и нормально соединяется..) от чего подобные фокусы могут быть?
использую arduino IDE
Вот как распределяется память:
|--------------|-------|---------------|--|--|--|--|--| ^ ^ ^ ^ ^ Sketch OTA update File system EEPROM WiFi config (SDK)
Esptool для ESP8266
Утилита Esptool поможет считать и записать на платформу с чипом ESP8266EX прошивку в формате .bin .
Подготовка железа
Подключите управляющую платформу в режиме прошивки.
Подключение WiFi Slot: просто подключите платформу к ПК через micro-USB разъём;
Установка ПО
Скачайте и установите последнюю версию интерпретатора с официального сайта Python.При установке поставьте галочку в пункте «Add python.exe to PTH».
Зайдите в командную строку: Пуск Выполнить cmd :
Проверьте установленную версию Python. Введите в командной строке:
python --version
В ответ консоль выдаст строку с версией Python.
Установите через менеджер пакетов pip утилиту esptool.
pip install esptool
Узнайте установленную версию Esptool.
esptool.py version
В ответ командная строка выдаст ответ с текущей версией утилиты.
Это значит, что утилита установилась и можно переходить к чтению или записи прошивки.
Чтение прошивки
Для чтение прошивки необходимо вбить в консоль строку с определёнными параметрами. В зависимости от модуля и других факторов параметры команды отличаются. Рассмотрим на примере строки:
esptool.py --port COM19 read_flash 0x00000 0x100000 esp8266-backup.bin
esptool.py — запуск утилиты;
–port COM19 — номер COM-порта устройства. Узнайте ваш номер в диспетчере задач;
read_flash — команда считывания данных из флэш-памяти;
0x00000 — адрес начала считывания флэш-памяти;
0x10000 — адрес конца считывания флэш-памяти;
esp8266-backup.bin — имя файла для считываемой прошивки.
Со строкой разобрались. Пора считывать.
В ответ начнётся считывание прошивки с модуля с индикацией состояния в консоле.
Дождитесь окончания прошивки.
Файл прошивки вы найдёте в директории из которой работали в командной строке. Теперь можно прошивать модули на чипе ESP8266 любой кастомной прошивкой.
Для возврата к заводской прошивки воспользуйтесь утилитой esptool.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 4.0 International
Производные работы должны содержать ссылку на http://wiki.amperka.ru, как на первоисточник, непосредственно перед содержимым работы.
Вики работает на суперском движке DokuWiki.
продукты/esp8266/esptool.txt · Последние изменения: 2020/08/25 10:19 — sv
Инструменты страницы
- Показать исходный текст
- История страницы
- Ссылки сюда
- Наверх