Google is committed to advancing racial equity for Black communities. See how.

Border Router Test Harness Setup

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

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

  • การใช้การเชื่อมต่อพอร์ตอนุกรม (แนะนำให้ใช้คุณสมบัติการค้นหาอัตโนมัติของ Test Harness)
  • ใช้การเชื่อมต่อ SSH

ขั้นตอนการติดตั้งและการกำหนดค่าด้านล่างทั้งหมดจะเกิดขึ้นกับเครื่อง Windows ที่ใช้ซอฟต์แวร์ GRL Test Harness ซึ่งควรติดตั้งก่อนดำเนินการต่อเว้นแต่จะระบุไว้เป็นอย่างอื่น

คัดลอกไฟล์สนับสนุน THCI

ตรวจสอบให้แน่ใจว่าคุณมี THCI เวอร์ชันล่าสุดบนเครื่อง Windows โคลนที่เก็บ OpenThread หรือถ้าคุณมีอยู่แล้วให้เปลี่ยนเป็นสาขา master :

git clone https://github.com/openthread/openthread
cd openthread
git checkout master

คัดลอกไฟล์ต่อไปนี้จาก /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 ตัวเลือกการเชื่อมต่อ
  3. ในเมนู Interfacing Options ให้เลือก P6 Serial Enable / Disable
  4. รีสตาร์ท RPi3B

บนเครื่อง Windows ที่เรียกใช้ Test Harness:

การเชื่อมต่อ OTBR FT232
  1. ดาวน์โหลดและติดตั้ง ไดรเวอร์ FT232
  2. เชื่อมต่ออะแดปเตอร์ FT232 USB เป็น UART เข้ากับช่อง USB บนเครื่อง Windows
  3. ตั้งจัมเปอร์แรงดันไฟฟ้าบน FT232 เป็น 3.3V
  4. เชื่อมต่อ FT232 เข้ากับ RPi3B โดยใช้พินและสาย Dupont ต่อไปนี้:
    RPi3B พิน FT232 พิน Dupont Line
    หมุด 6 GND ขาว
    พิน 8 RXD สีเหลือง
    พิน 10 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
  2. ในหน้า Configure Test Bed ตอนนี้อุปกรณ์ / พอร์ตจะปรากฏเป็นอุปกรณ์ OT NCP

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

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

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

OTBR รับรอง SSH

การเชื่อมต่อ 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
  3. ในหน้า Configure Test Bed ลากอุปกรณ์ OpenThread WpanCtl SSH: wpantund + NCP จากส่วน ฮาร์ดแวร์ที่รองรับ ไปยังส่วน Test Bed
  4. เติม IP addr ด้วย 192.168.1.100 และ PORT ด้วย 22 สำหรับอุปกรณ์
  5. คลิกปุ่มลูกศรด้านล่างช่อง PORT เพื่อสร้างการเชื่อมต่อ SSH ระหว่าง Test Harness และอุปกรณ์ OT NCP
OTBR รับรอง SSH

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

ดูขั้นตอนการ ติดตั้ง และ กำหนดค่า จากคู่มือการตั้งค่าการรับรองอัตโนมัติสำหรับคำแนะนำเกี่ยวกับวิธีการตั้งค่า Harness Automation Tool

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

ดูการ เรียกใช้กรณีการทดสอบการรับรอง เพื่อเรียนรู้วิธีเรียกใช้กรณีทดสอบการรับรองบน ​​OTBR DUT

การแก้ไขปัญหา

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

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

สายรัดทดสอบไม่พบ Border Router

เมื่อใช้การเชื่อมต่อพอร์ตอนุกรม Test Harness อาจไม่พบ Border Router ในกรณีนี้:

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