Hiển thị và quản lý tập dữ liệu bằng OT CLI

Xem nguồn trên GitHub

Các thông số cấu hình mạng luồng được quản lý bằng các đối tượng Tập dữ liệu hoạt động đang hoạt động và đang chờ xử lý. OT CLI bao gồm các lệnh để nhận và đặt các tập dữ liệu Đang hoạt động và Đang chờ xử lý.

CẢNH BÁO – Quy định hạn chế đối với việc sử dụng phát hành công khai!

Các lệnh CLI để ghi hoặc thay đổi Tập dữ liệu hoạt động đang hoạt động và đang chờ xử lý có thể cho phép đặt các tham số không hợp lệ hoặc tổ hợp tham số không hợp lệ cho mục đích thử nghiệm. Các lệnh CLI sau chỉ có thể dùng được:

  • Cách định cấu hình tham số mạng cho thiết bị đầu tiên trong mạng Thread mới tạo.
  • Để kiểm thử (không áp dụng cho các thiết bị phát hành công khai).

Trong các mạng Luồng thực tế, phương pháp chính xác để ghi hoặc thay đổi Tập dữ liệu hoạt động là thông qua một Uỷ viên thực hiện việc hoa hồng. Các thiết bị sản xuất không phải là Uỷ viên đang hoạt động và thuộc mạng Thread KHÔNG ĐƯỢC sửa đổi Tập dữ liệu hoạt động theo bất kỳ cách nào.

Tập dữ liệu hoạt động đang hoạt động

Tập dữ liệu hoạt động đang hoạt động bao gồm các tham số hiện đang được sử dụng trên toàn bộ mạng Thread. Tập dữ liệu hoạt động đang hoạt động chứa:

  • Dấu thời gian hoạt động
  • Kênh
  • Mặt nạ kênh
  • Mã PAN mở rộng
  • Tiền tố lưới cục bộ
  • Tên mạng
  • Số tài khoản vĩnh viễn
  • PSKc (Khoá được chia sẻ trước)
  • Chính sách bảo mật

Để dễ dàng định cấu hình một thiết bị sao cho thiết bị đó trở thành thành viên đầy đủ của mạng Thread, bạn có thể dùng lệnh dataset active -x (tập dữ liệu hoạt động -x) để lấy TLV được mã hoá theo hệ thập lục phân và lệnh dataset set activity (tập dữ liệu tập hợp đang hoạt động) để đặt tập dữ liệu trên thiết bị mới.

Trên thiết bị hiện có, hãy tải TLV được mã hoá theo hệ thập lục phân:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Trên một thiết bị mới, hãy đặt tập dữ liệu đang hoạt động:

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

Tập dữ liệu về hoạt động đang chờ xử lý

Tập dữ liệu hoạt động đang chờ xử lý được dùng để thông báo về các thay đổi với Tập dữ liệu hoạt động đang hoạt động trước khi các thay đổi đó có hiệu lực. Tập dữ liệu hoạt động đang chờ xử lý chứa tất cả các thông số từ Tập dữ liệu hoạt động đang hoạt động, có bổ sung thêm:

  • Hẹn giờ trễ
  • Dấu thời gian đang chờ xử lý

Bắt đầu

Để quản lý các tập dữ liệu từ dòng lệnh, hãy hoàn thành Lớp học lập trình mô phỏng của chúng tôi với Docker và xem lại Tài liệu tham khảo lệnh CLI.

Chuyển đến Lớp học lập trình mô phỏng

Chuyển đến Tham chiếu lệnh CLI

Để xem danh sách các lệnh dataset, hãy nhập help:

dataset help
help
active
activetimestamp
channel
channelmask
clear
commit
delay
extpanid
init
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkkey
networkname
panid
pending
pendingtimestamp
pskc
securitypolicy
Done

Ánh xạ đối số

Chính sách bảo mật

Các lệnh trong Chính sách bảo mật sử dụng ánh xạ đối số để nhận và đặt các thành viên otSecurityPolicy. Ví dụ: dataset active:

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 0x07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d::/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

Trong ví dụ này, Security Policy: 0 cho biết mRotationTime.

Dưới đây là danh sách tất cả các đối số CLI của Chính sách bảo mật và thành phần otSecurityPolicy tương ứng cho mỗi đối số:

Các lệnh get và set dataset securitypolicy cũng sử dụng các mục ánh xạ đối số tương tự, ví dụ: đặt securitypolicy và truyền o, n, rc:

dataset securitypolicy 672 onrc
Done

Thành phần tập dữ liệu và lệnh mgmt

Cùng với các tham số khác, mgmtgetcommandmgmtsetcommand cho Tập dữ liệu đang hoạt động và đang chờ xử lý cho phép bạn nhận và đặt bất kỳ tổ hợp otOperationalDatasetComponents nào:

  • activetimestamp
  • pendingtimestamp
  • networkkey
  • networkname
  • extpanid
  • localprefix
  • delaytimer
  • panid
  • channel
  • securitypolicy

Đối với mgmtgetcommand, bạn có thể chỉ định các thành phần này theo thứ tự bất kỳ để nhận được giá trị tương ứng. Nếu muốn, bạn cũng có thể chuyển -x để sử dụng một chuỗi hex được coi là cách biểu diễn trình tự byte của TLV. Đây có thể là các TLV dành riêng cho nhà cung cấp mà bạn có thể muốn thêm cùng các tham số khác.

mgmtgetcommand cũng cho phép bạn tuỳ ý chỉ định địa chỉ IPv6 của biến thể dẫn đầu. Nếu không, ALOC dẫn đầu sẽ được sử dụng.

dataset mgmtgetcommand {active|pending} [address leader-address] [dataset-components] [-x tlv-list]

Ví dụ: để nhận activetimestampsecuritypolicy, hãy sử dụng các đối số sau:

dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done

Để đặt các thành phần, bạn cũng có thể cung cấp các thành phần tập dữ liệu theo thứ tự bất kỳ, theo sau là giá trị thành phần.

dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]

Để đặt activetimestampsecuritypolicy, hãy sử dụng các đối số sau:

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done