執行緒網路設定參數是使用主動和待處理作業資料集物件管理。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 指令參考資料。
如需 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
成員:
o
:mObtainNetworkKeyEnabledn
:mNativeCommissioningEnabledr
:mRoutersEnabledc
:mExternalCommissioningEnabledb
:mBeaconsEnabledC
:mCommercialCommissioningEnablede
:mAutonomousEnrollmentEnabledp
:mNetworkKeyProvisioningEnabledR
:mNonCcmRoutersEnabled
dataset securitypolicy
get 和 set 指令也會使用相同的引數對應,例如設定 securitypolicy
,並傳遞 o
、n
、r
和 c
:
dataset securitypolicy 672 onrc
Done
資料集元件和 mgmt
指令
除了其他參數外,有效和待處理資料集的 mgmtgetcommand
和 mgmtsetcommand
還可讓您取得並設定 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]
舉例來說,如要取得 activetimestamp
和 securitypolicy
,請使用下列引數:
dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp securitypolicy
Done
如要設定元件,您也可以按任何順序提供資料集元件,後面加上元件值。
dataset mgmtgetcommand {active|pending} [dataset-components] [-x tlv-list]
如要設定 activetimestamp
和 securitypolicy
,請使用下列引數:
dataset mgmtsetcommand active activetimestamp 123 securitypolicy 1 onrc
Done