Руководства по устранению неполадок ESP32: Ошибка загрузки эскиза

Содержание

ESP32 board programming troubleshooting

ESP32 — это микроконтроллерная плата с системой на кристалле, разработанная Espressif Systems, которая отличается низким энергопотреблением, низкой стоимостью и сверхнизким энергопотреблением. Однако в некоторых случаях могут возникнуть трудности с загрузкой эскизов на плату. Это может быть вызвано несколькими факторами, такими как неправильная проводка, неправильное питание или неправильные настройки. В этой статье мы рассмотрим распространенные проблемы, которые могут привести к тому, что ESP32 не загрузит эскизы на печатную плату. Мы также дадим несколько полезных советов о том, как успешно загрузить эскизы. Итак, если у вас возникли проблемы с программированием ESP32, читайте дальше, чтобы узнать больше.

Обзор микроконтроллера ESP32

ESP32 основан на двухъядерном 32-разрядном микропроцессоре Tensilica Xtensa LX6, 4 МБ SPI Flash и 8 МБ PSRAM. Он имеет как Wi-Fi, так и Bluetooth, а также ряд GPIO-контактов, ADC-контактов, сенсорных датчиков, датчиков температуры и многое другое. ESP32 подходит для широкого спектра применений, включая домашнюю автоматизацию, IoT, носимые устройства, робототехнику и многое другое. Его можно использовать для управления освещением, двигателями и другими устройствами, а также для сбора и отправки данных через Интернет.

ESP32 не загружает эскиз PCB и решения

ESP32 оснащен встроенным модулем Wi-Fi и Bluetooth, а также встроенным процессором, что делает его идеальным для разработки решений IoT. ESP32 также имеет несколько контактов, которые позволяют подключать его к внешнему оборудованию, такому как датчики и исполнительные механизмы. Чтобы начать работу с ESP32, вам необходимо загрузить скетч, который представляет собой программу, написанную в Arduino IDE. Но когда вы хотите самостоятельно собрать плату ESP32, многие люди могут увидеть такие ошибки:

  • «Произошла фатальная ошибка: истекло время ожидания содержимого пакета»
  • «Произошла фатальная ошибка: истекло время ожидания заголовка пакета»
				
					esptool.py v3.0-dev
Serial port /dev/ttyUSB0
Connecting...
Chip is ESP32-S3-WROOM-1
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 84:cc:a8:7f:39:14
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
A fatal error occurred: Timed out waiting for packet header 
A fatal error occurred: Timed out waiting for packet header
				
			

Проверенное решение 1:

  • Нажмите и удерживайте клавишу BOOT на плате разработчика и не отпускайте ее;
  • Нажмите «Upload» (Загрузить) в IDE Arduino;
  • Когда появится сообщение «Connecting», отпустите клавишу BOOT.

Проверенное решение 2: 

  • Измените «скорость загрузки» с 921600 бод на 115200 бод.

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

Распространенные причины, по которым ESP32 не загружает эскизы

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

Правильное подключение ESP32

Чтобы загрузить эскиз в ESP32, необходимо убедиться, что подключение выполнено правильно. Это включает в себя подключение правильных контактов к правильным портам. Например, контакты TX и RX должны быть подключены к правильному порту UART. Если подключение выполнено неправильно, ESP32 не сможет обмениваться данными с Arduino IDE.

Правильное питание ESP32

Еще одна распространенная проблема — использование неправильного источника питания. ESP32 требует источника питания 3,3 В, а Arduino IDE — 5 В. При использовании неправильного напряжения ESP32 не сможет загрузить скетч.

Настройка правильной скорости загрузки

При загрузке эскиза в ESP32 необходимо правильно настроить скорость загрузки. Скорость загрузки должна быть установлена на 115200 бод в Arduino IDE. Если скорость загрузки установлена слишком высокой или слишком низкой, ESP32 не сможет загрузить эскиз.

Лучшие практики загрузки эскизов в ESP32

Чтобы успешно загрузить ваши программы на плату ESP32, следуйте этим рекомендациям:

  1. Создайте эскиз Arduino и сохраните его. (Вы можете сохранить пустой эскиз)
  2. Затем перейдите в «Эскиз > Показать папку эскиза».
  3. Создайте новую папку с именем data внутри папки скетча.
  4. Поместите файлы программы в папку data.
  5. Наконец, перейдите в «Tools > ESP32 Sketch Data Upload» и загрузите программу.

