TLSR9518
此示例用作灯泡设备类型(具有开启/关闭功能)。 相关步骤已在 Telink TLSR9518 开发板(也称为 B91 开发板)上完成验证。
此示例使用测试供应商 ID (VID) 0xFFF1
和产品 ID (PID) 0x8005
。
初始设置
本文档中的步骤已在 Ubuntu 20.04 上进行了验证。
使用串行控制台的 USB 转 UART 适配器将开发板连接到主机 PC:
- 将开发板上的 J34 PB2(上面标记为 TX)连接到适配器的 RXD。
- 将 J56 的 GND(上面标记为 GND)连接到适配器的 GND。
使用 USB A 公形 - B 型数据线将燃烧键(带四个 LED 的黑盒子)连接到主机 PC,另一侧使用另一个 USB A 公连接 - B 线缆连接到开发板,如下所示:
下载 LinuxBDT:
wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
tar -xvf LinuxBDT.tar.bz2
安装 Docker Engine(请勿使用 Docker 桌面)。
运行 Docker 容器(第一次加载需要一段时间):
docker run -it --rm -v $PWD:/host -w /host connectedhomeip/chip-build-telink:$(wget -q -O - https://raw.githubusercontent.com/project-chip/connectedhomeip/v1.0-branch/.github/workflows/examples-telink.yaml 2> /dev/null | grep chip-build-telink | awk -F: '{print $NF}')
在 Docker 容器中,克隆并初始化 Matter SDK GitHub 代码库 (
connectedhomeip
):git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
./scripts/checkout_submodules.py --platform telink
source ./scripts/activate.sh
构建映像并刷写开发板
在 Docker 容器中,构建
lighting-app
,然后退出 Docker:cd examples/lighting-app/telink
rm -rf build
west build
exit
将映像刷写到开发板:
cd LinuxBDT
sudo ./bdt 9518 sws # Verify the connection
sudo ./bdt 9518 ac # Activate MCU
sudo ./bdt 9518 wf 0 -s 2040k -e # Erase flash sectors
sudo ./bdt 9518 wf 0 -i ../connectedhomeip/examples/lighting-app/telink/build/zephyr/zephyr.bin
sudo ./bdt 9518 rst -f # Reset MCU
如果上述步骤成功,则以下命令应该会在终端中生成类似的输出:
sudo ./bdt 9518 sws
TC32 EVK: Swire ok!
sudo ./bdt 9518 ac
Activate OK!
sudo ./bdt 9518 wf 0 -s 2040k -e
EraseSectorsize...
Total Time: 26973 ms
sudo ./bdt 9518 wf 0 -i ../connectedhomeip/examples/lighting-app/telink/build/zephyr/zephyr.bin
EraseSectorsize...
Total Time: 9806 ms
Flash writing...
[ 0%]Flash Bytes Program at address 0
...
[100%]Flash Bytes Program at address b6d00
File Download to Flash at address 0x000000: 748836 bytes
Total Time: 191337 ms
sudo ./bdt 9518 rst -f
Total Time: 72 ms
reset mcu
验证示例
该设备应在计算机上显示为 USB 串行设备。您可以在
/dev
中查找:ls -la /dev/tty*
您可以使用 GNU
screen
或minicom
打开串行控制台。例如,如果设备处于/dev/ttyACM0
状态:screen /dev/ttyACM0 115200
如需重置开发板,请按 CHIP_RESET 按钮,并且您应该会在终端中看到如下输出:
*** Booting Zephyr OS build v3.1.0-rc1-3593-gdac17979d626 ***
I: Init CHIP stack
I: Starting CHIP task
...
I: 812 [DL]BLEManagerImpl::ConfigureAdvertisingData
I: 823 [DL]Setting device name to : "TelinkMatter"
...
I: 1093 [SVR]SetupQRCode: [MT:NOTAREALQRCODE01234]
I: 1099 [SVR]Copy/paste the below URL in a browser to see the QR Code:
I: 1107 [SVR]https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3ANOTAREALQRCODE01234
I: 1118 [SVR]Manual pairing code: [34970112332]
I: 1124 [DL]Setting device name to : "TelinkLight"
成功调试开发板后,您可以按 SW3 K2 按钮控制蓝色 LED 指示灯。每按一次 LED 指示灯都会使 LED 交替打开/关闭,并且输出结果中会显示以下输出:
I: Turn On Action has been initiated
I: Turn On Action has been completed
D: 1058359 [DMG]Endpoint 1, Cluster 0x0000_0006 update version to 92b92035
...
I: 1058365 [ZCL]Cluster OnOff: attribute OnOff set to 1
...
D: 1058372 [DMG]Endpoint 1, Cluster 0x0000_0008 update version to 7ea4bc9c
...
I: 1058378 [ZCL]Cluster LevelControl: attribute CurrentLevel set to 254
如需将板恢复出厂设置,请按 SW2 K1 按钮,您应该会在终端中看到如下输出:
I: Factory Reset triggered.
后续步骤
成功构建 Matter 示例后,创建开发者项目。