先说重点!
从实用性看,几乎为零。因为ESP32的性能摆在这里,一个MCU级别的东西不可能做出真实NAS级别的性能。但是,从功能上看,基本都是实现了的。
从可玩性看,还是很大的。因为这是我第一个没有写一行代码,完全让AI帮我实现的、略微复杂的完整工程。包括固件+网页。
之前虽然也用AI,但主要是用它的自动补齐、续写功能。偶尔让AI帮我完成一些功能,但也只是一个功能片段。而且,我都是提前准写好相对完善的工程架构,让它在那个基础之上,再去写。例如:五分钟,我用AI帮我写了一个按键扫描函数,支持单击、双击、长按
但这次,我没有写一行代码。就是用TRAE+ESP-IDF插件,新建了一个基础工程(我没写代码),然后描述我的需求,完全交给AI去写。我只负责提需求、把控开发节奏、编译下载、测试反馈。
于是,就得到了它:



事情的经过是这样的。
快过年了,我开始收拾我的桌子。硬件工程师的桌子,你们都懂的。无意中翻出我几年前做的一块ESP32的板子,自己学习用的(上图)。
然后就想能搞点啥…
看着它背后大大的SD卡槽,联想到我去年买的NAS。我就想,能不能用ESP32+SD卡,实现一个类似NAS的功能。我先问了KIMI:

答案很中肯,可行性应该是没问题的,就是性能上差的太多了。但我还是想试一下,因为我想看它到底差多少。
开搞!
首先,搭建程序框架。
我先打开了VS Code,因为之前装了ESP-IDF的插件。但不知道什么原因,可能是太久没打开了,部分插件不见了,都跑到了TRAE里面。
无所谓,打开TRAE,用IDF插件创建了一个基于ESP32的SDMMC的工程:

先编译下载,确认接口正确、程序运行正常。然后就要交给AI了。
第二步,需求分析。
把我的需求告诉KIMI,让它分析每个需求的可行性。同时,有问题随时反馈。重复了几轮,基本定下了,也生成了文档:

第三步,生成技术架构设计文档。
很多人使用AI,说完需求就开始让AI写程序,太着急了!
需求明确后,要让AI根据需求生成技术架构文档。技术架构能让人知道你的项目由哪些部分组成,每一部分的功能是什么,相互之间如何配合。

第四步,任务分解。
技术架构写完,是不是就可以把工作丢给AI,让它把任务一口气写完?
错!这样你只会得到一个崭新的残次品!
要把任务分解为多个阶段,每个阶段相对独立。让AI一次只完成一个任务,并且由你测试正常后,再进行下一阶段。

这里它总共分为了20个Task,每完成一个,由我确认后,再进行下一个。
第五步,写吧。
到这一步其实就比较枯燥了,AI开始干活,你可以玩会手机。它完成一个阶段,你编译、下载、测试、反馈。

这里我并没有使用TRAE内置的K2.5模型,因为要经常排队。我充值了99,开了个会员。在PC端安装了Kimi Code,通过命令行的方式使用(逼格真的高)。
这种方式真的无法支持图片吗?用过的同学告诉我。
第六步,反馈。
这一步其实包含在第五步里面,但是我觉得很重要,还是再说一下。有时候AI达不到我们的需求,或者程序编译报错。我们让它改,要明确的告诉它哪里有问题。而不是,简单的一句:
有错,改!
这样它不知道明确的错误信息,是很难快速定位的。我每次都是把详细的报错信息粘贴给它,它基本都能很快定位。
如图:


要么我把编译报错信息给它,要么我把串口打印的信息给它。
最后,总结一下。
前前后后,用了三天吧,得到了一个完成度很高的项目。如果让我自己写,可能要写三个月。我以后的开发方式,真的要变了。

但是,也不是没有问题。虽然相比国内的其它模型,K2.5在嵌入式领域有很强的能力,但还是会频繁出错。给我感觉,像一个聪明却马虎的人。
每次修改,没等到测试,编译就出一堆错。好几次都是因为做了一些修改,但是对应的头文件没有跟上。这种情况我觉得是不应该的。
即便编译不报错,运行的时候有些错误也反复了一两次。中间有段时间,甚至卡住了。我都想放弃这个项目了,没想到又被它改好了。
总的来说,这是一次新奇、有坎坷,但收获更大的尝试。真的建议同样感兴趣的童鞋试一下!
最后的最后,完整的程序我放在了公众号后台,想要的回复关键词:ESP32-NAS或者 033,即可获取下载链接。