TLSR9518
ตัวอย่างนี้ทำหน้าที่เป็นอุปกรณ์ประเภทหลอดไฟที่มีความสามารถในการเปิด/ปิด ขั้นตอนดังกล่าวได้รับการยืนยันในบอร์ดการพัฒนา TLSR9518 ของ Telink (หรือเรียกอีกอย่างว่าคณะกรรมการการพัฒนา B91)
ตัวอย่างนี้ใช้รหัสผู้ให้บริการทดสอบ (VID) ของ 0xFFF1
และรหัสผลิตภัณฑ์ (PID) ของ 0x8005
การตั้งค่าเบื้องต้น
ขั้นตอนในเอกสารนี้ได้รับการตรวจสอบความถูกต้องใน Ubuntu 20.04
เชื่อมต่อบอร์ด dev กับโฮสต์พีซีด้วยอะแดปเตอร์แปลง USB เป็น UART สำหรับคอนโซลซีเรียล
- เชื่อมต่อ PB2 ของ J34 (ติดป้ายกำกับ TX ด้านบน) บนบอร์ดนักพัฒนาซอฟต์แวร์กับ RXD ของอะแดปเตอร์
- เชื่อมต่อ GND ของ J56 (มีป้ายกำกับ GND ด้านบน) กับ GND ของอะแดปเตอร์
เชื่อมต่อด้านหนึ่งของ Burning Key ด้านหนึ่ง (กล่องสีดำที่มี LED 4 ดวง) กับ PC ของโฮสต์โดยใช้สาย USB A Male-to-Mini B และอีกด้านหนึ่งเข้ากับ Dev Board ด้วยสาย USB A ชายเป็น 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*
คุณสามารถเปิดคอนโซลอนุกรมด้วย GNU
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 เรียบร้อยแล้ว ให้สร้างโปรเจ็กต์นักพัฒนาซอฟต์แวร์