Прошивка esp8266 через usb ttl

Обновлено: 02.07.2024

Обновление прошивки в модуле Wi-Fi ESP8266 может вызвать разочарование! Вот процедура для уменьшения боли.

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

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

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

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

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

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



Терминальная программа PuTTY

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

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

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


Нажмите кнопку "Открыть", и должно открыться окно сеанса терминала PuTTY.

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


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

Когда вы видите это первое сообщение OK, вы преодолели большое препятствие. Тогда вы знаете, что ваше оборудование настроено правильно, модуль 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 запрограммировано микропрограммой, использующей AT-команды версии 0.25.0.0. Где-то есть документ, определяющий команды, включенные в версию 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 Flash

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

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



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

  • Окно графического интерфейса определяется как версия 2.3, а окно журнала — как версия 2.4. По-видимому, окно с графическим интерфейсом неправильно помечено.
  • COM-порт и скорость передачи в окне GUI могут содержать данные.
  • Поля адреса окна GUI могут содержать данные.
  • Окно журнала может содержать данные.

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

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


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

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

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

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

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

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



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

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

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


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

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

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


В настройках программирования ESP нажмите и удерживайте кнопку сброса, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset, а затем отпустите кнопку Flash. Нажмите кнопку СТАРТ в окне графического интерфейса Flash Download Tool. Должна начаться загрузка, и ее ход должен отображаться в окне графического интерфейса Flash Download Tool и в окне журнала, как показано ниже.


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

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

После завершения операции прошивки закройте средство загрузки Flash. Отключите питание от установки программирования 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. Кроме того, также была установлена ​​соответствующая версия 0.50.0.0 набора AT-команд, которая задокументирована в ESP8266 AT Instruction Set, Version 1.4.

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

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

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

ВНИМАНИЕ: Некоторые устройства, такие как «Sonoff basic», имеют на борту собственный источник питания.
НЕ ИСПОЛЬЗУЙТЕ ЭТОТ БЛОК ПИТАНИЯ ДЛЯ ПРОШИВКИ!
Сетевое напряжение опасно для вас и вашего компьютера! Всегда используйте отдельный источник питания.

Очевидно, вам нужно устройство с ESP8266. Это может быть устройство со встроенным ESP, например коммутатор Sonoff basic, или ESP8266 на макетной плате.

Вы также можете использовать nodeMCU или WeMOS D1 mini.

Новичкам рекомендуются nodeMCU и WeMOS D1 mini. Это самая простая в обращении версия ESP8266

Если вы используете nodeMCU или WeMOS, вам просто нужен USB-кабель, вот и все

Для других устройств вам потребуется блок питания с напряжением 3,3 В или блок питания с более высоким напряжением и стабилизатор напряжения до 3,3 В.

НЕ ИСПОЛЬЗУЙТЕ НАПРЯЖЕНИЕ БОЛЬШЕ 3,3 В НА ESP!
Это убьет чип.

Кроме того, вам понадобится преобразователь USB в TTL (UART), поддерживающий 3,3 В.

Еще раз: НЕ используйте устройства на 5 В!

И последнее, но не менее важное: вам потребуются кабели со штекерами ("кабели DuPont").

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

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

Несколько слов об источниках питания

Сделайте себе большую услугу: избегайте дешевых блоков питания!

Мы наблюдали странное поведение дешевых блоков питания. Если поставить на них вольтметр, он показывает правильное напряжение. Все выглядит красиво.

Если вы используете осциллограф, вас могут ожидать неприятные сюрпризы. Колеблющееся напряжение, пульсации.

Используйте источник питания высокого качества, такой как MeanWell или аналогичный. Он должен иметь силу тока не менее 1 ампера.

Не рекомендуется использовать напряжение 3,3 В, подаваемое платой UART.

Регуляторы напряжения на этих платах обычно слишком ограничены, чтобы питать ESP.

Рекомендуемый UART (преобразователь USB в TTL)

PROGRAMMER CP2102 001.jpg

