复刻一个现成项目
他人已经完成了一个项目,你按清单采购一套一样的硬件,把工程复制一份,改成你的 WiFi,烧进去就能跑。这是这个平台上最快的一次成功。
一览
| 复刻之后你得到什么 | 一个完全属于你的项目:源码、硬件方案、依赖清单、资料,全都在 |
|---|---|
| 和原作者的关系 | 互不影响。你改你的,他改他的 |
| 要不要登录才能看 | 公开项目不登录也能看,还能下载固件。要复刻才需要登录 |
| 要花多久 | 屏幕前 10 分钟左右 |
| 需要什么 | 和原项目一样的板子和器件——发布页上有清单 |
为什么值得从这里开始
从零开始做一个项目,你要同时应付四件新事:怎么描述需求、方案对不对、硬件买对没有、烧录环境通不通。复刻把前两件消掉了——方案是验证过的,固件是编译过的。你只需要确认硬件和烧录环境。
等这一轮流程走通、板子上确实有程序在运行,再回头做自己的,你会清楚得多。
第一步:挑一个
打开 whispbuild.com 往下滚,就是项目广场。不登录也能看,「项目广场」标题右侧的「查看全部 →」是完整列表。
ESP32-S3 · esp-idf)。被复刻过的项目还会在这一行右端标出次数:左边那张「ESP32-S3 HC-SR04 实时距离监控网页」写着「被 clone 2 次」,右边那张一次都没有,这一格就是空的。左边这个项目,就是本文档从头用到尾的那个。点进去是发布页——那是一份完整的复刻指南。
登录之后,应用首页下方还会多出两个标签页:我的 project 和 公开共享。公开共享里是同一批项目,切过去挑也一样。
第二步:读发布页,确认你能做
发布页由固定的几节组成,左边有目录可以直接跳过去。默认次序是:
| 成品 | 做出来长什么样。有图或视频最直观 |
|---|---|
| 项目概览 | 该项目的用途 |
| 购买链接 | 作者填了才有这一节 |
| 烧录 | 固件下载、烧录参数,以及这份固件里已经烧进去的配置 |
| 复制项目 | 「克隆继续开发」按钮在这一节,下面还列着克隆之后你必须改的那几项配置 |
| 工作原理 | 框图、时序,想理解就看这里 |
| 快速复刻步骤 | 你要看的重点——两条路:「在 WhispBuild 上复刻」(标着「推荐」)和「手动搭建」。接线和装配的图也在这一节 |
| 测试结果 | 作者验证过什么、遇到过哪些问题 |
| 物料清单(BOM) | 需要采购哪些器件,外观如何 |
| 参考资料 | 引脚映射、依赖清单、固件明细、原理图与 datasheet |
前五节的位置固定;后面几节的次序作者可以调整,所以你看到的顺序未必和上表一致。「购买链接」和「参考资料」没有内容时整节不出现,其余各节即使是空的也在。
本文一直在用的那个示例项目就有这样一个发布页:物料清单、引脚映射、烧录参数都在上面,不登录也能看。打开这个发布页 ↗
先看「物料清单(BOM)」,确认你买得到、或者已经有。硬件对不上,复刻出来也跑不了——固件是按照那套硬件编的。缺什么就先补齐。
第三步:点「克隆继续开发」
这个按钮在发布页的「复制项目」那一节,就在标题右侧。点下去平台会把整个工程完整复制一份,创建成你自己的项目。
- 点「克隆继续开发」。
- 屏幕上弹出「基于模板新建 project」窗口。
Project name默认沿用原项目的标题,你可以改成自己的叫法。 - 点窗口里的「创建 project」。按钮会变成「正在创建…」,等它跑完。
创建失败的话:窗口不会关闭,「创建 project」按钮上方会多出一行红色的错误说明。按它说的处理完,再点一次「创建 project」——重试是重新创建一次,不接着上一次的半成品往下走。
看到什么算成功:创建完成后界面直接进入这个新项目,不用自己去项目列表里找。Main 面板上已经有完整的硬件方案,源码面板里已经有代码,Main 面板顶部标着「源自 XXX v1」。
第四步:改成你自己的
复刻过来的工程里,通常留着原作者的配置——他家的 WiFi 名和密码。发布页上有两处讲这件事:「烧录」那一节用一张表列出这份固件里已经烧进去的配置,「复制项目」那一节里的「项目配置」则是一份逐条写明的清单,告诉你复刻之后必须改哪几项。以本文一直在用的那个测距项目为例,「烧录」那一节列出的是:
| 字段 | 值 |
|---|---|
MEASUREMENT_INTERVAL_MS | 1000 |
WIFI_SSID | "whispbuild" |
WIFI_PASSWORD | "whispbuild" |
你不用自己去找是哪一行代码,直接在对话里说明即可:
它会改好对应的配置项、重新编译,产出一份属于你的固件。
为什么不能直接用发布页上下载的固件?那个固件是已经编译好的字节,里面烧死了原作者的配置,改不了。发布页上也写着这句话。想换成你自己的,必须通过克隆拿到源码。
第五步:接线、烧录
接下来和自己做的项目完全一样:照 引脚连接表接线,然后 烧录。
接线之前还是要对实物核一遍。原作者用的板子和你买的可能是同一型号的不同版本,引脚不一定完全一致。核的是板子上印的丝印字。
不想用平台,自己从头搭也行
「快速复刻步骤」那一节除了「在 WhispBuild 上复刻」,还有一条「手动搭建」的路:先克隆拿到源码,再脱离平台自己装工具链、自己编译。发布页上给了完整的依赖清单和构建参数。
这条路更繁琐,但如果你原本就有一套熟悉的开发环境,可能反而更顺手。
如果你熟悉软件开发
克隆的语义接近 git clone + 一次完整的 fork:源码、硬件方案、依赖清单、上传的资料全都复制一份到你名下,之后两边独立演进,没有 upstream,也没法拉取原作者后来的更新。
「源自 XXX v1」只是一条血缘记录,不是一个可同步的引用。原作者要是撤下整个模板,你的副本照常存在——那条记录会变成不可点的灰字并标上「(已撤下)」。
常见问题
复刻会不会影响原作者?
不会。你获得的是一份独立的副本,改什么都跟他无关,他也看不到你改了什么。
原作者删了他的项目,我的还在吗?
在。你的副本是完全独立的。而且删除项目并不会把他已经发布出去的那一版下架。只要那个模板还是公开的,发布页照常打开,Main 面板上那条「源自 XXX」也仍然是一个可以点开的链接。如果作者先把它转成私有再删项目(文档建议的下架顺序就是这个),那条记录会变成不可点的灰字;只有执行「撤下整个模板」时才会另外标上「(已撤下)」。
我可以复刻之后再发布出去吗?
可以。发布的是你自己那一份。怎么发布 →
公开项目我不登录能干什么?
能看发布页全文、能下载固件。要复刻就必须登录,因为复刻会在你名下创建一个项目。