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

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

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

Для ввода в эксплуатацию требуется одно устройство с ролью комиссара и одно устройство с ролью столяра. Комиссар — это либо устройство потока в существующей сети потока, либо устройство, внешнее по отношению к сети потока (например, мобильный телефон), которое выполняет роль комиссара. 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 успешно аутентифицировало себя с Комиссаром и получило учетные данные Thread Network.

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

thread start
Done

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

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

state
child
Done
...
state
router
Done