Рекомендуются типы с чипом CH340G или CP2xxx (CP2102 на фото выше).

Если у вас есть UART с возможностью настройки 5 В/3,3 В, установите его на 3,3 В. Для некоторых кабелей UART необходимо соответствующим образом припаять провод.

Может быть, FTDI232 — один из самых подделываемых чипов. Настоящий производитель провел измерения против этих подделок.

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

Но код, который вы вставили в ESP, поврежден!

Настоящий FTDI232 UART будет стоить около 15 евро и выше! Избегайте этих дешевых FTDI за 2 евро, которые вы можете найти на eBay или AliExpress!

ESP flasher 001.PNG

Для прошивки ESP можно использовать несколько разных программ. Рекомендуется использовать прошивальщик, поставляемый с программным обеспечением ESP Easy (FlashESP8266.exe).
Он не требует настроек и работает сразу после установки.

Во время тестирования полезно посмотреть, что делает ESP.

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

Эти программы поддерживают множество устройств, поэтому вам необходимо установить некоторые параметры:

Прошивка

Конечно, вам нужна прошивка ESP Easy. Вам нужно будет скачать ZIP-файл с GitHub. Распакуйте .zip в папку по вашему выбору. Также распакуйте два EXE-файла

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

Те, кто использует nodeMCU или WeMOS D1 mini, могут пропустить этот абзац. На этих досках все готово к использованию.

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

Для прошивки ESP он должен быть установлен в "режим прошивки". Проще говоря, это запускает другую программу при загрузке, считывая последовательный порт и записывая данные во флэш-память.


ESP имеет четыре входа, которые управляют поведением при запуске. Эти настройки необходимы для прошивки чипа!

Вывод GPIO15 всегда должен быть установлен на "низкий уровень". Используйте резистор 10 кОм между GPIO15 и землей.

GPIO2 следует выставить на «высокий». Используйте резистор 10 кОм между GPIO2 и 3,3 В (Vcc).

Настройка GPIO0 теперь выбирает между режимом работы и режимом флэш-памяти. Подключите резистор 10 кОм между 3,3 В (Vcc) и GPIO0. Это переводит ESP8266 в рабочий режим.

Теперь вы можете подключить GPIO0 напрямую к земле для перепрошивки.

Четвертый — это контакт «сброс». Он должен быть на «высоком», поэтому поместите резистор 10 кОм между Vcc и контактом сброса.

Для всех ESP, кроме nodeMCU и WeMOS, есть контакт "CH-PG". Это контакт «включения», который вы можете использовать для отключения всего чипа ESP. Поместите резистор 10 кОм между CH_PG и Vcc, чтобы ESP вообще работал.

Устройства со встроенным чипом ESP (например, Sonoff basic или 4ch) будут иметь эти резисторы на борту. Просто GPIO0 нужно заземлить с помощью перемычки или кнопки.

Подготовьте свой компьютер

Установите выбранную вами программу мониторинга последовательного порта. Установите драйверы для конвертера UART (USB->TTL).

Подключите UART и откройте диспетчер устройств. В разделе «Порты (COM и LPT)» вы увидите дополнительный COM-порт, обычно COM3 или выше.

Запишите номер, он может вам понадобиться.

WeMOS-NodeMCU annotated.jpg

Подключение UART к ESP

Опять же, те, кто использует nodeMCU или WeMOS D1 mini, могут пропустить этот абзац.

Запомните настройки, упомянутые в разделе "Основные сведения о перепрошивке" выше. Теперь многое зависит от того, какой ESP вы используете.

Небольшой ESP-01 уже имеет некоторые соединения на плате (GPIO15). Вы должны подключить GPIO2 и сброс к Vcc, а GPIO0 к земле, как описано выше.

Если вы используете более крупные ESP (ESP07, 07s, 12, 12e, 12f), вы должны позаботиться о том, чтобы все соединения были выполнены правильно.

CP2102connected.jpg

ESP-01 Basic flashing connection.jpg

ESP-12E Basic flashing connection.jpg

Теперь подключите UART:

