# Cài đặt PlatformIO Core
pip install -U platformio
# Hoặc sử dụng Homebrew trên macOS
brew install platformio- Mở VS Code
- Vào Extensions (⌘+Shift+X)
- Tìm "PlatformIO IDE"
- Click Install
P5_Matrix/
├── platformio.ini # File cấu hình dự án
├── src/ # Thư mục chứa source code
│ └── main.cpp # File code chính (thay thế .ino)
├── lib/ # Thư mục chứa thư viện tự tạo
├── include/ # Thư mục chứa header files
└── .pio/ # Thư mục build (tự động tạo)
pio runpio run --target uploadpio device monitorpio run --target upload && pio device monitorpio run --target cleanFile platformio.ini đã được cấu hình với:
- Platform: espressif32 (ESP32)
- Board: esp32dev (ESP32 DevKit)
- Framework: Arduino
- Monitor speed: 115200 baud
- Upload speed: 921600 baud
Để thêm thư viện, uncomment và chỉnh sửa phần lib_deps trong platformio.ini:
lib_deps =
adafruit/Adafruit NeoPixel@^1.10.0
fastled/FastLED@^3.5.0Hoặc sử dụng lệnh:
pio pkg install --library "adafruit/Adafruit NeoPixel@^1.10.0"Nếu bạn sử dụng board ESP32 khác, thay đổi giá trị board trong platformio.ini:
[env:esp32dev]
board = esp32dev # ESP32 DevKit V1
# board = esp32-s3-devkitc-1 # ESP32-S3
# board = esp32-c3-devkitm-1 # ESP32-C3
# board = nodemcu-32s # NodeMCU-32SXem danh sách đầy đủ: https://docs.platformio.org/en/latest/boards/index.html#espressif-32
PlatformIO tự động phát hiện cổng, nhưng bạn có thể chỉ định cụ thể:
upload_port = /dev/cu.usbserial-0001
monitor_port = /dev/cu.usbserial-0001Xem danh sách cổng:
pio device list| Arduino IDE | PlatformIO |
|---|---|
.ino file |
.cpp file trong thư mục src/ |
Thư viện trong ~/Documents/Arduino/libraries |
Thư viện trong lib/ hoặc khai báo trong platformio.ini |
| Chọn board qua GUI | Cấu hình trong platformio.ini |
| Serial Monitor trong IDE | pio device monitor |
PlatformIO tự động phát hiện cổng ESP32 khi upload:
pio run --target uploadpio device listNếu PlatformIO phát hiện sai cổng, chỉ định cổng thủ công:
# Upload với cổng cụ thể
pio run --target upload --upload-port /dev/cu.usbserial-0001
# Monitor với cổng cụ thể
pio device monitor --port /dev/cu.usbserial-0001Dự án đã có sẵn 2 script tự động tìm cổng ESP32:
Upload code:
./upload.shMở Serial Monitor:
./monitor.shCác script này sẽ tự động tìm cổng ESP32 (usbserial, SLAB_USBtoUART) và thực hiện upload/monitor.
# Kiểm tra quyền truy cập (Linux/macOS)
sudo usermod -a -G dialout $USER
# hoặc
sudo chmod 666 /dev/ttyUSB0- Nhấn giữ nút BOOT trên ESP32 khi upload
- Thử giảm upload_speed xuống 115200
- Cài đặt driver CH340/CP2102 cho chip USB-to-Serial của board