esp8266 - Сообщество разработчиков. Драйвера esp8266


Занятие 1. Как подключить отладочную плату NodeMCU ESP8266 к компьютеру? | Лаборатория ЭМС

Итак, во введении мы привели немало аргументов зато, чтобы свои первые эксперименты с ESP8266 начать именно на отладочной плате NodeMCU ESP8266. Для большей конкретики рассмотрим наиболее продвинутую, на момент написания учебного курса, отладочную плату NodeMCU версии 3, на базе модуля ESP-12-E имеющую 4 Мбайта Flash памяти, с которой в дальнейшем мы и будем работать. Приобрести такую плату на Aliexpress.com не составит проблем (ищем по запросу NodeMCU Lua). Хотелось бы обратить внимание на то, что данная плата продается в двух вариантах, точнее в двух исполнениях переходника USB-UART, которые практически не отличаются по цене. В одних вариантах используется специализированная микросхема CP2102, а в других Ch440G. С практической точки зрения разницы никакой нет, отличия только в устанавливаемых драйверах, так что выбирайте сами. Отличить две отладочные платы NodeMCU Lua v.3 ESP8266 можно по внешнему виду чипа, как показано на рисунке ниже.

NodeMcu Lua ESP8266 v3 CP2102 и Ch440G

NodeMcu Lua ESP8266 v3 CP2102 и Ch440G

Рассмотрим как подключить отладочную плату NodeMCU ESP8266 к компьютеру на примере версии с чипом Ch440G (если у вас версия с CP2102 прокрутите страницу ниже). В данном примере на компьютере установлена Windows 7, х64 бита, но для других типов операционных систем алгоритм действий будет похожим.Напомним, что отладочная плата NodeMCU ESP8266 имеет разъем microUSB. Кабель microUSB-USB в комплекте не идет, поэтому его поиском надо озаботиться заранее. К счастью это достаточно распространенный тип кабеля и проблем с ним не возникнет. Подключив отладочную плату NodeMCU ESP8266 к любому удобному USB порту ПК скорее всего мы увидим сообщение, что драйвера не найдены и не установлены, а устройство работает некорректно.

Драйвер Ch440G не найден

Драйвер Ch440G не найден

При этом открыв диспетчер устройств мы увидим что-то подобное

Устройство на Ch440G не работает

Устройство на Ch440G не работает

Это абсолютно нормально, так и должно быть (если только ранее вы уже не устанавливали драйвера для CP2102 или Ch440G). Установить драйвер Ch440G можно со страницы официального производителя WCH — http://www.wch.cn/download/Ch441SER_EXE.htmlВ центре страницы есть синяя кнопка Download, жмем ее и сохраняем в удобное место предлагаемый к скачиванию файл Ch441SER.EXE. Обратите внимание на список файлов внизу страницы – там вы можете скачать драйвер Ch440G для Linux, скачать драйвер Ch440G для Mac и скачать драйвер Ch440G для Android, плюс еще есть пара файлов с технической документацией на Ch440G.

Скачать официальные драйвера Ch440G с сайта производителя

Скачать официальные драйвера Ch440G с сайта производителя

После этого запускаем скачанный файл Ch441SER.EXE, который по сути является самораспаковывающимся архивом и видим следующее окошко.

Установка драйвера Ch440G для ESP8266

Установка драйвера Ch440G для ESP8266

Версия нашей операционной системы должна определиться автоматически, после чего остается только нажать кнопку Install. Примерно через 5-10 секунд слышим стандартный виндовый звук и видим сообщение Driver install success!

Драйвер Ch440G для NodeMCU ESP8266 установлен!

Драйвер Ch440G для NodeMCU ESP8266 установлен!

После этого диспетчер устройств примет вид как на картинке ниже. Видно, что наша отладочная плата NodeMCU ESP8266 привязалась к COM-порту 3 (COM3). Хотя в каждом конкретном случае номер порта может отличаться. В дальнейшем это ни на что влиять не будет, надо просто на всякий случай помнить его и если вдруг какая-то программа не сможет обнаружить вашу отладочную плату NodeMCU ESP8266 то его надо будет указать вручную.

NodeMCU Lua v.3 ESP8266 в диспетчере устройств

NodeMCU Lua v.3 ESP8266 в диспетчере устройств

Если при установке драйверов что-то пошло не так, то попробуйте нажать Help в установщике драйверов, возможно приведенная там информация вам поможет. Как вариант возможна установка драйверов вручную.

Помощь по установке драйверов Ch440G

Помощь по установке драйверов Ch440G

В случае если вы подключаете к компьютеру отладочную плату NodeMCU ESP8266 с чипом CP2102, то необходимо скачать соответствующие драйвера с официального сайта Silicon Labs — http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx. Драйвера доступны как для Windows всех версий, так и для Macintosh OSX (v4), Linux, Android.

Если теперь открыть в Windows текущие беспроводные подключения, то в сети WiFi будет доступна новая точка доступа с именем типа AI-THINKER_AXXXXC. Имя может отличаться и быть, например, ESP_XXXX, это зависит от вида прошивки и ее версии. Само имя не столь важно, его в дальнейшем можно сделать любым, главное что появление новой точки доступа говорит о работоспособности отладочной платы NodeMCU ESP8266.

На этом аппаратное подключение отладочной платы NodeMCU ESP8266 к компьютеру можно считать законченным, а на следующем занятии мы рассмотрим вопрос – Как начать работать с отладочной платой NodeMCU ESP8266?

www.emc-problem.net

подключение и обновление прошивки – esp8266

esp8266 nodemcu

Модуль esp8266 подключен USB-TTL на 3,3 вольта

ESP8266 — быстрый старт для начинающих

Как проверить ESP8266

Как быстро подключить ESP8266

Как правильно подключить ESP8266

Как подключить ESP8266 через Arduino

Как подключить ESP8266 через RaspberryPi

Как настроить ESP8266

Как обновить прошивку ESP8266

Нижеприведенные инструкции и схемы не являются «правильными» с точки зрения схемотехники и не должны применяться в реальных конечных устройствах. Это упрощенные инструкции для быстрого старта, чтобы вы могли с минимальным набором компонентов запустить свой модуль ESP8266. При этом все эти упрощенные схемы реально работают и проверены автором лично на различных модулях ESP8266.

Как проверить ESP8266

Для проверки ESP8266, который вы только что  приобрели, потребуется источник стабилизированного напряжения на 3,3 вольта.

Внимание! Допустимый диапазон напряжения питания модуля ESP8266 от 3,0 до 3,6 вольт. Подача повышенного напряжения питания на модуль гарантированно приведет к выходу ESP8266 из строя.

Чтобы проверить ESP8266 ESP-01 достаточно подключить три пина: VCC и CH_PD (chip enable) к питанию 3,3 вольт, а GND к земле. Если у вас не ESP-01, а другой модуль и на нем выведен GPIO15, то дополнительно еще потребуется подключить GPIO15 к земле.

При успешном старте заводской прошивки на модуле ESP8266 загорится красный светодиод (индикатор питания, на некоторых версиях модуля, например ESP-12, может отсутствовать) и пару раз мигнет синий (это индикатор передачи данных от модуля к терминалу по линии TX-RX, может иметь другой цвет) и в вашей беспроводной сети должна появится новая точка доступа с именем «ESP_XXXX», которую вы сможете увидеть с любого WiFi устройства. название точки доступа зависит от производителя прошивки и может быть другим, например AI-THINKER_AXXXXC. Если точка доступа появилась, то можно продолжить эксперименты далее, если нет, то еще раз проверьте питание, CH_PD, GND и если все подключено правильно то, скорее всего, у вас неисправный модуль, но есть надежда, что прошивка в модуле с нестандартными настройками и, возможно, вам поможет перепрошивка.

Как быстро подключить ESP8266

В минимальный набор для подключения и прошивки модуля ESP8266 входит:

1. Собственно сам модуль ESP8266

2. Беспаечная макетная плата

3. Набор проводов папа-мама для макетной платы или DUPONT M-F кабель

