Mạng luồng biểu mẫu

Xem mã nguồn trên GitHub

Tạo một mạng Thread và kiểm tra khả năng kết nối với Internet.

Bắt đầu phiên `ot-ctl`

ot-ctl hiển thị các lệnh CLI OpenThread, hãy xem Hướng dẫn CLI OpenThread để biết thêm thông tin chi tiết.

Nếu sử dụng Docker, hãy bắt đầu một phiên ot-ctl như sau:

docker exec -it otbr ot-ctl

Nếu sử dụng máy chủ gốc, hãy bắt đầu phiên ot-ctl như sau:

sudo ot-ctl

Tạo mạng Thread

  1. Tạo cấu hình mạng mới.

    dataset init new
    Done
    
  2. Xem cấu hình mạng mới.

    dataset
    Active Timestamp: 1
    Channel: 15
    Wake-up Channel: 16
    Channel Mask: 0x07fff800
    Ext PAN ID: 39758ec8144b07fb
    Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64
    Network Key: f366cec7a446bab978d90d27abe38f23
    Network Name: OpenThread-5938
    PAN ID: 0x5938
    PSKc: 3ca67c969efb0d0c74a4d8ee923b576c
    Security Policy: 672 onrc 0
    Done
    
  3. Cam kết tập dữ liệu mới cho Tập dữ liệu hoạt động đang hoạt động trong bộ nhớ không bay hơi.

    dataset commit active
    Done
    
  4. Bật giao diện Thread.

    ifconfig up
    Done
    thread start
    Done
    
  5. Trong bảng điều khiển máy chủ Linux (không phải trong phiên ot-ctl), hãy sử dụng ifconfig để xem giao diện mạng Luồng mới:

    ifconfig wpan0
    wpan0: flags=4305  mtu 1280
            inet6 fe80::3c98:89e8:ddec:bda7  prefixlen 64  scopeid 0x20
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d  prefixlen 64  scopeid 0x0
            unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
            RX packets 16  bytes 1947 (1.9 KiB)
            RX errors 0  dropped 3  overruns 0  frame 0
            TX packets 7  bytes 1152 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

Hiển thị nút Luồng thứ hai

Khi OTBR đã khởi động và chạy, hãy thêm một nút Thread độc lập vào mạng Thread và kiểm tra để đảm bảo nút đó có kết nối Internet.

Hãy xem phần Tạo mạng Thread bằng bảng mạch nRF52840 và Lớp học lập trình OpenThread để biết hướng dẫn chi tiết về cách tạo và cài đặt ROM cho nền tảng Nordic nRF52840.

  1. Sau khi tạo bản dựng và cài đặt ROM, hãy sử dụng screen trong một cửa sổ dòng lệnh mới để truy cập vào CLI. Ví dụ: nếu thiết bị được gắn trên cổng /dev/ttyACM1:

    screen /dev/ttyACM1 115200
    

  2. Nhấn phím Enter để hiển thị lời nhắc > OpenThread CLI.

Kết nối nút thứ hai với mạng Thread

Sử dụng OpenThread CLI cho nút Thread thứ hai, hãy kết nối nút này với mạng Thread do OTBR tạo.

  1. Cập nhật thông tin xác thực mạng Thread cho nút bằng cách sử dụng các giá trị tối thiểu bắt buộc từ OTBR:

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. Hiển thị giao diện Thread (Luồng) và bắt đầu Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. Nút sẽ tự động tham gia mạng Luồng OTBR. Trong vòng 2 phút, trạng thái của ứng dụng sẽ là router:

    state
    router
    

Ping một địa chỉ công khai

Tại thời điểm này, bạn có thể ping địa chỉ IPv4 công khai từ nút Luồng độc lập. Vì Thread chỉ sử dụng IPv6, nên địa chỉ IPv4 công khai sẽ tự động được chuyển đổi sang IPv6 bằng cách kết hợp với tiền tố NAT64 trong mạng Thread.

  1. Cách xem tiền tố NAT64 trong mạng Thread:

    netdata show
    Prefixes:
    fd3e:d39b:d91:1::/64 paros low 1800
    Routes:
    ::/0 s med 1800
    fd3e:d39b:d91:2:0:0::/96 sn low 1800
    Services:
    Contexts:
    fd3e:d39b:d91:1::/64 1 c
    Commissioning:
    12156 - - -
    
    Trong đó, fd3e:d39b:d91:2:0:0::/96 là tiền tố NAT64 trong mạng Thread.

  2. Ping một địa chỉ IPv4 từ CLI của nút Luồng độc lập để kiểm tra khả năng kết nối Internet của nút đó:

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808
    16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms
    1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms.
    Done
    

Thành công! Nút Luồng thứ hai hiện có thể giao tiếp với Internet thông qua OTBR.