У ESP32 есть несколько распространенных проблем, особенно когда вы пытаетесь загрузить новые скетчи или установить плату ESP32 в Arduino IDE. Это руководство посвящено неполадкам ESP32 при программировании ее в среде Arduino. Здесь мы приведём список наиболее распространенных проблем с ESP32, а также расскажем, как исправить их.
Важно: убедитесь, что у вас установлена последняя версия Arduino IDE. Использование другой версии Arduino IDE может вызвать непредвиденные проблемы и ошибки.
Как мне установить пакет ESP32 для Arduino IDE?
Существует пакет ESP32 для среды Arduino, который позволяет вам программировать плату в Arduino IDE. Итак, по порядку:
- В среде Arduino переходим Файл > Настройки;
- В графе дополнительные ссылки для менеджера плат указываем эту ссылку: https://dl.espressif.com/dl/package_esp32_index.json
- Затем переходим в Инструменты > Плата “Arduino UNO” > Менеджер плат, вбиваем в поиске esp32 и устанавливаем пакет для платы.
Не отображается плата ESP32 в меню инструментов Arduino
Если плата не отображается в Arduino IDE, убедитесь, что вы щелкнули по маленькой стрелке (выделенной на рисунке ниже), чтобы найти свою плату:
Если и в этот раз вы не можете найти название своей платы ESP32, рекомендуем повторить процесс установки с нуля.
C:/Users/User/Documents/Arduino/hardware/espressif/esp32/ tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g ++ »: файл не существует
Если Arduino IDE не может скомпилировать код для платы ESP32 и выдает данную ошибку, рекомендуем переустановить ESP32.
Примечание. На ПК с Windows часто установлено несколько версий Arduino IDE (portable и устанавливаемая). Убедитесь, что вы используете то приложение Arduino, в которое вы установили ESP32.
Не удалось подключиться к ESP32: время ожидания истекло… Подключение…»
В данном случае при попытке загрузить скетч на плату приложение не может подключиться к ней. Это значит, что ESP32 не находится в режиме прошивки / загрузки.
Выполните следующие действия:
- Удерживайте кнопку «BOOT » на плате ESP32.
- Нажмите кнопку «Загрузка» в Arduino IDE, чтобы загрузить новый скетч:
- После того, как вы увидите «Connecting…. » в Arduino IDE, уберите палец с кнопки «BOOT» :
- После этого, вы должны увидеть сообщение о завершении загрузки
Вот и все. На ESP32 должен быть загружен новый скетч. После загрузки нового скетча нажмите кнопку «ENABLE», чтобы перезапустить ESP32 и запустить загруженный скетч.
Ошибка при компиляции скетча WiFiScan
Если вы попытаетесь загрузить скетч ESP32 WiFiScan.ino, который есть в примерах
И он не может скомпилироваться с подобным сообщением об ошибке:
In function ‘void setup()’: ScanNetworks:52: error: ‘class WiFiClass’ has no member named ‘firmwareVersion’ String fv = WiFi.firmwareVersion(); |
То вероятнее всего, среда Arduino компилирует библиотеку WiFi для платы Arduino (вместо использования библиотеки ESP32 WiFi).
Примечание: Вы, вероятно, никогда не будете использовать WiFi-экран с платой Arduino, так ведь? Если вы его не используете, вы можете удалить эту папку (ну или переместить ее на рабочий стол, например).
Библиотека WiFi находится по аналогичному пути:
C:UsersruisantosDownloadsarduino-1.8.7-windowsarduino-1.8.7librariesWiFi
И /или в:
C:UsersruisantosDocumentsArduinolibrarieslibrariesWiFi
После удаления всей папки библиотеки WiFi из одного или обоих мест перезапустите Arduino IDE и попробуйте снова скомпилировать код.
COM-порт не найден / недоступен
Если вы подключаете плату ESP32 к компьютеру, но не можете выбрать порт ESP32, доступный в вашей Arduino IDE (он неактивен):
Это может быть одна из следующих двух проблем:
- Отсутствуют драйверы USB;
- Кабель USB не имеет проводов для передачи данных.
Если вы не видите доступный COM-порт вашего ESP, это может означать, что у вас не установлены драйверы USB. Присмотритесь к микросхеме рядом с регулятором напряжения на плате и проверьте ее название.
Плата ESP32 DEVKIT V1 DOIT, например, использует чип CP2102.
Зайдите в поисковик и найдите свой чип, установите драйверы для него.
Вы можете скачать драйверы CP2102 на сайте Silicon Labs.
После их установки перезапустите Arduino IDE, и вы должны увидеть COM-порт в меню «Инструменты».
Если у вас установлены драйверы, но вы не видите свое устройство, еще раз проверьте, что вы используете USB-кабель с проводами для передачи данных.
USB-кабели от внешних аккумуляторов часто не имеют проводов для передачи данных (они только заряжают). То есть, ваш компьютер не сможет установить последовательную связь с ESP32. Используйте другой USB-кабель.
Монитор порта в Arduino IDE «не работает»
Если ESP32 выводит только странный текст или бессвязные сообщения в мониторе порта среды Arduino, убедитесь, что у вас выбран правильный COM-порт, и установите правильную скорость передачи. В большинстве примеров используется скорость 115200 бод.
Ошибка: «Brownout detector was triggered»
Когда вы открываете монитор порта и появляется повторяющееся сообщение об ошибке «Brownout detector was triggered», скорее всего это значит, что есть какая-то проблема с оборудованием.
Это часто связано с одной из следующих проблем:
USB-кабель плохого качества;
Слишком длинный USB-кабель;
Дефект в плате (плохо припаянные соединения);
Неисправный USB-порт на ПК;
Через USB-порт на ПК идет недостаточно питания.
Решение: попробуйте другой более короткий USB-кабель, попробуйте другой USB-порт компьютера или используйте USB-концентратор с внешним источником питания.
Плата ESP32 не работает с Arduino IDE
Если вы следовали всем советам по устранению неполадок, а ESP32 не работает с Arduino IDE, мы рекомендуем попробовать редакторы Atom и PlatformIO.
Заключение
Мы надеемся, что руководство оказалось полезным. Если у вас возникнут другие проблемы, опубликуйте их в комментариях ниже, и мы постараемся помочь вам решить вашу проблему.
Данный материал был переведен с сайта RandomNerdTutorials.com. Авторские права принадлежат ее автору — Rui Santos. Автор продает очень полезные и толковые курсы по ESP8266 / ESP32 (на английском языке), ознакомиться с которыми можно по ссылке.
Вопросы по прошивке и работе с кодом лучше писать напрямую автору в комментариях к статье (на англ. языке)
#arduino #compilation #fatal-error #esp32
Вопрос:
Я работаю над DOIT ESP32 DEVKIT V1 и использую Arduino IDE 1.8.13 (Windows 10 Pro Education x64) для кодирования этой платы. Я установил плату ESP32 (и ESP8266) также из менеджера плат внутри Arduino IDE. Он работал нормально в течение нескольких дней, пока один друг не прислал мне файл .ino, и после того, как он открыл его и попытался скомпилировать и загрузить этот файл на мою доску, произошла странная ошибка компиляции (это та же ошибка, которая произошла в системе моей подруги, и ей пришлось переключиться на другую систему, чтобы продолжить бесперебойную работу). Я использую эти URL-адреса вДополнительные URL-адреса менеджера плат в разделе «Настройки» в среде IDE Arduino:
https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
И при компиляции появляются следующие сообщения об ошибках:
In file included from c:programdatamatlabsupportpackagesr2018a3p.instrsetarduinoide.instrsetidepkgspackagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0xtensa-esp32-elfincludec 5.2.0algorithm:60:0,
from C:ProgramDataMATLABSupportPackagesR2018a3P.instrsetarduinoide.instrsetidepkgspackagesesp32hardwareesp321.0.6coresesp32/Arduino.h:142,
from sketchsketch_aug21a.ino.cpp:1:
c:programdatamatlabsupportpackagesr2018a3p.instrsetarduinoide.instrsetidepkgspackagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0xtensa-esp32-elfincludec 5.2.0utility:68:28: fatal error: bits/c config.h: No such file or directory
compilation terminated.
exit status 1
Error compiling for board DOIT ESP32 DEVKIT V1.
Пожалуйста, предоставьте мне пошаговое руководство по устранению этой проблемы, так как я новичок в таких ошибках и проблемах с каталогами. Обратите внимание, что при выборе плат Arduino AVR (таких как MEGA, UNO и т. Д.) Ошибок компиляции не возникает. Я уже пытался переустановить плату ESP32 из диспетчера плат, но безуспешно.
Комментарии:
1. удалите папку пакета поддержки плат
esp32
, а затем попробуйте установить его снова2. Спасибо @Juraj, это сработало! Проблема была в папке. На самом деле никакой папки не было. Поэтому я вручную создал папку и установил в нее ядро. ИСПРАВЛЕНО! 🙂
Ответ №1:
ИСПРАВЛЕНО! Проблема заключалась в том, что нигде не было папок /hardware/espressif/esp32, несмотря на то, что была установлена поддержка платы. Поэтому я удалил плату из менеджера платы Arduino, сам создал папки и установил в них ядро ESP32. Я следовал всем инструкциям, приведенным по этой ссылке: https://learn.sparkfun.com/tutorials/esp32-thing-hookup-guide/installing-the-esp32-arduino-core
Они предоставили все шаги (включая создание папок/каталогов) для установки ядра через репозиторий github. И теперь ошибка исправлена, и она работает отлично!
Noting is attach and no code is being used.
Got a new laptop at the office, wich is a powerfull gaming laptop. Installed Arduino IDE and the ESP32 add-on boards. But I always have this «Error compiling for board DOIT ESP32 DEVKIT V1.» error ( full error below ).
I’ve been looking for a fix for the last 4 hours now and tried everything I’ve found including:
-deleting Cache (appData/arduino15)
-Reinstalling Arduino IDE several time
-Copy past the cache from my old laptop, where everything work just fine.
I also have a the same error if no board is plugged at all…. like it’s not even trying, but it work on my old laptop….
Is there any windows configuration, firewall configuration, authorizations to do ?
Arduino: 1.8.19 (Windows 10), Board: "DOIT ESP32 DEVKIT V1, 80MHz, 921600, None"
C:Program Files (x86)Arduinoarduino-builder -dump-prefs -logger=machine -hardware C:Program Files (x86)Arduinohardware -hardware C:UsersR&DAppDataLocalArduino15packages -tools C:Program Files (x86)Arduinotools-builder -tools C:Program Files (x86)Arduinohardwaretoolsavr -tools C:UsersR&DAppDataLocalArduino15packages -built-in-libraries C:Program Files (x86)Arduinolibraries -libraries C:UsersR&DDocumentsArduinolibraries -fqbn=esp32:esp32:esp32doit-devkit-v1:FlashFreq=80,UploadSpeed=921600,DebugLevel=none -vid-pid=10C4_EA60 -ide-version=10819 -build-path C:UsersR&DAppDataLocalTemparduino_build_711433 -warnings=none -build-cache C:UsersR&DAppDataLocalTemparduino_cache_633889 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool_py.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsesptool_py3.0.0 -prefs=runtime.tools.esptool_py-3.0.0.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsesptool_py3.0.0 -prefs=runtime.tools.mkspiffs.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsmkspiffs.2.3 -prefs=runtime.tools.mkspiffs-0.2.3.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsmkspiffs.2.3 -prefs=runtime.tools.xtensa-esp32-elf-gcc.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0 -prefs=runtime.tools.xtensa-esp32-elf-gcc-1.22.0-97-gc752ad5-5.2.0.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0 -verbose C:UsersR&DAppDataLocalTempuntitled1973103754.tmpsketch_mar07asketch_mar07a.ino
C:Program Files (x86)Arduinoarduino-builder -compile -logger=machine -hardware C:Program Files (x86)Arduinohardware -hardware C:UsersR&DAppDataLocalArduino15packages -tools C:Program Files (x86)Arduinotools-builder -tools C:Program Files (x86)Arduinohardwaretoolsavr -tools C:UsersR&DAppDataLocalArduino15packages -built-in-libraries C:Program Files (x86)Arduinolibraries -libraries C:UsersR&DDocumentsArduinolibraries -fqbn=esp32:esp32:esp32doit-devkit-v1:FlashFreq=80,UploadSpeed=921600,DebugLevel=none -vid-pid=10C4_EA60 -ide-version=10819 -build-path C:UsersR&DAppDataLocalTemparduino_build_711433 -warnings=none -build-cache C:UsersR&DAppDataLocalTemparduino_cache_633889 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool_py.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsesptool_py3.0.0 -prefs=runtime.tools.esptool_py-3.0.0.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsesptool_py3.0.0 -prefs=runtime.tools.mkspiffs.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsmkspiffs.2.3 -prefs=runtime.tools.mkspiffs-0.2.3.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsmkspiffs.2.3 -prefs=runtime.tools.xtensa-esp32-elf-gcc.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0 -prefs=runtime.tools.xtensa-esp32-elf-gcc-1.22.0-97-gc752ad5-5.2.0.path=C:UsersR&DAppDataLocalArduino15packagesesp32toolsxtensa-esp32-elf-gcc1.22.0-97-gc752ad5-5.2.0 -verbose C:UsersR&DAppDataLocalTempuntitled1973103754.tmpsketch_mar07asketch_mar07a.ino
Using board 'esp32doit-devkit-v1' from platform in folder: C:UsersR&DAppDataLocalArduino15packagesesp32hardwareesp321.0.6
Using core 'esp32' from platform in folder: C:UsersR&DAppDataLocalArduino15packagesesp32hardwareesp321.0.6
cmd /c if exist "C:\Users\R&D\AppData\Local\Temp\untitled1973103754.tmp\sketch_mar07a\partitions.csv" copy /y "C:\Users\R&D\AppData\Local\Temp\untitled1973103754.tmp\sketch_mar07a\partitions.csv" "C:\Users\R&D\AppData\Local\Temp\arduino_build_711433\partitions.csv"
& was unexpected at this time.
exit status 1
Error compiling for board DOIT ESP32 DEVKIT V1.
I think, someone screw up with the hidden file on windows, because the appData is not hidden like it supposed to be.
I don’t think there is a link between the ESP32 and hidden file, but I mention it because it looks like the Arduino is not allowed to go find the ESP32 core…
Loading
Github
Theengs
Upload
Devices
Community
Docs
Blog
Shop