[Al] 【瑞萨AI开发帖】4 不会写 GUI 也行:AI 帮我做专用串口调试工具实录

[复制链接]
75|0
韶华倾负 发表于 2026-8-28 15:09 | 显示全部楼层 |阅读模式
, , , ,
本帖最后由 韶华倾负 于 2026-8-28 15:29 编辑

一、这篇帖子和前几篇什么关系
        前几篇我主要写的是:
  • 拿到 瑞萨无线模块评测资料包 后,怎么接线、怎么认引脚、怎么发第一条 AT
  • Wi-Fi 模块 AT+ 能列出一大串命令,但 BLE 那边一度完全没反应
  • 用 AI 查资料、对原理图、排故障

        这篇帖只是记录「我怎么用 AI 做工具」的过程,方便同样拿到板子的朋友少走弯路。

二、为什么要做这个 exe
资料包里其实是两套完全不同的东西:
978426a91313233125.png 101726a913174130b2.png
用串口助手可以调,但有几个痛点:
  • Wi-Fi 指令太多,AT+WFJAP 参数记不住
  • 扫描 Wi-Fi 返回几十行 +WFSCAN,手抄 SSID 容易错
  • BLE 和 Wi-Fi 固件不同,选错型号就像「模块坏了」
  • 透传数据不是 AT,和配置指令混在一起很难测
  • 一些指令有前置条件(比如没连 Wi-Fi 就查 RSSI,必报 ERROR:-1)

所以我给 AI 的需求很明确:
  • 做一个单文件 exe,不依赖 Python 环境;先选 BLE / Wi-Fi,再选型号;左侧点按钮发 AT,右侧看日志;Wi-Fi 扫描要能点选网络、输密码自动连;界面尽量好看。
  • 工程最终放在桌面:WirelessModuleAT,和日常工作区分开。

三、硬件调试阶段(8/27):AI 帮我把坑踩明白
        在写软件之前,我和 AI 先折腾了一整天硬件,典型问题如下。
1. 两款模块搞混了
Wi-Fi 上电发 AT+,能刷出上百条命令——说明 DA16200 已经通了。
BLE 发 AT? 一直没应答,手机也扫不到广播。
AI 翻资料包后指出:BLE 是欣瑞利透传固件,不是 Wi-Fi 那套 AT;PMOD 外形一样,但固件可能是 CodeLess,测试命令也不同。

2. D1 常亮 ≠ TX/RX 接反
        对照 PMOD 原理图 才知道:D1 接在 CONNECT 脚上,表示 BLE 是否连接,不是收发指示灯。

3. 「收发一样」其实是模块把命令原样吐回来
        有一段时间日志里 TX AT? 和 RX AT? 一模一样。起初怀疑回显,后来确认:去掉 RX 或 TX 任一就不通了,说明链路是通的,只是当时模块/固件状态不对。

4. 无广播 + 无启动打印 → 优先查供电
        转串口自环正常,但模块上电无打印、手机搜不到 BLE。AI 判断:射频和 UART 都没在跑,更像供电/跳线/固件问题,而不是波特率。

关键检查项:
  • J3 跳线是否用外部 VCC,而不是只靠纽扣电池
  • LPR 不能悬空
  • USB 转串口选 3.3V,TX/RX 交叉

5. 后来 BLE 终于通了
        换线、确认供电和跳线后,透传模块在 115200 下 AT? 能回 AT,DEVICE_NAME:superflyBLE 也能看到——但程序里最初默认写成了 38400,这是后面软件还要改的原因之一。

四、让 AI 写 exe:从 v1.0 到 v1.7 的迭代
        8/28 上午我正式下单给 AI:做 GUI + 打包 exe。之后不是「一次做完」,而是我测、截图、提需求,AI 改代码、重新 PyInstaller 打包。大概经历了这些版本:
217606a9132b50c995.png
        几个我觉得「AI 真帮上忙」的细节
1. Wi-Fi 扫描不是等一整包返回
最早扫描弹窗经常空着,或者日志里有很多 +WFSCAN 但列表只有 1 条。AI 改成:边收边解析、弹窗实时刷新、收到 OK 且静默一段时间才结束。这个如果自己写 pyserial,很容易踩坑。

2. 错误码不要只显示红色一行
DA16200 的 ERROR:-1 官方含义是「未知命令」,不等于「没连 Wi-Fi」。AI 加了橙色 「解析」 行,并结合上一条发送的命令给建议——这是典型把手册知识写进工具的场景。

3. 指令守卫(Guard)
我截图说:点「信号强度」应该先查连接状态。AI 做了通用机制:点按钮 → 自动发前置 AT → 条件满足再发真正的命令。这个思路后面 Wi-Fi 多个功能都复用了。

4. BLE 透传和 AT 分离
透传测试时我发现:手机、电脑互发都收不到。AI 解释 AT+ADV=1 只是广播,不等于已连接;透传数据不能以 AT 开头。于是 v1.7 加了独立 透传发送框,和左侧 AT 配置分开。

5. 固件差异写进配置,而不是写死在界面
同样是 PMOD 外形,实际可能是 Superfly 透传固件。AI 在快速测试时会提示:你选的是 CodeLess,但收到的是透传响应,请改选「透传模块」——这种「根据回显纠偏」很实用。