4. USB-TTL конвертер (ищите с переключателем на 5 и 3,3 вольт, либо версия на 3,3 вольта) на базе FTDI, PL2303 или аналогичном чипе. Идеальным будет вариант, когда на USB-TTL адаптере будут выведены DTR и RTS — это позволит быстро загружать прошивку из Arduino IDE, UDK, Sming без ручного переключения GPIO0 на землю.

В случае если у вас USB-TTL конвертер на 5 вольт, то вам дополнительно потребуется стабилизатор питания на чипе 1117 или аналогичном (ток не менее 300 мА, желательно с конденсаторной обвязкой в виде готового модуля, но сойдет и просто микросхема) и источник питания (для 1117 отлично подойдет пятивольтовая зарядка от смартфона). Вообще, лучше не питать ESP8266 от USB-TTL конвертера или Arduino, а использовать отдельный источник питания — это избавит вас от множества проблем.

В расширенный набор для постоянной и комфортной работы с модулем ESP8266 вам дополнительно потребуются разъемы питания, DIP переключатели, резисторы и светодиоды. Я также использую недорогой USB монитор (Charger Doctor — листайте список  дальше, ищите в белом корпусе), который позволяет видеть потребляемый ток (с китайской точностью) и немного защищает шину USB от короткого замыкания по питанию (при КЗ дисплей монитора начинает мигать)

1. Модулей ESP8266 достаточно много и первое, что вам потребуется, это идентифицировать ваш модуль и определить его распиновку. На нашем сайте есть замечательная таблица с фотографиями модулей и их распиновкой. Далее в этом кратком пособии для начинающих, мы будем подразумевать, что работаем с модулем ESP8266 ESP-01 V090. Если у вас другой модуль (например, ESP-07 или ESP-12) и на нем выведен пин GPIO15 (MTDO, HSPICS), то этот пин необходимо притянуть к земле как для обычного старта модуля, так и для режима прошивки.

2. Убедиться два раза, что питающее напряжение для модуля составляет 3,3 вольта.

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

3. Если вы счастливый обладатель USB-TTL конвертера на 3,3 вольта то подключите модуль, как на рисунке ниже (левая часть). Если у вас только пятивольтовый USB-TTL, то используйте в качестве инструкции правую часть рисунка.

На первый взгляд схема справа может показаться «лучше» из-за использования отдельного источника питания, но это не совсем так — при использовании USB-TTL конвертера на 5 вольт желательно добавить делитель на резисторах для согласования пятивольтовых и трехвольтовых уровней логики либо модуль преобразования уровней.

Внимание! На правом рисунке подключение UTXD (TX) и URXD (RX) модуля ESP8266 к пятивольтовой TTL логике вы осуществляете на свой страх и риск! Документация на SoC ESP8266 сообщает, что модуль толерантен только к 3.3 вольтовой логике. В большинстве случаев подключение ESP8266 к пятивольтовой логике НЕ ПРИВОДИТ к выходу из строя ESP8266, однако именно вашему модулю может не повезти. Для исключение риска выхода модуля ESP8266 из строя рекомендуется использовать USB-TTL конвертер на 3,3 вольта, либо TTL 5v-3.3v конвертеры либо делитель на резисторах (на рисунке не показан). Более подробно о согласовании логических уровней можете прочитать здесь. Рисковые гики, вроде меня, подключают ESP8266 к пятивольтовой TTL логике напрямую и не заморачиваются.

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

ESP8266 - подключение и обновление прошивки

ESP8266 — подключение

Красный — питание 3,3в

Черный — GND

Желтый — на стороне ESP8266 — RX, на стороне USB-TTL — TX

Зеленый  — на стороне ESP8266 — TX, на стороне USB-TTL — RX

Оранжевый — CH_PD (CHIP ENABLE) — должен быть всегда подтянут к питанию

Синий — GPIO0 — подключен через выключатель к земле для включения режима перепрошивки модуля. Для обычного старта модуля GPIO0 можно оставить никуда не подключенным.

Розовый на правой схеме — нестабилизированное питание 5-8 вольт

4. Для старта модуля разорвите цепь GPIO0 — GND и можете подавать питание (причем именно в таком порядке: сначала убеждаемся, что GPIO0 «висит в воздухе», затем подаем питание на VCC и CH_PD)

Внимание! В вышеприведенных, реально работающих, примерах подключения ESP8266 используется подключение выводов ESP8266 «напрямую» к земле и питанию, либо «висячее в воздухе», как у нас никуда не подключен RESET, что является абсолютно неправильным и пригодно только для пары первых экспериментов, хотя и вполне работоспособно на подавляющем большинстве модулей. «Напрямую» к питанию подключается только вывод VCC, остальные выводы: CH_PD, RESET, GPIO0, GPIO2, должны быть подтянуты (pullup) к питанию (VCC) через резистор от 4,7 до 50 кОм. «Напрямую», к минусу (общему проводу) питания подключаем только GND, а GPIO0 подтягиваем (pulldown) тоже через резистор до 10k к GND для перевода модуль в режим загрузки прошивки. Если вы планируете и дальше экспериментировать с ESP8266, то сделайте грамотное подключение, впрочем так же как и для любых других микроконтроллеров. Детальное описание pullup и pulldown выходит за рамки данной статьи, но вы сможете легко нагуглить описание правильного подключения портов ввода-вывода. «Правильное» подключение позволит вам избежать множества «чудес» и проблем и будет неизбежно необходимым при возникновении затруднений с запуском или перепрошивкой модуля ESP8266.

Как правильно подключить ESP8266

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

Схема подключения ESP8266 (без автозагрузки прошивки)

Схема подключения ESP8266 (без автозагрузки прошивки, прошиваемся предварительно установив перемычку BURN и перезагрузив модуль)

Схема подключения с поддержкой автозагрузки прошивки из Arduino IDE, UDK, Sming. Для Flash Download Tool и XTCOM_UTIL, возможно, потребуется отключение RTS/DTR. Если RTS и DTR вам отключать неудобно, то можно добавить в схему перемычки

На этих схемах не показано подключение ADC и свободных GPIO — их подключение будет зависеть от того, что вы захотите реализовать, но если хотите стабильности, то не забудьте притянуть все GPIO к питанию (pullup), а ADC к земле (pulldown) через подтягивающие резисторы.

Резисторы на 10k могут заменены на другие от 4,7k до 50k, за исключением GPIO15 — его номинал должен быть до 10k. Номинал конденсатора, который сглаживает высокочастотные пульсации, может быть другим.

Соединение RESET и GPIO16 через резистор deep sleep на 470 Ом вам потребуется, если вы будете использовать режим deep sleep: для выхода из режима глубокого сна модуль перезагружает сам себя, подавая низкий уровень на GPIO16. Без этого соединения глубокий сон будет вечным для вашего модуля.

На первый взгляд на этих схемах кажется, что GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) заняты и вы не можете их использовать для своих целей, но это не так. Высокий уровень на GPIO0 и GPIO2, низкий на GPIO15 требуются только для старта модуля, а в последующем вы можете использовать их по своему усмотрению, только не забудьте обеспечить требуемые уровни до перезагрузки модуля.

Можно использовать и TX, RX как GPIO1 и GPIO3 соответственно, не забывая о том, что при старте модуля любая прошивка будет дергать TX, отправляя отладочную информацию в UART0 на скорости 74480, но после успешной загрузки вы можете использовать их не только как UART0 для обмена данными с другим устройством, но и как обычные GPIO.

Для модулей, имеющих меньшее количество разведенных пинов, как например, ESP-01 подключение неразведенных пинов не требуется, т.е. на ESP-01 разведены только: VCC, GND, GPIO0, GPIO2, CH_PD и RESET — вот только их и подтягиваете. Нет никакой необходимости припаиваться прямо к микросхеме ESP8266EX и притягивать неразведенные пины, только если вам это действительно необходимо.

