Matter 配置

APP 配置

我们的示例应用程序都有默认配置。如果您想修改默认配置,您有三个主要选择:

  1. 修改 build.py

    • 此脚本位于 ./subsys/matter/samples/build.py,您可以在这添加对新例程的支持。

    • 以下代码片段展示了示例应用程序默认配置,您可以修改它以在 FTD(Full Thread Device)和 MTD(Minimal Thread Device)之间切换

    def TargetName(self):
    if self == RealtekApp.ALL_CLUSTERS:
        return 'matter-cli-ftd'
    if self == RealtekApp.LIGHT:
        return 'matter-cli-ftd'
    elif self == RealtekApp.LIGHT_SWITCH:
        return 'matter-cli-mtd'
    elif self == RealtekApp.LOCK:
        return 'matter-cli-mtd'
    elif self == RealtekApp.OTA_REQUESTOR:
        return 'matter-cli-ftd'
    elif self == RealtekApp.THERMOSTAT:
        return 'matter-cli-mtd'
    elif self == RealtekApp.WINDOW:
        return 'matter-cli-mtd'
    else:
        raise Exception('Unknown app type: %r' % self)
    
  2. 修改 CHIPProjectConfig.h

    • 此配置文件是针对每个应用程序的,位于 ./subsys/matter/connectedhomeip/examples/<app_name>/realtek_bee/main/include 下的 CHIPProjectConfig.h,其中 app_name 指代应用程序的名称,例如 lighting-app

    • 以下是可以调整的一些配置选项:

      • CHIP_DEVICE_CONFIG_USE_TEST_SETUP_PIN_CODE:Spake2p 密钥

      • CHIP_DEVICE_CONFIG_USE_TEST_SETUP_DISCRIMINATOR:设备鉴别码

      • CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID:供应商 ID

      • CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID:设备供应商分配的唯一 ID,用于识别产品或设备类型

      • CHIP_DEVICE_CONFIG_DEVICE_VENDOR_NAME:供应商名称

      • CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_NAME:设备型号名称

      • CHIP_DEVICE_CONFIG_TEST_SERIAL_NUMBER:序列号

      • CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION:默认硬件版本号

      • CHIP_DEVICE_CONFIG_DEFAULT_DEVICE_HARDWARE_VERSION_STRING:默认硬件版本字符串

      • CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION:设备上运行的软件版本

      • CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING:设备上运行的软件版本字符串

      • CHIP_USE_DEVICE_CONFIG_CERTIFICATION_DECLARATION:是否使用固件中存放的认证声明(Certification Declaration),默认不使用

    • 如果您的设备属于 MTD(默认是 SED,即睡眠终端设备),如果需要配置为 SSED(同步睡眠终端设备),则添加以下配置项:

      • CHIP_DEVICE_CONFIG_THREAD_SSED:启用对 Thread SSED 设备行为的支持

  3. 调整 DLPS(深度低功耗睡眠) 配置

    • 对于 FTD 设备,DLPS 相关配置无效;对于 MTD 设备,DLPS 默认是开启的。

    • 如果需要关闭 DLPS,可以修改 ./subsys/openthread/CMakePresets.json 中的ENABLE_DLPSOFF