Как стереть Flash память ESP8266 NodeMCU (аппаратный сброс модуля)


В данной статье мы рассмотрим как стереть Flash память (флэш-память) модуля ESP8266 NodeMCU, то есть выполнить аппаратный сброс модуля и вернуть его к заводским настройкам. Восстановление заводских настроек модуля ESP8266 может быть полезно, если вы хотите удалить любые изменения, внесенные в прошивку или настройки конфигурации; если система часто дает сбои и вы не можете загрузить новый код; для очистки данных, которые больше не нужны, и других приложений. Стирать Flash память модуля ESP32 мы будем с помощью инструмента под названием esptool. Ранее на нашем сайте мы рассматривали аналогичную процедуру стирания Flash памяти модуля ESP32.

Как стереть Flash память ESP8266 NodeMCU (аппаратный сброс модуля)Установка esptool.py

Для выполнения сброса к заводским настройкам модуля ESP8266 NodeMCU мы будем использовать программу esptool, которая представляет собой платформо-независимую утилиту с открытым исходным кодом, основанную на языке Python. Она используется для взаимодействия с ROM загрузчиком (bootloader) в чипах от компании Espressif, к которым относится и ESP32.

Чтобы установить утилиту esptool необходимо чтобы на вашем компьютере был установлен Python 3.7 или новее. Вы можете скачать свежие версии установщика Python с его официального сайта.

Когда Python 3 будет установлен на вашем компьютере, откройте окно терминала (Terminal window ) и установите самую последнюю стабильную версию программы esptool.py с помощью установщика pip:

Примечание: с некоторыми установленными версиями Python приведенная команда может не работать и выдавать ошибку, в этом случае попробуйте одну из следующих команд:

Примечание №2: если и ни одна из этих команд не помогла, то по совету пользователя Сергея, написавшего его в комментарии к данной статье, попробуйте проапгрейдить установщик pip командой

После чего должна сработать команда

Также будет необходимо установить и утилиту Setuptools - в некоторых операционных системах ее нет по умолчанию. Ее можно установить с помощью следующей команды:

Итак, после описанных шагов у вас будет установлена программа esptool.py (в каталог Python по умолчанию для исполняемых файлов) и вы ее сможете запускать на выполнение. В окне терминала выполните команду:

Если esptool у вас установлена корректно, то в результате выполнения этой команды вы на экране должны увидеть следующую картину (независимо от вашей операционной системы):

Доступные параметры для программы esptool

Стирание Flash памяти ESP8266 NodeMCU

Чтобы стереть флэш-память модуля ESP8266 NodeMCU выполните следующую последовательность шагов:

1. Подключите модуль ESP8266 NodeMCU к вашему компьютеру.

2. Откройте на компьютере окно терминала.

3. Нажмите кнопку BOOT/FLASH на модуле ESP8266 NodeMCU.

4. Выполните следующую команду в окне терминала (продолжая удерживать кнопку FLASH/BOOT):

5. Когда начнется процесс стирания (Erasing) Flash памяти вы можете отпустить кнопку BOOT/FLASH. Через несколько секунд Flash память модуля ESP8266 NodeMCU будет стерта.

Процесс стирания Flash памяти модуля ESP8266 NodeMCU

Примечание: если после появления сообщения “Connecting …” на экране будут появляться новые серии точек (…) это будет означать что модуль ESP8266 не находится в режиме загрузчика/режиме прошивки (bootloader mode/flashing mode). В данном случае вам необходимо будет снова повторить все описанные шаги и снова держать кнопку BOOT/FLASH чтобы убедиться в том, что модуль ESP8266 перейдет в режим загрузчика/режим прошивки и процесс стирания Flash памяти успешно завершится.

Дисклеймер

Как видно из описания представленного способа, существуют некоторые "подводные камни", из-за которых по ряду причин он может не сработать. Поэтому просьба не писать в комментариях гневные фразы по поводу того, что я выложил здесь неработающий способ. К сожалению, более простого и 100% работающего способа стереть Flash память модуля ESP8266 NodeMCU я пока не нашел в сети интернет.

Источник статьи

(Проголосуй первым!)
Загрузка...
2 576 просмотров

Комментарии

Как стереть Flash память ESP8266 NodeMCU (аппаратный сброс модуля) — 6 комментариев

  1. Добрый вечер. Спасибо за статью. Грамотно изложен материал. После обновления по OTA ESP8266mod вообще отключилась. Перепрошивка этой же прошивкой результата не дала. Прошил пример подключения к Wi-Fi плата подключилась (скетч маленький)понял надо память стирать полностью. Теперь по сути. Не подошёл ни один из 4 вариантов установки esptool. Но красным текстом были описаны ошибки и предложение про апгрейдить установщик pip командой python -m pip install esptool --upgrade pip. После этого сработала команда python -m pip install esptool. Ну а дальше всё по тексту статьи. После очистки плата прошилась и заработала. Можете дополнить статью. Ещё раз спасибо.

    • Добрый и вам вечер. Спасибо вам за подробный комментарий, дополнил статью по вашему совету.

  2. А как быть если модуль теперь при включении отрубает вай фай и пк его не видит? Сбросить флэш не получается так как пишет что порт com6 не подлючен. Есть способ может перемычкой какой или без вариантов?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *