TLSR9518
本範例的運作方式為燈泡裝置類型,具有開啟/關閉功能。這些步驟已在 Telink TLSR9518 開發板 (也稱為 B91 開發板) 上完成驗證。
這個範例使用的測試供應商 ID (VID) 為 0xFFF1
,產品 ID (PID) 為 0x8005
。
初始設定
本文所述步驟已在 Ubuntu 20.04 完成驗證。
使用序列主控台的 USB 對 UART 轉接器,將開發人員版主機連線至主機電腦:
- 將開發板上的 J34 (標示上方為 TX) 的 PB2 連接到轉接程式的 RXD。
- 將 J56 的 GND (上方標示為 GND) 連線至轉接程式的 GND。
使用 USB A Male-to-Mini B 傳輸線將 Burning Key (黑色盒子的四個盒子) 與主機電腦連接,另一端連接至另一個 USB A Male-to-Mini B 連接線,如下所示:
下載 LinuxBDT:
wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
tar -xvf LinuxBDT.tar.bz2
安裝 Docker Engine (請勿使用 Docker Desktop)。
執行 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 存放區 (
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
建構映像檔並重新整理 Jamboard
在 Docker 容器中建構
lighting-app
,然後退出 Docker:cd examples/lighting-app/telink
rm -rf build
west build
exit
將圖片刷到 Jamboard:
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
如要重設 Jamboard,請按下 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"
成功部署 Jamboard 後,您可以按下 SW3 K2 按鈕來控制藍色 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
如要將 Jamboard 恢復原廠設定,請按下 SW2 K1 按鈕,終端機中應該會顯示如下輸出結果:
I: Factory Reset triggered.
後續步驟
成功建構 Matter 範例後,請建立開發人員專案。