Nodemcu программа для прошивки
Вкладка debug содержит разную полезную информацию, в том числе и реальный размер чипа флеш памяти в строке Flash real size, а так же размер памяти, установленный в прошивающей программе Flash set size, который важен для правильной поддержки OTA.
-Вариант с поддержкой OTA с объемом памяти чипа 1мбайт и выше. Необходимо обязательно выбирать в прошивающей программе размер памяти 1мбайт !! Модули с размером flash памяти 512кб не поддерживаются режимом OTA !!
-Вариант без поддержки OTA.Если размер получаемого файла(одним файлом) более 496кб, то требуется поддержка flash памяти не менее 1 мегабайта !! По сравнению с режимом OTA в этом варианте количество включенных опций можно включить значительно меньше.
Возможность дальнейшего обновления прошивки по OTA доступна только у кого есть активированные ключи !
Если у вас имеются проблемы со стартом прошивки, то обязательно смотрим ниже абзац про решение проблем с прошивкой !
Сборка прошивки в конструкторе
Конструктор позволяет собрать прошивку под свои требования, включив в прошивку только те функции и датчики, которые нужны.
Не имеет смысла включать все опции в прошивке - в этом случае прошивка может не собраться так как не влезет в модуль. Лучше прошивку пересобрать снова, если вы хотите испытать другие опции.
Некоторые опции имеют дополнительные настройки, которые находятся в значке-шестеренке. Там можно выбрать доступное количество например термостатов или других опций.
При первоначальной сборке прошивки рекомендуется воспользоваться опцией OTA , чтобы следующее обновление было возможно через интернет без использования подключения программатора. С опцией OTA количество опций можно включить больше, но требуется чтобы память на модуле была не меньше 1 мегабайта !!
Кроме OTA так же рекомендуется включать опции NVS настройки 2 и Экспорт/Импорт настроек. NVS настройки 2 решает проблему со смещением(повреждением) настроек при изменении списка или настроек опций при обновлении прошивки.
При сборке прошивки можно выбирать разный SDK. Рекомендуемая версия SDK 1.3.0. В новых версиях замечена проблема с режимом точки доступа (Safe Mode)(. ) , но нет проблем с надежностью связи с роутером. SDK - это набор библиотек и функций от производителя чипа для работы устройства.
После нажатия кнопки "скомпилировать" через некоторое время конструктор прошивки выдаст ссылки для скачивания:
В режиме без OTA можно прошить файлы прошивки одним файлом - тогда все настройки модуля, если они были сбросятся. Если вы обновляете прошивку и не хотите чтобы настройки удалились, то необходимо обновлять прошивку двумя файлами по адресам, которые указаны в имени файла.
В режиме OTA достаточно залить прошивку одним файлом. Но 0x81000.bin может потребоваться, если вы хотите обновить прошивку по кабелю после использования OTA, когда загружен файл user2.bin(отображается в debug) - в этом случае обновление прошивки одним файлом не обновит активную прошивку.
Подключение модуля для прошивки
Для прошивки ESP8266 необходим USB-UART переходник или Arduino. ESP8266 необходимо обеспечить напряжение питания 3.3в и током 200..300мА. Питание 3.3в от ARDUINO или от USB-UART подключать не рекомендуется - модуль может работать не стабильно из-за нехватки тока. Рекомендуется использовать стабилизатор вида 1117.
Подключение ESP8266 к USB-UART: Необходимо подключить общие выводы GND(минус). RX у USB-UART на TX ESP, TX у USB-UART на RX ESP. Подключаем так же источник питания 3.3в.
Подключение ESP8266 к Arduino: Необходимо подключить общие выводы GND(минус).RX у Arduino на RX ESP, TX у Arduino на TX ESP. Подключаем так же источник питания 3.3в. RESET у Arduina необходимо подключить к GND.
На модуле ESP8266 вывод CH_EN необходимо подключить к +3.3в для того, чтобы включить чип.
GPIO 0 на время программирования, перед включением питания необходимо подключить к GND(земля). После успешной прошивки GPIO 0 нужно отключить от GND. Если на модуле выведен GPIO 15, то его необходимо подключить на GND через резистор 10кОм на постоянной основе !!
Если у вас модуль esp8266 имеет уже на борту USB-UART (например Wemos, NodeMCU) , то указанные выше действия проводить не требуется.
Прошивка модуля
Для начала необходимо установить драйвера для вашего USB-UART переходника или Arduinы.
Прошивка через Nodemcu Flasher: Устанавливаем на вкладке Advanced Параметр Flash size в соответствии выбранным размером flash памяти (в байтах). Режим работы flash ставим QIO (при использовании GPIO 9/10 - DIO). Остальные параметры не трогаем. Указываем на вкладке Config путь на файл прошивки с адресом 0x0000. На вкладке Operation выбираем COM порт и жмем кнопку FLASH.
Прошивка через Flash download tool: Действия аналогичны.
Для модулей ESP8285 и модулях с памятью PN25F08B требуется установка режима памяти DOUT !!
Прошивка через esptool. Пример команды esptool.py --port /dev/ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin . где -fs 8m размер flash памяти модуля в мегабитах !
Скорость COM порта рекомендуется ставить не выше 115200.
Перед первой прошивкой рекомендуется залить в модуль blank по адресу 0x0000 , особенно, если в модуле до этого использовалась какая либо другая прошивка.
Прошивка файла ESP INIT DATA
Рекомендуется прошить в модуль файл esp_init_data_default.bin с калибровками по умолчанию, эти настройки влияют на работу wifi и adc. В большинстве случаев модули работают корректно без этого файла. Последние SDK могут вообще не запускаться без данного файла.
Адрес прошивки файла зависит от установленного размера flash памяти:
0x7c000 для 512 kB.
0xfc000 для 1 MB.
0x3fc000 для 4 MB.
0xffc000 для 16 MB.
Запуск модуля
При первом включении модуль включается в режим safe mode автоматически так как не содержит имени точки доступа. В режиме safe mode в эфире появится точка с именем WiFi-IoT, к которой можно подключится используя смартфон или ноутбук.
В режим safe mode еще можно попасть, замкнув между собой RX и TX и перезапустив модуль или нажать 3 раза подрят (с интервалом нажатия около секунды) кнопку RESET на ESP8266.
Далее возможны два варианта подключения к модулю:
Далее настраиваем подключение на свой роутер на вкладке main веб интерфейса. Необходимо вбить в поля WiFi options данные своей точки доступа. Для подключения к роутеру выбираем режим "Station mode". После нажатия кнопки set ниже появится IP адрес, на который можно заходить внутри своей беспроводной сети.
Далее обновляем страницу и видим внизу IP адрес, на который уже можно будет заходить внутри Вашей локальной сети.
Тут же вы можете установить свой логин и пароль на странички настроек веб интерфейса. Длинна логина и пароля не более 8 символов. Пароль затребуется на все вкладки настроек. А при установленной опции "Full Security" и на все GET запросы управления. В режиме safe mode пароль не запрашивается !
На данной вкладке можно задать имя модулю, которое будет отображаться на главной и в системе flymon, а так же в топике на MQTT сервере.
Указанные выше действия выполнять не требуется, если прошивка была собрана с опцией Настройки по умолчанию , где были заранее прописаны параметры роутера и IP адрес. После успешной прошивки и перезагрузки сразу можно заходить на указанный IP адрес модуля внутри своей wi-fi сети.
Решение проблем с прошивкой
Иногда, после сторонних прошивок или мусора модуль может не запустится и необходимо выполнить дополнительные действия. Необходимо затереть flash память пустым бланком по адресу 0x00000. Далее уже прошиваем саму прошивку снова.
У некоторых пользователей даже после зачистки бланком модуль не стартует или стартует только при установленном режиме 512 кб или 4мб, возможно это связано с низким качеством flash памяти или частичной её несовместимостью с чипом ESP8266. По некоторым сведениям от пользователей помогает замена чипа памяти.
ВАЖНО !! Если модуль не может получить IP адрес. Висит постоянно статус connect , то рекомендуется вписать IP адрес вручную ниже. Для этого необходимо выбрать режим Static IP и вписать IP модуля и IP шлюза(IP роутера). После этого можно заходить на модуль уже внутри сети по IP адресу, который указали в настройках..
Иногда статус connect может висеть, если тип шифрования на роутере включен, который не поддерживается чипом ESP8266.
Решение проблем с компиляцией.
Ошибка компиляции возможна из-за:
1. Превышен размер IRAM области памяти, прошивка не умещается. Требуется уменьшить количество опции или выбрать другой SDK. Чем новее SDK , тем меньше влазит опций. Проблема нехватки памяти не так заметна при использовании RTOS прошивки.
2. Ошибка в коде - маловероятная причина, но возможна после обновления кода или конфликта опций ранее не замеченный. Сообщить об ошибке можно через обратную связь на сайте или в чате Телеграм, указав код ошибки.
Сохранение настроек в файл
Этот метод является устаревшим, рекомендуется воспользоваться опцией Экспорт/Импорт настроек.
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, Вам будет не интересно.
Также добавлю, что я сам являюсь "чайником". Но попробовав большинство возможных вариантов прошивки esp8266, столкнувшись с трудностями, потратив много времени и усилий, научился как это сделать быстро и просто. Конечно с помощью людей, которые профи в этом деле. Рудольф, Иван, спасибо!
И чтобы "облегчить жизнь" таким, как я, постараюсь подробно объяснить. А, как известно, лучше воспринимается информация, когда объясняют на "одном языке". Поэтому рассказ будет в стиле "чайник" для "чайников" Погнали!
Прошивка (заливка бин-файла) esp8266 с помощью командной строки операционной системы Windows
Давайте пошагово
Шаг №0 и №1
Запускаем комп. Нам нужно понять, нужен ли шаг №1, или можно приступать к №2. Для этого соединяем плату с компьютером (в свободный разъем USB). Далее Пуск\Панель управления\Диспетчер устройств, в разделе порты должно быть название вашей платы и COM порт на котором она висит:
Если есть, значит драйвер платы установился автоматически, если нет, то качаем и устанавливаем. После того, как вы увидели плату в портах (как на скрине выше), записываем номер COM-порта (на бумажку) и переходим к следующему шагу.
Что ж, я вас поздравляю, у нас все готово к прошивки платы!
Для этого подсоединяем плату В ТОТ САМЫЙ РАЗЪЕМ USB (есть записан на бумажке его номер, или уже потеряли?), или опять смотрим на каком порту он находится.
Все, пишем команду (мы должны находиться в той папке! С:\tm-web>Не забывайте, что tm-web это только пример! ): esptool.py --port COM4 write_flash 0x000000 tmac-web.ino.nodemcu.bin
Где ( это пример, пишите свою команду и свои данные! ):
- COM4 - номер порта на котором плата;
- tmac-web.ino.nodemcu.bin - имя файла прошивки, который должен лежать в той же папке в корне диска "С".
Бьем по enter!
Пошел процесс прошивки, который отображается командной строкой, мигает синий диод на плате.
Если все сделано правильно, то вы должны увидеть такую картинку:
Поздравляю, плату прошито успешно!
Последний раз ВАЖНО. Если у вас плата не новая, то ее нужно обновить (стереть все, что там уже записано). Для этого в той же командной строке пишем команду: esptool.py --port COM4 erase_flash и enter конечно же.
В этой статье рассказывается, как загрузить на WiFi-модуль ESP8266 прошивку NodeMCU, используя для этого флэшер (от англ. «flasher»; это программа для загрузки прошивки), установленный на операционной системе Windows. Если вы не знаете, что такое ESP8266, советую сначала ознакомиться с этой статьей.
Зачем загружать на ESP8266 прошивку NodeMCU?
NodeMCU – это прошивка, позволяющая программировать модуль ESP8266 при помощи LUA-скриптов, и принцип ее работы похож на программирование платы Arduino. Благодаря LUA-скрипту, установленному на ESP8266, вы можете наладить WiFi-соединение, управлять GPIO-контактами, превратить ESP8266 в веб-сервер и т.д.
Подключение к 3,3-вольтовому программатору FTDI
Распиновка ESP8266 выглядит следующим образом:
Чтобы установить соединение между ESP8266 и программатором FTDI, нужно подключить следующие контакты:
- Контакт RX на ESP8266 – к контакту TX на программаторе
- Контакт TX – к контакту RX
- Контакт CH_PD – к контакту 3.3V
- Контакт GPIO 0 – к контакту GND
- Контакт VCC – к контакту 3.3V
- Контакт GND – к контакту GND
Загрузка флэшера NodeMCU для Windows
Соединив ESP8266 и программатор, скачайте флэшер (это файл формата «*.exe»):
Всю необходимую информацию о флэшере NodeMCU можно найти в его GitHub-репозитории.
Загрузка прошивки NodeMCU на ESP8266
Откройте флэшер, который только что загрузили. Должно открыться примерно вот такое окно:
Перед загрузкой прошивки откройте вкладку «Advanced» – здесь находятся дополнительные настройки. Если нужно, поменяйте что-нибудь. Затем вернитесь на вкладку «Operation» и нажмите на кнопку «Flash». В ту же секунду должен начаться процесс загрузки прошивки. Если все загрузится как надо, в левом нижнем углу появится круглая зеленая иконка с галочкой внутри.
Что дальше
По этой ссылке можно почитать о том, как создать веб-сервер, работающий на базе ESP8266, на котором установлена прошивка NodeMCU.
Здесь я покажу вам, как создать и сконфигурировать простой автономный выключатель с управлением по Wi-Fi, которая может отправлять данные об окружающей среде в интернет и получать ДУ (дистанционное управление), чтобы включить / выключить переключатель. Этот проект, который может быть построен менее чем за 10 или 15 долларов США делает следующее: Читать далее →
Запись опубликована 18.03.2015 автором victor в рубрике ESP8266 для начинающих, NodeMCU, Все о ESP8266 с метками esp8266, NodeMcu.LUA, Python и AT команды в одном месте
Требуется установка последней версии JAVA
Поддержка платформ
- Windows(x86, x86-64)
- Linux(x86, x86-64, ARM soft & hard float)
- Solaris(x86, x86-64)
- Mac OS X(x86, x86-64, PPC, PPC64)
Чем отличается от других программ для ESP8266
Запись опубликована 16.12.2014 автором victor в рубрике ESP8266 для начинающих, ESPlorer, NodeMCU, Все о ESP8266 с метками esp8266, ESPlorer, MicroPython, NodeMcu.О прошивке для ESP8266 NodeMCU мы уже публиковали ранее материал, но хочется вернуться к этой теме снова. Во-первых, проект активно развивается, хоть и использует все еще SDK 0.9.2, во-вторых, появилось множество рабочих примеров скриптов, в-третьих, появились удобные инструменты, которые позволяют не только в один клик загружать lua-скрипты в ESP8266, но и много чего еще. В-четвертых, NodeMCU, на сегодняшний день пожалуй, самая стабильная прошивка из всех существующих. Ну и в-пятых, важным моментом я бы выделил появление модулей. Пока на сегодняшний день существует единственный модуль для цифрового датчика температуры DS18B20 от разработчиков NodeMCU. Оцените легкость использования:
Прошивка NodeMCU набирает все больше и больше сторонников еще и благодаря появившимся программам для работы с NodeMCU. Пожалуй, самой удобной я бы назвал LuaUploader, скриншот которой вы видите в начале статьи. Предельно простой интерфейс при большом функционале. Дизайн не блещет, но автор сейчас работает над новой версией с полностью переработанным интерфейсом. Новая программа будет называться AutoLua.
Не обойду стороной и появление новой утилиты для прошивки ESP8266. Особенностей две: автоматом определяет GPIO0, автор тот же, что и NodeMCU. Код, соответственно, так же закрыт.
P.S. Уже после выхода статьи появилась еще одна приятная новость: в NodeMCU увеличилось число поддерживаемых таймеров до 7.
Запись опубликована 09.12.2014 автором victor в рубрике ESP8266 для начинающих, NodeMCU, Все о ESP8266 с метками esp8266, ESPlorer, NodeMcu, NodeMCU flasher.Мы постарались собрать в одном месте всю доступную документацию, прошивки, примеры для esp8266
Читайте также: