Частые вопросы об ESP32

Порт ESP32: COM-порт и серийный номер

// serial port · faq

Рубрика: ESP32 · Последовательный порт · Обновлено: август 2026

Нет порта, не тот порт, порт исчез — именно на последовательном порту рушится большинство ESP32-дней. Как найти COM-порт, почему текст ошибки говорит то, что говорит, и что на самом деле значит «ID» на этих платах.

Не удаётся открыть порт dev ttyUSB0 для ESP32?

На Linux эта ошибка почти всегда про права или неверное имя устройства. Проверьте dmesg на USB-чип кабеля, затем ls /dev/tty* — ваша плата может оказаться ttyACM0, а не ttyUSB0. Права чинятся через sudo usermod -aG dialout $USER, после чего выйдите и зайдите заново — и строка «could not open port» исчезнет. Если порт так и не появился, дальше смотрите таблицу драйверов в базе знаний.

Как найти порт ESP32?

Windows: Диспетчер устройств → Ports (COM & LPT), подключите плату и смотрите, какой COM появится. Linux: ls /dev/ttyUSB* /dev/ttyACM*. macOS: ls /dev/cu.usbserial-*. Порт принадлежит USB-serial чипу, а не ESP32: платы на CH340 показываются как «USB-SERIAL CH340», на CP2102 — как «Silicon Labs CP210x».

Как узнать ID платы ESP32?

Практический «ID» — это MAC-адрес: уникален для каждого чипа, печатается esptool.py chip_id или из кода через ESP.getEfuseMac(). Модель и ревизия чипа — из ESP.getChipModel(). Серийных номеров у большинства devkit нет; для MQTT, BLE и OTA важен именно MAC.

Почему порт пропал после прошивки?

USB-serial чип перезагружается вместе с платой — это нормально. Если он не вернулся, значит: кабель «только зарядка», пропал драйвер или плата застряла в цикле перезагрузки, где порт то появляется, то исчезает. Следите за Диспетчером устройств во время цикла; мигающий COM — верный признак. Постоянные перезагрузки — это уже к FAQ по отладке.

Порт есть, но монитор порта пишет «Failed to Open»?

Порт держит кто-то другой — обычно второй монитор или сама IDE. Закройте все окна serial, отключите, подключите, повторите. На Windows драйвер умеет оставлять устаревшие блокировки порта после сбоя; перезагрузка компьютера их снимает. У меня на столе лежит записка «сначала закрой другие мониторы».

Почему я вижу два порта?

Платы ESP32-S3 и C3 показывают два USB-интерфейса: нативный USB CDC и UART-мост — отсюда и два COM-порта. Выбирайте тот, что совпадает с подписью на текстолите, обычно «UART». Прошивка работает через UART-порт; CDC нужен скетчам, использующим нативный USB.

Как найти порт без драйвера?

Никак — драйвер это шаг первый. На Windows неизвестное устройство в Диспетчере устройств означает отсутствие драйвера CH340 или CP2102; дружелюбное имя «USB-SERIAL» появляется только после установки. Если устройство не показывается вообще — кабель без данных; поменяйте его, прежде чем винить плату. Этот порядок закрывает большинство случаев «порта нет совсем».

Важен ли номер порта?

Нет — сегодня COM5, завтра COM12; Windows раздаёт номера свободно. Ловушка в том, что инструменты запоминают старый номер: после переподключения Arduino IDE показывает новый порт, и его нужно выбрать заново. Мониторы порта и PlatformIO определяют порт сами, поэтому у них редко бывает «port not found». То же правило на Linux: цифра после ttyUSB произвольна.

Можно ли прошить, не зная порта?

В основном да. esptool.py сам перебирает распространённые порты, если опустить -p, PlatformIO сканирует автоматически, а OTA вообще обходит порт стороной. Но для работы с монитором порта знать его всё равно нужно, так что 30 секунд на поиск никогда не впустую. FAQ по прошивке разбирает пути без порта по порядку.

Что делать, если порт так и не появляется?

Чек-лист по порядку: другой кабель (с данными, не зарядка), другой USB-порт — порты на передней панели капризны, — затем другая машина, затем снова драйвер. Плата с умершим USB-чипом всё равно работает от питания: если светодиод мигает, а порта нет — погиб USB-serial чип. Так случилось с одним из моих модулей; после этого плата отлично прошивалась через USB-TTL адаптер за $4.

Проекты по этой теме запускаются прямо в бесплатном симуляторе sensbench: схема уже собрана, прошивка включена — без аккаунта и установки.

Leave a Reply

Your email address will not be published. Required fields are marked *