Матрица диагностики загрузки данных скетча и скорости ESP32

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

  • Верните команду: установите выпуск загрузчика, совместимый с поколением IDE и пакетом плат, в требуемый каталог инструментов или расширений и перезапустите IDE.
  • Проверьте карту Flash: выберите точную плату и схему с нужной файловой системой; сформированный образ должен помещаться в ее область.
  • Стабилизируйте связь: закройте терминалы, проверьте порт и USB-драйвер, используйте кабель данных и стабильные 3,3 В; при сбое автосброса войдите в download mode вручную.
  • Подберите скорость испытанием: начните с 115200 бит/с; 230400, 460800 или 921600 применяйте только при повторяемой передаче, снижая скорость при случайных ошибках.
  • Проверьте запись: сверьте смещения и число байтов, перезапустите, смонтируйте выбранную систему и прочитайте известный файл без автоматического форматирования.

ESP32 Sketch Data Upload не отображается и решения

Если опция «ESP32 Sketch Data Upload» не отображается в Arduino IDE, вероятно, это связано с неправильной настройкой в самой Arduino IDE. Чтобы исправить это, попробуйте выполнить следующие действия:

Шаг 1: Установите плату ESP32 в Arduino IDE

Установка платы ESP32 в Arduino IDE может быть выполнена в несколько шагов:

1. Загрузите Arduino IDE с официального сайта: Сначала загрузите Arduino IDE с официального сайта Arduino (https://www.arduino.cc/en/Main/Software). Для обеспечения наилучшей совместимости с платами ESP32 рекомендуется использовать последнюю версию.

2. Настройка Arduino IDE для платы ESP32: Чтобы настроить Arduino IDE для платы ESP32, необходимо добавить плату ESP32 в диспетчер плат Arduino IDE. Для этого откройте окно настроек (File > Preferences) и вставьте один из следующих URL-адресов в поле «Additional Boards Manager URLs»:

  • https://dl.espressif.com/dl/package_esp32_index.json
  • https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Open the Preferences Settings in Arduino IDE's File Menu
Открытие настроек Preferences в меню File среды Arduino IDE
Add the ESP32 board Link in Additional Board Manager URLs field
Добавление ссылки для платы ESP32 в поле Additional Board Manager URLs

3. Установите пакет платы ESP32: Затем перейдите в меню «Инструменты» > «Плата» > «Менеджер плат» и выполните поиск по запросу «ESP32». Выберите последнюю версию для установки. Процесс установки может занять несколько минут.

Open the Boards Manager in Arduino IDE
Открытие Boards Manager в Arduino IDE

4. Найдите ESP32 и нажмите кнопку «Установить» для «ESP32 от Espressif Systems»:

Search and Install the ESP32 by Espressif Systems
Поиск ESP32 от Espressif Systems и установка пакета

5. Теперь плата ESP32 должна быть установлена в Arduino IDE и готова к разработке.

Sucessfully Install the ESP32 board in Arduino IDE
Плата ESP32 успешно установлена в Arduino IDE

Шаг 2: Установите программу Arduino ESP32 Filesystem Uploader

Установка Arduino ESP32 Filesystem Uploader в Arduino IDE — это относительно простой процесс, который можно выполнить за несколько шагов.

Примечание: новая версия Arduino 2.0 не поддерживает плагин ESP32 Filesystem Uploader.

  1. Загрузите программу для загрузки файловой системы ESP32 — «ESP32FS-1.0.zip» по следующему URL-адресу:

https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/tag/1.0

Download the ESP32 filesystem uploader on Github
Загрузка инструмента для загрузки файловой системы ESP32 с Github

2. В Arduino IDE перейдите в меню «Файл» > «Настройки» и найдите «Расположение альбома».

Find the sketchbook location and open it on your computer
Поиск пути sketchbook location и открытие его на компьютере

3. Найдите папку со скетчбуком на своем компьютере и создайте папку с названием «tools».

Create a tools folder under the Arduino sketchbook directory
Создание папки tools в каталоге sketchbook Arduino

4. Распакуйте файл «ESP32FS-1.0.zip», а затем откройте папку «ESP32FS-1.0». В более глубоком пути вы увидите папку «ESP32FS», переместите ее в папку «arduino > toos».

Unpack the "esp32fs-1.0.zip" and move the ESP32FS folder to the tools folder under sketchbook-location
Распаковка esp32fs-1.0.zip и перемещение папки ESP32FS в папку tools внутри sketchbook-location

5. Наконец, закройте и запустите Arduino IDE снова. Вы должны увидеть новую опцию «ESP32 Sketch Data Upload» в меню «Tools».

New option "ESP32 Sketch Data Upload" in Arduino IDE
Новая команда ESP32 Sketch Data Upload в Arduino IDE

Об авторе

Picture of Aidan Taylor
Aidan Taylor

Я Эйдан Тейлор, и у меня более 10 лет опыта работы в области реверс-инжиниринга печатных плат, дизайна печатных плат и разблокировки IC.

Поделиться

Рекомендуемый пост

Tags

Нужна помощь?

Прокрутить вверх

Instant Quote

Мгновенный расчет