Пока не включайте питание!

Подключите источник питания к Vcc (3,3 В) и Gnd. При использовании источников питания с более высоким напряжением используйте регулятор напряжения!

Следите за тем, чтобы случайно не поменять местами провода — это убьет ESP.

Тщательно проверьте кабели! Все соединения выполнены правильно? Сверьтесь с разделом выше. Проверьте еще раз.

Сбои часто возникают из-за неисправности кабеля.

Прошивка nodeMCU/WeMOS D1 mini

Просто подключите USB-кабель к плате — и все (поскольку устройства имеют встроенные контроллеры UART). Программа прошивки сделает все остальное за вас.

Запустите программу прошивки (FlashESP8266.exe) из ZIP-файла ESPEasy.

ESP flasher 004.PNG

Выберите COM-порт, указанный выше. В большинстве случаев он уже покажет правильный порт.

ESP flasher 001.PNG

Выберите файл .bin, который вы хотите прошить.

Если вы используете nodeMCU или WeMos D1, они сделают всю работу за вас.
Просто нажмите кнопку вспышки.

Если вы прошиваете пустой ESP, нажмите кнопку прошивки и сразу же включите питание.

ESP flasher 002.PNG

Открывается черное окно (командная консоль) и показывается, что происходит. Вскоре появляются ряды точек точка за точкой.

Как только программа flash подтвердит, что она сделана, вы можете закрыть ее и вернуться к программе мониторинга.

На свежем ESP он начинает очищать некоторые области flash. Подождите, пока это не будет сделано.

Сбросьте или выключите/включите ваш nodeMCU или WeMOS.
Подождите около двух минут: ESPEasy 2.x сначала отформатирует свою внутреннюю файловую систему,
на это уходит некоторое время.

Прошивка других устройств ESP

ESP на плата адаптера annotated.jpg

Вы должны были выполнить все соединения. Не включайте ESP сейчас!

<р>. Выполните ту же процедуру прошивки, что и выше, используя программное обеспечение FlashESP8266.exe. .

Отключите GPIO0 от земли, резистор к Vcc должен остаться. Сбросьте или выключите/включите ваш nodeMCU или WeMOS. Теперь он должен быть готов к использованию.

Если все сделано правильно, теперь у вас есть готовое к использованию устройство ESP Easy.

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

Используйте свой компьютер, планшет или смартфон и найдите сеть Wi-Fi с именем "ESP_Easy_0".

Подключитесь к ESP_Easy_0, используя пароль "configesp" (без "").

Откройте интернет-браузер и введите 192.168.4.1 в качестве интернет-адреса. Откроется окно настройки Wi-Fi ESP Easy.

Теперь вы можете выбрать сеть Wi-Fi. Выберите SSID и введите кодовую фразу, нажмите «Подключиться».

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

Обратите внимание на IP-адрес!

Подключите свой компьютер или что-то еще к своей обычной сети. Откройте браузер и введите в него IP-адрес.

Теперь вы должны увидеть страницы конфигурации ESPEasy.

Прошивка может пойти не так по многим причинам. Во многих случаях причиной являются неисправности кабеля.

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

Проверьте все кабели. Все GPIO настроены соответственно? Все кабели в порядке? Если у вас есть дешевые соединительные кабели, у них могут быть проблемы с контактом. Цифровой мультиметр является полезным устройством для таких случаев. Вы могли бы подумать о том, чтобы получить один для будущего использования. Не выбирайте самый дешевый.

Модуль ESP8266 имеет предварительно запрограммированную прошивку, которая поддерживает связь через последовательный интерфейс путем управления с помощью AT-команд. Чип ESP8266 был разработан ESPRESSIF System, интеллектуальной платформой подключения или ESCP, которая обеспечивает высокопроизводительные беспроводные SOC с высокой степенью интеграции, чип, разработанный для мобильной платформы с ограниченным пространством и мощностью. ESP8266 обеспечивает непревзойденную возможность встраивать возможности Wi-Fi в другую систему или приложение и требует минимального пространства. Он имеет встроенный протокол 802.11 b/g/n, WiFi Direct P2P, интегрированный стек протоколов TCP/IP soft-AP, 32-битный процессор (80 МГц), флэш-память SPI 512 КБ, SRAM 4 КБ, DRAM 96 КБ и контакты GPIO.