Данные схемы подключения родились после множества экспериментов, проведенных нашими форумчанами и собраны по крупицам из разрозненной и недоступной изначально документации нашим сообществом, я всего лишь постарался объединить эти знания в одном месте. Множество советов по подключению вы найдете на нашем форуме.  Там же вы сможете задать интересующие вас вопросы или найти помощь в решении проблем. Если вы увидели ошибку, неточность в этой статье или вам есть что добавить, то сообщите мне об этом в специальной теме на нашем форуме.

Внимание! Даже эти схемы нельзя назвать «идеальными». Совершенству нет предела: удобно подключить второй USB-TTL к UART1 (c ESP8266 можно взять только GND и UTXD1, т.е. GPIO2) для подключения отладочного терминала (потребуется второй USB-TTL конвертер) — тогда можно будет прошивать модуль ESP8266 через UART0 без отключения терминала отладки на UART1. Неплохо будет подключить резисторы малого номинала к выводам обоих UART, поставить диод в линию RTS, добавить конденсатор в линию питания для гашения низкочастотных импульсов и т.д. Очень удобно, например, сделано в этой отладочной плате: на все GPIO подключены светодиоды, на ADC подключен фоторезистор, но жаль, что нет кнопки RESET и перемычка только одна на GPIO0.

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

Подключение ESP8266 через Arduino

Если у вас под рукой не оказалось USB-TTL конвертера на 3,3в, но есть Arduino со встроенным USB-TTL конвертером, то можно использовать такую схему подключения

ESP8266 подключение через Arduino

ESP8266 подключение через Arduino

На что обратить внимание:

1. Arduino Reset подключен к GND (синий провод) чтобы не запускался микроконтроллер на Arduino, в данном виде мы используем Arduino как прозрачный USB-TTL конвертер

2. RX и TX подключены не «на перекрест», а прямо — RX — RX (зеленый), TX — TX (желтый)

3. Все остальное подключено так же, как и в предыдущих примерах

Внимание! В этой схеме также требуется согласовывать уровни TTL 5 вольт Arduino и 3.3 вольта на ESP8266, однако неплохо работает и так.

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

Существует и другая схема подключения Arduino и ESP8266 с использованием SoftSerial. В виду того, что для библиотеки SoftSerial скорость порта в 115200 является слишком большой и не гарантирует стабильную работу, мы не рекомендуем использовать такой способ подключения, хотя есть люди, у которых все стабильно работает (правда только на скорости 9600). Скетч для такой схемы подключения (спасибо nec3540A)

Подключение ESP8266 через RaspberryPi

Да, можно и «из пушки по воробьям», если под рукой нет вообще никакого USB-TTL конвертера. Подключение через малинку аналогично Arduino, но не такое удобное, т.к. дополнительно потребуется стабилизатор питания на 3,3 вольта. RX, TX, GND малинки подключаем к ESP8266, VCC и GND берем со стабилизированного источника питания на 3,3 вольта. Обратите внимание на то, что необходимо соединить GND всех устройств: малинки, стабилизатора и ESP8266. Брать 3,3 вольта питания с малинки для ESP8266 я лично не пробовал, поэтому вам предлагать такой вариант не буду. Если встроенный в вашу версию малины стабилизатор держит до 300 миллиампер дополнительной нагрузки, то подключение ESP8266 вполне возможно. Если сами захотите рискнуть — пожалуйста.

Настройка ESP8266

Итак, ESP8266 модуль к USB порту мы подключили (через USB-TTL или Arduino) теперь нужно убедится, что драйвера к вашим USB-TTL или Arduino встали корректно и в системе появился новый виртуальный последовательный порт. Вам понадобится программа — терминал последовательного порта. Можете использовать любую на ваш вкус, но она должна удовлетворять следующему требованию: каждая команда, которую вы отправляете с компьютера в последовательный порт должна завершаться символами CR+LF.

Большой популярностью пользуется программа CoolTerm (есть версии для Win/MAC/Linux).

Ваш покорный слуга является автором open-source программы ESPlorer, получившей международное признание. ESPlorer позволит вам не вводить AT команды вручную и легко работать с lua скриптами под NodeMCU (об этом в другой раз) и вы вполне можете использовать ее и как обычный терминал. Обсуждение ESPlorer на нашем форуме и на esp826.com

С подключением к последовательному порту придется немного поколдовать: в связи с разнообразием прошивок для ESP8266, подключение может осуществляться на разных скоростях. Нужную скорость можно определить путем простого перебора трех вариантов: 9600, 57600 и 115200. Как осуществить перебор? Подключаетесь в терминальной программе к вашему виртуальному последовательному порту выставив следующие параметры: 9600 8N1, затем перезагружаете модуль, отключив CH_PD (chip enable) от питания (USB-TTL при этом остается подключенным к USB) и снова включаете (т.е. просто передергиваете CH_PD, почему не передергиваем питание — читаем здесь, также можно кратковременно замкнуть RESET на землю для перезагрузки модуля) и наблюдаете данные в терминале. Во-первых, светодиоды на ESP8266 должны гореть как описано в начале статьи в разделе Проверка ESP8266. Во-вторых, в терминале вы должны увидеть «мусор» из разных символов, оканчивающийся строкой «ready». Если «ready» мы не видим, то переподключаемся терминалом на другой скорости и снова перезагружаем модуль.

На одном из вариантов скорости «ready» вы все-таки увидите — поздравляем, ваш модуль готов к работе.  Если нет, то добро пожаловать к нам на форум — мы постараемся помочь, но предварительно почитайте эту тему.

Немного подробнее о «мусоре». Дело в том, что при старте прошивки, UART модуля ESP8266 переключается на скорость передачи 74 880 (вот такие забавные эти китайцы) выдает в UART отладочную информацию, затем переключает скорость порта на 115200 (ну или на 9600 или 57600 в зависимости от версии прошивки), так вот эта отладочная информация и видится нам как мусор, т.к. мы подключаемся к модулю на другой скорости. Можете подключится к ESP8266 на скорости 74 880 (ESPlorer поддерживает эту скорость) и вы эту отладочную информацию увидите, будет что-то вроде этого:

wdt reset load 0x40100000, len 25052, room 16 tail 12 chksum 0x0b ho 0 tail 12 room 4 load 0x3ffe8000, len 3312, room 12 tail 4 chksum 0x53 load 0x3ffe8cf0, len 6576, room 4 tail 12 chksum 0x0d csum 0x0d

wdt reset

load 0x40100000, len 25052, room 16

tail 12

chksum 0x0b

ho 0 tail 12 room 4

load 0x3ffe8000, len 3312, room 12

tail 4

chksum 0x53

load 0x3ffe8cf0, len 6576, room 4

tail 12

chksum 0x0d

csum 0x0d

НО! не увидите «ready» и не сможете управлять модулем, пока не переподключитесь на ту скорость, на которой работает прошивка.

Что делать дальше

Если у вас новый модуль, то, скорее всего, в нем прошита одна из старых кастомных AT прошивок. Скорее всего это какой-нибудь AI-THINKER AT v0.16 SDK v0.9.2. Проверить версию прошивку вы можете командой «AT+GMR», т.е. прямо в терминальной программе набираете AT+GMR без кавычек и жмете Enter. Модуль должен ответить «OK» и выдать версию прошивки (например, «0016000092» — в разных версиях AT прошивок формат вывода версии отличается). Управление модулем ESP8266 AT командами заслуживает отдельной статьи, однако вы легко сможете разобраться с этим и сами, воспользовавшись одним из наших справочников по AT командам:

На момент написания этой статьи актуальная версия прошивки для ESP8266:

версия AT команд v0.21, версия SDK v0.9.5

Обновление прошивки ESP8266

Модуль ESP8266 замечателен тем, что не требует специального программатора — обновление прошивки производится на том же железе, на котором вы подключаете модуль ESP8266 к компьютеру, т.е. тоже через USB-TTL конвертер (ну или Arduino или RPi). Для обновление прошивки на модуле ESP8266 проделайте следующее:

 1. Скачайте новую версию прошивки с нашего сайта из раздела ESP8266 прошивки (вот ссылка на последнюю версию прошивки AT 0.21 SDK 0.9.5 на момент написания этой статьи)

