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

Содержание

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

Модуль 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 — подключение

Красный — питание 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 (без автозагрузки прошивки, прошиваемся предварительно установив перемычку 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

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

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 через Arduino IDE

ESP8266 – это популярный китайский микроконтроллер от компании Espressif, основным достоинством которого является встроенный интерфейс WiFi и совместимость с ардуино. Совместимость означает возможность писать программы и загружать их через  Arduino IDE,ведь большинство скетчей могут с минимальными доработками использоваться в ESP8266. В этой статье мы узнаем, что из себя представляет стандартная прошивка ESP 8266, как можно программировать эти модули в привычной для многих ардуинщиков Arduino IDE. Мы узнаем, как подготовить среду программирования, как с ее помощью написать скетч и как затем подключить и прошить WiFi-модуль.

Начальная прошивка ESP8266 с WiFi

Сегодня на базе чипа ESP8266 выпускается большое количество модулей, о них мы писали в отдельной статье, посвященной этому микроконтроллеру. Заводские ESP8266 идут со стандартной прошивкой от компании Espressif. Этот софт позволяет работать с модулем вай-фай как с обычным модемом, то есть посредством AT команд, которые подаются на последовательный порт.  Таким образом, вы можете использовать модули «из коробки» как внешнее WiFi устройство (в зависимости от режима работы это может быть и точка доступа, и ретранслятор).

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

Как прошить ESP8266

Стандартная микропрограмма внутри ESP8266 не только ограничивает наши возможности, но и обладает определенными недостатками (к примеру, медленный интерфейс обмена данными с контроллером), что может быть критично для некоторых проектов. Если мы захотим использовать ESP8266 как полноценный контроллер, нам надо будет записать туда свою программу или интерпретатор, который будет выполнять поступающие из вне команды. Можно выделить несколько основных способов перепрошивки ESP8266:

  • Использование “родного” SDK. Компания Espressif выпустила набор программных средств для разработки собственных прошивок. SDK предоставляет широкий спектр возможностей, тем не менее, пользоваться им довольно-таки трудно в виду не совсем очевидного и приятного интерфейса.
  • Загрузка готовых решений. На просторах Всемирной паутины есть множество уже готовых со встроенным интерпретатором. Среди множества решений наверняка найдутся и тем, которые подойдут вашему проекту. Тем не менее, у готовых прошивок есть недостатки. Они могут быть ненадежными, решать не совсем те задачи и быть избыточно большими. Из-за встроенного интерпретатора софт сильно загружает ОЗУ, что приводит к медленной работе.
  • Настройка работы через WEB-интерфейс. Существует ряд прошивок, которые позволяют изменить конфигурации ESP8266 через интернет-интерфейс. В качестве примера можно привести коммерческий софт HOME-SMART. Недостатком подобных прошивок является довольно-таки узкий спектр возможностей.
  • Использование Arduino IDE. Пожалуй, один из лучших способов написания прошивки для ESP, который используется чаще всего. Это связано с тем, что у рассматриваемой IDE есть целый ряд достоинств, речь о которых пойдет в следующем разделе.

Прошивка ESP 8266 в Arduino IDE

Почему для прошивки ESP 8266 многие предпочитают использовать Arduino IDE? Есть целый ряд причин, которые оправдывают использование именно данной среды разработки. Во-первых, она очень проста. Скетчи в Arduino IDE пишутся на языке, который в плане синтаксиса напоминает С/С++. Большинство функций, которые используются для программирования платы Ардуино, можно применять для написания прошивки к ESP8826 (к примеру, pinMode(), digitalRead() и пр.). Поэтому если вы писали скетчи для платы Arduino, то проблем с написание прошивки возникнуть не должно.

Во-вторых, Arduino IDE поддерживает множество различных библиотек, которые значительно облегчают процесс программирования. Некоторые из них можно использовать для того, чтобы писать прошивку для ESP8266. К примеру, при создании софта наверняка пригодятся такие модули, как:

  • WiFi ESP8266. Объемная библиотека для работы с беспроводной сетью. Позволяет получать IP и MAC адрес в различных режимах (клиент, точка доступа), выводить диагностическую информацию, создавать открытую точку доступа и пр.
  • Программный модуль, с помощью которого можно выполнять различные операции через заданное количество времени.
  • Библиотека используется для работы с ПЗУ.
  • Программный модуль, которые обеспечивает поддержку нескольких, специфических для ESP 8266 функций. К примеру, библиотека позволяет активировать режим глубокого сна и управлять сторожевым таймером. Кроме этого, в состав программного модуля входят функции для перезагрузки девайса, определения размера свободной памяти и т.д.

И это лишь верхушка айсберга. У Arduino IDE есть еще несколько менее значимых преимуществ.

Чтобы использовать среду разработки Ардуино с ESP8266, для начала необходимо произвести предварительную настройку. Именно о ней мы сейчас и поговорим.

Подготовка Arduino IDE

Для начала необходимо установить на свой ПК крайнюю версию среды Arduino IDE. Сделать это можно на официальном интернет-сайте. На момент написания статьи крайняя версия IDE – это 1.8.5. После загрузки и инсталляции среды разработки, необходимо запустить ее и перейди в раздел Файл > Настройки. Там есть поле для дополнительных ссылок менеджера плат. В него необходимо вписать http://arduino.esp8266.com/stable/package_esp8266com_index.json и клацнуть на кнопочку ОК.

Затем нужно перейти в Инструменты > Плата. Там будем представлен список доступных плат. Но на интересует пункт Менеджер плат. Это приведет к запуску нового диалога. В нем необходимо найти пункт под названием esp8266 by ESP8266 Community и кликнуть по нему. Вышеописанные манипуляции приведут к появлению кнопочки Установка. Нужно выбрать подходящую версию (лучше всего крайнюю). Далее надо нажать на кнопку, отвечающую за установку. После этого среда разработки начнет скачивать необходимые файлы. Это не займет много времени, так как нужный пакет весит всего 150 МБ.

Возвращаемся к списку плат. После инсталляции программного модуля там появилось несколько новых пунктов, которые соответствуют рассматриваемому микроконтроллеру. Надо выбрать вариант Generic ESP8266 Module. Затем следует определить входящий пункт, через уже знакомый раздел Инструменты. Там же следует задать параметры модуля (частота, объем flash-паммяти). На этом настройка программной среды завершена.

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

Для подключения ESP8266 не потребуется много коннекторов, так как рассматриваемый аппаратный модуль использует всего несколько пинов. Выходы TX/RX и землю нужно подключить к конвертору TTL-USB (его, в свою очередь, надо подключить к USB). Далее следует подсоединить питание в 3.3В к пину VCC.

Важно! Не стоит использовать питание от USB-TTL конвертера, так как это может привести к нестабильной работе аппаратного модуля. Лучше используйте внешний источник питания.

Чтобы иметь возможность загружать на микроконтроллер прошивку, необходимо подсоединить GPIO0 к земле. При таком подключении аппаратный модуль загружает прошивку во flash-память. Запуск программы происходит сразу же, без отсоединения от GPIO.

Важно! Перед загрузкой прошивки для ESP8266 необходимо перезагрузить модуль. Сделать это можно, передёрнув питание или же подав землю на RESET.

Последовательность действий при загрузке скетча

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

Важно! Если аппаратный модуль был подключен без автопрошивки, то надо отсоединить пин GPIO0 от земли и передернуть питание.

Далее следует перейти в Инструменты > Монитор последовательного порта. Надо выбрать скорость 115200. После этого стоит обратить внимание на терминал. Если модуль подключен к сети, то в таком случае на мониторе должны появится соответствующие надписи. Внизу будет расположен IP адрес аппаратного модуля.

Обновление прошивки 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.

Перепрошивка ESP-8266 | Жизнь, бизнес и IT

ESP-8266 — интересный Wi-Fi чип для разработки устройств IoT. При приобретении его на Aliexpress прошивка на нем, нередко, достаточно старая. Прошивка устройства много где описана, но нередко упускаются из виду очень критичные моменты. Постараюсь воссоздать всю цепочку.

Для начала рекомендую распаять чип на белую платку-адаптер для ESP-07, ESP-12. На ней уже распаяны необходимые подтягивающие резисторы, кроме того, минимизируется риск повреждения контактов модуля ESP-8266.

Обычно в комплекте с платой не идет XC-6206A на 3,3 V. В принципе, он не нужен для работы при подаче напряжения 3,3 V.

Схема белой платы-адаптера (ESP-12 white mounting breakout board scematics) для ESP-07, ESP-12 следующая:

  • Приницпиальная схема платы-адаптера для ESP-07, ESP-12 (ESP-8266)

Емкости на плате отсутствуют. Вход EN обозначен как CH_PD.

Для программирования использовал аксессуары:

  • Arduino UNO R3 запитанный от блока питания, а не от USB порта. Мощности USB порта может оказаться недостаточно для питания Arduino UNO и ESP-8266. Arduino использовал только как блок питания на 3,3 V. Естественно, лучше использовать блок питания на 3,3 V.
  • RS-232 to UART конвертер. Можно использовать недорогой бескорпусный вариант. Я использовал корпусный вариант.
  • ESP-12 модуль (ESP-8266).
  • Белая плата-адаптер для ESP-8266 модулей.
  • Набор Dupont проводов.

Замечательно если есть беспаячная монтажная плата. У меня не было под руками, поэтому коммутацию выполнял напрямую проводами обжатыми Dupont разъемами.

Далее по тексту ESP-8266 — это модуль распаянный на белую плату-адаптер.

Коммутация:

ESP-8266
RS-232
converter
Arduino UNO
или БП 3,3 V
Комментарий
TXDRXDТеоретически, можно использовать Arduino TX/RD с небольшим скетчем. Однако, по-умолчанию, для ESP-8266 задана скорость порта 115200. Arduino UNO/Nano работают нестабильно на этой скорости, поэтому сначала придется подключится напрямую, чтобы установить скорость 9600.
RXDTXD
GNDGNDGND
VCC3,3 VArduino запитываем не от USB порта ПК!!!
GPIO0GNDДля переключения в режим обновления.

Проверка собранной схемы

Перед тем как переводить ESP-8266 в режим отновления прошивки, проверим работу собранной схемы:

  • Убедимся, что GIO0 отключена от GND. Иначе AT команды отправить в модуль нельзя.
  • Включим питание модуля.
  • Подключим USB-to-RS232 конвертер к ПК.
  • Зайдем в Control Panel -> System -> Device manager -> Ports (COM & LPT).
  • Если устройство Prolific USB-to-Serial Comm Port работает с ошибкой — нужно установить fix.
  • Если USB конвертер работает без ошибок — смоттри на каком COM порту он работает.
  • Запускаем ESPlorer и выставляем в настройках правильный COM порт и скорость. Жмем «Open».
  • Переходим на закладку «AT-based» и жмем кнопку «AT». Отправится команда AT, в ответ должна прийти «ОК». Хначит устрйоство работает нормально. То-же самое можно сделать любой терминальной программой работающей с последовательным портом, вроде PuTTY.
  • Далее жмем кнопку»RST». Отправится команда AT+RST для рестарта модуля.
  • Отправка команды AT+RST в ESP-8266.
AT+RST
AT+RST

OK
WIFI DISCONNECT

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

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
rlЋ‚rlМя
Ai-Thinker Technology Co.,Ltd.

ready
WIFI CONNECTED
WIFI GOT IP
  • Сохраним полученные параметры чипа. Они могут пригодится в дальнейшем.
  • Отправим AT+GMR для получения информации о текущей версии прошивки ESP-8266.
  • Отправка команды AT+GMR в ESP-8266

Получили следующую информацию о чипе:

  • SPI Speed : 40MHz
  • SPI Mode : DIO
  • SPI Flash Size & Map: 8Mbit(512KB+512KB)
  • AT version:0.40.0.0(Aug 8 2015 14:45:58)
  • SDK version:1.3.0
  • Build:1.3.0.2 Sep 11 2015 11:48:04

Софт для прошивки ESP-8266

Для прошивки нужно скачать следующее ПО от разработчика чипа, компании Espressif:

Перевод ESP-8266 в режим загрузки обновления

Для перевода ESP-8266 в режим загрузки прошивки нужно:

  • Отключить питание модуля и извлечь из USB порта USB-to-RS-232 конвертер.
  • Замкнуть PIN GPIO0 на GND. Я использовал Dupont кабель. Кнопку нет смысла использовать. Вот здесь есть тонкий момент. На некоторых схемах используют две кнопки Flash и Reset и нажимают их попеременно для ввода в режим заливки обновления. В официальной документации дан вариант, который я описал. Но при этом я брикнул ESP8266 и пока не нашел способа восстановить.
  • Включить питание модуля.
  • Немного подождать и подключить USB-to-RS-232 конвертер.

Если нарушить последовательность, то программатор не найдет ESP-8266 модуль!

  • Запускаем ESP8266 Flash Download Tool.
  • Выбираем ESP8266 и задаем правильный порт и скорость.
  • Ничего не вводим и нажимаем Start
  • Если ESP 8266 корректно переведен в режиме скачивания прошивки, то практически мгновенно будет выдан статус Finish. И в «detected info» отобразится информация:
    • flash vendor: E0h : N/A
    • flash devID: 4016h
    • QUAD;
    • 32Mbit crystal;
    • 26 Mhz

Прошивка

В некоторых случаях брикнутые ESP 8266 удается восстановить с использованием инстурмента XTCOM_UTIL. Статья на эту тему.

Но здесь есть такой момент. Прошивки подходящие под эту утилиту неофициальные (специально сделанные) и очень древние. Хотя, можно «лить» и официальные, указав правильные адреса. Я не пробовал, но в статье пример.

У меня была ситуация, когда не мог залить официальную прошивку на купленный на Aliexpress ESP 8266 модуль. Но после того как залил древнюю прошивку через XTCOM_UTIL, залилась и прошивка через официальный ESP8266 Download Tool.

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

Если конвертер USB — RS-232 плохого качества, либо плохое качество соединений, то ESP8266 Download Tool может выдавать ошибку синхронизации. В Интернет рекомедуют снижать скорость до 9600, но это нельзя сделать с помощью этой утилиты. У неё минимальная скорость 115200. В этом случае можно воспользоваться консольной утилитой ESPTool от официального разработчика чипа компании Espressif. Я пробовал прошивать с помощью этой утилиты брикнутый чип, но безуспешно.

Таблицу адресов для заливки лучше брать в официальной документации, поскольку адреса завсят от чипа. Этот вопрос нужно смотреть тщательно, поскольку в Интернет адреса заданы для того чипа, который шил автор статьи. Адреса и схема распайки для программирования есть в ESP8266_SDK_Getting_Started_Guide, и адреса есть также в ESP8266_AT_Instructions_Set.

Сразу отмечу, что у меня нет достоверной информации, что если в ESP8266 Download Tool выставить флаг SpiAutoSet, то действительно производится проверка параметров чипа. Адреса точно никак не проверяются.

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

В Интернете не раз проскакивала информация, что ESP-8266 невозможно вывести из строя кривой прошивкой. Мне удавалось. 🙂 После этого чип даже при повторном переводе в режим заливки образа не откликается на запросы. Пробовал скорость и 9600 и 115200 использовать и разные другие шаманства со всеми возможными утилитами.

Troubleshooting

Если после прошивки ESP-8266 не получается подключиться к модулю на скорости 115200, нужно попробовать скорость 9600. В некоторых прошивках эта скорость выставлена по-умолчанию.

В некоторых случаях из-за качества соединений могут возникать проблемы с синхронизацией. Одно из решений — уменьшить скорость с 115200 до 9600:

  • AT+UART_DEF=<baudrate>,<databits>,<stopbits>,<parity>,<flow control>
  • AT+UART_DEF=9600,8,1,0,0
  • AT+UART_DEF=115200,8,1,0,3

В некоторых случаях при переходе на другую скорость отклики от модуля в терминальной программе становятся очень медленными. Пока не разобрался с чем это связано. Помогает сброс к заводским настройкам командой AT+RESTORE.

Статьи

ESP Easy — крутая прошивка для IoT: vladikoms — LiveJournal

Только совсем недавно у меня появилось время «попробовать» ESP8266, а точнее 3$ плату Node MCU v.3, которая сейчас очень популярна на волне всяких IoT-поделок. Оно и не мудрено — по соотношению цена/качество трудно найти альтернативу, тут вам и нормальный Wi-Fi и относительно мощный процессор и целых 4 МБ встроенной памяти, встроенный стабилизатор напряжения, мост USB-UART, множество выведенных «наружу» GPIO, в итоге за дешево получаем готовую систему передачи данных с удобным управлением. Основная сложность в освоении это программная часть, нет никакого желания изучать SDK и уж тем более копаться в коде Arduino, которого для ESP написано примерно тысячу тонн. К счастью, я нашел отличную альтернативу как все запустить просто подключив провода и выполнив несложную настройку.



В настоящее время программное обеспечение для ESP представлено несколькими вариантами:

1. ПО с исходным кодом. Его много, чаще всего это код, который требуется компилировать в среде Arduino IDE.

Плюсы: потенциально самые гибкие возможности.
Минусы: много мороки — требуется установка IDE, разных библиотек, хотя бы поверхностное понимание кода, говорят что прошивки собранные на ардуине работают не всегда стабильно (ну в этом нет ничего удивительного).

2. Готовые прошивки под ваше «железо» и требуемый функционал, которым требуется только прошить ESPшку.

Плюсы: Быстро, удобно.
Минусы: Как правило такие прошивки-конструкторы платные и без возможности тиражирования — каждая прошивка индивидуальна под каждую ESP. Нет гибкости в настройке, при необходимости подключить дополнительно оборудование или сервис нужно снова покупать и перезаливать прошивку.

И вот теперь самое интересное. Проект ESP Easy — по сути это уже собранная, бесплатная прошивка для вашей платы, которая обладает широкими возможностями работы с различным оборудованием и внешними сервисами. Вся настройка устройства выполняется в веб-браузере подобно тому как вы конфигурируете свой домашний маршрутизатор. Конечно же я не буду долго и нудно рассказывать как все настраивать и прошивать, в инете куча статей на эту тему, просто отмечу некоторые основные моменты:

Проект активно развивается, официальный сайт конторы https://www.letscontrolit.com/. Свежие релизы дистрибутивов лежать здесь https://github.com/letscontrolit/ESPEasy/releases. Для того что бы знать что качать, требуется выяснить какой у вас тип платы/процессора, объем памяти и прочее. В общем, курим интернет. В дистрибах уже лежит прошивальщик. Установка проста и не вызывает сложностей.

Поддерживаются следующие протоколы для контроллеров автоматизации и внешних платформ:

Domoticz HTTP, Domoticz MQTT, OpenHAB MQTT, PiDome MQTT, Nodo Telnet, ThingSpeak, EmonCMS, Generic HTTP, Generic HTTP Advanced, InfluxDB HTTP Api (via Generic HTTP Advanced), Nettemp HTTP Api (via Generic HTTP Advanced), FHEM HTTP, Generic UDP

Благодаря Generic-ам зная API передачи данных можно вещать и в многие другие сервисы, например, я настроил трансляцию на известный отечественный ресурс «Народный мониторинг».

Список поддерживаемого оборудования пока не сильно длинный, но все основное есть https://www.letscontrolit.com/wiki/index.php?title=Devices

Для теста подключил датчик BME280, всё хорошо работает. Из интересных особенностей — есть возможность программной корректировки показаний с помощью самописных формул EasyFormula.

Еще я потестил счетчик импульсов, это актуально тем, кто желает мониторить приборы учета с импульсным выходом или подключить, например, счетчик Гейгера. Еще вариант — анемометр, измерение скорости ветра/потока пропорционально количеству импульсов Count в единицу времени, с расчетом значения скорости по формуле.

При необходимости, с помощью приблуды можно мониторить водосчетчик не оснащенный соответствующим выходом https://www.letscontrolit.com/wiki/index.php?title=LJ12A3

Пройдёмся ещё по нескольким вкладкам. «Hardware» — тут настраиваются GPIO, интерфейсы и всё такое.

«Devices». Здесь перечислены все подключенные устройства и их показания

«Notifications». С уведомлениями не разбирался

«Tools». Тут множество всяких настроек, можно активировать самописные скрипты. Всех возможностей не знаю, к тому же проект быстро развивается.

Можно сохранять/загружать настройки и даже обновлять из файла встроенное ПО.

На всякий случай дам совет — что бы соединение было стабильным, нужно отметить следующие пункты в меню Tools/Advanced: Force WiFi B/G и Force WiFi No Sleep. Иначе браузер не всегда открывает страницы, я даже сперва приуныл когда пробовал настраиваться после свежезалитой прошивки.

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

Помимо Node MCU популярна также плата Wemos D1 mini, у неё меньше выводов, благодаря двухстороннему поверхностному монтажу компонентов она значительно компактней, чем NodeMCU. Цена такой платы около 2$ с бесплатной доставкой.


Прошивка Tasmota, как прошить модуль ESP8266 просто и быстро | TehnoZet-2

Идем на сайт Tasmota (https://tasmota.github.io/docs/)

Качаем с сайта прошивку с расширением bin, например русскую версию: «tasmota-RU.bin»

Нажимаем на «скачать», попадаем на новую страницу и прокручиваем вниз, ищем прошивку с расширением bin, например русскую версию: «tasmota-RU.bin»

Там кстати несколько вариантов:

  • tasmota.bin — Версия Tasmota с большинством драйверов. РЕКОМЕНДУЕМЫЙ ВЫПУСК
  • tasmota-BG.bin — tasmota-TW.bin — Версия Tasmota на разных языках.
  • tasmota-lite.bin — Облегченная версия без большинства драйверов и датчиков.
  • tasmota-knx.bin — Версия Knx без некоторых функций, но с поддержкой KNX.
  • tasmota-sensor.bin — больше датчиков.
  • tasmota-ir — Версия инфракрасного приемника и передатчика, поддерживающая все доступные протоколы, предоставляемые библиотекой IRremoteESP8266, но без большинства других функций.
  • tasmota-display.bin — Версия дисплея без мониторинга энергопотребления, но с добавленной поддержкой дисплея.
  • tasmota-zbbridge.bin — Специальная версия Sonoff Zigbee Bridge.
  • tasmota-minimal.bin — Минимальная версия допускает промежуточную загрузку OTA для поддержки более крупных версий и НЕ изменяет никаких постоянных параметров. Эту версию НЕ следует использовать для первоначальной установки.

Качаем, а дальше мы должны собственно прошить модуль. И вот тут возможны варианты. В сети очень много разных описаний с использованием Atom или Arduino IDE, но все это как то сложно. Я предлагаю воспользоваться программой «ESP Easy Flasher» она нам известна по «обзору на прошивку «ESP Easy» и служит для прошивки в модуль ESP8266 прошивки ESP Easy, но, а мы будем прошивать в ESP8266 прошивку Tasmota.

Скачать «ESP Easy Flasher» можно:

  • скачав прошивку «ESP Easy» с GitHub она там уже лежит вместе с прошивкой ESP Easy
  • или скачать отдельно программу с GitHub

Все что нужно это положить нашу скаченную прошивку, например «tasmota-RU.bin», в папку «bin» которая находится в одной папке с программой прошивальщиком.

Выбрать прошивку tasmota в окне программы «ESP Easy Flasher» произвести настройки (почитать можно тут) прошить и все!

После прошивки модуль создаст сеть без пароля типа

«tasmota_xxxxxx-хххx»

Подключаемся к этой сети, вводим имя уже своей сети и пароль. Заходим в свой роутер и смотрим по какому IP адресу находится наш свежеиспеченный модуль

Вводим этот IP адрес в браузер и вот мы уже в настройках.

А дальше начинается настройка.

Да и кстати обновление по воздуху у меня не сработало! Вернее сработало, но не так как надо. Скачалась минимальная прошивка, причем английская версия, а затем в ручном режиме модуль отказался обновляется даже старой прошивкой с диска — поэтому видимо лучше все же обновлять в ручном режиме (хотя возможно такие проблемы связаны с малым объемом памяти, прошивал я ESP-01 c 1мБ)

Продолжение следует…

ESP8266 прошивка AT-espressif

Вариант прошивки интерпретатора AT-команд.

Очистим Flash память модуля (у нас ESP8266-01):

esptool.py -p /dev/ttyUSB0 erase_flash
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 84:f3:eb:68:8e:9a
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 0.0s
Hard resetting via RTS pin...

Скачайте архив ESP firmware.

В папке ESP8266_NonOS_AT_Bin_V1.7.4/ESP8266_NonOS_A.7.4/bin/at есть файл README.md:

# Notice: 
AT firmware becomes larger since it supports more functions. So, we provide two firmwares here:

* 1024+1024: Normal AT, which is compiled from ESP8266_NONOS_SDK/examples/at, and uses mbedTLS lib.
* 512+512: Nano AT, which is compiled from ESP8266_NONOS_SDK/examples/at_nano, and uses SSL lib that supports less cipher suites.
It is suggested to use normal AT(1024+1024), if your flash size is 2MB or larger.

# BOOT MODE
## download

### Flash size 8Mbit: 512KB+512KB
    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000
    blank.bin                   0x7e000 & 0xfe000


### Flash size 16Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x1fc000
    blank.bin                   0xfe000 & 0x1fe000

# NON-BOOT MODE
## download
    eagle.flash.bin              0x00000
    eagle.irom0text.bin          0x10000
    blank.bin
        Flash size 8Mbit:        0x7e000 & 0xfe000
        Flash size 16Mbit:       0x7e000 & 0x1fe000
        Flash size 16Mbit-C1:    0xfe000 & 0x1fe000
        Flash size 32Mbit:       0x7e000 & 0x3fe000
        Flash size 32Mbit-C1:    0xfe000 & 0x3fe000
    esp_init_data_default.bin    
        Flash size 8Mbit:        0xfc000
        Flash size 16Mbit:       0x1fc000
        Flash size 16Mbit-C1:    0x1fc000
        Flash size 32Mbit:       0x3fc000
        Flash size 32Mbit-C1:    0x3fc000
 
## compile
    modify eagle.app.v6.ld, as
    irom0_0_seg :                         org = 0x40210000, len = 0x6C000
    

> NOTICE: UPDATE is not supported in non-boot mode; 4Mbit Flash is not supported in non-boot mode;

# Update steps
1.Make sure TE(terminal equipment) is in sta or sta+ap mode

    AT+CWMODE=3
    OK

2.Make sure TE got ip address

    AT+CWJAP="ssid","12345678"
    OK
    
    AT+CIFSR
    192.168.1.134

3.Let's update

    AT+CIUPDATE
    +CIPUPDATE:1    found server
    +CIPUPDATE:2    connect server
    +CIPUPDATE:3    got edition
    +CIPUPDATE:4    start start
    
    OK

> NOTICE: If there are mistakes in the updating, then break update and print ERROR.

Нас интересует информация из секции # BOOT MODE ### Flash size 8Mbit: 512KB+512KB, так как на нашем модуле ESP8266-01 8 Мбит = 1 Мбайт Flash памяти.

# BOOT MODE
## download

### Flash size 8Mbit: 512KB+512KB
    boot_v1.2+.bin              0x00000
    user1.1024.new.2.bin        0x01000
    esp_init_data_default.bin   0xfc000
    blank.bin                   0x7e000 & 0xfe000

Загрузим файлы boot_v1.7.bin, user1.1024.new.2.bin, esp_init_data_default_v08.bin, blank.bin по указанным выше адресам:

ESP8266_NonOS_AT_Bin_V1.7.4/ESP8266_NonOS_AT_Bin_V1.7.4/bin$ esptool -p /dev/ttyUSB1 write_flash -fm dio -ff 40m -fs 1MB 0x00000 boot_v1.7.bin 0x01000 at/512+512/user1.1024.new.2.bin 0xfc000 esp_init_data_default_v08.bin 0x7e000 blank.bin 0xfe000 blank.bin
esptool.py v2.1
Connecting........_____....._
Detecting chip type... ESP8266
Chip is ESP8266
Enabling default SPI flash mode...
Configuring flash size...
Erasing flash...
Flash params set to 0x0220
Took 0.24s to erase flash block
Wrote 4096 bytes at 0x00000000 in 0.4 seconds (73.2 kbit/s)...
Erasing flash...
Took 4.09s to erase flash block
Wrote 413696 bytes at 0x00001000 in 45.2 seconds (73.1 kbit/s)...
Erasing flash...
Took 0.18s to erase flash block
Wrote 1024 bytes at 0x000fc000 in 0.1 seconds (73.2 kbit/s)...
Erasing flash...
Took 0.21s to erase flash block
Wrote 4096 bytes at 0x0007e000 in 0.4 seconds (82.0 kbit/s)...
Erasing flash...
Took 0.18s to erase flash block
Wrote 4096 bytes at 0x000fe000 in 0.4 seconds (85.4 kbit/s)...

Leaving...
Hard resetting...

Не забываем своевременно нажимать RESET и Prog (см. статью Esptool).

Проверим работоспособность в терминале CuteCom (см. статью CuteCom монитор порта). Сначала на скорости 74880 после нажатия кнопки RESET:

 ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 2592, room 16 
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8 
tail 4
chksum 0x92
load 0x3ffe82fc, len 676, room 4 
tail 0
chksum 0x22
csum 0x22

2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

correct flash map
V2
Mo
,<0x95><0xff>rf cal sector: 251
freq trace enable 0
rf[112] : 00
rf[113] : 00
rf[114] : 01

SDK ver: 3.0.4(9532ceb) compiled @ May 22 2020 16:26:04
phy ver: 1156_0, pp ver: 10.2

<0xa2><0xd4><0xaa>TWT

Затем на скорости 11520 даём команду AT+GMR:

AT+GMR
AT version:1.7.4.0(May 11 2020 19:13:04)
SDK version:3.0.4(9532ceb)
compile time:May 27 2020 10:12:17
Bin version(Wroom 02):1.7.4
OK

ОК, ОК, ОК, ну совсем свежий софт!

<<< Edragon, ESP firmware Ω ESP8266-01 Web-сервер >>>

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

Цель и обоснование

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

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

Модули

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

Настройка оборудования

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

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

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

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

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

В небольшом окне «Сохраненные сеансы» введите ESP8266 и нажмите кнопку «Сохранить». Окно PuTTY должно быть похоже на изображение ниже.

Нажмите кнопку «Открыть», откроется окно сеанса терминала 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, как показано на рисунке ниже.

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

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

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

Включите Caps Lock на своем ПК и введите AT, но не нажимайте Enter. Вы должны увидеть AT в окне терминала PuTTY. Введите знак +, а затем GMR. Когда вы видите AT + GMR в окне терминала PuTTY, удерживая нажатой клавишу Ctrl, нажмите клавишу M, а затем клавишу J. Отпустите клавишу Ctrl. Вы должны увидеть информацию о прошивке 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-команд, который является частью прошивки и подходит для управления этой прошивкой.Якобы AT версии 0.25.0.0 работает с SDK версии 1.1.1. Но все же нужен документ, описывающий AT версии 0.25.0.0, чтобы знать, какие команды включены. Есть способ получше, описанный в следующем разделе этой статьи, но прежде чем вы туда перейдете, попробуйте другую AT-команду, чтобы увидеть, что произойдет.

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

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

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

Средство загрузки прошивки ESP

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

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

Следует отметить несколько моментов, но они не являются поводом для беспокойства.

  • Окно графического интерфейса пользователя идентифицируется как V2.3, а окно журнала — как V2.4. Видимо окно графического интерфейса неправильно помечено.
  • COM-порт и скорость передачи в окне графического интерфейса пользователя могут содержать данные.
  • Адресные поля окна графического интерфейса пользователя могут содержать данные.
  • Окно журнала может содержать данные.

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

У

Espressif есть страница, на которой публикуются последние доступные прошивки.Перейдите на сайт bbs.espressif.com, щелкните запись SDK в разделе «Загрузки», а затем нажмите «последний выпуск» в разделе «Объявления». С сегодняшнего дня, 28 октября 2015 года, вы увидите страницу со следующим.

Последняя версия пакета SDK, отличного от ОС (Software Development Kit), — это то, что вам нужно, и, похоже, вы можете щелкнуть сразу под «Последней версией: 1.4.0» и получить последнюю версию. Но это не совсем так; обратите внимание, что доступен патч, обозначенный как esp_iot_sdk_v1.4.1_15_10_22. Это не совсем патч; это исправленная версия версии 1.4.0, выпущенная 22 октября 2015 года. Вам нужна эта версия и bin-файлы AT_v0.50. Щелкните по каждому из них по очереди и загрузите файлы; вы можете сохранять их где угодно, но их можно разместить в папке «Загрузки».

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

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

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

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

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

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

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

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

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

  • Щелкните внутри области файла «установить путь к прошивке».
  • Щелкните кнопку … справа от поля.
  • Перейдите в расположение нужного файла и щелкните файл.Графический интерфейс автоматически введет имя файла в поле.
  • Введите правильный адрес (из таблицы) для каждого файла.

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

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

В настройках программирования ESP нажмите и удерживайте кнопку сброса, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку сброса, а затем отпустите кнопку Flash. Нажмите кнопку ПУСК в окне графического интерфейса Flash Download Tool. Загрузка должна начаться, и ее ход должен отображаться в окне графического интерфейса Flash Download Tool и в окне журнала, как показано ниже.

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

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

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

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

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

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

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

Последние слова

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

Следующая статья в серии: Как прошить ESP-01 прошивкой в ​​улучшенный SDK v2.0.0

Попробуйте сами! Получите спецификацию.

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

Это второй проект на ESP8266, и в этом проекте я покажу вам, как прошить официальную прошивку Espressif в ESP8266 с помощью Arduino. Этот проект также можно использовать, если вы хотите обновить прошивку ESP8266 до последней версии.

В предыдущем проекте ESP8266 мы видели, как написать нашу собственную программу на ESP8266 с использованием Arduino IDE и управлять светодиодом с помощью контактов GPIO.В том же проекте я упоминал, что по умолчанию модуль ESP8266 ESP-01 поставляется с микропрограммой AT-команд.

Но если мы напишем нашу собственную программу для доступа к контактам GPIO (как мы делали в предыдущем проекте), существующая прошивка будет полностью стерта и будет написана новая программа.

Несмотря на то, что модуль WiFi ESP8266 производится компанией Espressif Systems, SoC используется многими сторонними производителями для реализации своих собственных модулей. В моем случае у меня есть модуль ESP8266 ESP-01 от AI-Thinker.

Это приводит к множеству вопросов, например, оригинальная прошивка или нет, актуальна прошивка или нет, и многие другие.

Итак, в этом проекте мы перепрограммируем официальную прошивку Espressif Systems для модуля ESP8266 с помощью официального ESP8266 Flasher Tool, предоставляемого Espressif Systems, который представляет собой ESP8266 FLASH DOWNLOAD TOOL и Arduino UNO в качестве USB-последовательного интерфейса.

Прошивка ESP8266 может быть установлена ​​по двум причинам: если вы хотите обновить прошивку ESP8266 до последней версии или полностью установить новую прошивку (в случае, если она была перезаписана какой-либо программой).Итак, приступим.

Настройка оборудования для обновления прошивки ESP8266

Прежде чем приступить к процессу обновления прошивки SoC ESP8266, важно настроить модуль WiFi ESP8266 в режиме загрузки или режиме программирования.

Если вы помните, в проекте НАЧАЛО РАБОТЫ С ESP8266 И ARDUINO я упоминал, что выводы GPIO0 и RST модуля ESP8266 играют важную роль в его настройке в режиме загрузки.

Мы реализуем ту же настройку и здесь.Итак, подключения следующие.

  • От VCC до 3,3 В
  • GND на GND
  • TX в TX Arduino UNO
  • RX в RX Arduino UNO (через преобразователь уровня)
  • GPIO0 к GND
  • RST на GND через кнопку
  • CH_PD на 3,3 В

Принципиальная схема для прошивки ESP8266

На следующем изображении показана принципиальная схема включения мигающего режима в ESP8266. Чтобы перевести SoC ESP8266 в режим мигания, вывод GPIO0 должен быть подключен к GND, а кратковременный импульс GND на выводе RST.

Необходимые компоненты

  • Arduino UNO
  • ESP8266 ESP-01 (любой модуль ESP8266)
  • Резистор 1 кОм
  • Резистор 2,2 кОм
  • Кнопка
  • Переключатель SPDT
  • Соединительные провода
  • Макетная мини-плата

ВАЖНЫЕ ПРИМЕЧАНИЯ

  • Прежде чем продолжить, обратитесь к предыдущему проекту для настройки Arduino IDE и подготовки Arduino UNO к прошивке прошивки.
  • Я подключил контакт GPIO0 к GND напрямую. И после прошивки Прошивки отключил от GND. Вы можете использовать переключатель SPDT для достижения этого действия, то есть в одном положении GPIO0 подключен к GND, а в другом положении его можно использовать как GPIO.
  • ESP8266 не переносит 5В. Он должен быть подключен к 3,3 В. Даже вывод RX ESP8266 подключен через преобразователь уровня.

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

Перед установкой прошивки мы сначала проверим существующую прошивку в модуле ESP8266, используя последовательную связь.Для этого нам нужно отключить вывод GPIO0 от GND. *ВАЖНЫЙ*.

После выполнения подключений в соответствии с приведенной выше схемой (и отключения GPIO0 от GND) подключите USB-кабель Arduino к компьютеру и откройте любое ПО последовательного монитора. Я использую Serial Monitor Arduino. Вы можете использовать любое программное обеспечение, например Putty, Terminal и т. Д.

В Arduino IDE выберите правильный COM-порт и откройте Serial Monitor. Установите скорость передачи 115200 и выберите опцию NL и CR в последовательном мониторе.После этого нажмите кнопку RST на ESP8266 на секунду и отпустите. Модуль ESP8266 перезагрузится и отобразит «готово» после некорректных данных на последовательном мониторе.

Чтобы проверить версию прошивки, вам необходимо ввести следующую AT-команду и нажать «Отправить». Эта команда вернет версию прошивки модуля ESP8266. Все AT-команды должны быть в верхнем регистре.

Если вы заметили, у меня прошивка от Ai-Thinker Technology, производителя моего модуля ESP8266 ESP-01, и она довольно старая.Версия набора AT-команд — 0.21.0.0, а версия SDK — 0.9.5.

Я заменю эту прошивку на Espressif Firmware (производитель ESP8266 SoC).

ПРИМЕЧАНИЕ : Убедитесь, что контакт GPIO0 подключен к GND, прежде чем продолжить.

Загрузка последней прошивки ESP8266

Существует два типа SDK или комплектов разработки программного обеспечения для ESP8266: SDK без ОС и SDK RTOS. Не-OS SDK, как следует из названия, не основан на какой-либо ОС.Используя этот SDK, вы можете компилировать IOT_Demo и AT-команды. С другой стороны, RTOS SDK основан на FreeRTOS.

Я буду использовать Non-OS SDK (ну, технически файлы прошивки, основанные на Non-OS SDK). Файлы микропрограммы ESP8266 представлены в виде двоичных файлов, то есть файлов .bin.

Теперь, поскольку я буду использовать только набор AT-команд ESP8266, я буду загружать только файлы Bin, связанные с AT-командами. Чтобы загрузить микропрограмму AT-команд для ESP8266, перейдите по официальной ссылке здесь или загрузите напрямую по этой ссылке .

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

Загрузка ESP8266 Flash Download Tool

Следующим шагом является загрузка инструмента для обновления прошивки ESP8266. Специально для этой цели Espressif Systems разработала небольшое программное обеспечение. Он называется ESP Flash Download Tool.

Чтобы загрузить ESP8266 Firmware Flash Download Tool, перейдите по ссылке по этой ссылке и в разделе «Инструменты» загрузите ESP Flash Download Tools или вы можете напрямую загрузить с по этой ссылке .

Теперь, когда мы загрузили прошивку и программу Flasher для ESP8266, мы продолжим установку прошивки в ESP8266.

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

Чтобы прошить прошивку в ESP8266, сначала откройте Flash Download Tool или программу прошивки ESP8266.На момент работы над этим проектом у меня стоит версия 3.6.2.2. Итак, открываем файл приложения ESPFlashDownloadTool_v3.6.2.2.

Затем вы получите различные варианты, такие как ESP8266 Download Tool, ESP8285 Download Tool, ESP32 Download Tool и ESP32D2WD Download Tool. Выберите инструмент загрузки ESP8266.

После открытия ESP8266 Flash Download Tool необходимо выбрать файлы прошивки, которые нам нужно установить. Вам нужно загрузить четыре файла по четырем разным адресам.Следующая таблица предоставит вам список файлов и их соответствующие адреса.

ПРИМЕЧАНИЕ. Этот список предназначен для сопоставления флэш-памяти с микропрограммным обеспечением по воздуху (FOTA) для модулей ESP8266 с 1 МБ флэш-памяти. Информацию о других размерах вспышки см. В Руководстве по началу работы с ESP8266 по этой ссылке.

Файл

Адрес во флэш-памяти

boot_v1.7.bin

0x00000

пользователь1.1024.new.2.bin

0x10000

esp_init_data_default.bin

0xFC000

blank.bin

0xFE000

В программе загрузки ESP8266 на вкладке «Загрузка SPI» выберите необходимые файлы в параметре «Конфигурация пути для загрузки», нажав кнопку (…). Также добавьте соответствующие адреса в отведенное место.

После выбора четырех файлов и заполнения адресов установите частоту кристалла на 26 МГц (обычно это 26 МГц, но в случае, если ваша плата ESP8266 имеет другой кристалл, введите это значение). Затем выберите размер вспышки. Поскольку у меня есть встроенная флэш-память объемом 1 МБ, я выбрал вариант размера флэш-памяти 8 МБ (что соответствует 1 МБ).

Наконец, выберите правильный COM-порт и установите скорость передачи на 115200. Убедитесь, что все последовательные терминалы закрыты.

Перед тем, как начать перепрошивку, убедитесь, что GPIO0 подключен к GND, и подайте импульс LOW (нажмите кнопку Reset) на выводе RST.

Теперь нажмите кнопку СТАРТ. Должна начаться перепрошивка прошивки в ESP8266. Если вы заметили в программе ESP8266 Firmware Flash Tool, в тот момент, когда вы нажмете кнопку «ПУСК», вы получите два MAC-адреса как AP и STA, а также информацию о модуле в разделе ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ.

Если все идет хорошо, модуль ESP8266 необходимо обновить до новой прошивки. Если есть какая-либо ошибка, отсоедините USB-кабель, подключите его еще раз, и после нажатия на START, нажмите кнопку Reset на ESP8266.

Вы получите сообщение FINISH на инструменте, и вы сможете закрыть его после этого. Отключите GPIO0 от GND и перезагрузите устройство. Снова откройте монитор последовательного порта Arduino и проверьте наличие новой прошивки.

ПРИМЕЧАНИЕ : Нажмите кнопку «Сброс» после открытия монитора последовательного порта.

Чтобы проверить версию прошивки, введите AT + GMR и нажмите «Отправить». Вы получите ответ с номером версии AT и номером версии SDK. В моем случае новая версия набора AT-команд — 1.5.0.0, а версия SDK — 2.1.0.

В этом проекте вы увидели, как обновить / прошить прошивку в модуле ESP8266 с помощью официальной прошивки Espressif ESP8266.

MicroPython — Python для микроконтроллеров

ESP8266 с 2 МБ + флэш-память

Производитель: Espressif

Характеристики: WiFi

Ниже приведены ежедневные сборки прошивки ESP8266 для плат с at. минимум 2 МБ флэш-памяти.У них есть последние функции и исправления ошибок, WebREPL — это не запускается автоматически, и по умолчанию включена отладка.

Примечание: v1.12-334 и новее (включая v1.13) требуют модуля ESP8266 с 2 МБ флэш-памяти или более, и по умолчанию использовать littlefs в качестве файловой системы. Когда обновление со старой прошивки, пожалуйста, сначала сделайте резервную копию ваших файлов, и либо стереть всю флеш-память перед обновлением или после обновления выполнить uos.VfsLfs2.mkfs (bdev) .

OTA сборки

Также предоставляются

-эфирные (OTA) сборки микропрограммного обеспечения ESP8266.

При первом использовании этой сборки вам необходимо прошить один из «начальных образов» изображения с использованием esptool.py, как описано выше. После этого вы можете обновить прошивка по воздуху с помощью файла «OTA update» в связке с ota-client скрипт от yaota8266. Файлы «OTA update» имеют цифровую подпись. и будет работать только с предоставленными файлами «начального изображения», и наоборот. (Примечание: эта функция находится в стадии разработки.)

Инструкции по установке

Запрограммируйте вашу доску с помощью esptool.py, как описано в руководстве.

Прошивка

Релизы

Ночные сборки

Прошивка (OTA-совместимая)

Релизы

Ночные сборки

Восстановление прошивки AT на ESP8266

В большинстве случаев я использую мини-платы для разработки Wemos D1 в сочетании с Arduino IDE, чтобы создать собственную прошивку для работы непосредственно на микросхеме ESP8266.Но у меня также есть несколько голых модулей ESP-01 и ESP-12, и недавно я придумал план использовать один из них.

Конкретный проект требует очень хорошо контролируемой синхронизации АЦП, для чего я буду использовать обычную плату Arduino на базе ATmega328P. В этом проекте ESP8266 будет использоваться только для передачи данных через Wi-Fi. Ни на моем 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 бит / с и получил

[Система готова, производитель: www.ai-thinker.com]
AT + GMR

0018000902

ОК

Используя старую прошивку 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 новейший / пользователь1.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7C000 esp_init_data_default.bin
esptool.py --port /dev/tty.usbserial-FTG54BPS --baud 115200 write_flash -flash_mode dio 0x7E000 blank.bin

Впоследствии я смог подключиться в терминальной программе со скоростью 115200 бит / с и получил

готов
AT + GMR

00200.9.4

ОК

Руководство по началу работы с 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_v1305.bin esptool.py --port / dev / tty.usbserial-FTG54BPS --baud 115200 write_flash --flash_mode dio 0x7E000 blank.bin

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

готов
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 на ESP8266 с использованием Windows

Если вы новичок в использовании модуля WiFi ESP8266, сначала прочтите мое Руководство по началу работы с ESP8266.

Вы также можете ознакомиться с моим другим руководством о том, как создать веб-сервер с ESP8266, на котором установлена ​​прошивка NodeMCU.

Зачем прошивать модуль ESP8266 с помощью NodeMCU?

NodeMCU — это прошивка, которая позволяет программировать модули ESP8266 с помощью сценария LUA.И вы обнаружите, что это очень похоже на то, как вы программируете Arduino. С помощью всего нескольких строк кода вы можете установить соединение Wi-Fi, управлять GPIO ESP8266, превратить ESP8266 в веб-сервер и многое другое.

Где купить?

Нажмите здесь, чтобы сравнить цены на плату ESP-01 в разных магазинах.

Схема

(программатор 3.3V FTDI)

И вы можете проверить эту страницу, чтобы получить программатор FTDI по лучшей цене.

Электропроводка:

  • RX -> TX
  • TX -> RX
  • CH_PD -> 3.3В
  • GPIO 0 -> земля
  • VCC -> 3,3 В
  • земля -> земля

Вы можете использовать предыдущие ссылки или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все детали для ваших проектов по лучшей цене!

Загрузка NodeMCU Flasher для Windows

После подключения схемы необходимо загрузить флешер NodeMCU. Это файл .exe , который можно загрузить по одной из следующих ссылок:

Щелкните здесь, чтобы найти всю информацию о флешере NodeMCU.

Перепрограммирование ESP8266 с использованием Windows

Откройте только что загруженный прошивальщик, и должно появиться окно (как показано на следующем рисунке).

Нажмите кнопку « Flash », и процесс прошивки должен начаться немедленно (возможно, вам придется изменить некоторые настройки на вкладке «Дополнительно»). После завершения этого процесса должен появиться зеленый кружок со значком галочки.

У вас есть вопросы? Оставьте комментарий ниже!

Теперь я рекомендую прочитать, как создать веб-сервер с ESP8266.

Спасибо за чтение. Если вам понравился этот пост, возможно, вам понравятся мои следующие, поэтому, пожалуйста, поддержите меня, подписавшись на мой блог и мою страницу в Facebook.

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

ESP8266

В этом руководстве мы покажем, как обновить ESP8266 с новой прошивкой.

Мы используем ESP8266 вместе с Arduino и библиотекой ESP8266EasyIoT. Проблема в том, что нам не нужна правильная прошивка ESP8266, потому что ответы на AT-команды различаются в разных версиях прошивки.

Для загрузки прошивки ESP8266 вам понадобится FT232RL FTDI USB to TTL Serial + Adapter. См. Руководство по покупке для получения подробной информации. Не забудьте установить программатор FTDI на 3,3 В.

Подключение следующее:

  • Vcc = 3,3 В (требуется пик 300-400 мА)
  • Gnd = земля
  • CH_PD = Чип разрешен, поэтому всегда + Vcc
  • RST = оставить плавающий или заземленный для сброса
  • GPIO0 = Обычно плавающий, но его необходимо заземлить при запуске обновления.
  • UTXD = Tx data подключается к Txd на FTDI / последовательном интерфейсе
  • URXD = данные Rx подключаются к Rx FTDI / последовательного интерфейса

В моем случае последовательный USB-преобразователь не обеспечивал достаточного тока, и обновление было невозможно. Я подключил ESP8266 VCC к дополнительному источнику питания 3,3 В (не подключайте последовательный порт USB VCC FTDI к источнику питания VCC, если вы используете дополнительный источник питания).

Затем нам понадобится программа для прошивки ESP8266.Я использую Windows XTCOM_UTIL, но вы можете найти больше утилит для прошивки в Интернете.

Программу

можно скачать здесь XTCOM_UTIL. Запустите программу и перейдите в Инструменты-> Настроить устройство. Выберите Com-порт (поддерживаются только Com-порты COM1-COM6 — при необходимости измените порт в панели управления Windows). Затем откройте порт и подключитесь.

Затем перейдите к API TEST-> Flash Image Download. Выберите образ прошивки и нажмите кнопку Скачать.

Текущая библиотека EasyIoT8266 Arduino работает с ESP8266 V0.9.5.2 прошивка. Если вы используете последовательный порт SW, установите скорость передачи на 9600 (по умолчанию 115200) с AT + CIOBAUD = 9600.

Дополнительные руководства см. На http://iot-playground.com/build

Для поддержки этого сайта и разработки фреймворка EasyIoT покупайте в нашем магазине.

FT232RL FTDI USB для программирования Arduino или ESP8266. Поддержка 5 В и 3,3 В

ESP8266 Модуль последовательного беспроводного приемопередатчика WIFI

ESP8266 Модель последовательного Wi-Fi ESP-03

Последовательный порт ESP8266 Беспроводной модуль Wi-Fi ESP-12

ESP8266 ESP-05 Последовательный модуль беспроводного приемопередатчика WIFI

Прошивка

Flash на модуле ESP8266 (ESP-01)

Введение:

ESP8266 ESP-01 — это модуль Wi-Fi, который позволяет микроконтроллерам доступ к сети Wi-Fi .Этот модуль представляет собой автономный SOC (System On a Chip), которому не обязательно нужен микроконтроллер для управления входами и выходами, как, например, вы обычно делаете с Arduino , потому что ESP-01 действует как маленький компьютер. В зависимости от версии ESP8266 может быть до 9 GPIO (вход / выход общего назначения). Таким образом, мы можем предоставить микроконтроллеру доступ в Интернет, как защита Wi-Fi для Arduino, или мы можем просто запрограммировать ESP8266, чтобы он не только имел доступ к сети Wi-Fi, но и работал как микроконтроллер.Это делает ESP8266 очень универсальным и позволяет сэкономить деньги и место в ваших проектах.

Пошаговый процесс:

Шаг 1:

Возьмите плату Arduino Uno и осторожно извлеките микроконтроллер ATmega328P с платы с помощью пинцета.

Шаг 2:

Выполните соединение с вашей платой Arduino Uno:

ESP8266: —————> Arduino:

GND — ———————— ЗЕМЛЯ

GP2 ——————— —— Не подключен (открыт)

GP0 ————————— GND

RXD ——- ——————- RX

TXD ————————— TX

CHPD ———————— 3.

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

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