CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

制作 NodeMCU ESP32 自定义固件

最近尝试在 Mac 下制作 nodemcu ESP32的自定义固件本文就来介绍 nodemcu ESP32自定义固件的编译、烧写、测试的全部过程准备固件源码包从 nodemcu-firmware 官方仓库下载最新代码,切换到 dev-esp32分支,更新子模块(submodule):。

git clone https://github.com/nodemcu/nodemcu-firmware.git git checkout dev-esp32 git submodule update –recursive注意,dev-esp32分支才是适用于 ESP32的代码,一定要切换过来仓库的子模块非常多,下载比较慢,要耐心等待

准备构建工具官方目前提供了3 种构建工具:云构建、docker 构建和 Linux 本地工具链构建。

目前 esp32的云构建勾选 u8g2选项会报错,而安装本地工具链又比较麻烦,所以这里选用 docker 构建方式这里一次性把所有依赖工具都装好,后面的步骤就可以直接用了:下载 docker 镜像:docker pull marcelstoer/nodemcu-build下载固件烧写工具:pip install esptool下载命令行串口工具:brew install minicom官方步骤参考 https://hub.docker.com/r/marcelstoer/nodemcu-build/#build-for-esp32。

生成构建配置熟悉 make 的人应该知道,大项目源码构建一般会有 make menuconfig 和 make 两个阶段第一个阶段生成配置文件,第二个阶段执行编译nodemcu 固件构建也是两段式的:先生成配置文件,再执行编译。

确保自己在固件源码包的一级目录内,执行:docker run –rm -ti -v pwd:/opt/nodemcu-firmware marcelstoer/nodemcu-build configure-esp32意思是把当前目录的内容挂载到 docker 容器的/opt/nodemcu-firmware 目录,并进入容器内的交互命令行,执行 configure-esp32指令。

执行完后,就可以进入到 menu-config 配置界面。按自己的需求勾选选项即可。

如果不知道 docker 参数的作用,参考:Docker 容器使用菜鸟教程开始构建保持终端在 docker 容器内,执行:build-esp32这时候会进入超长的编译过程,要耐心等待编译完成后,可以看到终端打印的提示文案:。

但是这个烧写提示指示的文件路径是 docker 容器内的,要适当修改后在容器外执行烧写固件回到宿主机环境(退出 docker 容器),确保自己在固件源码包的一级目录内,然后按照 docker 内的烧写提示执行:。

esptool.py –chip esp32–port /dev/cu.usbserial-0001–baud 115200–before defaultreset –after hardreset writeflash -z –flashmode dio –flashfreq 40m –flashsize detect 0x1000 build/bootloader/bootloader.bin 0x10000 build/NodeMCU.bin 0x8000 build/partitions.bin一共要写入3 段二进制文件:

build/bootloader/bootloader.bin:启动引导程序镜像build/NodeMCU.bin:系统镜像build/partitions.bin:分区镜像注意区别仅在于 bin 文件路径,例如/opt/nodemcu-firmware/build/bootloader/bootloader.bin 变为 build/bootloader/bootloader.binMac 下,usb2serial 驱动模拟的串口设备路径一般是/dev/cu.*,ls 一下很容易找到

烧写成功后可以看到提示:

开机测试esptool 脚本执行烧录结束后,会自动重启 nodemcu现在来验证下刚刚的固件能否正常运行这里用 minicom 打开串口:minicom -D /dev/cu.usbserial-0001如果能看到 nodemcu 回传的系统信息以及 lua 交互命令行,则表示固件制作成功了:。

采坑点ImportError: No module named setuptoolsdocker 内执行的时候有可能出现 ImportError: No module named setuptools 错误:

解决:Bullding for ESP32 fails: setuptools missing Issue #86 marcelstoer/docker-nodemcu-build

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容