桌上如果有好几块便宜的 ESP32,引脚和外设差不多,但任务不一样:一块只采温度,一块按阈值吸合继电器,一块把状态报到局域网。为每块板各维护一份固件,现场改任务就要分别编译、进下载模式、整包擦写。串口在复位时还会断,不好确认哪块板吃到了哪一版。
可以只烧一份固件,任务用 Lua 分开:
1. 固件只做一次。里面做 Wi-Fi、引脚和外设初始化,再在局域网留一个很小的 HTTP,能读当前脚本,也能写入新脚本。这块稳定之后,几块板用同一份固件,别跟着任务一起重刷。
2. 会变的任务写成 Lua。采样间隔、阈值、继电器条件放在脚本里。电脑上的 Agent 按板子下发:这块采温度,那块控继电器,不必为每台留一套工程。
3. 发完用同一个接口把板上的脚本读回来,对上了才算这块板已经换任务。只停在对话窗口里不算改完。
别省的地方:HTTP 只开在局域网,不要裸到公网;脚本里不要放密钥;请求加短超时;脚本写坏或拉不下来时,固件回到默认逻辑,板子还能动。分区方案要和 Flash 容量一致,选错会起不来。
想按这个方式让 Agent 驱动廉价板,搜 OnlyClaws。
可以只烧一份固件,任务用 Lua 分开:
1. 固件只做一次。里面做 Wi-Fi、引脚和外设初始化,再在局域网留一个很小的 HTTP,能读当前脚本,也能写入新脚本。这块稳定之后,几块板用同一份固件,别跟着任务一起重刷。
2. 会变的任务写成 Lua。采样间隔、阈值、继电器条件放在脚本里。电脑上的 Agent 按板子下发:这块采温度,那块控继电器,不必为每台留一套工程。
3. 发完用同一个接口把板上的脚本读回来,对上了才算这块板已经换任务。只停在对话窗口里不算改完。
别省的地方:HTTP 只开在局域网,不要裸到公网;脚本里不要放密钥;请求加短超时;脚本写坏或拉不下来时,固件回到默认逻辑,板子还能动。分区方案要和 Flash 容量一致,选错会起不来。
想按这个方式让 Agent 驱动廉价板,搜 OnlyClaws。
