今年AI Agent产品真是"神仙打架",一个比一个惊艳!
但在我心中,Cursor始终是YYDS!
端午节期间,我体验了一把Cursor带来的极致效率。
帮朋友搞定一个传感器校准系统,从两眼一抹黑到测试完成,搁平时少说得几天的活儿,硬是被它压缩到短短三小时搞定!
特别是里面那些我完全陌生的Modbus协议,全靠它力挽狂澜。
今天就掏心窝子分享下,我是怎么指挥Cursor这位AI大神完成这个项目的!
整个软件由三个选项卡组成,为参数设置、数据和校准模块。
参数设置界面:

数据界面:

校准界面:

主要有三大功能:
1、参数设置功能:
- 支持4个板卡的参数配置
- 每个板卡可设置:负载电阻、Rtia、偏置电压、Zero值
- 支持参数读写操作
2、数据采集功能:
- 实时采集12个传感器的数据
- 显示GAS(ppb)和电流值
- 自动保存到Excel文件
- 支持开始/停止控制
3、校准功能:
- 支持0点校准
- 支持量程点校准
- 可设置校准值
使用Python代码开发,基于Modbus RTU协议,支持串口通信。所有错误和状态信息在状态栏显示。
工具是帮朋友做的,我对这种Modbus协议一窍不通,对Python代码倒是还算熟悉,但是界面这块着实懒得自己去一点点写。
这种小工具虽然不难,自己要去调整布局,去熟悉协议,还有硬件的东西,纯手工搓一个还是要点时间的。
有了Cursor的支持,连编码带测试,三小时就搞定了。
下面分享一下整个的开发思路。
一、初始界面设计
我是一个比较懒的人,对这种界面开发基本上不会一上来就是整个很复杂的提示词,把所有功能都写上去。
一来程序很容易出错,二来一上来就把需求描述清楚也不是一件很容易的事情,三是一下子代码量太大其实是不容易修改的。
1、初始界面设计
使用python写一个软件,需要三个选项卡,内容可以先显示hello1、hello2、hello3就行。
然后丢给他一个参考图片:


这就是初始出来的一个界面,带有三个选项卡,三个选项卡显示Hello1、hello2、hello3。

可以看到整体界面出来了,然后让Cursor去调整界面布局大小就行了。
二、参数设置界面设计
整体框架出来以后,就可以设计第一个选项卡的界面。
我的思路一般是先完成界面,再实现具体功能。
最好的方式是你用纸把大概轮廓画下来,然后文字描述一下,就可以实现初识界面设计了。

我现在的程序是一个纯demo,现在把参数设置选项卡的界面设置如图所示。主体是部分,第一块是选择端口的一个下拉框,连接设备按钮,断开连接按钮。第二部分是四个班子,每个班子可以设置负载电阻、Rtia、偏置电压、Zero值,还有读取参数和写入参数两个按钮。四个板子界面布局一样。第三部分是状态栏,我的异常数据或发送数据在状态栏显示。
把图片和这段需求扔给Cursor就行了。有点错别字什么的真的无所谓,相信Cursor理解能力超强的。

下图是第一次设计的界面,有点丑,布局也不合理,接下来的事情就是调整整个界面的布局了。

通过文字描述直接用嘴来改代码,直到满意为止。

四个板子是通过循环来布局的,要是我自己写,搞不好就是写四段代码,用最傻的方式,哈哈哈。
ini
# 板卡参数设置区(居中,分两行两列)
boards_frame = tk.Frame(self)
boards_frame.pack(expand=True)
for i in range(4):
row = i // 2
col = i % 2
board = tk.LabelFrame(
boards_frame, text=f"板卡{i+1} 传感器 {i*3+1}-{i*3+3}",
padx=18, pady=18, font=("微软雅黑", 12, "bold"), labelanchor="n", relief="groove", bd=3
)
board.grid(row=row, column=col, padx=40, pady=25, sticky="n")
entries = self.add_board_controls(board, i)
self.board_entries.append(entries)
# 让板卡区整体居中
boards_frame.grid_rowconfigure(0, weight=1)
boards_frame.grid_rowconfigure(1, weight=1)
boards_frame.grid_columnconfigure(0, weight=1)
boards_frame.grid_columnconfigure(1, weight=1)
界面满意后,开始实现按钮的功能,每个板子都有读写参数。
界面主要是读取参数和写入参数的功能,可以先让Cursor写个模拟函数出来。

