การตั้งค่า Border Router Test Harness

ตั้งค่า GRL Thread Test Harness และเครื่องมืออัตโนมัติของ OpenThread Harness Automation สำหรับการใช้งานกับอุปกรณ์ OpenThread Border Router (OTBR) Under Test (DUT) คือ เหมือนกับการตั้งค่าการทำงานอัตโนมัติของการรับรอง ให้ใช้คู่มือดังกล่าวร่วมกับ รายละเอียดการเปลี่ยนแปลงที่นี่

สำหรับรูปแบบ NCP เช่น OTBR นั้น OpenThread จะมี OpenThread_WpanCtl.py ตัวอย่าง Thread Host Control Interface (THCI) ที่อนุญาตให้ Test Harness ควบคุม NCP การเชื่อมต่อมี 2 โหมด สำหรับอุปกรณ์ NCP

  • ใช้การเชื่อมต่อพอร์ตอนุกรม (แนะนำให้ใช้ของชุดทดสอบ ฟีเจอร์การค้นพบอัตโนมัติ)
  • การใช้การเชื่อมต่อ 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) ให้เปิดใช้งานพอร์ตอนุกรมและเชลล์การเข้าสู่ระบบ:

  1. ป้อนเมนูการกำหนดค่า:
    sudo raspi-config
  2. ในเมนูการกำหนดค่า ให้เลือก 5 Interrating Options
  3. ในเมนูตัวเลือกการเชื่อมต่อ ให้เลือกเปิดใช้/ปิดใช้ P6 Serial
  4. รีสตาร์ท RPi3B

ในเครื่อง Windows ที่ใช้ Test Harness ให้ทำดังนี้

การเชื่อมต่อ OTBR FT232
  1. ดาวน์โหลดและติดตั้ง FT232
  2. เชื่อมต่ออะแดปเตอร์ FT232 USB กับ UART กับช่อง USB บนเครื่อง Windows
  3. ตั้งค่าเครื่องดันไฟฟ้าแรงดันไฟฟ้าบน FT232 เป็น 3.3 โวลต์
  4. เชื่อมต่อ FT232 กับ RPi3B โดยใช้หมุดและเส้น Dupont ต่อไปนี้
    ปักหมุด RPi3B PIN FT232 เส้นดูปองท์
    Pin6 GND ขาว
    Pin8 RXD เหลือง
    Pin10 TXD แดง
  5. เมื่อเชื่อมต่อแล้ว ให้รีสตาร์ทเครื่อง Windows
  6. ค้นหาตัวระบุฮาร์ดแวร์พอร์ตอนุกรมของอุปกรณ์โดยใช้ Python pySerial โมดูล:
    1. ติดตั้ง pySerial บนเครื่อง Windows
    2. ใช้ Python ในบรรทัดคำสั่งของ Windows เพื่อแจกแจงฮาร์ดแวร์ทั้งหมด (VID และ PID) สำหรับอุปกรณ์ที่เชื่อมต่อกับเครื่อง ด้วยวิธีนี้ มีการเชื่อมต่ออุปกรณ์ NCP หนึ่งเครื่อง โดยมีตัวระบุ VID_0403+PID_6001
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
    3. หากทราบพอร์ต 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']
  7. อัปเดตรายการอุปกรณ์ทองคำ โดยทำดังนี้
    1. เปิด C:\GRL\Thread1.1\Config\Configuration.ini
    2. เพิ่มการจัดกลุ่ม 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’]}

เมื่อการกำหนดค่าทั้งหมดเสร็จสมบูรณ์แล้ว:

  1. เริ่มใช้ GRL Test Harness
  2. ในหน้ากำหนดค่า Test Bed อุปกรณ์/พอร์ตจะปรากฏเป็น OT NCP อุปกรณ์

    หาก DUT ไม่แสดงในส่วนเตียงทดสอบหลังจากโปรแกรมทดสอบอัตโนมัติ เริ่มต้นใช้งาน ให้เพิ่มโดเมนด้วยตนเองโดยลาก OpenThread WpanCtl: อุปกรณ์ wpantund+NCP จากส่วนฮาร์ดแวร์ที่รองรับไปยังหน้าการทดสอบ เตียง หลังจากลาก

    1. ตรวจสอบว่า Serial Line (พอร์ต COM) และความเร็ว (อัตรารับส่งข้อมูล) ถูกต้อง ระบบจะเติมค่า
    2. คลิกปุ่มลูกศรใต้ช่องความเร็วเพื่อสร้างอนุกรม การเชื่อมต่อระหว่าง Test Harness กับอุปกรณ์ OT NCP
  3. เลือกช่องทำเครื่องหมายเปิดใช้การเลือกอุปกรณ์ DUT อัตโนมัติใต้ช่อง "รองรับ" รายการฮาร์ดแวร์

  4. เลือกปุ่มตัวเลือกตั้งค่าเป็น DUT ใต้อุปกรณ์/พอร์ตเป้าหมายที่จะตั้งค่า อุปกรณ์ OT NCP เป็น DUT

