夜雨聆风学习资料网

ARTICLE · 1084309

树莓派又访问不到了?AI 直接做了个工具,让我别小事都去烦它

树莓派又访问不到了?AI 直接做了个工具,让我别小事都去烦它

前几天给树莓派挪了个位置,重新通电。

ssh 敲上去,回来一行 refused。

不是坏了,是 IP 又变了。路由器重新分配地址,全凭运气。于是只能扫一遍局域网,在一排乱码一样的 MAC 地址里,把树莓派认出来。

一次两次还好,每周来一次,就挺烦。

我想要的东西很简单:一个窗口,点一下按钮,家里连网的设备一条条列出来,树莓派那行标个颜色,双击复制 IP,粘贴,回车,结束。

为了这个小工具专门去学一遍 SwiftUI?我懒。所以我把它交给了 WorkBuddy。

从前五步,现在三步

01我只负责说清楚要什么

我把要求说清楚,顺手丢过去两张界面设计稿。第一版就能跑:窗口开得起来,按钮有反应,表格里出现了设备。

然后是三轮返工。这三次返工,是整个过程最真实的部分。

02扫了半天,只找到 1 台设备

家里连着七八个东西,表里孤零零一行。

原因:它判断设备在不在,靠的是去连对方的 22 和 80 端口。手机、电视、摄像头根本不开这些口,明明在线,却被判成不存在。

加端口,补 ping。第二轮实测,设备数从 1 台变成 8 台。

还揪出一个隐蔽 bug:读 MAC 地址时按固定长度截字符串,碰上省略前导零的写法就会截错,整行厂商信息跟着丢。这种问题肉眼几乎看不出来,得把每层输出都打到日志里才能定位。

03界面被挤坏了

表格想自动撑满剩余高度,和底部状态栏抢地方,把状态栏挤出了窗口。

修法是反过来:不给它自由,给它固定高度。

类似的坑还有几个:想要横向进度条,系统自带的是个转圈菊花;按钮想改背景色,得背景色、文字色、圆角三样拼出来。

都不是什么大问题,但没有亲手做过的人,一个都绕不过去。

04最后的样子

成品是个 700×450 的窗口,跟 Mac 自带的程序长得没差别。

打开就自动填好网段,点一下按钮开始扫,进度条实时走。表格五列:IP、MAC、厂商、设备类型、在线状态。底部一行小字:发现 N 台设备。

254

个地址一次扫完

19.6s

实测耗时(254/254)

不认识的厂商,它会老实显示一个横杠,IP 和在线状态照样给。

扫完 254 个地址,发现 7 台设备,耗时 19.6s

05做完之后,我对 WorkBuddy 改观的四点

AI 写代码不新鲜,让我意外的是这些。

第一,我全程没打开过代码编辑器。只做了三件事:说清楚要什么、看对不对、指出哪里不对。这几件事,不会写程序的人也能干。

第二,迭代按秒算。每轮重编译出新版本,快则几百毫秒。你可以像挑剔的产品经理一样提意见,不用心疼重来的成本。

第三,它把踩过的坑存下来了。做完之后,所有问题被整理成本地的可复用笔记:哪个接口用不了、用什么替代、MAC 有哪几种格式。下次再做类似的东西,它不用重新撞墙。

大多数人用 AI 是一次性的,答案拿走,过程蒸发。这次,过程留下来了。

第四,产出是真的独立 App。不到 15MB 一个文件,双击就开,不装 Node、不配环境,拷到别的 Mac 照样能用。它不是一个网页,也不是跑在别人服务器上的 Demo,它是 Dock 里的一员。

06两句提醒

这类工具只适合扫自己的网络,别拿去扫公司或别人的。新版 macOS 对本地网络多了一层授权,扫出来一片空白的话,去「系统设置 → 隐私与安全性 → 本地网络」放行即可,不需要 root 权限。

以前我觉得“让 AI 写个程序”是发朋友圈用的 Demo。这次不一样:它解决了我烦了半年的具体问题,每次用省十秒钟。

图标是系统默认的,挺丑。但现在要连树莓派,我只需要点一下。

· · ·

你家常年连着局域网的设备有几台?评论区报个数。

点个在看。下一篇想看把它做成开源双架构版,还是照着思路复刻一个你自己的?留言告诉我。

相关学习资料