五、最终工具长什么样
103056a9132dd8b082.png
基本流程:
  • 打开 exe → 选 BLE 或 Wi-Fi
  • 选型号(透传 / PMOD / DA16200)
  • 选 COM、波特率 → 连接 → 快速测试
  • 左侧点功能;右侧看 TX/RX 日志

Wi-Fi 侧亮点:
448256a9132ff3eb99.png

  • 扫描 Wi-Fi → 列表点选 → 输密码 → 自动 AT+WFJAP
  • 2.4G / 5G / 隐藏网 / 信号强度筛选
  • 连上后查 IP、DNS、Ping 网关或 8.8.8.8
  • MQTT 配置入口(进阶)



BLE 侧亮点:

671266a91331714d34.png

  • 欣瑞利手册里的 AT 基本全覆盖
  • 广播开关、广播间隔、连接间隔、名称、波特率、发射功率:查询 / 设置
  • 少选项用下拉,数值参数带范围(如广播间隔 20~10000 ms)
  • 鼠标悬停看参数说明
  • 底部 透传数据 输入框(非 AT)



工程目录(方便以后继续让 AI 改):
  1. D:\6438\Desktop\WirelessModuleAT\
  2. ├── WirelessModuleAT.exe      ← 日常使用
  3. ├── main.py
  4. ├── app\
  5. │   ├── config.py             ← 型号、指令表
  6. │   ├── ble_superfly.py       ← BLE 参数定义
  7. │   ├── dialogs.py            ← Wi-Fi 扫描等弹窗
  8. │   ├── serial_manager.py
  9. │   └── error_codes.py
  10. └── build.bat
        我也问过 AI:只有 exe 没有源码,以后改界面会不会麻烦? 结论是——功能一样,但保留源码目录,后续迭代会轻松很多。现在每次我提需求,AI 改 .py 再打包覆盖 exe 即可。

六、和 AI 协作的一点体会(给想抄作业的朋友)
1. 我最开始问的是「你能不能保证完成」
        AI 很诚实:不能保证你板子一定亮,但在资料包 + 原理图 + 你反馈的现象/截图 足够时,排障路径和工具代码可以很快出来。真正卡住的是硬件:供电、跳线、固件是否烧对。

2. 有效提问方式
低效:「扫描不行,修一下。」
高效:贴截图 + 日志 + 「日志里有 20 条 WFSCAN,弹窗只有 1 条」。
我这一天发了大量截图,AI 才能精确定位是扫描结束条件太早、WFJAP 只等了 OK、还是 COM 没释放。

3. AI 适合做什么、不适合做什么
957106a91337adc102.png
4. 「从整个系统出发」这句话很重要
        我有几次只说「改 Wi-Fi」,AI 会只改 Wi-Fi;后来我明确说:错误解析、串口释放、日志颜色要全模块一致,后面版本就统一了。和带新人一样——要说清边界。

5. 关于「发新消息会不会打断 AI」
        实测(Cursor 里):新消息会进入下一轮对话,正在跑的工具调用可能被打断,但上下文会保留。我当天的做法就是:一个问题验证完再发下一个,避免多个 bug 搅在一起。
        这和使用codex桌面端不同,codex桌面端是可以选择引导对话的,可以作为附加条件。

七、目前还遗留的功能
  • BLE 透传双向:工具侧已经能发,手机要能收到,仍需手机 App 先连接 superflyBLE,不是只扫到广播。
  • DA16200 不支持 AT+WFRSSI:已用扫描匹配 RSSI 兜底,但不是实时值。
  • 原理图按钮依赖本机资料包路径,换电脑要改配置。
  • 还没做:十六进制透传、连接状态指示灯读取等——有需要可以继续让 AI 加。

八、小结
这篇帖想表达的是:
        瑞萨这套无线模块评测,AT 调试本身不难,难在「两款模块、三套固件、一堆前置条件」。我没有从零手写 C#/Qt,而是把资料包丢给 AI,用自然语言描述「我想要什么样的调试体验」,一天之内迭代出一个能用的专用 exe。硬件问题(供电、跳线、固件选型)仍然要自己动手;AI 更像一个 24 小时在线、能读 PDF、能改 Python 的搭档。
        如果你也在跟 评测帖 做 DA14531 / DA16200,建议路径是:
  • 先用串口助手确认「是哪款固件、波特率多少」
  • 再考虑要不要做图形化工具
  • 若用 AI 写工具,一定要保留源码 + 小步迭代 + 多截图反馈

        我今天向 AI 提过的主要需求关键词(方便检索)
  • 引脚 / TX RX / LPR / CONNECT / D1
  • 做 exe、单文件、不依赖环境、放桌面
  • 日志按行、颜色、ERR 红色、OK 绿色
  • Wi-Fi 扫描实时弹窗、刷新、2.4G/5G 筛选、隐藏网络置底
  • 错误码解析、WFSTAT 前置检查、WFJAP 等 +WFJAP
  • 卡片可点、异步连接、COM 自动释放
  • Ping、原理图、波特率 115200、透传 vs PMOD
  • BLE 全指令、参数下拉/输入、悬停提示、透传发送框
        因为只能上传小于20M的附件,这已经超出大小了,后面将通过链接的方式分享出来,欢迎大家体验给出建议,也欢迎大家魔改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

70

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0