2. Скачайте одну из утилит для прошивки ESP8266 в зависимости от вашей операционной системы из раздела ESP8266 Утилиты с нашего сайта

для Win систем подойдет XTCOM UTIL (удобно работать, если прошивка состоит из одного файла), мультиплатформенный esptool (требуется python, нужно указывать параметры в командной строке),  FLASH DOWNLOAD TOOL (много настроек, удобно прошивать прошивки, состоящие из нескольких файлов, позволяет «собрать» прошивку в один файл из нескольких). Также вы найдете и другие программы для прошивки ESP8266 — попробуйте разные и пользуйтесь той, которая вам больше понравится.

3. Отключите от последовательного порта вашу терминальную программу

4. Отключите CH_PD от питания, подключите GPIO0 модуля к GND, подключите обратно CH_PD модуля.

5. Запускайте программу для прошивки модуля и загружайте новую прошивку в модуль ESP8266.

Загрузка прошивки в модуль обычно осуществляется на скорости 115200, но режим прошивки модуля поддерживает автоопределение скорости и прошивка может быть осуществлена на скорости от 9600 и выше. Максимальная скорость зависит от многих факторов (вашего USB-TTL конвертера, длины проводов и прочего) и может быть определена экспериментально на конфигурации именно вашего оборудования.

Все последние версии прошивок загружаются с нулевого адреса (0x00000).

Обсуждение этой статьи на нашем форуме

Обсуждение проблем при подключении ESP8266 на нашем форуме

В статье Обновление прошивки ESP8266 подробно описана загрузки прошивки в модуль с помощью программы XTCOM_UTIL.

Использованная литература

ESP8266 Datasheet — Specifications V4.1 — 08.09.2014 English

ESP8266 Datasheet — Beginners Guide V0.4.1 — 17.09.2014 English

ESP8266 AT Instruction Set v0.21 23.01.2015

ESP8266 Datasheet — Module Application Design Guide — 20.08.2014 English

Xtensa Instruction Set Architecture (ISA) Reference Manual

esp8266.ru

Инсталляция - Hi-Lab.ru

Среда разработки

Разработка Arduino Mega Server для ESP8266 велась в Arduino IDE версии 1.6.5 r2 и крайне желательно использовать для работы именно эту версию. Если у вас другая версия среды разработки, то, возможно, вам удастся скомпилировать проект, но поведение системы в этом случае будет непредсказуемым, поэтому лучше не рисковать и использовать рекомендуемую версию.

Важный момент! У вас на компьютере может быть несколько проектов Arduino Mega Server для разных плат и модулей и каждый из этих проектов может требовать особой модификации системных библиотек. Для того, чтобы изменения, вносимые в библиотеки в одном проекте, не мешали соседним и не приводили к их неработоспособности, в системе Arduino Mega Server под каждый проект выделяется отдельная папка, которая кроме проекта содержит и полный комплект библиотек к нему.

Подключение проекта в Arduino IDE

Переключение между проектами производится выбором пункта «Размещение папки скетчей» в меню Файл/Настройки среды Arduino. Обратите внимание! Несоблюдение этого пункта приводит к невозможности компиляции проекта и работы с ним. Вы должны указать путь к вашему проекту с точностью до папки «Arduino», например:

C:\Sketches\esp8266\Arduino

Не забудьте исправить этот путь на реальный, который существует в вашей системе.

Драйвера ESP8266

После инсталляции среды разработки вам нужно установить пакет программного обеспечения, необходимого для работы с модулями ESP8266 в среде Arduino, который далее мы будем называть «драйверами».

Для этого в настройках среды Arduino Файл/Настройки, в пункте «Additional Boards Manager URLs» вам нужно ввести следующую строку

http://arduino.esp8266.com/stable/package_esp8266com_index.json

После этого в менеджере плат (Boards Manager) Инструменты/Плата/Boards Manager вам нужно найти «esp8266 by ESP8266 Community» версии 2.0.0 и нажать «Install». Версию крайне желательно выбирать именно указанную, с другими версиями, даже если компиляция пройдёт успешно, результат непредсказуем.

Выбор платы

После инсталляции драйверов, вам, в менеджере плат, станут доступны различные версии модулей ESP8266. В большинстве случаев нужно выбирать «Generic ESP8266 Module». Если у вас модуль известной марки и он есть в списке, то лучше выбрать пункт, соответствующий вашему модулю.

Настройка параметров модуля

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

От выбора платы зависит и набор параметров. доступный для редактирования. Мы рассмотрим настройку стандартного варианта «Generic ESP8266 Module».

Настройки модуля ESP8266

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

Flash Mode (режим работы с памятью)

Выбор этого режима зависит от вашего модуля — одни модули работают в DIO, другие в QIO. Часто это написано на самом модуле. Также есть модули, работающие в обоих режимах. В вашем конкретном случае нужно отталкиваться от того, что написано на модуле, если установить на какой режим рассчитан модуль не удаётся, то можно протестировать его работу сначала в одном режиме, затем в другом.

В тестовой конфигурации использовался модуль с надписью «QIO» на корпусе и, соответственно, в QIO режиме.

Flash Frequency (частота работы памяти)

40 или 80 МГц. В тестовой конфигурации использовалось значение 40 МГц, вы можете поэкспериментировать с этим параметром, если значительной разницы в скорости работы не обнаружите, то лучше оставить 40 МГц.

Upload Using (метод загрузки)

В тестовой конфигурации использовалось значение Serial

CPU Frequency (частота работы процессора)

В тестовой конфигурации использовалось значение 80 МГц. Вы можете поэкспериментировать с этим параметром, если значительной разницы в скорости работы не обнаружите, то лучше оставить 80 МГц.

Flash Size (размер флеш памяти)

Прежде всего вы должны установить реальный размер флеш памяти вашего модуля. Она может варьироваться в широких пределах — от 1-го до 16-и мегабайт. В тестовой конфигурации использовался модуль с 4-я мегабайтами.

На что стоит обратить внимание. Система Arduino Mega Server использует флеш память модуля в двух разных качествах. Первая часть — это память под скетч, вторая — память под флеш диск для хранения файлов. Среда Arduino предоставляет возможность по-разному разделить всё пространство флеш памяти модуля, эти настройки находятся в меню «Flash Size».

В тестовой конфигурации использовалось разбиение 4M (3M SPIFFS). Это означает, что под флеш диск используется 3 мегабайта памяти, а под скетч — оставшийся 1 мегабайт. Скетч Arduino Mega Server занимает около 300 килобайт, а 700 килобайт остаются свободными.

Если у вас модуль с другим объёмом флеш памяти, то вы можете попробовать разбить её по-другому, но в этом случае вам нужно учитывать, что под скетч нужно оставить не менее 512 КБ, а файлы сервера занимают около двух мегабайт. Если вы выделите под файловую систему SPIFFS менее двух мегабайт, то вам придётся удалить часть файлов из системы и, соответственно, потерять часть функциональности Arduino Mega Server.

Reset Method (метод сброса модуля)

В тестовой конфигурации использовался метод «ck»

Upload Speed (скорость загрузки)

В проекте Arduino Mega Server для ESP8266 используется значение «115200»

Порт

В этом пункте вы должны указать порт, к которому подключён ваш модуль ESP8266.

Обратите внимание. Система Arduino Mega Server непрерывно развивается и в код проекта постоянно вносятся изменения и улучшения, поэтому, описание и документация может не соответствовать вашей конкретной версии системы. Последняя правка этой страницы относится к 0.15 версии системы.

hi-lab.ru

Загрузить файлы документации, datasheet, прошивки, утилиты – esp8266