Блок-схема ESP8266

ESP8266-Version-1-block-diagram-espressif-system

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

ESP8266 Version 1
USB TTL UART Bridge CP2102 или FTDI TTL UART (драйверы можно скачать здесь)
Solder Less Bread Board
Перемычка/провод DuPont

Прежде чем мы приступим к прошивке платы ESP8266, нам нужны два файла, которые можно скачать ниже.

Схема подключения

Ниже показано подключение ESP8266 к CP2102 USB TTL UART, мы также можем использовать FTDI TTL UART для этой процедуры.

Flashing-Firmware-ESP8266-USB-TTL-UART-BRIDGE2

Процедура прошивки ESP8266

Flashing-ESP8266-Firmware-Proceedure-Diagram-Flowchart-step-by-step

После прошивки прошивки ESP8266 настройки будут изменены, и скорость передачи по умолчанию будет 9600, и вы можете изменить ее с помощью команды AT+CIOBAOUD с помощью Putty, теперь вы можете удалить GPIO-0 с земли и нажать кнопку RESET, затем закрыть приложение Flasher Tool.

Для проверки функциональности ESP8266 вы использовали приложение PuTTY, открыв терминал и набрав AT.

Putty-Serial-Terminal-ESP8266-Flashing-Verification

Загрузить техническое описание ESP8266 здесь | PDF
Загрузить ESP8266 Flash Tool | Zip
Загрузить двоичный файл ESP8266 (BIN) версии 9.5.0 | Почтовый индекс

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

Как запрограммировать или Заподлицо ESP-01

ЭСП-01

Как прошить или запрограммировать ESP-01?

ESP-01 — это модуль черного цвета с объемом памяти 1024 КБ. Для включения ESP-01 требуется всего 3,3 вольта. Чтобы прошить или загрузить прошивку/скетч, нам понадобится внешний адаптер USB Serial Board, поддерживающий 3,3 В.

Адаптеры USB-Serial Board

В этом уроке мы будем использовать 4 различных типа последовательных плат:

  1. Плата последовательного модуля ESP8266
  2. Адаптер модуля преобразователя USB в TTL CH340G
  3. FT232RL
  4. Ардуино УНО

1. Прошивка ESP-01 с использованием платы последовательного модуля Esp8266

Последовательный адаптер Модуль - как запрограммировать esp-01

Разработка платы последовательного модуля ESP8266

Промывка ESP -01

Вот как это выглядит после установки ESP-01 в последовательный адаптер

Подключение ESP-01 для перехода в режим программирования

 Модуль последовательного адаптера — как запрограммировать esp-01

Чтобы установить ESP-01 в режим программирования, нам нужно установить перемычку на землю и Io0 (ноль ввода-вывода)

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

Проводка режима программирования Esp-01

Перемычка установлена ​​на GND и Io0

Как загрузить скетч на ESP-01 с помощью Arduino?

Вставьте последовательный адаптер в USB-порт вашего компьютера и откройте программное обеспечение Arduino. Вы должны включить «Порт:». Просто выберите порт, указанный на вашей стороне, в моем случае я получил Com3. Ваш может быть другим. Если вы получили номер порта, просто выберите его, пропустите следующий шаг и перейдите к настройке платы Arduino ESP-01

Как получить номер порта вручную без использования программного обеспечения Arduino?

Получить номер порта вручную

Если вы не используете программное обеспечение Arduino и просто хотите использовать другой esptool для прямой прошивки скомпилированных двоичных файлов bin, вам может потребоваться найти номер порта вручную.
Перейдите в Панель управления >> Диспетчер устройств >> Порты >>

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

Конфигурация платы Arduino ESP-01

Порт Arduino esp-01


Далее выберите нужную доску. В программном обеспечении Arduino нажмите «Инструменты» >> «Плата»: «. ” >> Найдите Generic ESP8266 Module и выберите его
Теперь измените настройки платы:

  • Режим вспышки: «DIO».
  • Частота вспышки: «40 МГц».
  • Частота ЦП: «80 МГц»
  • Размер флэш-памяти: «1 М (64 КБ SPIFFS)».
  • Порт отладки: «Отключено»
  • Уровень отладки: "Нет"
  • Метод сброса: «ck»
  • Скорость загрузки: «115200».

Arduino Blink Sketch

Теперь все готово. Загружаем скетч. Откройте пример эскиза. Откройте скетч блинка на Arduino.

Arduino blink выполнение эскиза

Загрузите эскиз мигания, нажав Ctrl+U, или перейдите в Sketch и нажмите Загрузить. Во время загрузки вы увидите прогрессирующую точку. Иногда загрузка занимает минуту или две.

Если вы получаете сообщение об ошибке, например:

  • предупреждение: ошибка espcomm_sync
  • ошибка: ошибка espcomm_open
  • ошибка: ошибка espcomm_upload_mem

 Esp-01 мерцающий скетч

Возможно, проводка подключена неправильно. Хорошо сначала отсоединить USB от компьютера и проверить правильность подключения проводов, а затем продолжить снова.
После загрузки вы должны увидеть, как ваш ESP-01 мигает. Вы успешно загрузили.

2. Прошивка ESP-01 с использованием адаптера модуля преобразователя USB в TTL CH340G

Этот последовательный адаптер имеет простую конструкцию, но немного сложен для программирования ESP по сравнению с первым, который мы использовали. Он имеет 5 В, TX, RX, GND и 3,3 В, что делает его пригодным для программирования ESP.

Процесс прошивки ESP-01 с помощью этого адаптера практически такой же, как и с первым, который мы использовали. Единственным дополнением к процессу является добавление перемычки между 3V3 и EN ESP. Посмотрите на изображение ниже:

Давайте посмотрим на фактическую проводку.

Подключение ESP к Serial должно быть:

  • 3 на 3 – 3 на 3
  • Прием–TXD
  • TX – RXD
  • Земля – Земля

Пожалуйста, убедитесь, что перемычки подключены правильно, чтобы он работал.
Снова нам нужно выбрать правильную доску. В программном обеспечении Arduino нажмите «Инструменты» >> «Плата»: универсальный модуль ESP8266
Настройки платы:

  • Режим вспышки: «DIO».
  • Частота вспышки: «40 МГц».
  • Частота ЦП: «80 МГц»
  • Размер флэш-памяти: «1 М (64 КБ SPIFFS)».
  • Порт отладки: «Отключено»
  • Уровень отладки: "Нет"
  • Метод сброса: «ck»
  • Скорость загрузки: «115200».

Теперь мы готовы начать загрузку.

3. Прошивка ESP-01 с использованием адаптера модуля преобразователя USB в TTL CH340G

Программирование ESP-01 с использованием адаптера модуля преобразователя USB в TTL CH340G

Использование адаптера TTL CH340G для программирования ESP аналогично описанному выше процессу. RX должен быть подключен к TX, а TX к RX. Только не забывайте всегда использовать 3,3 В для питания ESP.

Снова нам нужно выбрать правильную доску. В программном обеспечении Arduino нажмите Tools >> Board: Generic ESP8266 Module
Настройки платы такие же, как и в предыдущем случае:

  • Режим вспышки: «DIO».
  • Частота вспышки: «40 МГц».
  • Частота ЦП: «80 МГц»
  • Размер флэш-памяти: «1 М (64 КБ SPIFFS)».
  • Порт отладки: «Отключено»
  • Уровень отладки: "Нет"
  • Метод сброса: «ck»
  • Скорость загрузки: «115200».

Теперь мы готовы загрузить скетч

4. Прошить ESP-01 с помощью Arduino Uno

