Цель: настроить систему для прошивки ESP32 из Linux
1. Установка Linux
- Скачать Ubuntu 24.04 LTS (или любой дистрибутив)
- Записать на флешку: Rufus (Windows) или dd (Linux)
- Загрузиться, установить
2. Права доступа к USB-портам
Проблема: порт не виден в Arduino IDE
Узнать имя порта:
ls /dev/tty*
Подключить ESP32, снова:
ls /dev/tty*
Появится /dev/ttyUSB0 или /dev/ttyACM0
Добавить себя в группу dialout:
sudo usermod -a -G dialout $USER
Для Arch Linux:
sudo usermod -a -G uucp $USER
ВАЖНО: перезайти в систему (logout/login) или перезагрузиться
3. Установка Arduino IDE
Вариант A: .deb пакет (Ubuntu/Debian)
wget https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.2_Linux_64bit.deb sudo dpkg -i arduino-ide_2.3.2_Linux_64bit.deb
Вариант B: Snap
sudo snap install arduino
Вариант C: Flatpak
flatpak install flathub cc.arduino.arduinoide
4. Установка поддержки ESP32 в Arduino IDE
- Открыть Файл → Настройки
- В поле "Дополнительные ссылки для менеджера плат" добавить:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json - Нажать ОК
- Инструменты → Плата → Менеджер плат...
- Найти esp32 → Установить esp32 by Espressif Systems
5. Прошивка
- Подключить ESP32
- Выбрать плату: Инструменты → Плата → ESP32 Arduino → [своя модель]
- Выбрать порт: Инструменты → Порт → /dev/ttyUSB0
- Нажать Загрузить
Если не прошивается (ручной режим загрузчика):
Зажать BOOT → нажать и отпустить EN → отпустить BOOT
6. Альтернатива: esptool (командная строка)
Установка:
pip install esptool
Или:
sudo apt install esptool
Или через snap:
sudo snap install espressif-esptool sudo snap alias espressif-esptool.esptool esptool sudo snap connect espressif-esptool:serial
Команды:
# Проверить подключение
esptool.py --port /dev/ttyUSB0 chip_id
# Стереть флеш
esptool.py --port /dev/ttyUSB0 erase_flash
# Прошить бинарник
esptool.py --port /dev/ttyUSB0 write_flash 0x0 firmware.bin
7. Полезное
Драйвер CH340 (если не работает):
sudo apt install linux-modules-extra-$(uname -r)
Список всех USB-устройств:
lsusb
Информация о порте:
dmesg | grep tty
Готово! Все команды проверены, работает.
Комментарии
Пока нет комментариев. Будьте первым!