Ввод в эксплуатацию в сетке, Ввод в эксплуатацию в сетке

Посмотреть исходный код на GitHub

Комиссар и Столяр

Для ввода в эксплуатацию требуется одно устройство с ролью комиссара и одно устройство с ролью участника. Комиссар — это либо устройство Thread в существующей сети Thread, либо устройство, внешнее по отношению к сети Thread (например, мобильный телефон), выполняющее роль комиссара. Joiner — это устройство, желающее присоединиться к сети Thread.

Комиссар потоков используется для аутентификации устройства в сети. Он не передает и не владеет сетевыми учетными данными Thread, такими как сетевой ключ.

В этом руководстве описывается базовый ввод в эксплуатацию в сети без внешнего комиссара или пограничного маршрутизатора. Чтобы узнать, как использовать внешний комиссар, см. Ввод в эксплуатацию внешнего потока .

Пример ввода в эксплуатацию с использованием виртуальных устройств см. в лаборатории OpenThread Simulation Codelab .

Включить роли

Чтобы включить роли Комиссара и Столяра, используйте следующие параметры 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

Используйте подстановочный знак *, чтобы разрешить любому участнику с указанными учетными данными присоединиться к сети. Учетные данные присоединения используются (наряду с расширенным идентификатором PAN и сетевым именем) для создания предварительного общего ключа для устройства (PSKd). PSKd затем используется для аутентификации устройства во время ввода в эксплуатацию потока. Учетные данные участника должны быть уникальными для каждого устройства.

commissioner joiner add * J01NME
Done

Ограничить конкретным Столяром

Чтобы ограничить ввод в эксплуатацию конкретным устройством Joiner, используйте параметр eui64 , который соответствует стандарту IEEE EUI-64, присвоенному устройству на заводе.

На устройстве, выступающем в качестве Столяра, получите EUI-64:

eui64
2f57d222545271f1
Done

Используйте это значение вместо подстановочного знака * в команде commissioner joiner на устройстве Commissioner:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Начать роль Столяра

На устройстве, выступающем в качестве участника, выполните сброс настроек к заводским настройкам, затем включите роль участника с теми же учетными данными, которые указаны на устройстве комиссара:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Подождите несколько секунд для подтверждения:

Join success!

Устройство Joiner успешно прошло аутентификацию с помощью Commissioner и получило учетные данные Thread Network.

Теперь запустите Thread на устройстве Joiner:

thread start
Done

Подтвердить аутентификацию

Проверьте состояние устройства Joiner, чтобы убедиться, что оно подключено к сети. В течение двух минут состояние переходит от дочернего к маршрутизатору:

state
child
Done
...
state
router
Done