最终无人机方案使用ESP32S3+arduino平台,使用vscode+platformIO环境进行开发的,光是决定这个配置环境就用了很久,不过好在环境配置比ESP-IDF方便多了。
文件结构:
基本是最简结构了,因为需要网页,要不连data都不需要。
project_folder/
├── main.cpp
├── platformio.ini
├── libs/ # 项目库文件夹
│ ├── a/
│ │ ├── a.h
│ │ └── a.cpp
│ └── b/
│ ├── b.h
│ └── b.cpp
├── data/ # SPIFFS/LittleFS文件系统数据
│ └──index.html
└── README.md # 说明文档
platformio.ini配置:
platformio.ini
[env:esp32s3]
platform = espressif32
board = freenove_esp32_s3_wroom //使用esp32_s3_wroom系列最好配置这个板,不然会默认没有psram,有些需要psram的模块会报错
framework = arduino
monitor_speed = 115200
board_build.flash_size = 16MB
build_flags =
-D CAMERA_MODEL_OV3660
-DBOARD_HAS_PSRAM
-mfix-esp32-psram-cache-issue
-D ARDUINO_USB_CDC_ON_BOOT=1 //这里巨坑,USB模拟串口,如果使用原生usb调试,这里必须配置为1,不然监视器会收不到串口数据
烧录部分(platformio使用指令烧录比较简单):
//代码烧录
pio run --target upload
//文件系统烧录
pio run --target uploadfs
当然,最简单还是用按钮(烧录代码和文件都需要进下载模式,但代码烧录后会自动退出下载模式,嗯~~总之还是是挺麻烦的):