網購佣金

在 GitHub 中查看來源

總裁和加入者

佣金需要一個具備「管理者」角色的裝置,以及具備「加入者」角色的裝置。委員會是現有 Thread 網路中的 Thread 裝置,或執行 Threader 角色的 Thread 網路外部的裝置 (例如手機)。Joiner 是指希望加入 Thread 網路的裝置。

執行緒診斷工具的用途是為裝置上的裝置驗證。不會轉移或擁有 Thread 網路憑證 (例如網路金鑰)。

這份指南包含基本的 要瞭解如何使用外部佣金,請參閱外部執行緒佣金一文。

如需使用虛擬裝置進行佣金的範例,請參閱 OpenThread 模擬程式碼研究室

啟用角色

如要啟用 [Hoster] 和 [JOINer] 角色,請使用下列 cmake 選項:

選項 說明
-DOT_COMMISSIONER=ON 啟用「佣金」角色
-DOT_JOINER=ON 啟用加入者角色

舉例來說,如要建構 CC2538 範例平台做為僅供彙整使用的工具,請按照下列步驟進行:

./script/build -DOT_JOINER=ON

將各個二進位檔投放到所需的裝置。其中一部裝置是主持人,另一個裝置是接種者。

您可以在每個平台的 OpenThread 存放區中找到建構和閃爍受支援平台的專屬操作說明。前往 OpenThread GitHub 機構尋找存放區。

建立網路

在具備佣金資訊的裝置上在裝置上建立網路:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
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
dataset commit active
Done
ifconfig up
Done
thread start
Done

稍候片刻,然後確認裝置是否已新增為會話串主要版本:

state
leader
Done

啟動委員會角色

在同一部裝置上開啟執行者角色:

commissioner start
Done

使用 * 萬用字元允許任何具有指定參與者憑證的 Joiner 提交至網路。系統會使用 Joiner Credentials (以及擴充 PAN ID 和網路名稱) 產生裝置的預先共用金鑰 (PSKd)。然後使用 PSKd 在執行緒處理期間驗證裝置。每部裝置都必須加入專屬加入者的認證。

commissioner joiner add * J01NME
Done

僅限特定加入特定參與者

如要限制只讓特定 Join 裝置參加測試,請使用 eui64 參數,也就是裝置恢復原廠設定的 IEEE EUI-64。

在做為 Joiner 的裝置上,取得 EUI-64:

eui64
2f57d222545271f1
Done

請在 Commissioner 裝置的 commissioner joiner 指令中使用該值,而不是 * 萬用字元:

commissioner joiner add 2f57d222545271f1 J01NME
Done

啟動加入者角色

在做為「JOINer」(參與者) 的裝置上在裝置上執行「恢復原廠設定」功能,然後依照在「委任者」中指定的「加入者憑證」啟用「加入者」角色:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

稍等幾秒鐘再確認:

Join success!

Joiner 裝置已成功透過 Commissioner 驗證自己的身分,並取得 Thread Network 憑證。

接著在 Joiner 裝置上啟動 Thread:

thread start
Done

驗證驗證方式

請檢查 Joiner 裝置的狀態,確認裝置是否已加入網路。在 2 分鐘內,狀態就會從子項轉換至路由器:

state
child
Done
...
state
router
Done