如何通过Arduino-cli将数据文件夹上传至ESP8266的SPIFF存储器?
解决Arduino-cli上传ESP8266 SPIFFS数据文件夹的方法
1. 验证ESP8266核心及SPIFFS工具状态
- 运行
arduino-cli core list,确认已安装esp8266:esp8266核心 - 未安装的话执行:
arduino-cli core install esp8266:esp8266 - ESP8266核心默认集成SPIFFS上传工具,无需额外安装
2. 规范项目文件结构
- 数据文件夹必须命名为
data,且与.ino主文件同目录,示例结构:my_esp_project/ ├─ my_esp_project.ino └─ data/ ├─ static.html └─ settings.json
3. 生成SPIFFS镜像文件
- 进入项目根目录,执行编译命令生成镜像(替换
<你的板子型号>为实际型号,如nodemcuv2):arduino-cli compile --fqbn esp8266:esp8266:<你的板子型号> --spiffs
(新版ESP8266核心支持--spiffs参数直接触发SPIFFS镜像生成) - 若旧版核心不支持
--spiffs,需手动指定SPIFFS相关编译属性:arduino-cli compile --fqbn esp8266:esp8266:nodemcuv2 \ --build-property "build.spiffs_start=0x300000" \ --build-property "build.spiffs_end=0x400000" \ --build-property "build.spiffs_pagesize=256" \ --build-property "build.spiffs_blocksize=8192"
4. 上传SPIFFS镜像
- 直接用
--spiffs参数上传(适用于支持该参数的核心版本):arduino-cli upload --fqbn esp8266:esp8266:nodemcuv2 --spiffs - 手动指定镜像文件上传:
先找到生成的spiffs.bin(默认在.build/esp8266:esp8266:<你的板子型号>/目录下),执行:arduino-cli upload --fqbn esp8266:esp8266:nodemcuv2 --input-file ./path/to/spiffs.bin - 若串口端口未自动识别,手动指定端口:
arduino-cli upload -p /dev/ttyUSB0 --fqbn esp8266:esp8266:nodemcuv2 --spiffs
5. 常见问题排查
- 串口权限问题(Linux/macOS):将当前用户加入
dialout组,执行sudo usermod -aG dialout $USER后重启终端 - 核心版本过旧:更新核心索引并升级:
arduino-cli core update-indexarduino-cli core upgrade esp8266:esp8266 - 镜像生成失败:检查
data文件夹内是否有特殊文件名或过大文件,SPIFFS有容量限制,需匹配你的板子Flash大小
内容的提问来源于stack exchange,提问作者user19930844
相关产品推荐
相关产品推荐