April-20152B-ESP8266 SDK IOT Demo EN511.4 KB42714B-ESP8266 AT Command Examples EN783.4 KB36552C-ESP8266 SDK Programming Guide EN877.9 KB37182A-ESP8266 IOT SDK User Manual EN683.0 KB247020A-ESP8266 RTOS SDK Programming Guide CN780.0 KB146499A-ESP8266 Flash RW Operation EN439.2 KB18694A-ESP8266 AT Instrction Set EN901.5 KB228099C-ESP8266 OTA Upgrade EN817.2 KB17008F-ESP8266 Interface UART Registers36.9 KB17988B-ESP8266 Interface GPIO Registers v0.132.3 KB19160A-ESP8266 WiFi Specifications EN794.3 KB19070B-ESP8266 Hardware User Guide EN1.8 MB33650C-ESP8266 WROOM WiFi Module Datasheet EN762.4 KB17560D-ESP8266 Pin List64.8 KB2231esp8266 SDKAT Demo V0.19 30.10.201428.7 KB1870ESP IoT SDK V0.9.2 24.20141.1 MB1556Patch для SDK 9.2 18.11.201491.7 KB783ESP IoT SDK V0.9.3 21.11.20141.1 MB1273ESP IoT SDK V0.9.3 Patch2 21.11.201458.5 KB867AT v0.20 28.11.20145.4 MB1758ESP IoT SDK V0.9.4 19.12.20141.1 MB1727ESP IoT SDK V0.9.5 23.01.20157.2 MB3185Патч для SDK 0.9.5 Patch233.8 KB1808ESP IoT SDK V1.0.0 AT v0.22 20.03.20158.7 MB5096ESP IoT SDK V1.0.1 AT v0.23 24.04.2015 8.9 MB3765ESP IoT SDK V1.1.0 AT v0.24 22.05.2015 10.0 MB2481AT v0.25 SDK 1.1.2 512k520.2 KB2901Esp Iot Sdk V1.3.0 15 08 0812.6 MB776esp8266 ДокументацияESP8266 UART Reg Release 18.11.201436.9 KB2644ESP8266 AT Instruction Set v0.20 28.11.2014852.4 KB2944ESP8266 AT Command Examples v0.3 28.11.2014720.6 KB4346Xtensa Instruction Set Architecture (ISA) Reference Manual4.8 MB2696Tensilica RC-2010.1 Documentation93.2 MB2926ESP8266 Datasheet - IoT SDK Programming Guide V0.9.5 - 23.01.2015 English1.9 MB4899ESP8266 AT Instruction Set v0.21 23.01.2015965.2 KB6427ESP8266 Espressif IoT SDK Programming Guide V0.9.5 Revised 09.02.20151.9 MB2738ESP8266 AT Instruction Set v0.22 14.03.20151.1 MB2661SP8266 AT Command Examples v0.4 20.03.2015773.0 KB5990ESP8266 Datasheet - IoT SDK Programming Guide V1.0.0 - 20.03.2015 English2.1 MB3177ESP8266 SDK API Guide v1.0.0 20.03.2015776.9 KB3770ESP8266 AT Instruction Set v0.22 20.03.2015 v0.2560.4 KB6443ESP8266 AT Instruction Set v0.23 24.04.2015901.5 KB1943Описание esp_init_data_default - ESP8266_RF_Init.xls49.2 KB2538Getting Started With The ESPlorer IDE - Rui Santos1.1 MB994864A-ESP8266 AT Instruction Set EN v0.40876.4 KB23574A-ESP8266 AT Instruction Set EN v0.25924.6 KB1988ESP8266 Datasheet - Specifications V4.1 - 08.09.2014 English1.9 MB9551ESP8266 Datasheet - Beginners Guide V0.4.1 - 17.09.2014 English2.7 MB5937ESP8266 Datasheet - AT Instruction Set V0.15 - 04.09.2014 English224.3 KB2964ESP8266 Datasheet - AT Command Examples V0.1 04.09.2014 English207.9 KB2708ESP8266 Datasheet - IoT SDK Demo (Light/Plug/Sensor) V0.5 - 24.09.2014 English587.3 KB1753ESP8266 Datasheet - IoT SDK User Manual V0.8 14.08.2014 English1.4 MB1949ESP8266 Datasheet - IoT SDK Programming Guide V0.9.1 - 23.09.2014 English1.2 MB264171ESP8266 Datasheet - IoT SDK Json Naming Guidelines V0.1 - 19.06.2014 English454.9 KB1104ESP8266 Datasheet - Module Application Design Guide - 20.08.2014 English1.3 MB4904ESP8266 Datasheet - IoT APK User Guide (Humidityte and Temperature sensors) - 23.09.2014 English4.7 MB1690ESP8266 Datasheet - IOT Flash Read-Write Guide V0.2 - 15.09.2014 Chinese617.4 KB1070ESP8266 Datasheet - FAQ V0.2 - 23.09.2014 Chinese889.0 KB944ESP8266 PCB Fabrication Requirements36.9 KB1163ESP8266 PCB Fabrication Requirements Ver. B36.9 KB1308ESP8266 GPIO Register 05.11.2014.XLS32.3 KB13053ESP8266 Pin List 05.11.2014.XLSX66.1 KB4264esp8266 ПрошивкиESP8266 Прошивка v0.9.2231.5 KB4868ESP8266 electrodragon v0.9.2.5 (изменяется baudrate, установка IP адреса)133.7 KB6607ESP8266 Прошивка v0.9.2.2135.3 KB7299ESP8266 Cloud Update With XRST XIPR NetIO138.7 KB1746NodeMcu latest. A lua based firmware for wifi-soc esp8266242.5 KB8510Frankenstein ESP8266 Firmware Powered by Antares341.3 KB3092AT 9.2 Cloud UPGRADE269.0 KB1499ESP8266 Прошивка AT v0.20 SDK v0.9.3 02.12.2014520.2 KB3131ESP8266 Прошивка AT v0.20 SDK v0.9.3 28.11.2014520.2 KB2780AT v0.20 SDK 0.9.4 26.12.2014520.2 KB2881AT v0.21 SDK 0.9.5 24.01.2015520.2 KB15700AT v0.22 SDK 0.9.6b1 15.02.2015520.2 KB2161AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.2520.2 KB12429AT v0.22 SDK 1.0.0 20.03.2015 загрузчик v1.3b520.2 KB4398AT v0.23 SDK 1.0.1 No Cloud Update 512k520.2 KB2282AT v0.23 SDK 1.0.1 flash 512k524.3 KB5568ESP IoT SDK V1.1.2 AT v0.25 12.06.201511.7 MB4937esp8266 РазноеБиблиотека Eagle Cad ESP8266 ESP-038.5 KB1795Fritzing ESP8266 WiFi Module16.1 KB2635esp8266 УтилитыESP8266 Flasher8.8 MB11215XTCOM UTIL42.5 KB26179ESP8266 Config utility187.9 KB15856esptool - платформонезависимый open-source загрузчик на Python13.6 KB4790ESP Flash Download Tools v0.87.5 MB5559FLASH DOWNLOAD TOOLS V0.9.3.1 18.11.20146.4 MB10922luatool latest6.1 KB2413Flash Download Tool python2.6 Wxpython2.8 Release V0.9.3.1 18.11.2014509.6 KB1692IDA Plugin Xtensa v0.25.0 KB1437FLASH DOWNLOAD TOOLS V0.9.6 19.04.20157.5 MB6416

esp8266.ru

Обновление прошивки 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 v2.4 с официального сайта Espressif Systems. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел "Tools".

Ссылка на программу в нашем файловом хранилище: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Прошивка

Прошивку так же можно скачать с официального сайта. Ссылка на страницу загрузки на официальном сайте: http://espressif.com/en/products/hardware/esp8266ex/resources. Необходимо перейти в раздел «SDKs & Demos» и загрузить прошивку ESP8266 NONOS SDK версии не менее v1.3.0. Именно с этой версии прошивки реализована поддержка AT команд v0.40 и более.

Ссылка на прошивку в нашем файловом хранилище: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

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

Настройка

Запускаем программу прошивки Flash Download Tools v2.4 (одноименный .exe файл). В открывшемся окне необходимо правильно указать загружаемые файлы и настройку соединения.

Загружаемые файлы располагаются в каталоге bin архива с прошивкой. Для каждого файла необходимо указать правильный адрес загрузки. Используйте следующую таблицу для выбора файлов и назначения адресов:

