Nodemcu v3 не прошивается arduino ide

Обновлено: 02.07.2024

У ESP8266 есть несколько общих проблем, особенно при попытке записать новую прошивку или загрузке скриптов.

Вот подборка наиболее распространенных проблем с ESP8266 и способы для их исправления.

Устранение неполадок ESP8266 - NodeMCU Flasher

Где скачать флешер NodeMCU?

Перейдите в репозиторий GitHub флешера NodeMCU и загрузите флешер для вашей версии Windows, нажав кнопку «Raw»:

Какие настройки следует использовать с флешером NodeMCU?

Флешер NodeMCU уже поставляется с правильными настройками по умолчанию.

Настройки по умолчанию:

image_1.jpg

После нажатия кнопки «Flash» ничего не происходит, прошивальщик NodeMCU не запускает процесс перепрошивки

Если вы нажали кнопку «Flash» и ничего не происходит . Это может быть одно из двух:

  • ESP не находится в режиме прошивки (перепроверьте, подключен ли GPIO 0 к GND при включении питания)
  • программатор FTDI не может подать достаточный ток на ESP

image_2.jpg

Проблема 1 - Как заставить ESP перейти в режим прошивки:

Если он все еще сообщает «Ожидание MAC», попробуйте следующее:

  1. Подключите провод от вашего reset ESP8266 к GND
  2. Отсоедините этот провод от GND и присоединитесь к VCC

Повторите шаги несколько раз, пока ESP не перезагрузится, и, скорее всего, флешер NodeMCU сможет обнаружить ESP и начать процесс перепрошивки.

Проблема 2. Если FTDI не может обеспечить достаточный ток, возможно, придется купить новый программатор FTDI или подключить ESP8266 к внешнему источнику питания.

Флешер NodeMCU зависает или останавливается на определенном проценте

image_3.jpg

  1. Отключите питание от ESP + FTDI: Закройте окно флешера NodeMCU
  2. Подключите ESP + FTDI к компьютеру снова
  3. Откройте флешер NodeMCU и попробуйте скорость передачи 19200 бод

Если этот процесс завершится неудачно, повторите ту же процедуру для следующих скоростей передачи (38400, 57600, 74880 и 115200).

Ппо крайней мере 5 человек столкнулись с той же проблемой, и этот способ решил ее.

Как должен выглядеть NodeMCU после успешной прошивки?

У него должна быть зеленая стрелка внизу слева.

image_4.jpg

Разблокировка программатора FTDI на ПК с Windows

В качестве альтернативы можете связаться с продавцом, который продал программатор FTDI.

Если возникли проблемы с установкой драйверов FTDI в Windows 7/8 / 8.1 / 10, вполне вероятно, что FTDI заблокирован.

Устранение неполадок ESP8266 - ESPlorer IDE

ESPlorer IDE Ошибка: разрешен только один tcp сервер


NodeMCU — это платформа на основе модуля ESP8266. П лата предназначена для удобного управления различными схемами на расстоянии посредством передачи сигнала в локальную сеть или интернет через Wi-Fi. Возможности применения этой платы ограничивается лишь вашей фантазией. К примеру, на базе Node MCU можно создать «умный дом», настроив управление светом или вентиляцией через телефон, регистрацию показаний датчиков и многое другое.
Купить NodeMCU (ESP8266) у проверенного продовца

1 шаг. Прошивка

В некоторых случаях приходит нам просто болванка. И появляется надобность прошивки NodeMCU (ESP8266). Да и без того вам придется его прошивать на различные проекты. Так как NodeMCU (ESP8266) имеет кучу прошивок.

Для прошивки надо скачать программу

Для ESP8266 есть такая программа как NodeMCU Flasher, которая изначально предназначена для прошивки загрузчика NodeMCU. Но как оказалось, она отлично прошивает и другие прошивки.

Я прикреплю к статье архив с данной программой и прошивкой для удобства, но тут всегда можно скачать новую версию NodeMCU Flasher.

В папке «nodemcu-flasher-master» есть 2 папки Win64 и Win32 и в зависимости от того какая разрядность у вашей ОС выбираем нужную. Дальше в папке Release запускаем «ESP8266Flasher.exe» и видим интерфейс программы:


Выбираем нужный COM порт и идём во вкладку «Config», убираем хрестик около «INTERNAL://NODEMCU» и ставим его на один пункт ниже, как на скрине:


