В данной статье мы рассмотрим как стереть Flash память (флэш-память) модуля ESP8266 NodeMCU, то есть выполнить аппаратный сброс модуля и вернуть его к заводским настройкам. Восстановление заводских настроек модуля ESP8266 может быть полезно, если вы хотите удалить любые изменения, внесенные в прошивку или настройки конфигурации; если система часто дает сбои и вы не можете загрузить новый код; для очистки данных, которые больше не нужны, и других приложений. Стирать Flash память модуля ESP32 мы будем с помощью инструмента под названием esptool. Ранее на нашем сайте мы рассматривали аналогичную процедуру стирания Flash памяти модуля ESP32.
Установка esptool.py
Для выполнения сброса к заводским настройкам модуля ESP8266 NodeMCU мы будем использовать программу esptool, которая представляет собой платформо-независимую утилиту с открытым исходным кодом, основанную на языке Python. Она используется для взаимодействия с ROM загрузчиком (bootloader) в чипах от компании Espressif, к которым относится и ESP32.
Чтобы установить утилиту esptool необходимо чтобы на вашем компьютере был установлен Python 3.7 или новее. Вы можете скачать свежие версии установщика Python с его официального сайта.
Когда Python 3 будет установлен на вашем компьютере, откройте окно терминала (Terminal window ) и установите самую последнюю стабильную версию программы esptool.py с помощью установщика pip:
1 |
pip install esptool |
Примечание: с некоторыми установленными версиями Python приведенная команда может не работать и выдавать ошибку, в этом случае попробуйте одну из следующих команд:
1 2 3 |
pip3 install esptool python -m pip install esptool pip2 install esptool |
Также будет необходимо установить и утилиту Setuptools - в некоторых операционных системах ее нет по умолчанию. Ее можно установить с помощью следующей команды:
1 |
pip install setuptools |
Итак, после описанных шагов у вас будет установлена программа esptool.py (в каталог Python по умолчанию для исполняемых файлов) и вы ее сможете запускать на выполнение. В окне терминала выполните команду:
1 |
python -m esptool |
Если esptool у вас установлена корректно, то в результате выполнения этой команды вы на экране должны увидеть следующую картину (независимо от вашей операционной системы):
Стирание Flash памяти ESP8266 NodeMCU
Чтобы стереть флэш-память модуля ESP8266 NodeMCU выполните следующую последовательность шагов:
1. Подключите модуль ESP8266 NodeMCU к вашему компьютеру.
2. Откройте на компьютере окно терминала.
3. Нажмите кнопку BOOT/FLASH на модуле ESP8266 NodeMCU.
4. Выполните следующую команду в окне терминала (продолжая удерживать кнопку FLASH/BOOT):
1 |
python -m esptool --chip esp8266 erase_flash |
5. Когда начнется процесс стирания (Erasing) Flash памяти вы можете отпустить кнопку BOOT/FLASH. Через несколько секунд Flash память модуля ESP8266 NodeMCU будет стерта.
Примечание: если после появления сообщения “Connecting …” на экране будут появляться новые серии точек (…) это будет означать что модуль ESP8266 не находится в режиме загрузчика/режиме прошивки (bootloader mode/flashing mode). В данном случае вам необходимо будет снова повторить все описанные шаги и снова держать кнопку BOOT/FLASH чтобы убедиться в том, что модуль ESP8266 перейдет в режим загрузчика/режим прошивки и процесс стирания Flash памяти успешно завершится.
Дисклеймер
Как видно из описания представленного способа, существуют некоторые "подводные камни", из-за которых по ряду причин он может не сработать. Поэтому просьба не писать в комментариях гневные фразы по поводу того, что я выложил здесь неработающий способ. К сожалению, более простого и 100% работающего способа стереть Flash память модуля ESP8266 NodeMCU я пока не нашел в сети интернет.
470 просмотров