Файл в каталоге bin Флеш 8Mbit (512KB+512KB) Флеш 16Mbit (1024KB+1024KB)
esp_init_data_default.bin 0xFC000 0x1FC000
blank.bin 0xFE000 0x1FE000
boot_v1.4(b1).bin или старшей версии 0x00000 0x00000
user1.1024.new.2.bin (в подкаталоге at) 0x01000 0x01000
user2.1024.new.2.bin (в подкаталоге at) 0x81000 0x81000

Установите следующие параметры настройки:

  • 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.

remotexy.com

Обновление прошивки Wi-Fi модуля ESP8266

Добавлено 21 августа 2017 в 03:20

Сохранить или поделиться

Цели и причины

Это вторая статья автора об интегральной микросхеме ESP8266, содержащей полнофункциональный 32-битный RISC микроконтроллер и встроенную Wi-Fi схему 802.11 b/g/n. Первая статья описывала использование Arduino IDE для программирования ESP8266 и содержит важную информацию, которая здесь повторяться не будет. Если вы не читали её, то рекомендуем сделать это.

В интернете нет недостатка в информации об ESP8266; на самом деле, может быть из неё слишком много... неправильной. Разработчики микросхемы, Espressif, по-видимому, решили не только не заниматься производством на стороне, но и избегать непосредственного участия в разработке линейки модулей ESP, которые используют микросхему ESP8266. Вместо этого, они предлагают информацию и услуги поддержки через форум для тех, кто готов с упорством и терпением ходить по лабиринту. Добавление к путанице – это существование другого форума, который, несмотря на то, что назван esp8266.com, не управляется компанией Espressif. Кроме того, существует множество перепродавцов, видеоблоггеров, и писателей, которые также предлагают информацию от качественной до спутанной настолько, что она может быть полностью неправильной.

ESP модули доступны в различных источниках, а прошивки, содержащиеся в чипах ESP8266 на модулях, почти всегда являются устаревшими и часто вызывают подозрения относительно их происхождения. Также иногда подозрительны "обновления" и инструменты, которые доступны в тех же источниках. Следовательно, целью этой статьи является документирование процедуры загрузки последней доступной прошивки непосредственно от Espressif и её установка с использованием инструмента программирования, предоставляемого Espressif.

Подключение оборудования

Чтобы обновить прошивку на любом ESP8266, необходимо правильно подать на него питание и подключить его к компьютеру. Кроме того, необходимо добавить средства сброса микросхемы и перевода её в режим загрузки. На приведенной ниже схеме и фотографии показано рекомендуемое подключение; обратите внимание, что цвета проводов на схеме соответствуют цветам на фотографии. Как вы видите, я буду обновлять прошивку на модуле ESP-01, но ти же самые соединения будут работать и с другими модулями, если используются те же входы/выходы ESP8266, как показано на схеме. Дополнительные сведения смотрите в этой статье.

Более надежная схема прошивки приведена в этой статье.

Схема подключения модуля ESP-01 к компьютеруСхема подключения модуля ESP-01 к компьютеруСборка макета подключения ESP-01 к компьютеруСборка макета подключения ESP-01 к компьютеру

Программа терминала PuTTY

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

Откройте PuTTY и нажмите на переключатель Serial. Введите номер COM порта (который должен быть меньше 10) и скорость передачи (скорее всего, это будет 115200 или 9600).

В маленьком окне Saved Sessions (Сохраненные сеансы) введите ESP8266 и нажмите кнопку Save (Сохранить). Окно PuTTY должно быть похоже на изображение ниже.

Настройка сеанса PuTTYНастройка сеанса PuTTY

Нажмите кнопку Open (Открыть), после чего должно открыться окно сеанса терминала PuTTY.

Включите Caps Lock у себя на компьютере и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY. Если этого не произошло, вы, возможно, выбрали не тот COM порт или неправильную скорость передачи. Закройте PuTTY и начните этот подраздел статье с самого начала. Допустимые скорости передачи: 9600, 19200, 38400, 74880, 115200, 230400, 460800 и 921600; попробуйте по очереди каждую из них, пока не найдете ту, с которой всё заработает.

Когда вы увидите AT в окне терминала PuTTY, удерживая клавишу Ctrl, нажмите клавишу M, а затем J. Отпустите клавишу Ctrl. Вы должны увидеть OK в окне терминала PuTTY, как показано на рисунке ниже.

Отклик ESP8266 в окне терминала PuTTYОтклик ESP8266 в окне терминала PuTTY

Обратите внимание, что если вы делаете ошибку при вводе в окне сеанса терминала, возможно, исправить эту ошибку не удастся. Вместо того, чтобы пытаться отредактировать и исправить ошибку, часто лучше просто удерживать клавишу Ctrl и нажимать сначала клавишу M, а затем J, что сгенерирует сообщение об ошибке. Затем вы можете начать снова и ввести правильный текст.

Когда вы увидите первое сообщение OK, это значит, что вы преодолели большое препятствие. Теперь вы знаете, что оборудование подключено правильно, модуль ESP работает, и вы правильно выбрали COM порт и скорость передачи. Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

Теперь снова запустите PuTTY, выберите сохраненный сеанс ESP8266 и нажмите кнопку Load (Загрузить). Это должно поместить ранее выбранные вами настройки COM порта и скорости передачи в соответствующие окна. Нажмите Open (Открыть), и откроется новое окно сеанса терминала PuTTY.

Включите Caps Lock у себя на компьютере и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY. Введите символ +, а затем GMR. Когда вы увидите AT+GMR в окне терминала PuTTY, удерживая клавишу Ctrl, нажимите сначала клавишу M, а затем J. Отпустите клавишу Ctrl. В окне терминала PuTTY вы должны увидеть информацию о прошивке ESP8266, аналогичную показанной ниже.

Вывод информации о прошивке ESP8266 в окне терминала PuTTYВывод информации о прошивке ESP8266 в окне терминала PuTTY

В первой строке выше вы видите команду AT+GMR, которую вы набрали. Как вы, возможно, знаете или догадались, схема команд, которую мы используем для связи с ESP8266, называется «набор AT команд», потому что все команды начинаются с букв «AT».

К сожалению, существует множество версий наборов AT команд; все они содержат некоторое количество одинаковых команд, но есть много AT команд, которые не являются стандартными для всех наборов AT команд. Даже в сообществе ESP8266 существует несколько версий. Вторая строка указывает, что это конкретное устройство 8266 запрограммировано прошивкой, которая использует версию 0.25.0.0 AT команд. Где-то есть документ, который определяет команды, которые включены в версию 0.25.0.0, но и без этого документа вы можете использовать метод проб и ошибок для определения поддерживаемых AT команд. В лучшем случае это будет очень утомительный процесс, но, к счастью, есть решение, которое будет объяснено в чуть позже.

Третья строка определяет версию программного обеспечения (SDK), которая использовалась для данного конкретного ESP8266, как версия 1.1.1. Каждый SDK также включает в себя набор AT команд, который является частью прошивки, и подходит для управления этой прошивкой. Очевидно, версия 0.25.0.0 AT команд работает с версией 1.1.1 SDK. Но всё же нужен документ, который описывает AT версию 0.25.0.0, чтобы узнать, какие команды включены. Существует лучший способ, описанный в следующем разделе этой статьи, но перед тем, как перейти к нему, попробуем еще одну AT команду и посмотрим, что произойдет.

Включите Caps Lock у себя на компьютере и введите AT+CWLAP. Когда вы увидите AT+CWLAP в окне терминала PuTTY, удерживая клавишу Ctrl, нажмите сначала клавишу M, а затем J. Отпустите клавишу Ctrl. Через несколько секунд окно терминала должно выглядеть так, как показано на скриншоте ниже.

Результаты вывода команды AT+CWLAP для ESP8266Результаты вывода команды AT+CWLAP для ESP8266

