Project CHIP/ConnectedHomeIP 入门指南:编译运行首个智能家居示例
2025-07-07 02:39:32作者:虞亚竹Luna
前言
Project CHIP(Connected Home over IP)是一个开源项目,旨在为智能家居设备创建统一的连接标准。本文将详细介绍如何编译、运行和控制CHIP SDK中的示例应用,帮助开发者快速上手智能家居设备开发。
示例应用概览
CHIP SDK提供了多种示例设备和控制器,开发者可以通过这些示例快速了解SDK功能和Matter生态系统。
设备示例
设备示例(有时称为"apps")位于SDK的示例目录中,每个示例通常实现一种特定的设备类型,并支持多种平台:
- Linux平台示例:主要用于CI测试和初步功能验证
- all-clusters-app:实现几乎所有可用集群,但不针对特定设备类型,主要用于QA测试而非产品开发
控制器示例
SDK提供了两个示例控制器用于设备交互测试:
- chip-tool:基于C++的命令行控制器,具有交互式shell
- chip-repl:Python控制器的交互式shell,常用于测试场景
构建首个照明设备示例
本教程将指导您完成以下步骤:
- 为主机平台构建照明应用
- 使用chip-tool控制器与设备交互
构建准备
在开始构建前,需要完成以下准备工作:
- 安装所有必要的构建依赖项
- 运行引导脚本设置开发环境:
- 首次运行或构建失败时使用:
. scripts/bootstrap.sh
- 已引导过环境仅需激活:
. scripts/activate.sh
- 首次运行或构建失败时使用:
构建系统说明
CHIP SDK使用Ninja/GN构建系统,开发者可以使用标准的gn gen/ninja命令构建,也可以使用提供的脚本构建特定变体。
构建照明应用
使用构建脚本构建照明设备应用:
./scripts/build/build_examples.py --target linux-x64-light-no-ble build
构建完成后,可执行文件将生成在./out/linux-x64-light-no-ble/chip-lighting-app
路径下。
注意:不同系统的主机名可能不同(如darwin系统)。
构建chip-tool控制器
./scripts/build/build_examples.py --target linux-x64-chip-tool build
构建完成后,可执行文件位于./out/linux-x64-chip-tool/chip-tool
。
运行与交互
设备配网
-
首先在一个终端中启动照明应用:
./out/linux-x64-light-no-ble/chip-lighting-app
应用启动后会打印所有设置信息,包括设置代码、鉴别器和配对码。
-
在另一个终端中使用chip-tool进行配网:
./out/linux-x64-chip-tool/chip-tool pairing code 0x12344321 MT:-24J0AFN00KA0648G00
参数说明:
0x12344321
:分配给设备的节点ID(测试默认值)MT:-24J0AFN00KA0648G00
:使用默认鉴别器和配对码的QR码
注意:如果修改了默认设置,QR码会相应变化。
设备交互命令
发送控制命令
打开照明设备:
./out/linux-x64-chip-tool/chip-tool onoff on 0x12344321 1
参数说明:
onoff
:集群名称on
:命令名称0x12344321
:配网时使用的节点ID1
:端点号
读取设备属性
读取开关状态:
./out/linux-x64-chip-tool/chip-tool onoff read on-off 0x12344321 1
参数说明:
onoff
:集群名称read
:操作类型on-off
:属性名称0x12344321
:节点ID1
:端点号
总结
通过本教程,您已经完成了CHIP SDK中照明设备示例的构建、运行和基本控制。这为后续开发更复杂的智能家居设备功能奠定了基础。建议开发者进一步探索其他集群和设备类型的示例,以全面了解Matter协议的功能特性。