Почему Arduino IDE выдает неправильное имя платы для ESP32 S3

arduino-ide esp32 esp32-s3

Я разрабатываю печатную плату для ESP32 S3 wroom-1 для тестирования безопасных в использовании контактов.

Моя печатная плата выглядит так:

Я программирую ESP32 S3 через USB-интерфейс gpio19 "D-" gpio20 «D+». Когда я подключаю USB-накопитель, Arduino ide выдает неправильное имя для моей платы Esp32. Я кстати использую USB TYPE C. Каждый день он дает разные имена. Правильный вариант: «ESP32S3 DEV MODULE».

Как настроить автоматический выбор правильного модуля в Arduino Ide в качестве модуля разработки ESP32S3?

НЕПРАВИЛЬНО 1

НЕПРАВИЛЬНО 2

НЕПРАВИЛЬНО 3

Одна и та же плата, разные названия. интересно

, 👍1

Обсуждение

Я заметил, что некоторые платы ESP32 имеют чип USB-Serial, которому запрограммирован сбивающий с толку (то есть неправильный) идентификатор. Изменить это невозможно, но это не окажет никакого влияния на функциональность платы, если вы выберете правильную плату при ее программировании., @StarCat


2 ответа


Лучший ответ:

1

После обновления Arduino IDE 2.2 вчера (30,08,2023) что-то было решено.

В меню выбора платы появилась новая кнопка редактирования, и тогда Arduino ide распознает esp32 даже после отключения и повторного подключения.

,

2

Вы можете просто заставить Arduino IDE распознавать вашу плату, найдя Файл конфигурации платы, введя значения VID и PID, переупаковать и разместить конфигурации и указать Arduino IDE в своем пользовательском менеджере плат. URL.

На моем устройстве MacBook я использовал ioreg -p IOUSB -l после подключения устройства и скопировал свойства idVendor, idProduct. Это значения VID и PID. В Windows вы можете открыть диспетчер устройств, просмотреть порты (COM и LPT), щелкнуть правой кнопкой мыши на плате (она может отображаться как COM-порт) и выбрать «свойства», перейти к «подробности». меню и в раскрывающемся меню выберите «Идентификаторы оборудования». вы должны увидеть такие значения, как VID_XXXX&PID_YYYY. это ваши VID и PID. в Linux вы можете просто использовать "lsusb" и найдите там идентификатор поставщика и PID.

Найдя их, вы должны перейти в каталог пакета платы ESP32 и найти boards.txt (https: //github.com/espressif/arduino-esp32/blob/master/boards.txt). Найдите строку, которая начинается с esp32s3.name=ESP32S3 Dev Module. Там вы должны изменить значения PID и VID на фактические значения VID и PID, которые вы собрали, как указано выше. Замените 0xXXXX на свой VID и 0xYYYY на свой PID.

После внесения изменений вам необходимо будет сжать всю папку пакета платы в ZIP-архив. Убедитесь, что структура каталогов не повреждена, чтобы Arduino IDE могла правильно распознать и установить ее.

Затем вы можете создать новый репозиторий на GitHub, загрузить ZIP-архив в этот репозиторий, затем щелкнуть ZIP-файл внутри репозитория, а затем нажать кнопку «Загрузить». кнопка. Скопируйте ссылку.

Теперь вам нужно перейти в Arduino IDE, перейдите в file -> file -> gt; Настройки. в разделе «URL-адреса диспетчера дополнительных плат»; поле, нажмите на иконку справа, чтобы открыть окно, в котором можно вставить новые строки. Добавьте прямую ссылку на ZIP-файл и нажмите «ОК». Заходим в Инструменты -> Плата -> Менеджер плат. затем найдите ESP32. ваш индивидуальный пакет должен появиться в списке. Нажмите «Установить». после установки все готово.

ОЧЕНЬ ВАЖНОЕ ИЗМЕНЕНИЕ: немного изучив эту проблему, я пришел к выводу, что так называемые «случайные имена плат»; все они имеют одинаковые значения VID и PID. Проблема заключалась не в неправильных значениях VID и PID для вашей платы, а проблема заключалась в том, что многие другие платы также имеют такие же значения VID и PID. Простое, но эффективное решение — назначить случайные имена всем остальным, кроме того, который вы хотите использовать. Просто отредактируйте

adafruit_qtpy_esp32c3.vid.0=0x303a

adafruit_qtpy_esp32c3.pid.0=0x1001

строки для каждой платы, кроме той, которую вы хотите использовать. Но никогда не забывайте изменить этот текстовый файл, если вы когда-нибудь начнете долгосрочную разработку с одной из других плат. Или другие платы (например, u-blox NORA-W10 s3” не будут обнаружены автоматически.

,

Подробное объяснение этого также можно найти здесь: https://forum.arduino.cc/t/arduino-nano-esp32-board-is-always-identified-as-adafruit-esp32/1241431/2, @6v6gt