TLSR9518
Этот пример работает как устройство типа лампочки с возможностью включения/выключения. Шаги были проверены на макетной плате Telink TLSR9518 (также известной как макетная плата B91).
В этом примере используется тестовый идентификатор поставщика (VID) 0xFFF1
и идентификатор продукта (PID) 0x8005
.
Начальная настройка
Шаги в этом документе были проверены на Ubuntu 20.04.
Подключите плату разработчика к хост-компьютеру с помощью адаптера USB-UART для последовательной консоли:
- Подключите PB2 разъема J34 (обозначен TX выше) на плате разработчика к RXD адаптера.
- Подключите GND разъема J56 (обозначенного выше GND ) к GND адаптера.
Подключите одну сторону Burning Key (черный ящик с четырьмя светодиодами) к хост-компьютеру с помощью кабеля USB A Male-to-Mini B, а другую сторону — к плате разработчика с помощью другого кабеля 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 клонируйте и инициализируйте github-репозиторий 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
Создайте образ и прошейте плату
В контейнере 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 . Каждое нажатие приводит к тому, что светодиод попеременно включается или выключается, а в терминале появляется следующий вывод:
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 будет успешно построен, создайте проект разработчика .