Telink

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

TLS 9518

Este ejemplo funciona como un tipo de dispositivo de bombilla, con capacidades de encendido y apagado. Los pasos se verificaron en una placa de desarrollo TLSR9518 de Telink (también conocida como placa de desarrollo B91).

En este ejemplo, se usa un ID de proveedor (VID) de prueba de 0xFFF1 y un ID de producto (PID) de 0x8005.

Vista superior de la TLSR9518

Configuración inicial

Los pasos de este documento se validaron en Ubuntu 20.04.

  1. Conecta la placa de desarrollo a la PC host con un adaptador de USB a UART para la consola en serie:

    • Conecta PB2 de J34 (etiquetado TX arriba) en la placa de desarrollo a RXD del adaptador.
    • Conecta GND de J56 (etiquetado GND arriba) a GND del adaptador.
  2. Conecta un lado de la llave ardiente (la caja negra con cuatro LED) a la PC host con un cable USB A macho a mini B de Mini, y el otro lado a la placa de desarrollo con otro cable USB A de macho a mini B de la siguiente manera:

    Conecta TLSR9518

  3. Descarga LinuxBDT:

    wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
    tar -xvf LinuxBDT.tar.bz2
    
  4. Instala Docker Engine (no uses Docker Desktop).

  5. Ejecuta el contenedor de Docker (esto tardará un tiempo en completarse)

    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. En el contenedor de Docker, clona y, luego, inicializa el repositorio de GitHub del 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
    

Compila la imagen e instala la placa en la memoria flash

  1. En el contenedor de Docker, compila lighting-app y, luego, sal de Docker:

    cd examples/lighting-app/telink
    rm -rf build
    west build
    exit
    
  2. Escribe la imagen en la pizarra:

    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
    

    Si los pasos anteriores se completaron de forma correcta, los siguientes comandos deben producir un resultado similar en la 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

Valida el ejemplo

  1. El dispositivo debe presentarse como un dispositivo serial USB en tu computadora. Puedes buscarlo en /dev:

    ls -la /dev/tty*
    

    Puedes abrir la consola en serie con GNU screen o minicom. Por ejemplo, si el dispositivo está en /dev/ttyACM0:

    screen /dev/ttyACM0 115200
    
  2. Para restablecer la placa, presiona el botón CHIP_RESET y deberías ver un resultado como este en la 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. Después de poner en marcha correctamente la placa, puedes controlar el LED azul presionando el botón SW3 K2. Cada vez que se presiona, hace que el LED se encienda o apague de forma alternativa y que aparezca la siguiente salida en la 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 restablecer la configuración de fábrica de la placa, presiona el botón SW2 K1; deberías ver un resultado como este en la terminal:

    I: Factory Reset triggered.
    

Próximos pasos

Cuando se haya creado correctamente tu ejemplo Matter, crea un proyecto de desarrollador.