AT+CWLAP заставляет ESP8266 перечислить все доступные Wi-Fi точки доступа. В приведенном выше случае были найдены две точки доступа: одна называется "ATT936", а вторая – "tracecom 2.4". Разумеется, ваши результаты будут отличаться и должны включать вашу собственную Wi-Fi сеть, а также сети ваших соседей.

Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

ESP Flash Download Tool

Хотя это редко упоминается в интернете, Espressif, разработчики микросхемы ESP8266, создали некоторую часть программного обеспечения для обновления прошивки в своих чипах. Это ESP Flash Download Tool, и этот инструмент доступен здесь. Скачайте, разархивируйте и установите последнюю версию на вашем компьютере; на момент написания статьи это FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar.

Запустите инструмент, и вы должны будете увидеть два открывшихся окна: окно графического интерфейса (GUI) с полями ввода информации и терминальное окно, в котором ведется лог выполненных действий.

Окно графического интерфейса ESP Flash Download ToolОкно графического интерфейса (GUI) ESP Flash Download ToolТерминальное окно ESP Flash Download ToolТерминальное окно ESP Flash Download Tool

Стоит отметить несколько вещей, но нет поводов для беспокойства:

  • окно (GUI) идентифицируется как V2.3, в то время как окно журнала идентифицируется как V2.4. По-видимому, окно GUI отмечено неправильно;
  • поля выбора COM порта и скорости передачи в окне GUI могут уже содержать данные;
  • поля ввода адресов в окне GUI могут уже содержать данные;
  • окно лога уже может содержать данные.

Получение последней прошивки

У Espressif есть страница, на которой размещается последняя версия прошивки. Перейдите на страницу bbs.espressif.com, нажмите на запись SDKs в списке Downloads, а затем кликните на «latest release» в разделе Announcements. На момент написания статьи на этой странице можно было увидеть следующее:

Страница с последней версией прошивки ESP8266Страница с последней версией прошивки ESP8266

Последняя версия Non-OS SDK (Software Development Kit) – это то, что нам нужно, и, похоже, что, если вы кликните на "Latest Version: 1.4.0", то получите последнюю версию. Но это не совсем так; обратите внимание, что имеется доступный патч, указанный как esp_iot_sdk_v1.4.1_15_10_22. Это не патч; это исправленная версия прошивки версии 1.4.0. Нам нужен он и bin файлы AT_v0.50. Кликните по очереди на каждом из них и загрузите файлы.

Конечно, к тому времени, когда вы это прочитаете, могут появиться более свежие версии SDK, и их местоположения могут быть изменены, но, по крайней мере, вы знаете, где искать. Просто убедитесь, что внимательно прочитали, чтобы быть уверенным, что скачиваете последнюю версию. Как мы увидели ранее, это не всегда бывает очевидно.

Возможно, вы заметили, что есть раздел для скачивания документов. Все они содержат качественную информацию, но иногда существенная её часть теряется при переводе с китайского на английский. На данный момен не забудьте получить последние версии ESP8266 AT Instruction Set и Espressif IOT SDK User Manual.

Установка прошивки

Запустите ESP flash download tool и убедитесь, что ни в одном чекбоксе в левом верхнем углу окна GUI не поставлена галка. Введите COM порт, который вы используете, и скорость передачи 115200 в полях ввода в нижней части окна. Обратите внимание, что при вводе данных они записываются в окне журнала.

Подайте питание на свою сборку для программирования ESP и подключите её к компьютеру. Нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset, а затем отпустите кнопку Flash. Нажмите кнопку START окне GUI инструмента прошивки ESP. Программа загрузки флэш-памяти должна проверить ESP8266 в вашей сборке и создать отчет, похожий на тот, что приведен ниже. Нажмите и отпустите кнопку Reset на вашем макете, чтобы выйти из режима прошивки ESP8266 и возобновить нормальную работу.

Окно графического интерфейса ESP Flash Download Tool. Вывод информации о микросхеме ESP8266Окно графического интерфейса ESP Flash Download Tool. Вывод информации о микросхеме ESP8266Терминальное окно ESP Flash Download Tool. Вывод информации о микросхеме ESP8266Терминальное окно ESP Flash Download Tool. Вывод информации о микросхеме ESP8266

Обратите внимание, что теперь окно GUI содержит информацию об ESP8266, включая размер флэш-памяти (в примере 8 Мбит), тактовую частоту (в примере 26 МГц) и два MAC-адреса для чипа. Такая же информация содержится в окне журнала.

Затем кликните в окне GUI по чекбоксу с надписью "SpiAutoSet", что заставит инструмент загрузки автоматически выбрать правильные размер флэш-памяти и тактовую частоту.

Теперь нам нужно выбрать файлы для установки в ESP8266 и установить начальный адрес памяти для каждого файла. Чтобы обновить ESP чип, необходимо правильно установить четыре файла. Откройте «Руководство пользователя Espressif IOT SDK» и найдите раздел о записи образов во флэш-память. В версии 1.4 руководства он начинается со страницы 20. Затем найдите подраздел, который описывает версию поддерживаемую Cloud Update (FOTA), и в этом подразделе найдите таблицу о размере флэш-памяти в вашем ESP8266. В этом примере размер флэш-памяти составляет 8 Мбит, что равно 1024 килобайт, следовательно, в таблице 2 на странице 25 руководства содержится информация, необходимая для примера. Посмотрим на рисунок ниже.

Таблица адресов флэш-памяти для загрузки файлов прошивки ESP8266Таблица адресов флэш-памяти для загрузки файлов прошивки ESP8266

Необходимы эти четыре файла: esp_init_data_default.bin, blank.bin, boot.bin и user1.bin. Адрес, по которому должен быть установлен каждый из файлов, отображается рядом с именем файла. Первые три из необходимых файлов находятся в каталоге esp_iot_sdk_v1.4.1_15_10_22, ранее скачанном с bbs.espressif.com, а четвертый расположен в AT_v0.50 bin files. Перейдите туда, где находятся эти загруженные файлы, и скопируйте пути к ним в поля ввода в верхней части окна GUI программы Flash Download Tool; введите правильный адрес для каждого файла в поле рядом с именем файла. Выполните следующие шаги для каждого файла:

  • кликните внутри поля ввода "set firmware path";
  • кликните по кнопке ... справа от поля ввода;
  • перейдите к месту хранения файла и кликните по файлу. GUI автоматически введет путь к файлу в поле ввода;
  • введите правильный адрес (из таблицы) для каждого файла.

Обратите внимание, что файлы, которые должны быть загружены, могут быть не такими, как те, что указаны в таблице в этом примере, но будут близки к ним.

Теперь кликните на четыре флажка слева от имени каждого из файлов. Окно графического интерфейса программы Flash Download Tool должно быть похоже на рисунок ниже. Дважды проверьте адреса по таблице.

Настройка параметров прошивки ESP8266 в программе Flash Download ToolНастройка параметров прошивки ESP8266 в программе Flash Download Tool

На своем макете прошивки ESP нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset, а затем отпустите кнопку Flash. Нажмите кнопку START окне GUI инструмента прошивки ESP. Должна начаться загрузка, и её прогресс должен быть показан в окне графического интерфейса и окне журнала Flash Download Tool, как показано ниже.

Отображение процесса загрузки прошивки ESP8266 в терминальном окне Flash Download ToolОтображение процесса загрузки прошивки ESP8266 в терминальном окне Flash Download Tool

Как показано выше, успешная операция прошивки флэш-памяти приведет к тому, что все файлы будут отправлены в ESP8266, а COM порт будет закрыт.

Проверка успешности прошивки

Когда операция прошивки будет завершена, закройте программу Flash Download Tool. Снимите питание с макета программирования ESP, а затем снова подключите питание.

Снова запустите PuTTY, выберите сохраненный сеанс ESP8266 и нажмите кнопку Load (Загрузить). Это должно поместить ранее выбранные вами настройки COM порта и скорости передачи в соответствующие окна. Нажмите Open (Открыть), и откроется новое окно сеанса терминала PuTTY.

Включите Caps Lock у себя на компьютере и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY. Введите символ +, а затем GMR. Когда вы увидите AT+GMR в окне терминала PuTTY, удерживая клавишу Ctrl, нажимите сначала клавишу M, а затем J. Отпустите клавишу Ctrl. В окне терминала PuTTY вы должны увидеть информацию о прошивке ESP8266, аналогичную показанной ниже.

Вывод информации о прошивке ESP8266 в окне терминала PuTTYВывод информации о прошивке ESP8266 в окне терминала PuTTY

Как вы можете видеть, в ESP8266 очевидно установлена новая прошивка. Она была обновлена с SDK версии 1.1.1 на SDK версии 1.4.0. Кроме того, также была установлена соответствующая версия 0.50.0.0 набора AT команд.

Закройте окно сеанса терминала PuTTY и нажмите OK, когда PuTTY спросит, уверены ли вы.

И напоследок

Пара тренировок, и весь процесс обновления прошивки займет гораздо меньшее время, чем требуется для прочтения данной статьи. Как только вы сделаете это, то будете уверены в том, что находится внутри вашего ESP8266 и сможете сосредоточиться на своем Wi-Fi проекте, вместо угадывания прошивки ESP и надежды на поддержку необходимого набора AT команд.

Оригинал статьи:

Сохранить или поделиться

radioprog.ru

Прошивка и запуск модуля ESP8266

Для начала необходимо определить сколько памяти установлено на модуле ESP8266.  Встречаются варианты модулей, с установленной памятью 512 кбайт(4 мегабита) , а так же 4мбайт(32 мегабита). Редко, но попадаются с флеш памятью 1 мбайт(8 мегабит). Почти все разновидности ESP-12 и новые ESP-07 имеют на борту 4 мегабайта. Объем памяти можно определить по маркировке flash чипа, посмотреть в программе Flash Download Tool или на вкладке /debug. Маркировка имеет вид 25QXX, где XX - объем в мегабитах, например 25Q32 имеет на борту 32 мегабита=4 мегабайта.

Определение размера памяти по вкладке ip_adr/debug:

Вкладка debug содержит разную полезную информацию, в том числе и реальный размер чипа флеш памяти в строке Flash real size, а так же размер памяти, установленный в прошивающей программе Flash set size, который важен для правильной поддержки OTA.

Если у вас нет купленых ключей, то прошивку можно скачать на страничке проекта, где доступны2 облегченных варианта прошивки:

-Вариант с поддержкой OTA с объемом памяти чипа 1мбайт.  Данная прошивка прошивается и в модули и с бОльшим объемом flash. Необходимо обязательно выбирать в прошивающей программе размер памяти 1мбайт !! Модули с 512кб не поддерживаются !!

-Вариант без поддержки OTA. Подходит для любого объема flash памяти. Необходимо обязательно выбирать в прошивающей программе размер памяти 512кбайт !!

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

Прошивку можно собрать так же в конструкторе прошивки , где необходимо выбрать настройки для поддержки OTA и объема flash 1 мегабайт.

При использовании OTA и с объемом 512кб невозможно одновременно использовать множество опций конструктора, а так же использовать новые SDK, т.к. прошивка в модуль не помещается !!

Если у вас имеются проблемы со стартом прошивки, то обязательно смотрим ниже абзац про решение проблем с прошивкой !

Подключение модуля для прошивки

Для прошивки 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кОм на постоянной основе !!

Прошивка модуля

Для начала необходимо установить драйвера для вашего USB-UART переходника или Arduinы.

Прошивка через Nodemcu Flasher: Устанавливаем на вкладке Advanced Параметр Flash size в соотвествии выбранным размером flash памяти (в байтах). Остальные параметры не трогаем. Указываем на вкладке Config путь на файл прошивки с адресом 0x0000. На вкладке Operation выбираем COM порт и жмем кнопку FLASH.

Прошивка через Flash download tool: Описание в разработке(Действия аналогичны).

Прошивка через esptool. Пример команды esptool.py --port /dev/ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin . где -fs 8m параметр нужен только для указания размера при одномегабайтовой прошивке.

Скорость COM порта рекомендуется ставить не выше 115200.

Запуск модуля

После успешной прошивки необходимо запустить режим safe mode, замкнув между собой RX и TX и перезапустив модуль или нажать 3 раза подрят (с интервалом нажатия около секунды) кнопку RESET на ESP8266. В эфире появится точка с именем homessmart , к которой можно подключится используя смартфон или ноутбук.

main optПосле успешного коннекта заходим по адресу http://192.168.4.1 . Настраиваем подключение на свой роутер на вкладке main веб интерфейса. Необходимо вбить в поля WiFi options данные своей точки доступа. Для подключения к роутеру выбираем режим "Station mode". После нажатия кнопки set ниже появится IP адрес, на который можно заходить внутри своей беспроводной сети.

Далее обновляем страницу и видим внизу IP адрес, на который уже можно будет заходить внутри Вашей локальной сети.

Тут же вы можете установить свой логин и пароль на странички настроек веб интерфейса. По умолчанию логин esp8266, пароль 0000. Длинна логина и пароля не более 8 символов. Пароль затребуется на все вкладки настроек. А при установленной опции "Full Security" и на все GET запросы управления. В режиме safe mode пароль не запрашивается !

На данной вкладке можно задать имя модулю, которое будет отображаться на главной и в системе flymon, а так же в топике на MQTT сервере.

 

Решение проблем с прошивкой

Иногда, после сторонних прошивок или мусора модуль может не запустится и необходимо выполнить дополнительные действия. Необходимо затереть flash память пустым бланком по адресу 0x00000. Если вы используйте прошивку с размером 1 мегабайт, то качаем этот бланк. Далее уже прошиваем саму прошивку снова.

У некоторых пользователей даже после зачистки бланком модуль не стартует или стартует только при установленном режиме 512 кб или 4мб, возможно это связано с низким качеством flash памяти или частичной её несовместимостью с чипом ESP8266. Обратите внимание, что если даже у вас получилось запустить прошивку в режиме 4мб, то обновление по OTA в таком режиме не пройдет - модуль не запустится после обновления. По некоторым сведениям от пользователей помогает замена чипа памяти.

Если на главной странице модуля выводится сообщение "Error flash size ! (code 0x1)", то это значит была прошита прошивка 1мегабайт в режиме 512кб. При этом включается режим Safe Mode и возможны сбои в работе модуля из-за таких неверных настроек. Убедитесь, что на модуле установлен необходимый размер памяти - это видно на веб вкладке ИП_АДРЕС/debug в строке Flash real size. Режим объема памяти указывается в прошивающей программе.

Если на главной странице модуля выводится сообщение "Error flash size ! (code 0x2)", то это модуль имеет всего 512кб flash памяти и это значит, что необходимо использовать прошивку без включенного режима 1 мегабайт или не использовать OTA. Можно так же перепаять микросхему flash памяти на более ёмкую.

ВАЖНО !!  Если модуль не может получить IP адрес. Висит постоянно статус connect , то рекомендуется вписать IP адрес вручную ниже. Для этого необходимо выбрать режим Static IP и вписать IP модуля и IP шлюза(IP роутера). После этого можно заходить на модуль уже внутри сети по IP адресу, который указали в настройках..

Сохранение настроек в файл

Настройки модуля можно сохранить в файл, исключая настройки WI-FI, состояния GPIO, список датчиков DS18B20. Файл необходимо скачать по адресу ИП_АДРЕС/configsave.bin . Записывается обратно в модуль через программатор по адресу 0x3C000 для 512кб прошивки, 0x7C000 - для 1мб. Настройки можно скачать и через esptool.py используя пример ниже подставив нужный адрес. 

Скачать настройки WI-FI можно по адресу ИП_АДРЕС/configsave.bin?pg=66 для 512кб, ИП_АДРЕС/configsave.bin?pg=130 для 1 мег. Скачать через esptool.py можно командой esptool.py read_flash 0x7E000 4096 mywifi_settings.bin для 512 кб (Для 1024кб адрес будет 0xfe000).

Полезные ссылки:

Видеоиструкция по настройке от Umka 

homes-smart.ru


Смотрите также