(Если захотите прошить загрузчик NodeMCU — убираете хрестик там где его не было, и ставите — где он был, то есть около «INTERNAL://NODEMCU»).

Потом жмём по шестеренке и выбираем где лежит наша прошивка, прошивка как правило в формате *.bin(в прикреплённом архиве это «v0.9.5.2 AT Firmware.bin» которая лежит в основной папке), и так же выбираем «0x00000» как и выше.


Дальше идём во вкладку «Advanced» и меняем там скорость на 115200, именно эта скорость будет основная и модуль будет отзываться по ней на AT-команды в случае соответствующей прошивки.

Возвращаемся опять на вкладку «Operation» переводим модуль в режим программирования и жмём «Flash»:


Всё, модуль начал прошиваться, после перепрошивки не забываем перезагрузить модуль и вуаля, он прошит нужной нам прошивкой.


Подключение NodeMCU

Подключаем плату NodeMCU к компьютеру с помощью USB кабеля:


  • заходим в раздел «инструменты» -> «плата» -> «менеджер плат», где выбираем «esp8266» и скачиваем последнюю версию,


  • заходим в раздел «инструменты» -> «плата» и находим Node MCU,


  • необходимо в том же разделе зайти в раздел «порт» и выбрать тот, в который подключена плата,


  • установить в разделе инструменты: Upload speed (115200 bouad).


NodeMCU: мигающий светодиод

В данной статье я рассмотрю прошивку плат ESP8266 через среду разработки Arduino IDE. Arduino IDE позволяет загрузить на плату огромное количество готовых примеров, которые были ранее написаны для плат Arduino, поэтому данный навык будет вам очень полезен при создании своих устройств!

Настройка Arduino IDE для работы с ESP

Открываем Arduino IDE и добавляем в него возможность работы с платами esp8266, для этого:

1) Переходим в раздел Preferences в меню.

Открываем настройки Arduino IDE

3) Открываем менеджер плат в меню "Инструменты > Плата > Менеджер плат. " (Go to Tools > Board > Boards Manager…)

Открываем менеджер плат в Фквгштщ IDE

4) В появившемся окне в поиске вводим esp8266 и устанавливаем соответствующий пакет

Установка дополнителных esp плат

5) Закрываем и заново открываем Arduino IDE. Теперь в списке доступных плат появились платы на основе чипа ESP.

Список доступных ESP плат

Прошивка NodeMCU ESP8266 Development Board

NodeMCU dev board

Теперь если подключить плату NodeMCU к компьютеру, то в списке портов вы увидите новое устройство. Для MacOS оно будет иметь вид:

Появился новый UART порт

Com5 в системе Windows

Для проверки работы прошивки загрузим стандартный пример с мигающим светодиодом. Для этого в меню выбираем "Примеры > Basic > Blink".

Выбираем стандартный пример с мигающим светодиодом

Откроется новое окно Arduino IDE со стандартным примером, нажимаем на него. Теперь нам необходимо выбрать соответствующую плату и нужный порт. Выбираем NodeMCU 1.0 и порт, на который подключен модуль ESP. Все параметры должны быть такими же как на скриншоте.

Выбираем плату NodeMCU 1.0

Нажимаем кнопку "Загрузить" в верхней части окна:

Нажимаем кнопку Загрузить

Код начнет компилироваться:

Компиляция скетча

После компиляции начнется загрузка кода на плату ESP, в нижней части экрана побегут оранжевые пиксели и будут появляться проценты загрузки. В результате загрузка дойдет до 100% и чуть выше вы увидите надпись "Загрузка завершена". Поздравляем, вы только что прошили модуль NodeMCU! Посмотрите на плату - на ней должен начать мигать светодиод!

Удачная прошивка NodeMCU

Прошивка ESP-01

В отличии от NodeMCU в модуле ESP-01 нет встроенного программатора и его нельзя напрямую подключить к USB. Поэтому для прошивки я буду использовать внешний программатор.

Модуль ESP-01

Для данного модуля подойдут практические любиые USB-to-UART программаторы, но я заказал специальный программатор с разъемом под ESP-01.

Программатор для Esp-01

В данном программаторе точно также как и в NodeMCU используется чип CP2102, поэтому нам не надо ставить дополнительный драйвер. Также этот программатор имеет дополнительные пины, через которые можно прошивать модули Sonoff. Теперь просто втыкаем плату в программатор, а программатор в USB.

Программатор и вставленный Esp-01

В меню "Порт" появится знакомый нам cu.SLAB_USBtoUART (Для Windows это будет COM*), выбираем его. В поле "Плата:" выбираем "Generic ESP8266 Module". Все параметры должны быть на скриншоте.

Настройки Arduino IDE для ESP-01

Обратите внимание, что каждый раз перед прошивкой этот программатор необходимо вытыкать и втыкать в USB заново. Также иногда внешние программаторы могут быть не видны в Arduino IDE. В этому случае приходится перезгаружать среду разработки. Поэтому для первых экспериментов с модулем ESP я рекомендую использовать модуль NodeMCU.

Как вы видите подготовить Arduino IDE к работе и прошить первый скетч на ESP не так уж и трудно. В следующей статье я расскажу вам как написать скетч, который будет работать с MQTT сервером, а также как потом подключить девайс к системе OpenHAB2.

Фантастической особенностью любого микроконтроллера с поддержкой Wi-Fi, такого как ESP8266 NodeMCU, является возможность обновления его прошивки по беспроводной сети. Это называется программированием «по воздуху» (OTA, Over-The-Air).

Программирование ESP8266 в Arduino IDE «по воздуху» (OTA, Over The Air)

Программирование ESP8266 в Arduino IDE «по воздуху» (OTA, Over The Air)

Что такое OTA программирование ESP8266?

