Оглавление:

Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO: 7 шагов
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO: 7 шагов

Видео: Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO: 7 шагов

Видео: Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO: 7 шагов
Видео: Wi-Fi модуль ESP8266 ESP-01: Обзор и подключение к компу с помощью Arduino 2024, Июль
Anonim
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO
Восстановление или обновление прошивки на модуле ESP8266 (ESP-01) с помощью Arduino UNO

Модуль ESP-01, который я использовал, изначально поставлялся со старой прошивкой AI Thinker, что ограничивает его возможности, поскольку многие полезные AT-команды не поддерживаются.

Как правило, рекомендуется обновить прошивку для исправления ошибок, а также в зависимости от функций, необходимых от модуля ESP, может потребоваться более полный набор поддерживаемых AT-команд. В этом руководстве также объясняется, как восстановить или прошить оригинальную прошивку Espressif, если вы случайно испортили прошивку ESP, например, из-за неправильных AT-команд. Вот что произошло, когда я попытался изменить скорость передачи данных по умолчанию с 115200 на 9600. Я использовал следующую команду (на основе быстрого поиска в Google):

AT + IPR = 9600

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

Предостережение: исходя из моего опыта, я настоятельно рекомендую не использовать команду AT + IPR для изменения скорости передачи данных, так как это, скорее всего, потребует от вас повторной прошивки прошивки. Однако существует множество различных вариантов модуля ESP-01 с разным размером флэш-памяти и заводской версией прошивки, поэтому ваш опыт может отличаться.

Модуль ESP-01 не соответствует требованиям 5 В и требует 3,3 В для питания, но также для правильной работы на логическом уровне. Для связи с компьютером модулю дополнительно необходим преобразователь USB в последовательный порт. Итак, вместо использования преобразователя напряжения и переходника с USB на последовательный порт я решил выбрать более простое решение. Поскольку у меня уже есть Arduino UNO, я использовал последний для питания модуля ESP-01 и установления связи между ESP-01 и компьютером, эффективно работая как последовательный мост.

Запасы

  1. Модуль ESP-01
  2. Arduino UNO (с USB-кабелем)
  3. Перемычки проводов DuPont
  4. Макетная плата

Шаг 1: Подключение проводов

Проводные соединения
Проводные соединения
Проводные соединения
Проводные соединения
Проводные соединения
Проводные соединения

Проводные соединения с модулем Arduino UNO и ESP-01 могут быть легко выполнены с помощью соединительных кабелей и макета. Соединения между отладочной платой Arduino и модулем ESP описаны в таблице. В этом случае соединения RX и TX не меняются местами, поскольку связь происходит не между модулем Arduino и ESP, а между ESP и компьютером. Таким образом, в этом случае плата Arduino UNO используется в качестве последовательного моста через встроенный преобразователь USB в последовательный.

Соединение контактов RX между платой Arduino и модулем ESP должно быть выполнено через делитель напряжения, поскольку ESP-01 работает с логическим уровнем 3,3 В и получение логического уровня 5 В от Arduino UNO может повредить модуль ESP. Вы можете построить простой делитель напряжения на 3,3 В, используя всего 2 резистора, как показано на рисунке. При желании вы можете использовать преобразователь логического уровня.

Внимание: для моей настройки я просто подключил контакты RX напрямую (не рекомендуется!), И все заработало, но если вы решите отказаться от преобразования логического уровня, действуйте на свой страх и риск!

Чтобы установить общее заземление, контакт заземления Arduino UNO подключается к контакту заземления модуля ESP.

Arduino UNO используется для подачи питания 3,3 В непосредственно на вывод VCC модуля ESP. Подключите вывод 3,3 В к макетной плате с помощью перемычки, поскольку 3,3 В будет использоваться не только для вывода VCC ESP, но и для вывода CH_PD ESP для включения микросхемы ESP.

Вывод RESET на Arduino UNO подключен к заземлению, чтобы обойти любой код, загруженный через Arduino, чтобы вместо этого код отправлялся с компьютера на ESP-01.

На рисунке в таблице показан полный набор подключений для прошивки прошивки, но на этом этапе не подключайте контакты Reset и GPIO_0 ESP, так как на следующем шаге мы будем читать только информацию о прошивке.

Шаг 2: проверьте версию прошивки

