一个外接 LED 接到 GPIO15。Pico 2 W 先通过蓝牙广播,被 Home Assistant 添加为 Matter 设备;输入默认 setup code,或扫终端日志里的二维码;Wi‑Fi 凭据传进去后,它就出现在面板里,像普通智能灯泡一样开关。

这事小得像玩具。真正有意思的是链路:Rust、Embassy async framework、rs-matter、BLE commissioning、Wi‑Fi connectivity,被塞进一块 RP2350 小板子的示例里。Rust 嵌入式不再只是在 blinky 上证明自己,它开始碰智能家居最麻烦的那段路。

这个仓库做了什么:不是官方产品,是开发者样例

这个 GitHub 项目叫 rust-rpico2-embassy-examples。它面向 Raspberry Pi Pico 2,也覆盖需要无线能力的 Pico 2 W。硬件核心是 RP2350。

先把边界说清:这不是 Raspberry Pi 官方项目,也不是 Matter 官方认证产品。更准确地说,它是一组开发者示例和原型。

Pico 2 和 Pico 2 W 也不能混着看。Matter Wi‑Fi 灯泡示例需要 Pico 2 W 的无线能力。Pico 2 的板载 LED 可直接用;Pico 2 W 的板载 LED 走无线芯片,所以示例常用外接 LED,接 GPIO15。

类型示例对读者有用的信息
GPIOblinky外接 LED 接 GPIO15
I2CHS3003、ADXL345温湿度、三轴加速度
SPITFT LCD、Zermatt 图片 / 雪花动画DMA、framebuffer、异步绘制
1-Wire / 时序敏感外设DS18B20、DHT11依赖精确延迟,不能当普通慢速外设处理
Wi‑Fi & Mattermatter_wifi_lightPico 2 W + rs-matter + BLE 配网

Matter 灯泡流程很直接:运行示例后,设备开始 BLE 广播;在 Home Assistant 手机 App 里添加 Matter 设备;输入默认 setup code 3497-0112-332,或扫描终端日志里的二维码;Home Assistant 通过 BLE 把 Wi‑Fi 凭据传给 Pico 2 W;设备联网后,作为标准灯泡出现。

仓库说明提到可直接加入 Apple Home、Google Home 或 Home Assistant。材料明确展示的是 Home Assistant 配网步骤。这里不能顺手写成“三大生态全量实测”,更不能包装成商业级智能灯泡方案。

对 Rust 嵌入式开发者来说,这类仓库最直接的价值是少查一轮资料:板子、GPIO、外设、Matter 配网路径,都给了一个可参照的起点。对智能家居折腾玩家来说,它更像一块实验板,不是可以买回家替换灯泡的成品。

为什么重要:Rust 开始从闪灯走向协议栈

嵌入式里的 blinky,像学木工先钉第一颗钉子。能钉上,不代表能盖房。

Rust 嵌入式过去最常被拿来夸的,是类型安全、内存安全、抽象漂亮。Embassy 的异步模型也确实适合处理外设、网络、任务调度这些并发场景。

但开发者真正怕的不是概念不够现代。怕的是三件事:时序、配网、生态兼容。

一个传感器读值漂了,一个 BLE commissioning 卡住,一个 Matter 控制器识别异常,体验立刻从“现代工程”掉回“玄学调板”。

这个仓库有意思,就在于它没有停在 LED 闪烁。HS3003、ADXL345、TFT LCD、DS18B20、DHT11 覆盖了常见外设坑位;Matter Wi‑Fi light 又把 Pico 2 W 拉进标准智能家居链路。

但限制也写得很直。

DHT11 需要 release 模式运行,因为 bit-read 阶段对时序敏感。DS18B20 的 1-Wire 和 DHT 都依赖 cycle-accurate 的 PreciseDelay,要在 RP2350 的 Cortex-M33 核心上做亚微秒级、低抖动延迟。

翻成人话:Rust 让很多错误更早暴露,但它不会替你消灭物理世界的脾气。线上的电平、总线的时序、无线的稳定性、控制器的兼容性,照样要还账。

这也是它和普通 Arduino 风格示例的差别。Arduino 路线的优势是上手快,很多库“先跑起来”。Rust + Embassy 的吸引力在于更强的类型约束和异步组织能力。但代价也在这里:依赖、构建模式、驱动组合、时序实现,都会变成开发者要理解的工程细节。

“工欲善其事,必先利其器。”这句老话放在这里不俗。Rust 是器,Embassy 是器,rs-matter 也是器。但智能家居不是一把锤子的问题。它要求锤子、钉子、墙体和房主手机里的 App 一起讲人话。

我的判断:分水岭不是能不能跑,是能不能让人少踩坑

我更在意的,不是 Pico 2 W 能不能当 Matter 灯泡。类似原型,总有人能做出来。

真正的分水岭,是这类示例能不能沉淀成一条普通开发者愿意复用的路径:Pico 2 和 Pico 2 W 怎么选,LED 接哪根 GPIO,BLE commissioning 怎么走,Wi‑Fi 凭据怎么传,Home Assistant 里怎么出现,哪些协议必须 release,哪些延迟不能交给普通 async sleep。

开源嵌入式的门槛,常常不在“有没有库”。门槛在坑有没有被标出来。

这个仓库最好的地方,是它把几个关键坑摆在台面上:DHT11 要 release,1-Wire / DHT 要 PreciseDelay,Matter 示例要 Pico 2 W 的无线能力。这些话不华丽,但很值钱。

最受影响的有两类人。

Rust 嵌入式开发者可以把它当参考路线,而不是从零拼 crate。要做实验,可以先照着它确认外设、网络和 Matter 配网的基本链路,再决定要不要迁移到自己的板子和驱动组合。

智能家居产品团队则应该更冷静。这个项目证明“Rust + Matter + 低成本 MCU 板”可以跑通原型,但还不能直接推出采购结论。认证、稳定性、安全配置、量产测试、售后升级,都不在这份材料能证明的范围内。要做产品,最多把它当预研入口,不能当交付方案。

接下来最该看的也不是“还能不能点更多灯”。而是四个硬指标:

  • rs-matter 在更多控制器里的兼容表现;
  • BLE 配网和 Wi‑Fi 连接的稳定性;
  • 时序敏感外设在不同构建模式下的可重复性;
  • 示例能不能减少依赖摩擦,让新开发者少卡在工具链和配置上。

智能家居这些年最会讲的故事,是“统一生态”。用户听见的是终于不用折腾;开发者面对的却是配网、证书、控制器差异、设备类型和无线稳定性。

天下熙熙,皆为利来。平台想控入口,厂商想省成本,开发者想少踩坑,最后压力都落到固件上。小板子不大,背的锅不小。

所以这个项目值得看,但别神化。它说明 Rust 嵌入式正在靠近真实产品链路;也提醒我们,真实链路不会因为语言更现代就自动变简单。

灯亮只是最低门槛。能把坑照出来,才是生态往前走的一步。