Telink

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

TLSR 9.518

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 do fornecedor (VID, na sigla em inglês) de teste 0xFFF1 e um ID do produto (PID, na sigla em inglês) de 0x8005.

Vista superior do TLSR9518

Configuração inicial

As etapas neste documento foram validadas no Ubuntu 20.04.

  1. Conecte a placa de desenvolvedor ao PC host com um adaptador USB para UART para o console serial:

    • Conecte o PB2 de J34 (rotulado como TX acima) na placa de desenvolvedor ao RXD do adaptador.
    • Conecte o GND do J56 (rotulado como GND acima) ao GND do adaptador.
  2. Conecte um lado da chave de queima (a caixa preta com quatro LEDs) ao PC host com um cabo USB A masculino para mini-B e o outro lado para a placa de desenvolvedor com outro cabo USB A masculino para mini-B, conforme mostrado a seguir:

    Como conectar a TLSR9518

  3. 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
    
  4. Instale o Docker Engine (não use o Docker Desktop).

  5. Execute o contêiner do Docker. Esse processo vai 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}')
    
  6. No contêiner do Docker, clone e inicialize o repositório 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
    

Crie a imagem e atualize o tabuleiro

  1. No contêiner do Docker, crie o lighting-app e saia do Docker:

    cd examples/lighting-app/telink
    rm -rf build
    west build
    exit
    
  2. Atualize a imagem para o board:

    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 seguintes comandos 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

Validar o exemplo

  1. O dispositivo deve se apresentar como um dispositivo serial USB no computador. Você pode procurá-la em /dev:

    ls -la /dev/tty*
    

    É possível abrir o console serial com GNU screen ou minicom. Por exemplo, se o dispositivo estiver em /dev/ttyACM0:

    screen /dev/ttyACM0 115200
    
  2. Para redefinir a placa, pressione o botão CHIP_RESET e você verá uma saída como esta 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"
    
  3. Depois de inserir a placa, você pode controlar o LED azul pressionando o botão SW3 K2. Cada pressionamento faz com que o LED também acenda ou apague, 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
    
  4. 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 seu exemplo de Matter for criado, crie um projeto de desenvolvedor.