基于 Matter 的 Bouffalo Lab 智能照明示例:BL602/BL702/BL702L/BL616 全平台构建、烧录与 chip-tool 测试指南 📅 发布时间:2026/9/18 19:26:02 👁 浏览次数: 基于 Matter 的 Bouffalo Lab 智能照明示例BL602/BL702/BL702L/BL616 全平台构建、烧录与 chip-tool 测试指南【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip导读本文是 Matter 开源实现connectedhomeip中Bouffalo Lab 照明应用示例examples/lighting-app/bouffalolab的完整技术指南覆盖 BL602、BL702、BL702L、BL616、BL616CL 五款博流Bouffalo LabSoC 在 Wi-Fi / Thread / Ethernet 三种传输方式下的方案选型、GN 与 CMake 两套构建体系、固件烧录方法以及使用 chip-tool 完成配网与 OnOff、LevelControl、ColorControl、Identify 四大集群控制的全过程。读完本文你将能够根据目标芯片选择正确的 SDK 与构建命令编译出可运行的 Matter 照明设备固件并将其接入任意 Matter 生态进行联调。1. 示例概览一个可运行的 Matter 照明设备examples/lighting-app/bouffalolab演示了一个完整的 Matter 照明设备其标识信息如下Vendor IDVID0xFFF1Product IDPID0x8005支持的集群OnOff开关、LevelControl亮度调节、ColorControl颜色控制、Identify设备识别该示例的行为逻辑位于 common/AppTask.cpp应用任务基于 FreeRTOS 创建xTaskCreateStatic通过事件位掩码APP_EVENT_*驱动 LED 渲染、按键交互、Identify 识别与恢复出厂设置流程照明端点 ID 定义为APP_LIGHT_ENDPOINT_ID 1见 common/AppTask.h。2. 支持目标一览示例为不同芯片/开发板提供了明确的构建目标全部使用 Matter 构建工具build_examples.py或 CMake 驱动BoardChipTransportSDKBuild systembl602dkBL602Wi-FiIoT SDKMatter GNbuild_examples.pybl706dkBL702Wi-Fi / Thread / EthernetIoT SDKMatter GNbuild_examples.pybl704ldkBL702LThreadIoT SDKMatter GNbuild_examples.pybl616dkBL616Wi-Fi / Thread / EthernetBouffalo SDKCMakemakebl616cldkBL616CLWi-FiBouffalo SDKCMakemake关键分界BL602 / BL702 / BL702L 走 Matter GNninja构建使用博流BL_IOT_SDKBL616 / BL616CL 走Bouffalo SDK的 CMake 构建。两种体系在 4、5 节分别详述。3. 芯片方案详解传输、配网与硬件引脚3.1 BL602 Wi-FiBL602 ├── Wi-Fi - Matter over IP (TCP/UDP) ├── BLE - BLE commissioning (PASE over BLE) └── Application ├── BOOT_PIN_RESET (GPIO 8) - long press - factory reset └── LED_PIN (GPIO 0) - on/off lighting output传输Wi-FiIPv4/IPv6 网络配网BLE 完成 Wi-Fi 凭据下发BLE commissioningSDKIoT SDK3.2 BL702 Wi-Fi / Thread / EthernetBL702 ├── Network interface │ ├── Wi-Fi - Matter over IP (TCP/UDP) │ │ └── SPI-attached BL602 Wi-Fi network processor │ ├── Thread - Matter over Thread (UDP/IPv6) │ └── Ethernet - Matter over IP (TCP/UDP) ├── BLE - BLE commissioning (PASE over BLE) └── Application ├── BOOT_PIN_RESET (GPIO 31) - long press - factory reset └── LED_PIN (GPIO 22) - on/off lighting output传输Wi-Fi、Thread 或 Ethernet 三选一每个构建必须且只能启用一个网络接口。Wi-Fi 方案使用经 SPI 连接的 BL602 网络协处理器BL602 跑 WLAN 协议栈BL702 跑 TCP/IP 栈配网Wi-Fi 与 Thread 走 BLE 配网Ethernet 走网内配网on-network commissioningSDKIoT SDK3.3 BL702L Thread低功耗方案BL702L ├── IEEE 802.15.4 radio - Matter over Thread (UDP/IPv6) ├── BLE - BLE commissioning (PASE over BLE) └── Application ├── BOOT_PIN_RESET (GPIO 16) - long press - factory reset └── LED_PIN (GPIO 18) - on/off lighting output传输ThreadIPv6 网络配网BLE 完成 Thread 网络凭据下发SDKIoT SDK3.4 BL616 / BL616CL Wi-Fi / Thread / EthernetBL616 / BL616CL ├── Network interface │ ├── Wi-Fi - Matter over IP (TCP/UDP) │ ├── Thread - Matter over Thread (UDP/IPv6) │ └── Ethernet - Matter over IP (TCP/UDP) ├── BLE - BLE commissioning (PASE over BLE) └── Application ├── BOOT_PIN_RESET (GPIO 2 on BL616DK, GPIO 38 on BL616CL) ├── LED_B_PIN (GPIO 0) - blue PWM channel ├── LED_R_PIN (GPIO 1) - red PWM channel └── LED_G_PIN (GPIO 30) - green PWM channel传输Wi-Fi、Thread 或 Ethernet 三选一每个构建同样必须且只能启用一个网络接口配网Wi-Fi 与 Thread 走 BLEEthernet 走网内配网SDKBouffalo SDK从源码结构看BL616DK 在 common/AppTask.cpp 中被归类为ColorLEDWidgetRGB 三路 PWM而 BL602/BL702 等使用DimmableLEDWidget单路可调光。未配网时单色灯以 30% 亮度SetLevel(25)提示待配网状态RGB 灯则以黄色SetColor(254, 35, 254)提示配网完成后 LED 才随 Matter 集群属性OnOff/CurrentLevel/CurrentHue/CurrentSaturation实时渲染。4. 构建系统选型两套 SDK、两条路径Bouffalo Lab平台依据芯片家族区分构建体系详见 docs/platforms/bouffalolab/platform_overview.mdSDK 集成适用平台构建系统推荐入口bouffalo_sdk MatterBL61XBL616/BL618 等bouffalo_sdk的 CMakeMatter 以 SDK 应用工程形式集成示例目录中的 CMake/MakefileBL_IOT_SDK MatterBL602、BL702/BL702LMatter ninja 构建scripts/build/build_examples.pybuild_examples.py对 BL61X 目标保持兼容内部派发到同一套 CMake/Makefile 构建并将产物导出到标准out/target目录。执行./scripts/build/build_examples.py targets可查看全部可用目标其命名模式为bouffalolab-{board}-{app}-{connectivity}-{storage}[-cdc][-coredump][-memmonitor][-mfd][-rotating_device_id][-rpc][-shell]其中board 可选bl602dk / bl616dk / bl616cl / bl704ldk / bl706dk及旧版bl602-night-light、bl706-night-lightconnectivity 可选wifi / ethernet / thread / thread-ftd / thread-mtdstorage 可选littlefsBL_IOT_SDK 与 BL61X 均支持与easyflash仅 BL_IOT_SDK 兼容且与 littlefs 格式互不通用已在现场用 easyflash 部署的设备请继续使用-easyflash。更多细节见 docs/platforms/bouffalolab/getting_started.md。环境准备两套体系通用先激活构建环境source scripts/activate.sh -p bouffalolab平台相关交叉工具链安装可运行./integrations/docker/images/stage-2/chip-build-bouffalolab/setup.sh并按提示export BOUFFALOLAB_SDK_ROOTYour install path工程子模块通过./scripts/checkout_submodules.py --shallow --recursive --platform bouffalolabBL_IOT_SDK或--platform bouffalo_sdkBL61X拉取。详细步骤见 docs/platforms/bouffalolab/getting_started.md。5. 使用 IoT SDK 构建与烧录BL602 / BL702 / BL702L5.1 构建命令BL602、BL702、BL702L 目标使用 Matter GN 构建系统由build_examples.py管理。以下为各目标的标准构建命令# BL602 Wi-Fi启用 littlefs 存储、MFD 工厂数据、Pigweed RPC ./scripts/build/build_examples.py \ --target bouffalolab-bl602dk-light-wifi-littlefs-mfd-rpc \ build # BL702 Wi-Fi启用 littlefs、Matter 交互 shell ./scripts/build/build_examples.py \ --target bouffalolab-bl706dk-light-wifi-littlefs-shell \ build # BL702 Thread ./scripts/build/build_examples.py \ --target bouffalolab-bl706dk-light-thread-littlefs-mfd-rpc \ build # BL702 Etherneteasyflash 存储 ./scripts/build/build_examples.py \ --target bouffalolab-bl706dk-light-ethernet-easyflash \ build # BL702L Thread ./scripts/build/build_examples.py \ --target bouffalolab-bl704ldk-light-thread-littlefs-mfd \ build目标名后缀含义-mfd启用 Matter 工厂数据从 MFD 分区加载-rpc启用 Pigweed RPCUART 波特率 115200-shell启用命令行-cdc启用 USB CDC仅 BL706 支持且不能与 Ethernet 板卡共用。默认日志 UART 波特率为2000000如需调整可修改示例工程下BUILD.gn中的baudrate变量。5.2 烧录命令构建完成后out/target目录下会生成对应的.flash.py脚本直接指定串口即可烧录# BL602 Wi-Fi ./out/bouffalolab-bl602dk-light-wifi-littlefs-mfd-rpc/chip-bl602-lighting-example.flash.py --port device port # BL702 Wi-Fi ./out/bouffalolab-bl706dk-light-wifi-littlefs-shell/chip-bl702-lighting-example.flash.py --port device port # BL702 Thread ./out/bouffalolab-bl706dk-light-thread-littlefs-mfd-rpc/chip-bl702-lighting-example.flash.py --port device port # BL702 Ethernet ./out/bouffalolab-bl706dk-light-ethernet-easyflash/chip-bl702-lighting-example.flash.py --port device port # BL702L Thread ./out/bouffalolab-bl704ldk-light-thread-littlefs-mfd/chip-bl702l-lighting-example.flash.py --port device port烧录步骤先用 USB 连接开发板按住BOOT键不放、点击RESET/EN键、再松开BOOT键使 SoC 进入下载模式随后执行脚本。首次为 BL602 开发板下载镜像建议追加--erase参数整片擦除后写入例如--port /dev/ttyACM0 --erase。烧录完成后用 2000000 波特率打开串口即可看到日志。6. 使用Bouffalo SDK构建与烧录BL616 / BL616CLBL616、BL616CL 采用Bouffalo SDK Matter 的 CMake 混合构建示例目录下的 Makefile 封装了 SDK CMake 流程是产品应用开发推荐入口。构建前同样先执行source scripts/activate.sh -p bouffalolab。6.1 构建命令# BL616DK Wi-Fi make -C examples/lighting-app/bouffalolab CONFIG_WIFIy # BL616DK Thread make -C examples/lighting-app/bouffalolab CONFIG_THREADy # BL616DK Ethernet make -C examples/lighting-app/bouffalolab CONFIG_ETHERNETy # BL616CL Wi-Fi通过 CHIP 指定芯片型号 make -C examples/lighting-app/bouffalolab CHIPbl616cl CONFIG_WIFIy # 组合可选特性 make -C examples/lighting-app/bouffalolab CONFIG_WIFIy CONFIG_SHELLy make -C examples/lighting-app/bouffalolab CONFIG_WIFIy CONFIG_MFDnCHIP变量默认bl616BOARD默认${CHIP}dk如bl616dk、bl616cldk。从 Makefile 可以看到一个强制约束CONFIG_WIFI、CONFIG_THREAD、CONFIG_ETHERNET至少一个必须为y否则构建直接报错At least one network interface must be enabled当三者均未显式指定时默认启用 Wi-Fi。底层 CMakeLists.txt 同样在 CMake 层做了该校验并把所选接口映射为对应 GN 参数chip_enable_wifi / chip_enable_thread / chip_enable_ethernet与宏CHIP_DEVICE_CONFIG_ENABLE_WIFI1等。6.2 可选特性参数FlagDefaultDescriptionCONFIG_MFDy/nyEnable factory/manufacturing dataCONFIG_SHELLy/nnEnable Matter interactive shellCONFIG_CHIP_ROTATING_DEVICE_IDy/nnEnable rotating device IDCONFIG_CHIP_HEAP_MONITORy/nnEnable heap monitoringCONFIG_COREDUMPy/nnEnable SDKcoredumpcaptureCONFIG_OT_FTD1/01Enable or disable Thread FTD modeCONFIG_OT_MTD1/00Enable or disable Thread MTD mode这些默认值可直接在 Makefile 中核对。补充说明Thread 相关CONFIG_OT_FTDFull Thread Device默认开与CONFIG_OT_MTDMinimal Thread Device默认关只对CONFIG_THREADy生效Thread 构建下若同时开启 shell会自动追加 OpenThread CLI 支持CONFIG_OT_CLIshell、CONFIG_SHELL_CMD_SIZE256。Ethernet 相关CONFIG_ETHERNETy会自动启用CONFIG_BSP_ETH_PHYy与CONFIG_BSP_LWIP_NETIF_EMACy供NetworkCommissioningEthernetDriver使用。MFD 相关CONFIG_MFDy时构建会拷贝 Matter 分区表partition_cfg_4M.toml使 SDK 后处理产出的partition.bin包含 MFD 分区应用侧会定义CONFIG_BOUFFALOLAB_FACTORY_DATA_ENABLE1。6.3 清理make -C examples/lighting-app/bouffalolab clean6.4 烧录make -C examples/lighting-app/bouffalolab CONFIG_WIFIy flash make -C examples/lighting-app/bouffalolab CONFIG_THREADy flash make -C examples/lighting-app/bouffalolab CONFIG_ETHERNETy flash make -C examples/lighting-app/bouffalolab CHIPbl616cl BOARDbl616cldk CONFIG_WIFIy flash带工厂数据文件的烧录把 MFD 分区一并写入make -C examples/lighting-app/bouffalolab CONFIG_WIFIy flash MFD_FILE/path/to/mfd.bin从 Makefile 的源码看MFD_FILE机制会在烧录前对flash_prog_cfg.ini做模板替换生成临时flash_prog_cfg.mfd.ini并追加[MFD]分区段指向mfd.bin的绝对路径烧录完成后自动清理临时文件。6.5 平台底层配置速览defconfigBL61X 构建使用的 SDK 默认配置位于 defconfig值得关注的要点日志控制台 UART 波特率默认2000000CONFIG_CONSOLE_UART_BAUDRATE加密mbedTLS 默认使用 v3.6.3CONFIG_MBEDTLS_V2nAES、大数、ECC、SHA1/SHA256/SHA512 均启用硬件加速CONFIG_MBEDTLS_*_USE_HWyThread 构建额外启用 ECJPAKE 密钥交换、DTLS 与 Connection IDCONFIG_MBEDTLS_ECJPAKE_C、CONFIG_MBEDTLS_DTLS、CONFIG_MBEDTLS_SSL_DTLS_CONNECTION_ID存储CONFIG_LITTLEFSy、CONFIG_FOTAy、CONFIG_BFLB_MTDy并启用 TLSF 堆与最小空闲内存跟踪射频Wi-Fi/Thread 构建启用 RF 与 BLECONFIG_BLUETOOTHyWi-Fi 构建启用 Wi-Fi 6CONFIG_WIFI6y与 lwIPThread 构建启用 IEEE 802.15.4CONFIG_LMAC154y7. 用 chip-tool 测试配网与集群控制7.1 配网Commissioning先对板卡执行复位或恢复出厂设置再进入 chip-tool 产物目录按所选传输方式执行配网命令。Wi-FiBLE 配网下发 Wi-Fi 凭据./chip-tool pairing ble-wifi device_node_id wifi_ssid wifi_passwd 20202021 3840ThreadBLE 配网下发 Thread 网络凭据./chip-tool pairing ble-thread device_node_id hex:thread_operational_dataset 20202021 3840Ethernet网内配网./chip-tool pairing onnetwork device_node_id 20202021参数说明device_node_idchip-tool 分配给设备的节点 IDwifi_ssidWi-Fi 网络 SSIDwifi_passwdWi-Fi 网络密码thread_operational_datasetThread 网络凭据可在 Thread 边界路由器上执行sudo ot-ctl dataset active -x获取20202021默认配网 Passcode3840默认 Discriminator。7.2 集群控制配网成功后即可用以下命令控制开发板OnOff 集群——切换板载 LED 开关状态./chip-tool onoff toggle device_node_id 1LevelControl 集群——将亮度移动到 128./chip-tool levelcontrol move-to-level 128 10 0 0 device_node_id 1ColorControl 集群——将色相与饱和度改为 240 与 100./chip-tool colorcontrol move-to-hue-and-saturation 240 100 0 0 0 device_node_id 1Identify 集群——让设备识别 10 秒./chip-tool identify identify 10 device_node_id 1以上命令末尾的1为端点号即APP_LIGHT_ENDPOINT_ID。在示例应用中Identify 期间 LED 会以约 1 秒周期闪烁APP_TIMER_EVENT_DEFAULT_ITVL 1000结束后恢复集群属性渲染板载按键短按≥1s可在已配网时直接切换 OnOff 属性长按≥4s触发恢复出厂设置见 common/AppTask.h。读取属性的验证命令示例./out/linux-x64-chip-tool/chip-tool basicinformation read vendor-name device_node_id 0。8. 延伸阅读Bouffalo Lab - Platform overviewSoC 家族能力与全平台解决方案总览Bouffalo Lab - Getting Started环境安装、目标选项、分区表与镜像下载全流程Bouffalo Lab - OTA upgradeOTA 升级方案Bouffalo Lab - Matter factory dataMFD 工厂数据生成与烧录含generate_factory_data.py与chip-cert证书链工具Bouffalo Lab - RPC consolePigweed RPC 控制台使用方法【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考