Codex开发嵌入式教程:使用AI为LVGL开发板编写贪吃蛇游戏并自动测试
Codex开发嵌入式教程:使用AI为LVGL开发板编写贪吃蛇游戏并自动测试
SEO关键词:Codex教程、Codex嵌入式开发、LVGL教程、贪吃蛇游戏开发、Codex Computer Use、AI开发嵌入式、开发板UI测试、Codex下载
大家好 这里是「代码简单说」,欢迎大家关注同名公众号,不定时更新更多实用有趣的教程 也欢迎大家在评论区一起讨论交流!~
很多人都在用 Codex 写 Web 项目、写 Python 脚本,但如果让它开发嵌入式项目,甚至自己运行程序、自己测试功能,它还能不能胜任?
今天就通过一个真实案例,带大家体验一下:
使用 Codex 为 LVGL 开发板开发一款贪吃蛇游戏,并利用 Computer Use 功能自动测试游戏。
最终测试结果既有惊喜,也暴露出了目前 AI 智能体的一些局限性。
一、准备工作
1. 下载Codex客户端
下载地址:
Codex客户端下载:
| 软件 | 下载地址 |
|---|---|
| Codex Desktop | https://codexdown.cn/ |
安装完成后登录自己的 OpenAI 账号即可。
2. 准备LVGL项目
本次测试使用的是一块嘉立创 SMT 制作的开发板。
硬件配置:
- 3.5寸电容触摸屏
- LVGL图形库
- 支持触摸操作
- 支持电脑端UI模拟器
项目已经完成了UI架构设计。
通过UI与硬件驱动解耦,实现了:
UI代码 ↓ LVGL ↓ 模拟器运行这样开发UI时无需反复烧录开发板。
直接在电脑端即可调试。
二、开启Codex电脑操控功能
想让 Codex 自动测试程序,需要开启 Computer Use。
进入:
Settings ↓ Computer Use ↓ Allow control of any application打开:
Control Any Application开启后 Codex 可以:
- 查看屏幕内容
- 控制鼠标
- 控制键盘
- 操作桌面程序
这一步非常关键。
否则它只能修改代码,无法实际测试程序。
三、向Codex下达开发任务
直接向 Codex 描述需求:
请在当前LVGL项目中新增一个贪吃蛇游戏。 要求: 1. Home页面新增贪吃蛇卡片 2. 点击进入贪吃蛇页面 3. 支持上下左右滑动控制方向 4. 显示当前积分 5. 游戏结束提示 6. 按照当前项目UI架构开发 7. 使用UI模拟器进行测试 8. 测试完成后烧录到开发板随后 Codex 开始分析项目。
四、Codex如何开发贪吃蛇
首先它会阅读项目代码。
例如:
ui/ pages/ components/ events/了解项目架构后开始规划实现方案。
整个过程基本不需要人工干预。
Codex完成了:
新增首页入口
Home Page:
天气 设置 音乐 系统信息 贪吃蛇新增一个游戏卡片。
新增游戏页面
创建 Snake 页面。
负责:
- 游戏区域绘制
- 分数显示
- 游戏逻辑
- 游戏结束处理
实现滑动控制
利用 LVGL 事件系统监听:
LV_EVENT_GESTURE识别:
向上滑 向下滑 向左滑 向右滑然后修改蛇的移动方向。
实现定时刷新
使用:
lv_timer_create()定时更新:
蛇的位置 食物位置 碰撞检测 积分统计整个贪吃蛇功能大约三百多行代码。
代码生成速度非常快。
五、让Codex自动测试游戏
代码完成后。
接下来进入最有意思的环节。
让 Codex 自己测试自己写的程序。
首先运行:
UI Simulator启动电脑端模拟器。
第一次测试
Codex发现:
主页出现了贪吃蛇入口随后开始控制鼠标。
点击:
Snake成功进入游戏。
此时鼠标会变成蓝色发光状态。
说明当前电脑已经被 Codex 接管。
测试结果
Codex能够识别:
游戏已经启动 蛇开始移动 撞墙死亡但是有一个问题。
它尝试通过鼠标模拟:
上滑 下滑 左滑 右滑控制方向。
结果失败了。
六、Codex开始自主排查问题
发现方向无法改变后。
Codex没有立即放弃。
而是开始分析原因。
它怀疑:
滑动事件代码有问题于是重新修改逻辑。
重新编译。
重新启动模拟器。
再次进入测试。
整个过程完全自主完成。
第二轮测试
重新进入游戏。
继续测试滑动事件。
结果依然失败。
Codex不断尝试:
向左拖动 向右拖动 向上拖动 向下拖动但方向始终没有变化。
经过多轮测试。
Codex最终得出结论:
程序逻辑可能没有问题问题可能出现在:
Computer Use对于触摸屏手势的模拟能力不足。
七、烧录到开发板实测
既然模拟器测试存在问题。
那就直接烧录到开发板。
Codex完成编译后。
执行烧录命令:
Build ↓ Flash ↓ Download程序成功写入开发板。
开发板测试
进入:
首页 ↓ 贪吃蛇开始测试。
实际滑动效果:
向上滑 ✔ 向下滑 ✔ 向左滑 ✔ 向右滑 ✔全部正常。
说明:
代码没有问题问题确实出在 Computer Use 对触摸滑动的模拟能力上。
八、为什么推荐使用模拟器开发LVGL
这次测试还有一个额外收获。
那就是:
开发效率大幅提升
传统流程:
修改代码 ↓ 编译 ↓ 烧录 ↓ 测试每次都要等待。
模拟器流程:
修改代码 ↓ 编译 ↓ 直接运行省去了烧录步骤。
效率提高很多。
而有了 Codex 之后。
又增加了一个新的玩法:
Codex写代码 ↓ 启动模拟器 ↓ 自动测试 ↓ 修复问题 ↓ 再次测试形成完整闭环。
这也是未来 AI 开发嵌入式的重要方向之一。
九、目前Codex在嵌入式开发中的优缺点
优势
1. 理解项目速度快
能够快速阅读现有代码架构。
理解页面关系。
2. 编写LVGL代码能力不错
对于:
- 页面开发
- 定时器
- 事件系统
- UI逻辑
都有较好的理解。
3. 可以自主测试
不仅会写代码。
还能:
- 编译
- 运行
- 点击按钮
- 检查结果
形成完整开发流程。
4. 能自主排查问题
出现异常时会主动分析原因。
尝试修复。
而不是简单报错结束。
不足
1. 操控速度较慢
每一步都会进行思考。
因此:
点击 等待 分析 继续点击整个过程比较耗时。
2. 触摸模拟能力不足
本次测试中最大的短板。
对于:
拖动 滑动 多点触控 手势识别支持仍然有限。
3. 部分场景仍需人工验证
尤其涉及:
- 硬件外设
- 触摸屏
- 传感器
- 蓝牙
- 串口
最终还是需要真机测试。
十、总结
通过这次实测可以看到,Codex 已经能够参与嵌入式项目开发的完整流程:
阅读代码 ↓ 新增功能 ↓ 编译项目 ↓ 启动模拟器 ↓ 自动测试 ↓ 烧录开发板整个贪吃蛇功能仅用数百行代码便完成实现,并成功运行在 LVGL 开发板上。
不过目前 Computer Use 对触摸手势的模拟还存在明显限制,导致滑动操作测试失败,需要人工进行最终验证。
但即便如此,Codex 展现出来的能力已经非常接近真正意义上的 AI 开发助手。
未来随着 Computer Use 持续升级,也许真的能够实现:
AI 编写代码 → AI 自动测试 → AI 自动修复 → AI 自动部署
完整的软件开发闭环。
如果你也在使用 LVGL、STM32、ESP32 等嵌入式平台,不妨亲自体验一下 Codex 的能力,或许会有意想不到的收获。
Codex客户端下载:
| 软件 | 下载地址 |
|---|---|
| Codex Desktop | https://codexdown.cn/ |
如果后续还想看 Codex 开发 STM32、ESP32、物联网项目、机器人项目等实测内容,欢迎关注「代码简单说」,后面继续测试 AI 在嵌入式开发领域的能力边界。
