TLSR9518
Este exemplo funciona como um tipo de dispositivo de lâmpada, com recursos de ativação/desativação. As etapas foram verificadas em uma placa de desenvolvimento Telink TLSR9518, também conhecida como placa de desenvolvimento B91.
Este exemplo usa um ID de fornecedor (VID, na sigla em inglês) de teste de 0xFFF1
e um ID de produto (PID) de
0x8005
.
Configuração inicial
As etapas deste documento foram validadas no Ubuntu 20.04.
Conecte a placa de desenvolvimento ao PC host usando um adaptador USB para UART para o console serial:
- Conecte o PB2 de J34 (identificado como TX acima) na placa de desenvolvimento ao RXD do adaptador.
- Conecte o GND de J56 (identificado como GND acima) ao GND do adaptador.
Conecte um lado da Burning Key (a caixa preta com quatro LEDs) ao PC host com um cabo USB A macho para mini B e o outro lado à placa de desenvolvimento com outro cabo USB A macho para mini B:
Faça o download do LinuxBDT:
wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
tar -xvf LinuxBDT.tar.bz2
Instale o Docker Engine (não use o Docker Desktop).
Execute o contêiner do Docker. Isso levará algum tempo para ser concluído na primeira vez:
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}')
No contêiner do Docker, clone e inicialize o repositório do GitHub do SDK Matter (
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
Criar a imagem e atualizar a placa
No contêiner do Docker, crie o
lighting-app
e saia do Docker:cd examples/lighting-app/telink
rm -rf build
west build
exit
Transfira a imagem para o quadro:
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
Se as etapas anteriores forem bem-sucedidas, os comandos a seguir vão produzir uma saída semelhante no terminal:
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
Valide o exemplo
O dispositivo deve se apresentar como um dispositivo serial USB no computador. É possível procurá-lo em
/dev
:ls -la /dev/tty*
É possível abrir o console serial com GNU
screen
ouminicom
. Por exemplo, se o dispositivo estiver em/dev/ttyACM0
:screen /dev/ttyACM0 115200
Para redefinir a placa, pressione o botão CHIP_RESET. Uma saída como esta será mostrada no terminal:
*** 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"
Depois de comissionar a placa com sucesso, você pode controlar o LED azul pressionando o botão SW3 K2. Cada vez que você pressiona o LED, o LED acende ou apaga e a seguinte saída aparece no terminal:
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
Para redefinir a placa para a configuração original, pressione o botão SW2 K1. Você verá uma saída como esta no terminal:
I: Factory Reset triggered.
Próximas etapas
Quando o exemplo Matter for criado, crie um projeto de desenvolvedor.