Проверить версию прошивки
Проверить версию прошивки

Чтобы узнать версию прошивки ESP-01, в последовательном мониторе Arduino IDE введите:

AT + GMR

Примечание. Все AT-команды необходимо вводить в верхнем регистре без пробелов.

Вот последовательный вывод для моего ESP-01 (ваш модуль ESP может не отображать точно такую же информацию, поскольку это зависит от конкретной модели и даты выпуска):

AT + GMR

Версия AT: 0.25.0.0 (5 июня 2015 г. 16:27:16) Версия SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 июня 2015 г. 23:23:50 OK

Теперь, чтобы обновить до последней официальной прошивки Espressif ESP8266EX, перейдите в раздел ресурсов на его веб-сайте:

Примечание. Список доступных прошивок может быть не полностью совместим с вашей моделью ESP-01. Дополнительные сведения см. В разделе «Устранение неполадок» в конце этого руководства.

Шаг 3: Подготовка к установке: перед прошивкой прошивки

Подготовка к установке: перед перепрошивкой прошивки
Подготовка к установке: перед перепрошивкой прошивки

Теперь мы подготовим Arduino UNO для процедуры прошивки ESP-01.

Убедитесь, что провод сброса Arduino отключен от земли. Кроме того, провода TX и RX от Arduino UNO необходимо отключить от модуля ESP-01.

Откройте Arduino IDE и в верхнем меню выберите Файл> Примеры> 01. Basics> BareMinimum. Загрузите скетч в Arduino UNO. Этот пустой эскиз гарантирует, что с модулем ESP не возникнет никаких помех связи.

Подключите кабели RX и TX между UNO и ESP-01. Также подключите контакт RESET UNO к земле.

Вывод CH_PD или CH_EN означает «Chip Power-Down» или «Chip Enable», и его нужно вывести на ВЫСОКОЕ значение или подключить к напряжению 3,3 В, чтобы включить микросхему ESP.

Два дополнительных соединительных кабеля необходимы для следующих контактов ESP: GPIO_0 и RESET.

GPIO_2 не используется и остается отключенным.

ESP-01 необходимо установить в режим программирования, чтобы можно было загрузить в него код. Но у ESP-01 нет необходимого встроенного дополнительного оборудования для достижения этой цели напрямую, поэтому все это необходимо подключать отдельно. Для собственного использования я не стал использовать переключатели, а вместо этого просто использовал два соединительных кабеля типа папа-мама, подключенные к контактам GPIO_0 и RESET модуля ESP-01, и подключил их к общим контактам заземления макетной платы от заземления Arduino UNO.

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

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

Шаг 4. Загрузите программу для прошивки и прошивку

Скачать программу для прошивки и прошивку
Скачать программу для прошивки и прошивку

Используемая прошивка - от Espressif, которая является оригинальным производителем микросхемы ESP8266.

Перейдите по адресу: https://www.espressif.com/en/products/hardware/esp8266ex/resources, чтобы получить доступ к официальным инструментам и файлам прошивки AT.

На вкладке «Инструменты» загрузите инструменты загрузки Flash (ESP8266 и ESP32), в настоящее время последняя версия - V3.6.8.

На вкладке «AT» загрузите последнюю совместимую микропрограмму AT, которой является ESP8266 AT Bin V1.6.2 для моей модели ESP-01. Это зависит от модели ESP-01, так как у нее может быть разный размер флеш-памяти. Дополнительную информацию об этом вы найдете в разделе ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ программы Flash Download Tools после нажатия кнопки «ПУСК», чтобы начать процедуру перепрограммирования. Итак, если вы не уверены в размере флэш-памяти или в том, какие файлы прошивки выбрать, просто запустите программу, чтобы получить правильную информацию о вашем модуле ESP.

После прошивки вы можете использовать AT-команды для тестирования и работы с ESP-01. Загрузите официальный набор инструкций ESP8266 AT:

Шаг 5: Процедура перепрошивки

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

Распакуйте zip-файл Flash Download Tools и откройте exe-файл. Обязательно запускайте его от имени администратора, если вы используете Windows. Сначала откроется окно DOS, а затем всплывающее окно. Выберите ESP8266 Download Tool. Откроется окно с несколькими настраиваемыми параметрами.

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

