Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

線程調試

專員和木工

調試需要一台具有“專員”角色的設備和一台具有“ Joiner”角色的設備。 Commissioner是現有Thread網絡中的Thread設備,或者是執行Commissioner角色的Thread網絡外部的設備(例如移動電話)。 Joiner是希望加入Thread網絡的設備。

線程專員用於在網絡上對設備進行身份驗證。它不傳輸或不擁有線程網絡憑據(例如主密鑰)。

本指南涵蓋了基本的在線調試,而無需外部專員或邊界路由器。要了解如何使用外部調試器,請參閱《外部線程調試》

有關使用虛擬設備進行調試的示例,請參見OpenThread Simulation Codelab

啟用角色

要啟用專員和Joiner角色,請使用以下構建開關:

開關描述
COMMISSIONER=1啟用專員角色
JOINER=1啟用Joiner角色

例如,要構建CC2538示例平台以僅用作Joiner:

make -f examples/Makefile-cc2538 JOINER=1

將每個二進製文件刷新到所需的設備。一台設備充當專員,另一台設備充當Joiner。

在每個示例的platform文件夾中都可以找到有關構建和刷新支持的平台的特定說明。

建立網絡

在充當專員的設備上創建網絡:

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
Master 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調試到網絡上。使用Joiner憑據(以及擴展的PAN ID和網絡名稱)來生成設備的預共享密鑰(PSKd)。然後,在線程調試期間,將PSKd用於驗證設備。 Joiner憑證對於每個設備應該是唯一的。

commissioner joiner add * J01NME
Done

限於特定的細木工

要將調試限制為特定的Joiner設備,請使用eui64參數,該參數是設備的工廠分配的IEEE EUI-64。

在充當Joiner的設備上,獲取EUI-64:

eui64
2f57d222545271f1
Done

使用該值代替Commissioner設備上的Commissioner commissioner joiner命令中的*通配符:

commissioner joiner add 2f57d222545271f1 J01NME
Done

啟動木匠角色

在充當Joiner的設備上,執行出廠重置,然後使用在專員上指定的相同Joiner憑據啟用Joiner角色:

factoryreset
ifconfig up
Done
joiner start J01NME
Done
等待幾秒鐘進行確認:
Join success!

Joiner設備已成功通過Commissioner進行了身份驗證,並收到了Thread Network憑據。

現在在Joiner設備上啟動Thread:

thread start
Done

驗證身份驗證

檢查Joiner設備上的狀態,以驗證它已加入網絡。在兩分鐘內,狀態從子級轉換為路由器:

state
child
Done
...
state
router
Done