照明

此照明示例展示了如何使用 Matter 应用层构建照明设备以及如何进行单灯控制。内容包括环境设置、LED 硬件接线、配置修改以及编译和下载。此外,该示例还提供了使用 CHIP Tool 进行测试和设备配网的步骤。用户可以将此示例作为创建自己应用程序的参考。

环境需求

该示例支持以下开发套件:

支持的开发套件

硬件平台

板卡名称

RTL8777G HDK

RTL8777G EVB

准备 Matter 环境

要设置 Matter 环境,请按照 开发环境设置 中列出的步骤操作。

准备 CHIP Tool

CHIP Tool(chip-tool)是 Matter 的控制器实现,允许将 Matter 设备加入网络并使用 Matter 消息与其通信,这些消息可能包含数据模型的相关操作,例如群集命令。该工具还提供其他特定于 Matter 的实用程序,如解析设置负载或执行发现操作。

要构建 CHIP Tool,请按照 CHIP Tool 步骤操作。

硬件连线

连接红框中三个 LED 的引脚。

LED1:显示 On/Off 状态。

LED2:显示识别状态。

LED3:显示系统状态。在出厂重置期间,LED 每隔 500ms 闪烁一次。出厂重置结束后,灯会以亮 50ms、灭 950ms 的状态闪烁。如果有 Bluetooth LE 连接,LED 每隔 100ms 闪烁一次。

../../../../_images/EVB_Dongle_blocks_distribution_Diagram.png

硬件接线

配置选项

示例样本配置

我们的示例样本都有默认配置。 如果要修改示例配置, 可以更改 matter/connectedhomeip/examples/<app_name>/realtek_bee/main/include 路径下的 CHIPProjectConfig.h,其中 app_name 指的是应用程序的名称,例如 lighting-app。

有关配置项的更多信息,请参见 APP配置

工厂数据配置

对于 EVB 板,工厂数据默认是禁用的。要使用工厂数据,请参阅 工厂数据 中的 启用工厂数据支持工厂数据生成 部分。

编译和下载

编译

导航到指定目录并编译 lighting 应用程序。

$ cd beeSDK/subsys/matter/samples
$ rm -r build/
$ ./build.py rtl8777g lighting

下载

编译成功后,应用程序 bin 文件 matter-cli-ftd_bank0_MP_dev_*.bin 将生成在 build/bank0/bin 目录中。

要将应用程序 bin 文件下载到 EVB 板,按照 快速入门固件下载 中列出的步骤操作。如果工厂数据已启用,请参阅 工厂数据 中的 烧录工厂数据

然后按下 EVB 板上的重置按钮,它将开始运行。

测试验证

将示例编程到 EVB 板后,完成下面的步骤。

准备阶段

  1. 使用 USB 线将套件连接到计算机。

  2. 使用串口调试工具(例如,Tera Term)打开与套件的串口连接。

  3. 如果在编程过程中未擦除 flash,请按住 SW2 并保持 6.5s 以上,直到进行出厂重置。

  4. 按下 RST 以开启蓝牙广播。

  5. 将设备加入到 Matter 网络。请参考 设备配网。在配网过程中,记下灯泡节点 ID 的值以备后用(<light_bulb_node_ID>)。

测试阶段

在准备工作完成后,可以使用 CHIP Tool 测试单灯控制。

运行以下命令:

  1. 在 toggle 命令之前检查灯的 on-off 属性值。

    $ ./chip-tool onoff read on-off <light_bulb_node_ID> <endpoint_id>
    
    • <light_bulb_node_ID>:从上一步中获得

    • <endpoint_id>:带有 OnOff 集群的端点 ID

    例如:

    $ ./chip-tool onoff read on-off 2 1
    

    日志中将出现以下消息:

    CHIP:TOO:    OnOff: False
    
  2. 切换 on-off 属性状态。

    $ ./chip-tool onoff toggle <light_bulb_node_ID> <endpoint_id>
    

    例如:

    $ ./chip-tool onoff toggle 2 1
    
  3. 在 toggle 命令后检查 on-off 属性值是否已更改。

    $ ./chip-tool onoff read on-off <light_bulb_node_ID> <endpoint_id>
    

    例如:

    $ ./chip-tool onoff read on-off 2 1
    

    日志中将出现以下消息:

    CHIP:TOO:    OnOff: True