使用 OT CLI 顯示及管理資料集

在 GitHub 上查看原始碼

執行緒網路設定參數是使用主動和待處理作業資料集物件管理。OT CLI 包含取得和設定「有效」和「待處理」資料集的指令

警告 - 正式環境使用限制!

CLI 指令寫入或變更有效和待處理作業資料集,可能會允許設定無效參數或無效的參數組合,用於進行測試。下列 CLI 指令只能使用:

  • 在新建 Thread 網路中為第一部裝置設定網路參數。
  • 測試用 (不適用於正式版裝置)。

在實際工作環境 Thread 網路中,寫入或變更作業資料集的正確方法是透過執行提交佣金工具。只要是隸屬於 Thread 網路的生產裝置,且並非處於活躍的執行委員,都「不得」以任何方式修改作業資料集。

有效作業資料集

「主動作業資料集」包含整個 Thread 網路中正在使用的參數。主動作業資料集包含:

  • 活動時間戳記
  • 管道
  • 頻道遮罩
  • 擴充永久帳號 ID
  • 網格-本機前置字串
  • 網路名稱
  • PAN ID
  • PSKc
  • 安全性政策

如要輕鬆設定裝置,讓裝置成為 Thread 網路的完整成員,您可以使用 dataset Active -x 指令取得十六進位編碼 TLV,並使用資料集 set 主動指令,在新裝置上設定資料集。

在現有裝置上取得十六進位編碼 TLV:

dataset active -x
0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

在新裝置上設定使用中的資料集:

dataset set active 0e080000000000010000000300001035060004001fffe00208e227ac6a7f24052f0708fdb753eb517cb4d3051062b2442a928d9ea3b947a1618fc4085a030f4f70656e5468726561642d393837330102987304105330d857354330133c05e1fd7ae81a910c0402a0f7f8
Done

待處理的作業資料集

在「待處理作業資料集」生效前,系統會使用待處理作業資料集傳送變更通知。待處理作業資料集包含主動作業資料集中的所有參數,並加上下列項目:

  • 延遲計時器
  • 待處理時間戳記

開始使用

如要透過指令列管理資料集,請使用 Docker 完成模擬程式碼研究室,並查看 CLI 指令參考資料。

前往模擬程式碼研究室

前往 CLI 指令參考資料

如需 dataset 指令清單,請輸入 help

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

引數對應

安全性政策

安全性政策指令會使用引數對應,取得及設定 otSecurityPolicy 成員。例如 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

在此範例中,Security Policy: 0 表示 mRotationTime

以下列出所有安全性政策 CLI 引數,以及每個引數的對應 otSecurityPolicy 成員:

dataset securitypolicy get 和 set 指令也會使用相同的引數對應,例如設定 securitypolicy,並傳遞 onrc

dataset securitypolicy 672 onrc
Done

資料集元件和 mgmt 指令

除了其他參數外,有效和待處理資料集的 mgmtgetcommandmgmtsetcommand 還可讓您取得並設定 otOperationalDatasetComponents 的任何組合:

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

針對 mgmtgetcommand,您可以任意指定這些元件,以便取得對應的值。或者,您也可以傳遞 -x,使用十六進位字串,該字串會視為 TLV 的位元組順序表示法。除了其他參數,您可能還會新增供應商專屬的 TLV。

mgmtgetcommand 也可讓您視需要指定主要的 IPv6 位址。否則,系統會使用領導者 ALOC。

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

舉例來說,如要取得 activetimestampsecuritypolicy,請使用下列引數:

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

如要設定元件,您也可以按任何順序提供資料集元件,後面加上元件值。

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

如要設定 activetimestampsecuritypolicy,請使用下列引數:

dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done