TLSR9518
この例は、オン/オフ機能を備えた電球デバイスタイプとして機能します。 この手順は、Telink TLSR9518 開発ボード(B91 開発ボード)で検証されました。
この例では、0xFFF1
のテストベンダー ID(VID)と 0x8005
の商品 ID(PID)を使用します。
初期設定
このドキュメントの手順は Ubuntu 20.04 で検証済みです。
シリアル コンソール用の USB - UART アダプタを使用して、開発ボードをホスト PC に接続します。
- 開発ボード上の J34 の PB2(上記で TX)をアダプターの RXD に接続します。
- J56 の GND(上記の GND というラベル付き)をアダプタの GND に接続します。
バーニングキー(黒色の 4 つの LED 付きボックス)の一方を、USB A オス - ミニ B ケーブルを使用してホスト 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 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 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 が交互にオンまたはオフになり、ターミナルに次の出力が表示されます。
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 サンプルが正常にビルドされたら、デベロッパー プロジェクトを作成します。