TLS 9518
Questo esempio funziona come un tipo di lampadina, con funzionalità di accensione/spegnimento. I passaggi sono stati verificati su una scheda di sviluppo Telink TLSR9518 (nota anche come scheda di sviluppo B91).
Questo esempio utilizza un ID fornitore (VID) di test 0xFFF1
e un ID prodotto (PID) 0x8005
.
Configurazione iniziale
I passaggi descritti in questo documento sono stati convalidati in Ubuntu 20.04.
Collega la scheda sviluppatore 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 a RXD dell'adattatore.
- Collega GND di J56 (etichettato come GND sopra) a GND dell'adattatore.
Collega un lato della chiave di burnout (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-mini B come segue:
Scarica LinuxBDT:
wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
tar -xvf LinuxBDT.tar.bz2
Installa Docker Engine (non utilizzare Docker Desktop).
Esegui il container Docker (il completamento dell'operazione richiederà un po' di tempo la prima volta):
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}')
Nel container Docker, clona e inizializza il repository Matter SDK github (
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 fai lampeggiare il pannello
Nel container Docker, crea
lighting-app
, quindi esci da Docker:cd examples/lighting-app/telink
rm -rf build
west build
exit
Esegui il flashing dell'immagine alla 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
Il dispositivo dovrebbe essere presentato come dispositivo seriale USB sul computer. Puoi cercarlo in
/dev
:ls -la /dev/tty*
Puoi aprire la console seriale con GNU
screen
ominicom
. Ad esempio, se il dispositivo si trova all'indirizzo/dev/ttyACM0
:screen /dev/ttyACM0 115200
Per reimpostare la lavagna, premi il pulsante CHIP_RESET e dovresti vedere questo output nel terminale:
*** 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"
Dopo aver avviato correttamente la scheda, puoi controllare il LED blu premendo il pulsante SW3 K2. A ogni pressione, il LED si accende o si spegne in modo alternativo e nel terminale compare la seguente uscita:
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
Per ripristinare i dati di fabbrica della scheda, premi il pulsante SW2 K1 e dovresti vedere l'output come segue nel terminale:
I: Factory Reset triggered.
Passaggi successivi
Una volta creato l'esempio Matter, crea un progetto sviluppatore.