测试后开始真正的功能实现。
描述需求再把发送数据的命令截了个图一起发给Cursor。
我要给一个板子发数据去读取参数,发送数据如图,发送命令是符合modbus rtu协议

第一次建议我自己组装数据,但是我也是不很懂这些,而且自己组装很麻烦,所以问有没有现成的库。
Python的第三方库还是很丰富的。
多块板卡,再去自己计算这些数据格式转换,太麻烦了。
是要多块板卡,有现成的协议库吗,支持mobus rtu的,不用自己去组装数据格式

推荐安装pymodbus库,还贴心的把安装命令给出来了。
第三方库安装后,就可以直接实现读写参数按钮的功能了。

运行调试,第一次给出的modbus库是python2的用法,报错后直接给到Cursor就行了。

剩下的事情就是把具体的读写参数命令调试正确就行了。
然后读取参数自动回显到界面,写参数每次写两条命令,这些就是业务相关的事情了。
只需要把业务需求说明白。

我在测试的时候找了一个Modbus的调试助手,在这里测通了就去截图给Cursor。

现在需要修改写板卡的函数,图片是我在其他软件测试的数据。当板卡1写数据的时候,要发送两次命令,第一次命令地址为1,第二次命令地址为2

如果遇到异常,可以增加调试信息,把发送的命令打印去排查故障,看看是不是按照业务需求去写入的数据。

三、数据界面设计
整体逻辑与上个界面相似,先实现界面,再实现功能。
给了一个参考图。

现在开始做选项卡2数据的界面,参考那个图片做成一个表格,表头为ID、GAS(ppb)、电流值(uA)。ID值为1开始到12结束

先发送单条命令读取数据。

让Cursor自动解析传回来的数据并显示到界面。


最后每5秒循环发送数据,实时显示,保存到Excel文件,直到点击结束按钮退出循环。
最后完成一个小功能点,点击开始按钮的时候变绿,点击结束按钮的时候变红,让用户明确直到当前状态。

四、校准界面设计
先实现界面。我发现自己经常打错字,按钮打成了安妮,丝毫不影响Cursor识别。

逐步实现两个按钮的功能点。只需要需求说明白,自动构造数据格式,不用自己费劲描述和组装了,标准协议还是香。

完成后如果不理解,还可以直接让Cursor出个流程图,帮助自己更好的理解代码。

这次用Cursor三小时搞定的传感器校准系统,确实让我再次感受到了它的强大 。
所以说,Cursor这工具,真是让我又爱又很啊。
爱它,是因为它用起来太爽了,效率高得惊人。以前觉得头疼的活儿,比如搞不太熟的图形界面或者琢磨通讯协议,在它帮助下,思路一下子就清晰了,实现起来也快多了。感觉就像身边多了个啥都懂、反应还特快的大神同事,你刚比划两下,它就知道你要啥,还能帮你写出来,这种感觉谁不爱呢?
恨它,也正是因为它太好用了。以前要好几天才能磨出来的东西,现在可能三小时就搞定,那"码农"的价值在哪儿呢?偶尔想到这个,确实会有点儿焦虑,饭碗问题不是开玩笑的嘛。
不过话说回来,技术总是在进步的。
也许以后程序员的角色会慢慢转变,从埋头吭哧吭哧敲代码,变成更多地去思考整体设计,去指挥这些AI工具来完成更复杂、更有创造性的工作。