OTA программирование позволяет обновлять/загружать новую программу в ESP8266 с помощью Wi-Fi вместо того, чтобы требовать от пользователя подключить ESP8266 к компьютеру через USB.

Функциональность OTA чрезвычайно полезна в случае отсутствия физического доступа к модулю ESP. Это помогает сократить время, затрачиваемое на обновление каждого модуля ESP при технической поддержке.

Одной из важных особенностей OTA является то, что один центральный объект может отправлять обновления нескольким модулям ESP, использующим одну и ту же сеть.

Единственным недостатком является то, что вам нужно для OTA добавлять дополнительный код в каждый загружаемый скетч, чтобы в следующем обновлении вы смогли снова использовать OTA.

3 простых шага по использованию OTA с ESP8266

  1. Установка Python версии 2.7.x. Первый шаг – установите на компьютер Python версии 2.7.x.
  2. Загрузка базовой OTA прошивки через последовательный интерфейс. Загрузите скетч, содержащий прошивку OTA. Этот шаг обязателен шаг, чтобы вы могли выполнять следующие обновления/загрузки через беспроводную сеть.
  3. Загрузка нового скетча по воздуху. Теперь вы можете загружать новые скетчи в ESP8266 из Arduino IDE по воздуху.

Шаг 1. Установка Python версии 2.7.x

Чтобы использовать функциональность OTA, вам необходимо установить Python версии 2.7.x, если он еще не установлен на вашем компьютере.

Перейдите на официальный сайт Python и загрузите 2.7.x (конкретный релиз) для Windows (установщик MSI).

Откройте установщик и следуйте указаниям мастера установки.

Рисунок 2 Установка Python 2.7.x на ПК

Рисунок 2 – Установка Python 2.7.x на ПК

В разделе настройки Python 2.7.x убедитесь, что включен последний параметр «Add python.exe to Path» (добавить python.exe в путь).

Рисунок 3 Включите добавление python.exe в путь при установке Python

Рисунок 3 – Включите добавление python.exe в путь при установке Python

Шаг 2. Процедура загрузки скетча OTA через последовательный интерфейс

Заводской образ в ESP8266 не поддерживает возможность обновления через OTA. Поэтому вам нужно сначала загрузить на ESP8266 прошивку OTA через последовательный интерфейс.

Этот шаг обязателен для первой прошивки, чтобы вы могли выполнять следующие обновления/загрузки по беспроводной сети.

Дополнение ESP8266 для Arduino IDE поставляется с библиотекой OTA и примером BasicOTA. Вы можете получить к нему доступ через Файл → Примеры → ArduinoOTA → BasicOTA.

Рисунок 4 Откройте скетч BasicOTA в Arduino IDE

Рисунок 4 – Откройте скетч BasicOTA в Arduino IDE

Должен загрузиться следующий код. Но, прежде чем начать загружать скетч в модуль, вам нужно внести несколько изменений, чтобы он у вас заработал. Вам необходимо изменить следующие две переменные в соответствии с учетными данными вашей сети, чтобы ESP8266 мог подключиться к существующей сети.

После этих изменений загрузите скетч.

Теперь откройте монитор последовательного порта со скоростью 115200 бит/с. И нажмите кнопку RST на ESP8266. Если все в порядке, он выведет динамический IP адрес, полученный от вашего маршрутизатора. Запишите его.

Рисунок 5 Запишите IP адрес, выделенный для ESP8266 NodeMCU

Рисунок 5 – Запишите IP адрес, выделенный для ESP8266 NodeMCU

Шаг 3. Загрузите новый скетч «по воздуху»

А теперь давайте загрузим новый скетч по воздуху, т.е. через Wi-Fi.

Помните! Вам нужно добавлять код для OTA в каждый загружаемый вами скетч. В противном случае вы потеряете возможность прошивки через OTA и не сможете выполнять следующие загрузки через беспроводную сеть. Поэтому рекомендуется изменять приведенный выше код, включая в него ваш новый код.

В качестве примера мы включим простой скетч Blink в код BasicOTA. Не забудьте изменить переменные SSID и пароля на учетные данные вашей сети.

Изменения в программе BasicOTA выделены номерами строк.

В приведенной выше программе мы не использовали delay() для мигания светодиода, потому что ESP8266 во время delay() приостанавливает программу. Если следующий запрос OTA будет сгенерирован, когда ESP8266 приостановлен в ожидании прохождения задержки delay() , ваша программа пропустит этот запрос.

Как только вы скопируете приведенный выше скетч в Arduino IDE, выберите Инструменты → Порт, и вы должны увидеть что-то вроде этого: esp8266-xxxxxx at ip_адрес_вашего_esp. Если подобного не будет, возможно, вам придется перезапустить IDE.

Рисунок 6 Выберите порт OTA в Arduino IDE

Рисунок 6 – Выберите порт OTA в Arduino IDE

Выберите порт и нажмите кнопку «Загрузить». Через несколько секунд новый скетч будет загружен. И вы должны увидеть на плате мигающий светодиод.

Читайте также: