Prowizje w sieci typu mesh

Wyświetl źródło na GitHubie

Komisarz i łącznik

Prowizje wymagają jednego urządzenia z rolą „komisarza” i jednego urządzenia z uprawnieniami „Łącznik”. Jest to urządzenie z wątkiem w istniejącej sieci Thread lub urządzenie spoza sieci Thread (np. telefonu komórkowego), które pełni tę funkcję. Łącznik to urządzenie, które chce dołączyć do sieci Thread.

Komisarz na potrzeby wątków służy do uwierzytelniania urządzeń w sieci. Nie przenosi ani nie ma danych logowania do sieci typu Thread, takich jak klucz sieci.

W tym przewodniku omawiamy podstawowe czynności typu „natychmiastowe uruchomienie w sieci typu mesh” bez zewnętrznego moderatora lub routera granicznego. Aby dowiedzieć się, jak korzystać z usług zewnętrznego komisarza, zapoznaj się z artykułem na temat komisji zewnętrznej.

Przykład dotyczący uruchamiania urządzeń wirtualnych znajdziesz w ćwiczeniach z symulacji OpenThread.

Włącz role

Aby włączyć role komisarza i rozmówcy, użyj tych opcji kasowania:

Option opis,
-DOT_COMMISSIONER=ON Włącza rolę „Komisarz”
-DOT_JOINER=ON Włącza rolę Złącznik

Aby na przykład utworzyć platformę CC2538 służącą tylko do łączenia:

./script/build -DOT_JOINER=ON

Przekaż każdy element binarny na odpowiednie urządzenie. Jedno urządzenie pełni rolę komisarza, a drugie – „łącznika”.

Szczegółowe instrukcje na temat tworzenia i Flashowania obsługiwanych platform znajdziesz w repozytorium OpenThread każdej platformy. Znajdź repozytorium w organizacji OpenThread GitHub.

Utworzenie sieci

Utwórz sieć na urządzeniu działającym jako komisarz:

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

Zaczekaj kilka sekund i sprawdź, czy urządzenie zostało liderem wątku:

state
leader
Done

Rozpoczynanie roli komisarza

Na tym samym urządzeniu uruchom rolę komisarza:

commissioner start
Done

Użyj symbolu wieloznacznego *, aby zezwolić na dołączenie do sieci każdemu osobie, która łączy się z określonymi danymi uwierzytelniającymi. Dane logowania Klucz PSKd służy do uwierzytelniania urządzenia podczas prowizji w wątku. Dane logowania mogą być unikalne dla każdego urządzenia.

commissioner joiner add * J01NME
Done

Ograniczanie do określonego złącza

Aby ograniczyć prowizję do określonego urządzenia łącznika, użyj parametru eui64, który jest urządzeniem przypisanym do IEEE EUI-64.

Na urządzeniu, które służy do łączenia, pobierz kod EUI-64:

eui64
2f57d222545271f1
Done

Użyj tej wartości zamiast symbolu wieloznacznego * w poleceniu commissioner joiner na urządzeniu Commissioner:

commissioner joiner add 2f57d222545271f1 J01NME
Done

Rozpocznij korzystanie z roli

Na urządzeniu, które służy do łączenia, przywróć ustawienia fabryczne, a następnie włącz rolę „Łącznik” z tymi samymi danymi logowania, które zostały określone w komisarzu:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Poczekaj kilka sekund na potwierdzenie:

Join success!

Urządzenie łączący zostało uwierzytelnione za pomocą usługi Komisarz i otrzymało dane logowania do sieci typu Thread.

Teraz uruchom Thread na urządzeniu łączącym:

thread start
Done

Weryfikacja uwierzytelniania

Sprawdź stan na urządzeniu łączącym, aby upewnić się, że dołączył do sieci. W ciągu 2 minut stan przechodzi z konta podrzędnego na router:

state
child
Done
...
state
router
Done