Arduino Uno очень часто используется для прошивки/программирования ESP.

  • Esp RX переходит на Uno Rx
  • Esp Tx переходит в Uno Tx->1 .
  • Esp 3.3v+EN в Uno 3.3v
  • GND+Io0 к GND.

Программа прошивки Arduino Uno Esp1

И последнее — это настройки платы программного обеспечения Arduino. Перейдите в Инструменты >> Плата >> Выберите НЕ Arduino UNO, но выберите универсальный модуль ESP8266.
И убедитесь, что у вас есть следующие настройки:

  • Режим вспышки: «DIO».
  • Частота вспышки: «40 МГц».
  • Частота ЦП: «80 МГц»
  • Размер флэш-памяти: «1 М (64 КБ SPIFFS)».
  • Порт отладки: «Отключено»
  • Уровень отладки: "Нет"
  • Метод сброса: «ck»
  • Скорость загрузки: «115200».

Настройки платы Adruino для прошивки ESP-01

3 мысли о «Программе Flash ESP-01 с использованием последовательного USB-адаптера»

Здравствуйте,
очень хороший документ,
я пробовал, тоже разными способами, но не получилось.
может есть подсказки?
Я пробовал это целую вечность.
с последовательным кабелем, с Arduino у меня не работает.
Arduino: 1.8.4 (Linux), плата: «Универсальный модуль ESP8266, 80 МГц, 40 МГц, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None»
Архивирование встроенного ядра (кеширование ) в: /tmp/arduino_cache_680681/core/core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____0787bcf546011aea495b3e93767e5a20.a
Эскиз использует 229849 байт (52%) пространства для хранения программ. Максимум 434160 байт.
Глобальные переменные используют 32112 байт (39%) динамической памяти, оставляя 49808 байт для локальных переменных.Максимум 81920 байт.
/home/zwh100/.arduino15/packages/esp8266/tools/esptool/0.4.9/esptool -vv -cd ck -cb 115200 -cp /dev/ttyUSB0 -ca 0x00000 -cf /tmp/arduino_build_253007/ESP8266_webserser_esay_ledonoff .ino.bin
esptool v0.4.9 – (c) 2014 Ch. Klippel
настройка платы на ck
настройка скорости передачи от 115200 до 115200
настройка порта с /dev/ttyUSB0 на /dev/ttyUSB0
настройка адреса с 0x00000000 на 0x00000000
espcomm_upload_file
espcomm_upload_mem
открытие порта /dev/ttyUSB0 на 115200
tcgetattr
tcsetattr
открытие серийного номера
открытие загрузчика
сброс платы
попытка для подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка полезной нагрузки команды
попытка подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка полезной нагрузки команды
попытка для подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка полезной нагрузки команды
сброс платы
попытка подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка команды полезная нагрузка
попытка подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_co mmand: отправка полезной нагрузки команды
попытка подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка полезной нагрузки команды
сброс платы
попытка подключения
espcomm_send_command: отправка заголовок команды
espcomm_send_command: отправка полезных данных команды
попытка подключения
espcomm_send_command: отправка заголовка команды
espcomm_send_command: отправка полезных данных команды
попытка подключения
espcomm_send_command: отправка заголовок команды
espcomm_send_command: отправка полезной нагрузки команды
предупреждение: ошибка espcomm_sync
ошибка: ошибка espcomm_open
ошибка: ошибка espcomm_upload_mem
ошибка: ошибка espcomm_upload_mem
Этот отчет будет получить больше информации с
параметром «Показать подробный вывод во время компиляции»
включенным в меню «Файл» -> «Настройки».

Спасибо за хорошее объяснение, я столкнулся с одной проблемой ..
я пробовал метод 2 и 3, и это то же самое …
всякий раз, когда я прошиваю программу, все работает отлично, пока я не отключу ее, это просто забыть все это.
как будто никогда не программировал..
я действительно не понимаю, чего мне не хватает!

неважно, я узнаю, что мне нужно отключить GPIO0, когда нужно запустить его в автономном режиме…

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