Обновление прошивки ESP8266
Для работы с RemoteXY модуль ESP8266 должен иметь версию прошивки с поддержкой AT команд не ниже v0.40. Для проверки версии модуля, а так же для изменения прошивки в случае необходимости, подключите модуль к компьютеру через последовательный порт. Модуль можно подключить через плату Arduino или через USB-UART адаптер.
Подключение через плату Arduino
При использовании Arduino основной чип ATmega переводится в режим сброса, активным остается только встроенный USB-UART преобразователь. Для этого контакт RESET соединяется с землей. Контакты RX и TX подключаются к ESP8266 напрямую, а не крест накрест, как если бы они подключались для работы с контроллером.
Подключение через USB-UART адаптер
Преобразователь должен иметь выход источника 3.3V для питания ESP8266. Так же этот источник должен обеспечить необходимый ток не менее 200мА.
Контакт CPIO0 определяет режим работы модуля. При не подключенном контакте модуль работает в штатном режиме и выполняет AT команды. При замыкании контакта на землю, модуль переводится в режим обновления встроенной прошивки. Перевод модуля в режим прошивки требует, что бы контакт CPIO0 был подключен к «земле» в момент подачи питания на модуль. Если замыкать контакт при работающем модуле, перевод модуля в режим обновления прошивки не произойдет.
Проверка текущей версии
Для отправки AT команд и просмотра ответов необходимо использовать любую программу монитора последовательного порта. Очень хорошо подходит терминальная программа из Arduino IDE. В программе необходимо установить режим отправки команд с завершающим символом перевода строки и возвратом каретки. Скорость работы модуля по умолчанию 115200 бит/сек. Для работы модуля в штатном режиме контакт CPIO0 должен быть отключен.
Проверить текущую версию прошивки можно выполнив AT команду: AT+GMR. Пример ответа модуля:
AT+GMR
AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.
3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK
Так же стоит узнать размер флеш памяти вашего модуля, от этого зависят настройки адресов загрузки данных при обновлении прошивки. В данной инструкции описана прошивка модуля с размером флеш памяти 8Mbit(512KB+512KB) или 16Mbit(1024KB+1024KB), как наиболее распространенных. Размер флеш памяти можно узнать, выполнив AT команду сброса модуля: AT+RST.
AT+RST
OK
ets Jan 8 2013,rst cause:2, boot mode:(3,1)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
#т#n't use rtc mem data
slЏ‚rlМя
Ai-Thinker Technology Co.
,Ltd.
ready
Программа для прошивки
Для обновлении прошивки необходимо скачать программу для прошивки и саму прошивку. Программа для прошивки ESP8266 будем использовать Flash Download Tools с официального сайта Espressif Systems. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «Tools».
Прошивка
Прошивку так же можно скачать с официального сайта. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «SDKs & Demos» и загрузить прошивку ESP8266 NONOS SDK версии не менее v1.3.0. Именно с этой версии прошивки реализована поддержка AT команд v0.40 и более.
Все скаченные файлы необходимо распаковать и поместить в каталог, где полный путь к файлам состоит только из латинских символов, то есть без символов локализации языка.
Настройка
Запускаем программу прошивки Flash Download Tools v2. 4 (одноименный .exe файл). В открывшемся окне необходимо правильно указать загружаемые файлы и настройку соединения.
Загружаемые файлы располагаются в каталоге bin архива с прошивкой. Для каждого файла необходимо указать правильный адрес загрузки. Используйте следующую таблицу для выбора файлов и назначения адресов:
Установите следующие параметры настройки:
- SPIAutoSet — установлен;
- CrystalFreq — 26M;
- FLASH SIZE – 8Mbit или 16Mbit в зависимости от размера флеш-памяти;
- COM PORT – выберите порт, к которому подключена ESP;
- BAUDRATE – 115200
Для старта прошивки необходимо нажать кнопку «START».
Последовательность шагов для прошивки ESP8266
1. Подключите модуль к компьютеру согласно схеме подключения в этой статье.
2. Запустите монитор последовательного порта. Выполните AT команды AT+RST и AT+GMR для определения текущей версии прошивки и размера памяти модуля. Этот шаг так же позволяет проверить правильность подключения модуля.
3. Запустите программу прошивки Flash Download Tools, правильно настройте загружаемые файлы, установите настройки.
4. Отключите питание модуля ESP8266.
5. Соедините контакт CPIO0 на землю.
6. Подайте питание на модуль ESP8266.
7. Нажмите в программе прошивки кнопку START
8. Дождитесь окончания прошивки модуля. По окончании прошивки появится надпись FINISH зеленого цвета.
9. Отсоедините питание модуля ESP8266. Отсоедините землю с контакта CPIO0.
10. Включите модуль, запустите монитор последовательного порта. Убедитесь в работоспособности модуля и новой версии прошивки выполнив AT команду AT+GMR.
Знакомство с ESPHome. Пишем первую программу. — Home Server
Здравия всем! Что же, пришло время познакомится с ESPHome. В этой статье я расскажу как настроить ESPHome после установки, как создать новую прошивку и залить её в устройство как по USB, так и по воздуху. Как подключить наше устройство к Home Assistant. Что же начнем!
Введение
Свои первые устройства для автоматизации я собирал на контроллерах Arduino Uno и Arduino Mega теперь уже в далеких 2011-2013 годах. С тех времен утекло много воды. Когда появился теперь уже народный чудо контроллер ESP8266, мир поменялся. Он сразу на борту имел WiFi и Flash память на 512кб — 4мб. И практически сразу был портирован на Arduino SDK.
Главная прелесть ESP8266, в том, что его один раз нужно прошить прошивкой через USB подключение к компьютеру, а последующие изменения можно вносить по воздуху с так называемым OTA режимом.
Первые прошивки для ESP8266 я писал на Arduino SDK. Но после перехода на Home Assistant, я перешел на ESPHome, который разрабатывается специально для подключения к Home Assistant, через API. По этому добавление любого датчика и исполняющего устройства в Home Assistant стало очень просто. Я практически не использую MQTT брокера. Который раньше был узким местом в системе, если MQTT брокер падал вместе с сервером умного дома, происходил коллапс. И приходилось делать прошивки, которые продолжали работать без MQTT брокера.
ESPHome это система для создания прошивок (Firmware) с помощью конфигурационных файлов, написанных на языке Yaml. После освоения его в Home Assistant, написание прошивок на ESPHome дело очень легкое. Для конфигурирования, компиляции и управления ESPHome использует понятный Web интерфейс. Давайте же разберемся с ним
Знакомство с интерфейсом ESPHome
После установки ESPHome, описанной в этой статье, откроем наш web интерфейс.
Как видим из приведенного изображения, вначале у нас список устройств пуст. Но есть 2 функциональные кнопки: NEW DEVICE и SECRET.
Файл
secretsЩелкнем сверху на кнопку SECRET
Откроется редактор файла secrets.yaml. Этот файл, аналогичен файлу secrets.yaml в Home Assistant. Он нужен для хранения персональной информации, к примеру, название WiFI сети и паролем доступа к ней.
Заполним поля wifi_ssid и wifi_password своими данными. И нажмем кнопку SAVE, чтобы применить настройки.
Создание первого устройства
Щелкнем по кнопке NEW DEVICE, откроется мастер создания нового устройства.
Мастер приветствие, он говорит, что первый раз нужно залить прошивку, подключив устройство через USB к компьютеру.Выбираем тип, в моем случае это ESP8266Выбираем имя устройства, по опыту, лучше без подчеркивания _ и тире —Мастер сразу предложить скомпилировать и залить прошивку, но мы пропустим этот пункт, нажмем кнопку SkipРедактор конфигурации
У нас появится первое устройство. Откроем редактор конфигурации, нажав кнопку EDIT
Откроется редактор нашего устройства в файле конфигурации esptest.yaml
Как видно из изображения, используется язык разметки YAML. В редакторе встроена проверка синтаксиса. И если мы что то не правильно ввели, редактор нам сразу же об этом скажет красным квадратом в правом верхнем углу. Если на него навести курсор мыши, всплывет подсказка в какой строке у нас ошибка.
Не забывайте сохранять изменения перед выходом, автоматически они не сохраняются.
Первая программа на ESPHome
Тип устройства
Под общим названием ESP8266
ESPHome работает на основе фраймворка PlatformIO, соответственно какие платы поддерживаются размещены на сайте. Посмотрев таблицу, понимаем, что большинство плат на чипе ESP-12E и ESP-12F идут под общим названием nodemcuv2.
Я в своих тестах использую плату Nodemcu V3 на чипе ESP-12F
Откроем снова редактор нашего нового устройства и отредактируем нашу конфигурацию и изменим плату на nodemcuv2
esp8266: board: nodemcuv2
Если в WiFi сети, где будет расположено устройство работает DHCP Server, то можно компилировать прошивку.
Компиляция прошивки
Скомпилируем прошивку, нажав кнопку Install
Откроется мастер создания прошивок
Нажмем Manual download Нажмем Legacy formatОткроется окно в котором будет вестись лог компиляции прошивки. После завершения компиляции появится кнопка Download, и файл сам начнет скачиваться.
Заливаем первую прошивку через USB
Осталось залить прошивку в наше устройство. Подключим нашу плату по USB к компьютеру. Для прошивки будем использовать утилиту ESPHome Flasher. Скачаем её с гитхаба и запустим.
С недавних пор Windows 10 ужесточило запуск программ. По этому может вылезти такое предупреждение.
Нажмем ПодробнееНажмем Выполнить в любом случаеОткроется главное окно программы
Выберим нужный Serial Port, на котором весит наше устройство. Нажмем кнопку Browse и выберим нашу прошивку. Осталось нажать кнопку Flash ESP. Начнется проверка и заливка прошивки.
После удачной заливки, наше устройство перезагрузится и выведет информацию о текущем подключении
Можно закрывать приложение. Дальнейшая настройка будет происходить на web интерфейсе ESPHome.
Настройка нового устройства
После тога, как мы залили прошивку в наше устройство и оно перезагрузилось, поменялся интерфейс ESPHome
Как видим, наше устройство поменяло статус с OFFLINE на ONLINE. Кнопка LOGS стала информативной, при ее нажатии происходит коннект к устройству и забирается последний лог
На каждой ESP12 есть распаянный светодиод на 2 порту. Давайте его сделаем аналогом лампы.
esphome: name: esptest esp8266: board: nodemcuv2 # Enable logging logger: # Enable Home Assistant API api: encryption: key: "ONenF3FmMEBZD0V5u15E+wp4rNoN3RfqZ3cPJtl10D4=" ota: password: "1bcebac7181111892d02a04ea4867d3b" wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esptest Fallback Hotspot" password: "p1Tkhye6thDA" captive_portal: output: - platform: gpio id: led pin: GPIO02 inverted: true light: - platform: binary id: in_led output: led name: Test Lamp
Сохраним настройки и скомпилируем прошивку. Но в этот раз прошьем по воздуху. Для этого нажмем кнопку Wirelessly
Сразу же откроется окно компиляции и загрузки прошивки по воздуху
Дождемся загрузки новой прошивки
Видим, что наш новый светильник появился в логе.
Интеграция в Home Assistant
Подготовка
Для добавления устройства на ESPHome, нам нужны 2 вещи. Это IP адрес устройства и ключ шифрования, указанный в конфигурации. Чтобы узнать IP, если он не был указан в конфигурации, откроем окно лога устройства. Находим поле IP Address и записываем его
Теперь идем в редактор конфигурации и ищем поле key: в подразделе encryption: раздела api: и записываем наш ключ шифрования
Подключение интеграции
Как я раньше говорил, прошивки на основе ESPHome легко интегрируются в Home Assistant. Откроем в web интерфейсе Home Assistant Настройки -> Устройства и службы
Нажимаем кнопку ДОБАВИТЬ ИНТЕГРАЦИЮ
Откроется мастер добавления интеграции
Набираем в поиске первые буквы ESPHome и выбираем нашу интеграциюПишем наш IP и нажимаем подтвердитьВводим наш ключ шифрования Устройство подключеноУправление устройством
На этом интеграция устройства на ESPHome закончена. Данные теперь прилетают по API в наш Home Assistant. Перейдем на вкладку Устройства и выберем наше устройство esptest
Как видим, наша лампа появилась в интерфейсе и ей можно сразу же и управлять и настраивать.
Заключение
В этой статье я рассказал как настроить ESPHome после установки, как создать новую прошивку и залить её в устройство как по USB, так и по воздуху. Как подключить наше устройство к Home Assistant. Как понятно из статьи делать это очень легко и просто. В дальнейшем я покажу различные свои устройства, которые я использую в повседневной работе.
Восстановление прошивки AT на ESP8266
Большую часть времени я использую мини-платы для разработки Wemos D1 в сочетании с Arduino IDE, чтобы создать собственную прошивку для запуска непосредственно на чипе ESP8266. Но у меня также завалялось несколько голых модулей ESP-01 и ESP-12, и недавно я придумал план использовать один из них.
Конкретный проект требует очень хорошо контролируемой синхронизации АЦП, для чего я буду использовать обычную плату Arduino на базе ATmega328P. В этом проекте ESP8266 будет использоваться только для передачи данных по WiFi. Ни у моего ESP-01, ни у моего ESP-12 еще нет оригинальной прошивки AT, так как я экспериментировал с разными другими прошивками.
Здесь начинается проблема, поскольку мой план требовал восстановления моего ESP-12 до прошивки AT и использования библиотеки, такой как ESP8266wifi или WiFiEsp. Я понимаю, что раньше мне приходилось бороться с разными прошивками, поэтому этот пост предназначен для того, чтобы дать краткий обзор и оставить некоторые заметки для собственного использования в будущем.
Форм-фактор модуля
Микрочип ESP8266 поставляется на различных макетных платах с интерфейсом USB, таких как Wemos D1 Mini и плата NodeMCU, а также в виде «голых» модулей, таких как ESP-01, 02 и т. д. На этой странице вики-сайта ESP8266 представлен обзор всех модулей, а также сравнение некоторых необработанных модулей с некоторыми платами для разработки.
Модуль ESP-01:
Модуль ESP-12:
Емкость флэш-памяти
Помимо количества выводов GPIO, открытых каждым из модулей, еще одной важной характеристикой является объем флэш-памяти. На веб-сайте AI-Thinker есть таблица со списком модулей, которая включает это. Модуль ESP-01 поставляется с флэш-памятью 512 КБ (старые модули) или 1 МБ (сейчас более распространено). Модуль ESP-12 поставляется с 4 МБ. Обратите внимание, что есть платы для разработки, такие как Wemos D1 mini pro, которые имеют даже больше.
Прошивка
Поскольку в настоящее время ESP8266 полностью поддерживается в Arduino IDE, я предпочитаю разрабатывать собственную прошивку для ESP8266, используя C/C++, Arduino IDE и библиотеки. Таким образом, наиболее запутанным аспектом ESP8266 для меня является то, что для него доступно несколько «стандартных» прошивок, которые я часто случайно путаю. К ним относятся
- Прошивка AT, сравнимая с набором команд Hayes на старых модемах.
- Микропрограмма NodeMCU, включающая интерпретатор LUA.
- Микропрограмма MicroPython, включающая интерпретатор Python.
- Прошивка Espruino, включающая интерпретатор JavaScript.
Для вариантов прошивки, которые включают интерпретатор Python или JavaScript, следует отметить, что существуют и другие версии от других компаний/проектов.
Проект NodeMCU более централизованно управляется/организуется и включает в себя веб-сайт, на котором можно компилировать специализированные прошивки с поддержкой определенных аппаратных надстроек.
Восстановление прошивки AT
Чтобы прошить прошивку на ESP8266, вам нужно подключить его и перевести в правильный режим загрузчика. Для этого есть много онлайн-уроков, и я не буду здесь подробно останавливаться. Вам также понадобится программное обеспечение для записи новой прошивки, я использую исключительно esptool.py.
Пробовал разные варианты прошить свой ESP-12 оригинальной прошивкой, большинство из которых не помогло. Задача состоит в том, чтобы выяснить, какая прошивка совместима с моим конкретным модулем и в какие ячейки флэш-памяти записать разные части прошивки. В следующем разделе я опишу три вещи, которые работали, переходя от самых старых к самым последним версиям прошивки.
Следуя приведенным здесь инструкциям и используя довольно неясную версию прошивки, содержащуюся в одном двоичном файле отсюда, я добился успеха:
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 v0.9.2.2\ AT\ Firmware.bin
Впоследствии я смог подключиться в терминальной программе со скоростью 9600 бит/с и получил
[System Ready, Vendor:www.ai-thinker. ком]
AT+GMR
0018000902
OK
Используя старую прошивку AT от самого Espressif с «Официальными командами ESP8266 AT+» из их старого репозитория GitHub, я также смог заставить его работать с:
esptool.py --port /dev/ tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 boot_v1.
1.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x01000 newest/user1.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7C000 esp_init_data_default.bin
Впоследствии я смог подключиться к терминальной программе со скоростью 115200 бит/с и получил
готовых
AT+GMR
00200.9.4
OK
Руководство по началу работы с Espressif ESP8266 SDK содержит самую последнюю информацию о структуре флэш-памяти. Использование версии 2.2.1 из репозитория Espressif NONOS_SDK и
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x00000 boot_v1.2.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x01000 at/512+512/user1.1024.new.2.bin
esptool. py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7C000 esp_init_data_default_v05.
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7E000 Blank.bin
У меня также был успех, и я смог подключиться к терминальной программе со скоростью 115200 бит/с. В результате был получен следующий ответ
ready
AT+GMR
Версия AT: 1.6.2.0 (13 апреля 2018 г., 11:10:59)
Версия SDK: 2.2.1 (6ab97e9)
Время компиляции: 7 июня 2018 г. 19: 34:26
Версия Bin (Wroom 02): 1.6.2
У меня не получилось с выпуском 3.0 из репозитория Espressif NONOS_SDK. У него нет каталога «512+512», только каталог «1024+1024», который я не смог заставить работать на своем ESP-12. Предложения по выполнению этой работы приветствуются.
Прошивка прошивки nodeMCU в ESP 12-F
2017-03-04 20:30 | Теги: esp8266flashnodemcuОборудование
Чтобы иметь возможность прошивать прошивку nodeMCU в ESP 12-F, нам необходимо следующее оборудование:
- ESP 12-F 🙂
- Источник питания 3,3 В
- Преобразователь USB в последовательный порт с TTL-выходом
- 3 резистора 1 кОм
- Конденсатор 10 мкФ минимум на 3,3 В (рекомендуется конденсатор 5 или 6 В)
- кнопка (перемычка, кусок провода и тому подобное)
- компьютер под управлением Linux (в примерах используется Ubuntu 16.
04)
- паяльные инструменты, провода
Программное обеспечение
Нам необходимо следующее программное обеспечение:
- Прошивка nodeMCU — создайте свою собственную через nodemcu-build.com — обратите внимание, что ваша прошивка должна быть меньше, чем размер флэш-памяти вашего ESP
- esptool — текущая версия 2.0
- проводник или экран
Вам необходимо подключить ESP, как показано на изображении выше, поэтому:
- подключить питание 3,3 В к Vcc (+) и GND (-)
- обойти питание с помощью конденсатора — поставить крышку как можно ближе к ESP
- подключите контакты RES и CH_PD к 3,3 В через резисторы 1 кОм — на изображении выше RES подключен напрямую, но я рекомендую вам использовать резистор 1 кОм так же, как CH_PD в подключенном .
- подключить GPIO15 к GDN через резистор 1k
- кнопка подключения (перемычка, что можно использовать для временного замыкания) к GPIO15 и GND
- подключите RxD, TxD, GND USB к последовательному преобразователю к TxD, RxD и GND ESP, как на изображении
- подключите преобразователь USB-последовательный порт к вашему ПК.
Чтобы перевести nodeMCU в режим FLASH, вам нужно сделать следующее (это понадобится позже):
- выключить питание, нажать кнопку или каким-либо образом соединить GPIO0 с GND
- питание
- отпустить кнопку (соединение по GPIO0 — GND), теперь вы в режиме прошивки
Установите все необходимое программное обеспечение, убедитесь, что у вас есть доступ к устройству последовательного преобразователя (обычно что-то вроде /dev/ttyUSB0) — используйте следующее, чтобы разрешить доступ:
судо-chmod 777 /dev/ttyUSB0
Мы будем использовать esptool для прошивки прошивки nodeMCU в ESP и esplorer или экран, чтобы проверить, работает ли nodeMCU.
Прошивка прошивки nodeMCU
Вам необходимо стереть флэш-память SPI ESP и прошить в нее прошивку nodeMCU. После этого вам нужно сбросить ESP и дождаться, пока не отформатируется внутренняя файловая система.
В случае, если ваш ESP не загружается, попробуйте выяснить, какой чип флэш-памяти SPI используется в вашем ESP, и принудительно установите параметры флэш-памяти вручную.
Стереть флэш-память SPI
Не пропустите этот шаг, иначе у вашего ESP могут возникнуть проблемы с загрузкой
- перевести ESP в режим флэш-памяти
- стереть флэш-память с помощью
esptool.py --port /dev/ttyUSB0 erase_flash
- выход
esptool.py v2.0-beta2 Подключение.... Определение типа чипа... ESP8266 Загрузка заглушки... Бегущая заглушка... Стаб бежит... Стирание флэш-памяти (это может занять некоторое время)... Стирание чипа успешно завершено за 8,4 с Жесткий сброс...
Прошивка прошивки nodeMCU
Самый простой способ
Вы можете попробовать позволить esptool автоматически определять все параметры прошивки и указывать только порт и имя файла, который должен быть прошит. 0x0 в приведенной ниже команде означает начальный адрес для прошивки, 0x0 просто означает от начала прошивки.
Для этого выполните следующие действия:
- переведите ESP в режим флэш-памяти
- запустить
esptool.py --port /dev/ttyUSB0 write_flash 0x0
.bin
- вывод будет примерно таким:
esptool.py v2.0-beta2 Подключение.... Определение типа чипа... ESP8266 Загрузка заглушки... Бегущая заглушка... Стаб бежит... Подключение флэш-памяти SPI... Настройка размера флэш-памяти... Автоматически определяемый размер флэш-памяти: 4 МБ Параметры флэш-памяти установлены на 0x0040 Сжато 472168 байт до 306290... Записано 472168 байт (306290 сжатых) по адресу 0x00000000 за 27,5 секунд (эффективная скорость 137,5 кбит/с)... Хэш данных проверен. Уход... Жесткий сброс...
- НЕ выключайте питание / не сбрасывайте ESP сейчас
- откройте esptool и откройте последовательную консоль, скорость порта 115200b или откройте последовательную консоль, используя экран вида:
экран /dev/ttyUSB0 115200
- выключение ESP
- включите ESP, через несколько секунд в вашем терминале (исследователе/экране) появится несколько строк странных символов, за которыми следует сообщение
Форматирование файловой системы.Пожалуйста, подождите...
- подождите около полминуты, и вы должны получить приглашение nodeMCU
Пользовательская сборка NodeMCU от frightanic.com ветка: мастер коммит: 81ec3665cb5fe68eb8596612485cc206b65659c9 SSL: правда модули: adc,bit,enduser_setup,file,gpio,i2c,mqtt,net,node,tmr,uart,wifi,tls сборка построена на: 2017-01-15 02:24 работает на Lua 5.1.4 на SDK 1.5.4.1(39cb9a32) lua: не удается открыть init.lua >
Если это не работает / вы хотите оптимизировать
Если вы хотите ускорить процесс прошивки, попробуйте
esptool.py -b 1500000 --port /dev/ttyUSB0 write_flash --verify -fm qio - ff 80m 0x0.bin
- -b 1500000 переключит скорость последовательного порта с 115200 по умолчанию на 1500000
- -fm qio принудительный доступ qio к флэш-памяти, может не работать на микросхемах флэш-памяти dio
- -ff 80m переключить скорость SPI флэш-памяти на 80 МГц, убедитесь, что ваш чип флэш-памяти поддерживает эту скорость (данные Google), скорость может быть 20 м, 26 м, 40 м, 80 м, по умолчанию 40
Используя команду выше, мой ESP-12F с флэш-памятью 512 КБ (4 Мбит) завершает прошивку за 3,7 секунды вместо 27,5 секунд с настройками по умолчанию
В случае сбоя процесса прошивки, попробуйте
- попытаться выяснить, какой чип SPI flash используется в вашем ESP, и попытаться принудительно установить параметры -ff -fm -fs вручную
- понизить последовательную скорость, используя, например, -b 9600
- установить доступ к dio вместо qio с помощью -fm dio
- понизить частоту SPI флэш-памяти с помощью -ff 20m
- проверить соединения
- прочитайте документацию esptool и инструкции по прошивке прошивки nodeMCU в документации nodeMCU для получения дополнительных советов
- убедитесь, что ваш источник питания достаточно мощный, не используйте 3,3 В преобразователя USB в последовательный порт
Узнайте, какой SPI-чип используется в вашем ESP
Самый простой способ узнать, какой SPI-флеш-чип используется в вашем ESP, — посмотреть на флэш-чип вашего ESP (при необходимости используйте лупу, это очень удобно).