Cách thiết lập Bộ kiểm thử luồng GRL và Công cụ tự động hoá bộ điều khiển OpenThread để sử dụng với Thiết bị đang kiểm thử (DUT) của Bộ định tuyến biên OpenThread (OTBR) giống như Hướng dẫn thiết lập quy trình tự động hoá chứng nhận. Hãy sử dụng hướng dẫn đó cùng với các thay đổi được nêu chi tiết tại đây.
Đối với thiết kế NCP như OTBR, OpenThread cung cấp một ví dụ về OpenThread_WpanCtl.py
Giao diện điều khiển máy chủ luồng
(THCI)
cho phép Bộ kiểm thử điều khiển NCP. Có hai chế độ kết nối cho thiết bị NCP:
- Sử dụng kết nối cổng nối tiếp (nên sử dụng tính năng tự động khám phá của Bộ kiểm thử)
- Sử dụng kết nối SSH
Trừ phi có ghi chú khác, tất cả các bước cài đặt và định cấu hình bên dưới đều diễn ra trên máy Windows chạy phần mềm GRL Test Harness. Bạn phải cài đặt phần mềm này trước khi tiếp tục.
Sao chép các tệp hỗ trợ THCI
Đảm bảo bạn có phiên bản THCI mới nhất trên máy Windows. Sao chép kho lưu trữ OpenThread hoặc nếu bạn đã có kho lưu trữ, hãy chuyển kho lưu trữ này sang nhánh main
:
git clone https://github.com/openthread/openthread
cd openthread
git checkout main
Sao chép các tệp sau từ /tools/harness-thci
trong kho lưu trữ OpenThread được nhân bản vào các thư mục đã chỉ định trên máy Windows:
Tệp nguồn | Sao chép vào thư mục |
---|---|
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\ |
Thiết lập loại kết nối
Để kiểm soát Test Harness của NCP, hãy thiết lập kết nối cổng nối tiếp hoặc kết nối SSH.
Kết nối cổng nối tiếp (nên dùng)
Trên Raspberry Pi 3B (RPi3B), hãy bật cổng nối tiếp và shell đăng nhập:
- Chuyển đến trình đơn cấu hình:
sudo raspi-config
- Trong trình đơn cấu hình, hãy chọn 5 giao diện lựa chọn.
- Trong trình đơn Tuỳ chọn giao tiếp, hãy chọn Bật/tắt nối tiếp P6.
- Khởi động lại RPi3B.
Trên máy Windows đang chạy Test Harness:
- Tải xuống và cài đặt trình điều khiển FT232.
- Kết nối bộ điều hợp USB FT232 với UART với khe cắm USB trên máy Windows.
- Đặt cầu nối điện áp trên FT232 thành 3,3V.
- Kết nối FT232 với RPi3B bằng các chân và đường Dupont sau:
Pin RPi3B Chân cắm FT232 Dây chuyền dupont Pin6 GND Trắng Pin8 RXD Vàng Pin10 TXD Đỏ - Sau khi kết nối, hãy khởi động lại máy tính chạy Windows.
- Tìm giá trị nhận dạng phần cứng cổng nối tiếp của thiết bị bằng mô-đun pySerial của Python:
- Cài đặt pySerial trên máy tính Windows.
- Sử dụng Python trên dòng lệnh Windows để liệt kê tất cả giá trị nhận dạng phần cứng (VID và PID) cho các thiết bị được kết nối với máy. Trong kết quả này, một thiết bị NCP được kết nối, với giá trị nhận dạng là
VID_0403+PID_6001
.python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: FTDIBUS\VID_0403+PID_6001+AL01WOSZA\0000
- Nếu đã biết cổng COM, bạn có thể sử dụng một lệnh khác. Ví dụ: nếu cổng COM là
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']
- Cập nhật danh sách Thiết bị vàng:
- Mở
C:\GRL\Thread1.1\Config\Configuration.ini
- Thêm một nhóm OpenThread_WpanCtl vào mảng
GoldenDeviceHardwareIds
bằng VID và PID của (các) thiết bị: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’]}
- Mở
Sau khi hoàn tất tất cả cấu hình:
- Khởi động Bộ kiểm thử GRL.
Trên trang Configure Test Bed (Định cấu hình giường kiểm thử), thiết bị/cổng giờ đây sẽ xuất hiện dưới dạng thiết bị OT NCP.
Nếu DUT không được liệt kê trong phần Test Bed (Giường kiểm thử) sau khi bắt đầu Khai thác kiểm thử, hãy thêm DUT theo cách thủ công bằng cách kéo thiết bị OpenThread WpanCtl: wpantund+NCP từ phần supported Hardware (Phần cứng được hỗ trợ) vào phần Test Bed (Giường kiểm thử). Sau khi kéo:
- Đảm bảo bạn điền đúng các giá trị Dòng nối tiếp (cổng COM) và Tốc độ (tốc độ truyền).
- Nhấp vào nút mũi tên bên dưới trường Speed (Tốc độ) để thiết lập kết nối nối tiếp giữa Bộ kiểm thử và thiết bị OT NCP.
Chọn hộp đánh dấu Enable Auto DUT Device Selection (Bật tính năng Tự động chọn thiết bị DUT) bên dưới danh sách Phần cứng được hỗ trợ.
Chọn nút chọn Set as DUT (Đặt làm DUT) trong thiết bị/cổng mục tiêu để đặt thiết bị OT NCP làm DUT.
kết nối SSH
Trên RPi3B, hãy bật SSH:
- Bật dịch vụ SSH khi khởi động:
sudo systemctl enable ssh
- Khởi động dịch vụ SSH:
sudo systemctl start ssh
Để bật SSH trên RPi3B không có giao diện người dùng, hãy xem Bước 3 trong tài liệu về SSH Raspberry Pi.
Trên máy Windows đang chạy Test Harness:
- Cài đặt Paramiko cho môi trường Python của GRL:
cd C:\GRL\Python2.7
python -m pip install --upgrade pip
python -m pip install paramiko
- Khởi động Bộ kiểm thử GRL.
- Trên trang Configure Test Bed (Định cấu hình giường thử nghiệm), hãy kéo thiết bị OpenThread WpanCtl SSH: wpantund+NCP từ phần Supported Hardware (Phần cứng được hỗ trợ) sang phần Test Bed (Giường thử nghiệm).
- Điền 192.168.1.100 vào IP addr (địa chỉ IP) và 22 vào PORT (cổng) cho thiết bị.
- Nhấp vào nút mũi tên bên dưới trường PORT (CỔNG) để thiết lập kết nối SSH giữa Khai thác kiểm thử và thiết bị OT NCP.
Thiết lập tính năng tự động hoá
Xem các bước Cài đặt và Định cấu hình trong Hướng dẫn thiết lập tính năng tự động hoá chứng chỉ để biết hướng dẫn về cách thiết lập Công cụ tự động hoá khai thác.
Chạy các trường hợp kiểm thử
Hãy xem phần Chạy các trường hợp kiểm thử chứng nhận để tìm hiểu cách chạy các trường hợp kiểm thử chứng nhận trên thiết bị thử nghiệm OTBR.
Khắc phục sự cố
Khởi động lại thiết bị
Nếu bạn cần khởi động lại RPi3B, hãy đóng phần mềm Test Harness và đợi ít nhất 20 giây sau khi khởi động lại để khởi động lại Test Harness.
Test Harness không phát hiện được Border Router
Khi sử dụng kết nối cổng nối tiếp, bộ kiểm thử có thể không phát hiện được Bộ định tuyến biên. Nếu trường hợp này xảy ra:
- Kiểm tra xem tính năng đăng nhập Shell có hoạt động cho cổng nối tiếp hay không bằng một công cụ như PuTTY.
- Sử dụng cổng COM cho thiết bị FT232 và tốc độ (tốc độ truyền dữ liệu) là 115200.
- Nếu không đăng nhập được, hãy khởi động lại tất cả thiết bị rồi thử lại.
- Trên RPi3B, hãy kiểm tra trạng thái của
wpantund
: Nếu trạng thái là "abnormal" (bất thường):sudo service wpantund status
- Đảm bảo rằng bạn đã gắn bo mạch NCP nRF52840:
ls /dev/tty*
/dev/ttyACM0 - Xác thực rằng cổng này khớp với cấu hình
wpantund
:// default value in '/etc/wpantund.conf' Config:NCP:SocketPath "/dev/ttyACM0"
- Khởi động lại
wpantund
:sudo service wpantund restart
- Đảm bảo rằng bạn đã gắn bo mạch NCP nRF52840: