Prowizje w sieci typu mesh

Wyświetl źródło w GitHubie

Komisarz i Łącznik

Do wdrożenia wymagane jest jedno urządzenie z rolą komisarza i jedno urządzenie z rolą osoby dołączającej. Komisarz to urządzenie Thread w dotychczasowej sieci Thread lub urządzenie zewnętrzne do sieci Thread (np. telefon komórkowy), które pełni rolę Komisarza. Joiner to urządzenie, które chce dołączyć do sieci Thread.

Komisarz ds. wątków służy do uwierzytelniania urządzenia w sieci. Nie przesyła danych logowania do sieci Thread, takich jak klucz sieciowy, ani nie posiada.

Ten przewodnik dotyczy podstawowej konfiguracji w sieci bez zewnętrznego urządzenia Commissioner lub Border Router. Aby dowiedzieć się, jak korzystać z zewnętrznego zleceniodawcy, przeczytaj artykuł Zlecanie wątków zewnętrznym zleceniodawcom.

Przykład uruchamiania przy użyciu urządzeń wirtualnych znajdziesz w ćwiczeniach z programowania symulacji OpenThread (w języku angielskim).

Włącz role

Aby włączyć role komisarza i osoby dołączającej, użyj tych opcji cmake:

Opcja Opis
-DOT_COMMISSIONER=ON Rola komisarza
-DOT_JOINER=ON Umożliwia rolę dołączającego

Aby na przykład utworzyć platformę przykładową CC2538 do użytku tylko jako łącznik:

./script/build -DOT_JOINER=ON

Wgraj każdy plik binarny na odpowiednie urządzenie. Jedno z nich służy komisarzowi, a drugie Łącznikowi.

Szczegółowe instrukcje dotyczące kompilowania i flashowania obsługiwanych platform znajdziesz w repozytorium OpenThread każdej platformy. Aby znaleźć repozytorium, przejdź do organizacji OpenThread na GitHubie.

Utwórz sieć

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

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

Poczekaj kilka sekund i sprawdź, czy urządzenie stało się liderem wątku:

state
leader
Done

Rozpoczynanie korzystania z roli komisarza

Na tym samym urządzeniu uruchom rolę komisarza:

commissioner start
Done

Użyj symbolu wieloznacznego *, aby zezwolić dowolnemu łącznikowi z określonymi danymi logowania do sieci. Użytkownik musi podać swoje dane logowania (wraz z rozszerzonym identyfikatorem PAN i nazwą sieci), aby wygenerować klucz PSK urządzenia. PSKd jest następnie używany do uwierzytelniania urządzenia podczas konfiguracji Thread. Uprawnienia dołączającego powinny być unikalne dla każdego urządzenia.

commissioner joiner add * J01NME
Done

Ogranicz do określonego użytkownika.

Aby ograniczyć konfigurowanie do konkretnego urządzenia Joiner, użyj parametru eui64, który jest przypisanym fabrycznie identyfikatorem IEEE EUI-64 urządzenia.

Na urządzeniu pełniącym rolę łącznika uzyskaj identyfikator EUI-64:

eui64
2f57d222545271f1
Done

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

commissioner joiner add 2f57d222545271f1 J01NME
Done

Rozpoczynanie roli Łącznik

Na urządzeniu pełniącym rolę urządzenia dołączającego przywróć ustawienia fabryczne, a następnie włącz rolę urządzenia dołączającego z takimi samymi poświadczeniami tożsamości, które zostały określone w przypadku urządzenia głównego:

factoryreset
ifconfig up
Done
joiner start J01NME
Done

Zaczekaj kilka sekund na potwierdzenie:

Join success!

Urządzenie dołączające zostało uwierzytelnione przez administratora i otrzymało dane logowania do sieci Thread.

Teraz uruchom Thread na urządzeniu z Joinerem:

thread start
Done

Weryfikowanie uwierzytelniania

Sprawdź stan urządzenia dołączającego, aby potwierdzić, że zostało ono dołączone do sieci. W ciągu 2 minut stan zmienia się z podrzędnego na router:

state
child
Done
...
state
router
Done