You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CI环境下为ESP8266构建包含自定义脚本的Custom Micropython固件

ESP8266 MicroPython自定义固件自动化构建方案

完全可以把自定义脚本直接内置到固件中,串口烧录后即可直接使用,整个流程可完全对接GitHub CI实现全自动化生成.bin固件。

核心原理

MicroPython构建固件时会自动将对应端口目录下modules文件夹中的所有Python脚本、资源文件打包进固件的只读文件系统,设备上电后可直接导入、运行内置脚本,不需要再经过串口上传代码的步骤。

本地构建验证操作步骤

  • 克隆官方MicroPython仓库,切换到你需要使用的稳定版本分支
  • 编译mpy-cross交叉编译工具:make -C mpy-cross
  • 将所有自定义Python脚本拷贝到ports/esp8266/modules/目录下,若需要设备启动后自动运行自定义逻辑,直接将入口脚本命名为main.py放入该目录即可
  • 进入ESP8266端口构建目录:cd ports/esp8266
  • 依赖环境配置完成后执行构建命令:make BOARD=GENERIC
  • 构建完成后生成的固件路径为build-GENERIC/firmware.bin

GitHub CI自动化适配

直接使用MicroPython官方提供的构建容器作为CI运行环境,无需手动配置依赖,CI流程核心步骤如下:

  • 检出指定版本的MicroPython源码到工作区
  • 检出你的自定义脚本仓库到临时目录
  • 将所有自定义脚本拷贝到ports/esp8266/modules/路径
  • 执行make -C mpy-cross编译交叉编译器
  • 执行make -C ports/esp8266 BOARD=GENERIC生成目标固件
  • 上传生成的firmware.bin作为CI产物,每次代码提交后自动触发构建即可

注意事项

  • 若自定义代码依赖第三方MicroPython库时,将对应库文件一同拷贝到modules目录即可
  • 内置脚本默认只读,需要运行时修改的配置数据建议单独存放在flash的可读写分区,不要修改内置脚本
  • 若需要调整底层启动逻辑,可直接修改对应端口的源码后一同构建,同样支持自动化流程

内容的提问来源于stack exchange,提问作者Spock

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:09:00