SSH ใบรับรอง OTBR

การเชื่อมต่อ SSH

ใน RPi3B ให้เปิดใช้ SSH ดังนี้

  1. เปิดใช้บริการ SSH ในการบูตด้วยคำสั่งต่อไปนี้
    sudo systemctl enable ssh
  2. เริ่มต้นบริการ SSH ด้วยคำสั่งต่อไปนี้
    sudo systemctl start ssh

หากต้องการเปิดใช้ SSH บน RPi3B แบบไม่มีส่วนหัว โปรดดูขั้นตอนที่ 3 ของ Raspberry Pi SSH เอกสารประกอบ

ในเครื่อง Windows ที่ใช้ Test Harness ให้ทำดังนี้

  1. ติดตั้ง Paramiko สำหรับสภาพแวดล้อม Python ของ GRL
    cd C:\GRL\Python2.7
    วันที่
    python -m pip install --upgrade pip
    python -m pip install paramiko
  2. เริ่มใช้ GRL Test Harness
  3. ในหน้ากำหนดค่าเตียงทดสอบ ให้ลาก OpenThread WpanCtl SSH: wpantund+NCP จากส่วนฮาร์ดแวร์ที่รองรับไปยัง ส่วนเตียงทดสอบ
  4. ใส่ข้อมูลใน IP addr ด้วย 192.168.1.100 และ PORT ด้วย 22 สำหรับ อุปกรณ์
  5. คลิกปุ่มลูกศรใต้ช่อง PORT เพื่อสร้าง SSH การเชื่อมต่อระหว่าง Test Harness กับอุปกรณ์ OT NCP
SSH ใบรับรอง OTBR

การตั้งค่าการทำงานอัตโนมัติ

โปรดดูส่วนติดตั้ง และ ขั้นตอนกำหนดค่าจาก คู่มือการตั้งค่าการรับรองระบบอัตโนมัติสําหรับวิธีการตั้งค่า เครื่องมือควบคุมการทำงานอัตโนมัติ

เรียกใช้กรอบการทดสอบ

ดูวิธีการได้ที่กรอบการทดสอบการรับรอง ในการจัดทำกรณีการทดสอบการรับรองใน OTBR DUT

การแก้ปัญหา

การรีบูตอุปกรณ์

หากคุณต้องการรีบูต RPi3B ให้ปิดซอฟต์แวร์ Test Harness แล้วรอที่ อย่างน้อย 20 วินาทีหลังจากการรีบูตเสร็จสมบูรณ์ เพื่อเริ่มโปรแกรมทดสอบอัตโนมัติอีกครั้ง

Test Harness ไม่พบ Border Router

เมื่อใช้การเชื่อมต่อพอร์ตอนุกรม โปรแกรมควบคุมการทดสอบอาจไม่พบ Border Router หากเป็นเช่นนี้

  1. ตรวจสอบว่าการเข้าสู่ระบบ Shell ใช้ได้กับพอร์ตอนุกรมหรือไม่โดยใช้เครื่องมืออย่างเช่น PuTTY
    1. ใช้พอร์ต COM สำหรับอุปกรณ์ FT232 และความเร็ว (อัตรารับส่งข้อมูล) เป็น 115200
    2. หากเข้าสู่ระบบไม่สำเร็จ ให้รีบูตอุปกรณ์ทั้งหมดและลองอีกครั้ง
  2. บน RPi3B ให้ตรวจสอบสถานะ wpantund: วันที่
    sudo service wpantund status
    หากสถานะเป็น "ผิดปกติ" ให้ทำดังนี้
    1. ตรวจสอบว่าได้ติดตั้งบอร์ด NRF52840 แล้ว
      ls /dev/tty*
      /dev/ttyACM0
    2. ตรวจสอบว่าพอร์ตนี้ตรงกับการกำหนดค่า wpantund: วันที่
      // default value in '/etc/wpantund.conf'
      Config:NCP:SocketPath "/dev/ttyACM0"
    3. รีสตาร์ท wpantund: วันที่
      sudo service wpantund restart