Для подключения к сети требуется одно устройство с ролью Commissioner и одно устройство с ролью Joiner. Commissioner - это либо устройство в существующей Thread сети, либо внешнее по отношению к thread сети устройство (например, мобильный телефон), которое выполняет роль Commissioner. Joiner - это устройство, желающее присоединиться к сети thread.
Commissioner используется для аутентификации устройства в сети. Он не передает и не владеет учетными данными сети thread, такими как сетевой ключ.
Если устройство решает присоединиться к существующей сети, оно настраивает свой канал, PAN ID, XPAN ID, и имя сети в соответствии с именем сети к которой присоединяется через Thread Commissioning, после чего происходит процесс MLE(Mesh Link Establishment) Attach как оконечного устройства Child (End Device). Этот процесс используется для установления Child-Parent соединения. Ключевой момент: Каждое устройство, вне зависимости роутер совместимое оно или нет, изначально подключается к Thread сети как Child (End Device).
0. Child отправляет multicast Parent Request всем соседним Роутерам и REEDs в сети куда он подключается.
0. Все соседние Роутеры и REEDs (если маска сканирования Parent Request Scan включает REEDs) передают Parent Responses с информацией о них.
0. Child выбирает Parent устройство и отправляет ему Child ID Request .
0. Parent передает Child ID Response для подтверждения установления соединения.
На raspberry pi(commissioner)
```
sudo wpanctl commissioner start
sudo wpanctl commissioner joiner-add "*" 250 J01NME
sudo wpanctl permit-join
```
На joiner
```
> factoryreset // Чтобы сбросить все настройки
Done
>ifconfig up
Done
> networkname OpenThreadDemo1
Done
> extpanid 1111111122222222
Done
> panid 0xffff
Done
> joiner start J01NME
Join success
> thread start
Done
> ipaddr
fd11:22:0:0:d4eb:4edc:86c3:6154
fd11:1111:1122:0:0:ff:fe00:bc02
fd11:1111:1122:0:f6e5:f2da:252a:19b2
fe80:0:0:0:94a6:9184:141b:8bb0
Done
```
Проверям сеть
```
pi@border:~ $ ping fd11:22:0:0:d4eb:4edc:86c3:6154
PING fd11:22:0:0:d4eb:4edc:86c3:6154(fd11:22::d4eb:4edc:86c3:6154) 56 data bytes
64 bytes from fd11:22::d4eb:4edc:86c3:6154: icmp_seq=1 ttl=64 time=37.0 ms
64 bytes from fd11:22::d4eb:4edc:86c3:6154: icmp_seq=2 ttl=64 time=23.4 ms
```