Примечание. Выбирайте файлы прошивки в том же порядке, поскольку процедура прошивки выполняется последовательно. Файл blank.bin необходимо выбрать три раза, как показано на снимке экрана набора команд AT.

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

Затем просто нажмите кнопку СТАРТ и наблюдайте, как происходит волшебство. Текст кнопки отобразит СИНХРОНИЗАЦИЯ, а в разделе ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ отобразятся характеристики вашего модуля ESP. Затем текст отобразит ЗАГРУЗИТЬ, и индикатор выполнения будет активирован, когда файлы прошивки будут загружены во флэш-память ESP. После завершения процедуры прошивки вы увидите: FINISH.

Закройте программу Flash Download Tools. Это необходимо для освобождения последовательного порта, чтобы позволить Arduino IDE Serial Monitor взять на себя управление.

Отсоедините контакт ESP GPIO_0 от заземления. Это отключит режим программирования.

Подключите RESET к заземлению на 1 секунду, а затем отключите. Это сбросит модуль.

Откройте Arduino IDE. В верхнем меню выберите Инструменты> Порт> выберите правильный COM-порт. Откройте Serial Monitor и выберите «Both NL & CR» и выберите скорость передачи 115200 бод, которая является скоростью по умолчанию.

Тип:

В

Если процедура прошивки прошла правильно, ответ будет:

Ok

Чтобы проверить новую прошивку, введите:

AT + GMR

Вот вывод Serial Monitor для моего ESP-01:

AT + GMR

Версия AT: 1.6.2.0 (13 апреля 2018 г., 11:10:59) Версия SDK: 2.2.1 (6ab97e9) Время компиляции: 7 июня 2018 г. 19:34:26 Версия корзины (Wroom 02): 1.6.2 OK

Шаг 6. Измените скорость передачи данных на постоянной основе

Постоянное изменение скорости передачи данных
Постоянное изменение скорости передачи данных

Эта часть не является обязательной. Скорость передачи по умолчанию составляет 115200 бод, но если вы хотите изменить ее на другую скорость передачи, вы можете просто ввести следующую команду в Arduino Serial Monitor.

Например, если вы хотите перейти на скорость 9600 бод / 8 бит данных / 1 стоповый бит / без бита четности / без управления потоком.

Введите:

AT + UART_DEF = 9600, 8, 1, 0, 0

Ответ должен быть:

Ok

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

Шаг 7. Устранение неполадок

Исправление проблем
Исправление проблем
Исправление проблем
Исправление проблем

Если после успешной прошивки микропрограммы есть какие-либо аномалии, например, в Serial Monitor, после того, как вы выберете скорость передачи по умолчанию 115200 и наберете: AT, но не увидите никакого ответа или если вы наберете AT + GMR и получите другой информация, отличная от информации о версии прошивки, возможно, вы установили неправильную прошивку. В этом случае в программе Flash Download Tools после того, как вы нажмете кнопку START, чтобы начать процедуру обновления прошивки, зеленая кнопка состояния будет читать SYNC, и это этап, на котором информация о модуле ESP извлекается и становится доступной в DETECTED INFO. Эта информация имеет решающее значение для определения правильной прошивки и правильных файлов для прошивки.

Следующее относится к моему модулю ESP-01:

поставщик флеш-памяти:

E0h: нет данных flash devID: 4014h QUAD; кристалл 8 Мбит: 26 МГц

Ваша ОБНАРУЖЕННАЯ ИНФОРМАЦИЯ будет зависеть от модели ESP-01. Но это позволит вам определить правильный размер вспышки. В моем ESP это 8 Мбит, что эквивалентно 1 МБ. Итак, это означает, что я должен выбрать 512 КБ + 512 КБ из файлов прошивки. И это также означает, что прошивка 1.7.0 или 1.7.1 не будет работать должным образом для моего модуля ESP, что я также подтвердил, перепрошив эти прошивки и протестировав. Кроме того, в описании прошивки 1.7.0 и 1.7.1 на официальном сайте ресурса Espressif указана следующая информация: «Ограничено размером файла AT bin, поддерживается только карта 1024 + 1024 flash. дефолт. 1024 + 1024 означает, что это для модуля ESP с общим размером флэш-памяти 2048 КБ или 2 МБ.

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

Рекомендуемые: