TLSR9518
این مثال به عنوان یک نوع دستگاه لامپ با قابلیت روشن/خاموش عمل می کند. مراحل در یک برد توسعه Telink TLSR9518 (همچنین به عنوان هیئت توسعه B91 شناخته می شود) تأیید شد.
این مثال از شناسه فروشنده آزمایشی (VID) 0xFFF1
و شناسه محصول (PID) 0x8005
استفاده میکند.
راه اندازی اولیه
مراحل این سند در اوبونتو 20.04 تأیید شد.
برد توسعه دهنده را با یک آداپتور USB-to-UART برای کنسول سریال به رایانه میزبان وصل کنید:
- PB2 J34 (با برچسب TX در بالا) روی برد توسعه دهنده به RXD آداپتور وصل کنید.
- GND J56 (با برچسب GND در بالا) به GND آداپتور وصل کنید.
یک طرف Burning Key (جعبه سیاه با چهار LED) را با یک کابل USB A Male-to-Mini B به کامپیوتر میزبان وصل کنید و طرف دیگر را با کابل USB A Male-to-Mini B به برد توسعه دهنده دیگر متصل کنید. مطابق ذیل:
LinuxBDT را دانلود کنید:
wget http://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
tar -xvf LinuxBDT.tar.bz2
Docker Engine را نصب کنید (از Docker Desktop استفاده نکنید ).
کانتینر Docker را اجرا کنید (این کار برای اولین بار کمی طول می کشد):
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}')
در ظرف Docker، مخزن 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
تصویر را بسازید و تابلو را فلش کنید
در ظرف Docker،
lighting-app
بسازید و سپس از Docker خارج شوید:cd examples/lighting-app/telink
rm -rf build
west build
exit
تصویر را روی تخته فلش کنید:
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
اگر مراحل قبلی موفقیت آمیز بود، دستورات زیر باید خروجی مشابهی را در ترمینال ایجاد کنند:
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
مثال را تایید کنید
دستگاه باید خود را به عنوان یک دستگاه سریال USB در رایانه شما نشان دهد. می توانید آن را در
/dev
جستجو کنید:ls -la /dev/tty*
می توانید کنسول سریال را با
screen
گنو یاminicom
باز کنید. برای مثال، اگر دستگاه در/dev/ttyACM0
باشد:screen /dev/ttyACM0 115200
برای ریست کردن برد، دکمه CHIP_RESET را فشار دهید و خروجی را در ترمینال به صورت زیر مشاهده خواهید کرد:
*** 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"
پس از راه اندازی موفقیت آمیز برد، می توانید LED آبی رنگ را با فشار دادن دکمه SW3 K2 کنترل کنید. هر بار فشار دادن باعث می شود LED به طور متناوب روشن یا خاموش شود و خروجی زیر در ترمینال ظاهر شود:
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
برای ریست فکتوری برد، دکمه SW2 K1 را فشار دهید تا خروجی را در ترمینال ببینید:
I: Factory Reset triggered.
مراحل بعدی
وقتی مثال Matter شما با موفقیت ساخته شد، یک پروژه توسعه دهنده ایجاد کنید .