Telink

TLSR9518

Questo esempio funziona come un tipo di dispositivo a lampadina, con funzionalità di accensione e spegnimento. I passaggi sono stati verificati su una scheda di sviluppo Telink TLSR9518 (nota anche come B91 Development Board).

Questo esempio utilizza un ID fornitore (VID) di test pari a 0xFFF1 e un ID prodotto (PID) pari a 0x8005.

Vista dall'alto di TLSR9518

Configurazione iniziale

I passaggi in questo documento sono stati convalidati su Ubuntu 20.04.

  1. Collega la scheda di sviluppo al PC host con un adattatore da USB a UART per la console seriale:

    • Collega PB2 di J34 (con etichetta TX in alto) sulla scheda di sviluppo al connettore RXD dell'adattatore.
    • Collega GND di J56 (con etichetta GND sopra) alla rete GND dell'adattatore.
  2. Collega un lato della Burning Key (la scatola nera con quattro LED) al PC host con un cavo USB A maschio a mini B e l'altro lato alla scheda di sviluppo con un altro cavo USB A maschio a mini B, come indicato di seguito:

    Connessione di TLSR9518

  3. Scarica LinuxBDT:

    wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
    tar -xvf LinuxBDT.tar.bz2
    
  4. Installa Docker Engine (non utilizzare Docker Desktop).

  5. Esegui il container Docker (la prima volta l'operazione richiederà un po' di tempo):

    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. Nel container Docker, clona e inizializza il repository github dell'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
    

Crea l'immagine e applica la lavagna

  1. Nel container Docker, crea lighting-app, quindi esci da Docker:

    cd examples/lighting-app/telink
    rm -rf build
    west build
    exit
    
  2. Esegui il flashing dell'immagine sulla lavagna:

    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 i passaggi precedenti hanno avuto esito positivo, i seguenti comandi dovrebbero produrre un output simile nel terminale:

    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

Convalida l'esempio

  1. Il dispositivo dovrebbe presentarsi come dispositivo seriale USB sul tuo computer. Puoi cercarlo in /dev:

    ls -la /dev/tty*
    

    Puoi aprire la console seriale con GNU screen o minicom. Ad esempio, se il dispositivo si trova all'indirizzo /dev/ttyACM0:

    screen /dev/ttyACM0 115200
    
  2. Per reimpostare la scheda, premi il pulsante CHIP_RESET; nel terminale dovresti vedere un output simile a questo:

    *** 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. Dopo aver messo in servizio la scheda, puoi controllare il LED blu premendo il pulsante SW3 K2. A ogni pressione, il LED si accende o si spegne in modo alternato e nel terminale viene visualizzato il seguente output:

    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. Per ripristinare i dati di fabbrica della scheda, premi il pulsante SW2 K1; nel terminale dovresti vedere un output simile a questo:

    I: Factory Reset triggered.
    

Passaggi successivi

Una volta creato l'esempio Matter, crea un progetto sviluppatore.