首页
/ Project CHIP/ConnectedHomeIP 入门指南:编译运行首个智能家居示例

Project CHIP/ConnectedHomeIP 入门指南:编译运行首个智能家居示例

2025-07-07 02:39:32作者:虞亚竹Luna

前言

Project CHIP(Connected Home over IP)是一个开源项目,旨在为智能家居设备创建统一的连接标准。本文将详细介绍如何编译、运行和控制CHIP SDK中的示例应用,帮助开发者快速上手智能家居设备开发。

示例应用概览

CHIP SDK提供了多种示例设备和控制器,开发者可以通过这些示例快速了解SDK功能和Matter生态系统。

设备示例

设备示例(有时称为"apps")位于SDK的示例目录中,每个示例通常实现一种特定的设备类型,并支持多种平台:

  1. Linux平台示例:主要用于CI测试和初步功能验证
  2. all-clusters-app:实现几乎所有可用集群,但不针对特定设备类型,主要用于QA测试而非产品开发

控制器示例

SDK提供了两个示例控制器用于设备交互测试:

  1. chip-tool:基于C++的命令行控制器,具有交互式shell
  2. chip-repl:Python控制器的交互式shell,常用于测试场景

构建首个照明设备示例

本教程将指导您完成以下步骤:

  1. 为主机平台构建照明应用
  2. 使用chip-tool控制器与设备交互

构建准备

在开始构建前,需要完成以下准备工作:

  1. 安装所有必要的构建依赖项
  2. 运行引导脚本设置开发环境:
    • 首次运行或构建失败时使用:. 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

运行与交互

设备配网

  1. 首先在一个终端中启动照明应用:

    ./out/linux-x64-light-no-ble/chip-lighting-app
    

    应用启动后会打印所有设置信息,包括设置代码、鉴别器和配对码。

  2. 在另一个终端中使用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:配网时使用的节点ID
  • 1:端点号

读取设备属性

读取开关状态:

./out/linux-x64-chip-tool/chip-tool onoff read on-off 0x12344321 1

参数说明:

  • onoff:集群名称
  • read:操作类型
  • on-off:属性名称
  • 0x12344321:节点ID
  • 1:端点号

总结

通过本教程,您已经完成了CHIP SDK中照明设备示例的构建、运行和基本控制。这为后续开发更复杂的智能家居设备功能奠定了基础。建议开发者进一步探索其他集群和设备类型的示例,以全面了解Matter协议的功能特性。