การตั้งค่าชุดทดสอบเทรดของ GRL และเครื่องมือการทำงานอัตโนมัติของชุดทดสอบ OpenThread สำหรับการทดสอบอุปกรณ์ภายใต้การทดสอบ (DUT) ของ Border Router (OTBR) แบบ OpenThread จะเหมือนกับคำแนะนำในการตั้งค่าการทำงานอัตโนมัติเพื่อขอการรับรอง ใช้คู่มือดังกล่าวร่วมกับการเปลี่ยนแปลงที่ระบุไว้อย่างละเอียดที่นี่
สำหรับการออกแบบ NCP เช่น OTBR นั้น OpenThread มีOpenThread_WpanCtl.py
ตัวอย่างอินเทอร์เฟซควบคุมโฮสต์เทรด (THCI) ที่ช่วยให้ชุดทดสอบควบคุม NCP ได้ อุปกรณ์ NCP มีโหมดการเชื่อมต่อ 2 โหมด ดังนี้
- การใช้การเชื่อมต่อพอร์ตอนุกรม (แนะนำสำหรับการใช้ฟีเจอร์การค้นพบอัตโนมัติของ Test Harness)
- การใช้การเชื่อมต่อ SSH
ขั้นตอนการติดตั้งและการกําหนดค่าทั้งหมดด้านล่างจะดําเนินการบนเครื่อง Windows ที่ใช้ซอฟต์แวร์ GRL Test Harness ซึ่งควรติดตั้งก่อนดําเนินการต่อ
คัดลอกไฟล์สนับสนุน THCI
ตรวจสอบว่าเครื่อง Windows ใช้งาน THCI เวอร์ชันล่าสุด โคลนที่เก็บ OpenThread หรือหากมีอยู่แล้ว ให้เปลี่ยนเป็น Branch main
git clone https://github.com/openthread/openthread
cd openthread
git checkout main
คัดลอกไฟล์ต่อไปนี้จาก /tools/harness-thci
ในที่เก็บ OpenThread ที่โคลนไปยังไดเรกทอรีที่ระบุในเครื่อง Windows
ไฟล์ต้นฉบับ | คัดลอกไปยังไดเรกทอรี |
---|---|
deviceInputFields.xml |
C:\GRL\Thread1.1\Web\data\ |
OpenThread_WpanCtl.py |
C:\GRL\Thread1.1\Thread_Harness\THCI\ |
OpenThread_WpanCtl.png |
C:\GRL\Thread1.1\Web\images\ |
ตั้งค่าประเภทการเชื่อมต่อ
สำหรับการควบคุม Test Harness ของ NCP ให้ตั้งค่าการเชื่อมต่อพอร์ตอนุกรมหรือการเชื่อมต่อ SSH
การเชื่อมต่อพอร์ตอนุกรม (แนะนำ)
ใน Raspberry Pi 3B (RPi3B) ให้เปิดใช้พอร์ตอนุกรมและเชลล์การเข้าสู่ระบบโดยทำดังนี้
- ป้อนเมนูการกำหนดค่า:
sudo raspi-config
- ในเมนูการกําหนดค่า ให้เลือกตัวเลือกการต่อเชื่อม 5 รายการ
- ในเมนูตัวเลือกการต่อเชื่อม ให้เลือกเปิด/ปิดใช้อนุกรม P6
- รีสตาร์ท RPi3B
ในเครื่อง Windows ที่เรียกใช้ Test Harness ให้ทำดังนี้
- ดาวน์โหลดและติดตั้งไดรเวอร์ FT232
- เชื่อมต่ออะแดปเตอร์ FT232 USB กับ UART กับช่อง USB บนเครื่อง Windows
- ตั้งค่าจัมเปอร์แรงดันไฟฟ้าใน FT232 เป็น 3.3V
- เชื่อมต่อ FT232 กับ RPi3B โดยใช้ขาและสาย Dupont ต่อไปนี้
ขา RPi3B PIN FT232 สาย Dupont Pin6 GND ขาว Pin8 RXD เหลือง Pin10 TXD แดง - เมื่อเชื่อมต่อแล้ว ให้รีสตาร์ทเครื่อง Windows
- ค้นหาตัวระบุฮาร์ดแวร์พอร์ตซีเรียลของอุปกรณ์โดยใช้โมดูล pySerial ของ Python ดังนี้
- ติดตั้ง pySerial ในเครื่อง Windows
- ใช้ Python ในบรรทัดคำสั่งของ Windows เพื่อแสดงรายการตัวระบุฮาร์ดแวร์ทั้งหมด (VID และ PID) สำหรับอุปกรณ์ที่เชื่อมต่อกับเครื่อง ในเอาต์พุตนี้ อุปกรณ์ NCP 1 เครื่องเชื่อมต่ออยู่ โดยมีตัวระบุเป็น
VID_0403+PID_6001
python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- หากทราบพอร์ต COM อยู่แล้ว คุณจะใช้คำสั่งอื่นได้ เช่น หากพอร์ต COM คือ
COM10
ให้ทำดังนี้python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
['FTDIBUS\VID_0403+PID_6001+AL01WP6MA\0000']
- อัปเดตรายการอุปกรณ์ Golden โดยทำดังนี้
- เปิด
C:\GRL\Thread1.1\Config\Configuration.ini
- เพิ่มการจัดกลุ่ม OpenThread_WpanCtl ลงในอาร์เรย์
GoldenDeviceHardwareIds
ที่มี VID และ PID ของอุปกรณ์ ดังนี้GoldenDeviceHardwareIds = {
'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
'SiLabs': 'VID:PID=10C4:8A5E',
'ARM': 'VID:PID=0D28:0204',
'OpenThread':['VID:PID=10C4:EA60', 'VID:PID=1915:CAFE'],
'OpenThread_WpanCtl':['VID_0403+PID_6001’]}
- เปิด
เมื่อกําหนดค่าทั้งหมดเสร็จแล้ว ให้ทําดังนี้
- เริ่มใช้ GRL Test Harness
ในหน้ากำหนดค่า Test Bed ตอนนี้อุปกรณ์/พอร์ตจะปรากฏเป็นอุปกรณ์ OT NCP
หาก DUT ไม่แสดงอยู่ในส่วน Test Bed หลังจากเริ่ม Test Harness ให้เพิ่มด้วยตนเองโดยลากอุปกรณ์ OpenThread WpanCtl: wpantund+NCP จากส่วน ฮาร์ดแวร์ที่รองรับไปยังส่วน Test Bed หลังจากลาก
- ตรวจสอบว่าได้ป้อนค่าสายอนุกรม (พอร์ต COM) และความเร็ว (อัตราบอด) ที่ถูกต้อง
- คลิกปุ่มลูกศรใต้ช่องความเร็วเพื่อสร้างการเชื่อมต่อซีเรียลระหว่างชุดทดสอบกับอุปกรณ์ NCP ของ OT
เลือกช่องทำเครื่องหมายเปิดใช้การเลือกอุปกรณ์ DUT อัตโนมัติใต้รายการฮาร์ดแวร์ที่รองรับ
เลือกปุ่มตัวเลือกตั้งเป็น DUT ใต้อุปกรณ์/พอร์ตเป้าหมายเพื่อตั้งค่าอุปกรณ์ OT NCP เป็น DUT
การเชื่อมต่อ SSH
เปิดใช้ SSH ใน RPi3B โดยทำดังนี้
- เปิดใช้บริการ SSH เมื่อเปิดเครื่อง
sudo systemctl enable ssh
- เริ่มต้นบริการ SSH ด้วยคำสั่งต่อไปนี้
sudo systemctl start ssh
หากต้องการเปิดใช้ SSH บน RPi3B แบบไม่มีส่วนหัว ให้ดูขั้นตอนที่ 3 ของเอกสารประกอบ SSH สำหรับ Raspberry Pi
ในเครื่อง Windows ที่เรียกใช้ Test Harness ให้ทำดังนี้
- ติดตั้ง Paramiko สําหรับสภาพแวดล้อม Python ของ GRL โดยทำดังนี้
cd C:\GRL\Python2.7
python -m pip install --upgrade pip
python -m pip install paramiko
- เริ่มใช้ GRL Test Harness
- ในหน้ากำหนดค่า Test Bed ให้ลากอุปกรณ์ OpenThread WpanCtl SSH: wpantund+NCP จากส่วนฮาร์ดแวร์ที่รองรับไปยังส่วนTest Bed
- ป้อน IP addr เป็น 192.168.1.100 และ PORT เป็น 22 สำหรับอุปกรณ์
- คลิกปุ่มลูกศรใต้ช่อง PORT เพื่อตั้งค่าการเชื่อมต่อ SSH ระหว่าง Test Harness กับอุปกรณ์ OT NCP
การตั้งค่าการทำงานอัตโนมัติ
โปรดดูวิธีตั้งค่าเครื่องมือการทํางานอัตโนมัติในส่วนติดตั้งและกําหนดค่าจากคู่มือการตั้งค่าการทำงานอัตโนมัติของการรับรอง
เรียกใช้กรอบการทดสอบ
ดูการเรียกใช้ Test Case การรับรองเพื่อดูวิธีเรียกใช้ Test Case การรับรองใน OTBR DUT
การแก้ปัญหา
การรีบูตอุปกรณ์
หากต้องการรีบูต RPi3B ให้ปิดซอฟต์แวร์ Test Harness แล้วรออย่างน้อย 20 วินาทีหลังจากรีบูตเสร็จแล้วจึงเริ่ม Test Harness อีกครั้ง
Test Harness ไม่พบ Border Router
เมื่อใช้การเชื่อมต่อพอร์ตอนุกรม โปรแกรมทดสอบอาจไม่พบเราเตอร์ขอบเขต หากเป็นเช่นนี้
- ตรวจสอบว่าการเข้าสู่ระบบ Shell ใช้งานได้กับพอร์ตซีเรียลหรือไม่โดยใช้เครื่องมืออย่าง PuTTY
- ใช้พอร์ต COM สำหรับอุปกรณ์ FT232 และความเร็ว (อัตราบอด) 115200
- หากเข้าสู่ระบบไม่สำเร็จ ให้รีบูตอุปกรณ์ทั้งหมดและลองอีกครั้ง
- ใน RPi3B ให้ตรวจสอบสถานะของ
wpantund
ดังนี้ หากสถานะเป็น "ผิดปกติ" ให้ทำดังนี้sudo service wpantund status
- ตรวจสอบว่าได้ติดตั้งบอร์ด NCP ของ nRF52840 แล้ว โดยทำดังนี้
ls /dev/tty*
/dev/ttyACM0 - ตรวจสอบว่าพอร์ตนี้ตรงกับการกำหนดค่า
wpantund
// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
- รีสตาร์ท
wpantund
:sudo service wpantund restart
- ตรวจสอบว่าได้ติดตั้งบอร์ด NCP ของ nRF52840 แล้ว โดยทำดังนี้