Testowanie połączeń

Wyświetl źródło na GitHubie

Po uruchomieniu Dockera OTBR utwórz sieć Thread i przetestuj jej połączenie z internetem.

Utwórz sieć wątków

Strona główna OTBR Web GUI

Na komputerze z dockerem OTBR:

Otwórz okno przeglądarki i przejdź pod adres 127.0.0.1:8080. Jeśli Docker Docka OTBR działa prawidłowo, wczyta się interfejs OTBR Web GUI.

Wybierz opcję menu „Formularz” i zmień niektóre domyślne dane logowania. Zalecamy pozostawienie domyślnych wartości kanału i prefiksu prefiksu. Niezależnie od tego, z jakiego programu korzystasz, zapisz go, aby móc przetestować oddzielny węzeł w późniejszym czasie.

Parametr Wartość przykładowa
Nazwa sieci OTBR4444
PAN 0 × 4444
Klucz sieciowy 33334444333344443333444433334444
Identyfikator rozszerzonego numeru PAN 3333333344444444
Hasło 444444
Kanał 15
Prefiks na siatce fd11:22:

Wybierz FORMULARZ, aby utworzyć sieć Thread. Sprawdź dane wyjściowe w oknie terminala, w którym działa Docker OTBR. W przypadku dodania prefiksu mesh i adresu SLAAC powinny wyświetlić się dane wyjściowe otbr-agent:

otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor

Ta wartość jest wymagana w przypadku połączenia internetowego w sieci Thread.

Wyświetl drugi węzeł Thread

Po uruchomieniu Dockera OTBR dodaj osobny węzeł Thread do sieci Thread i sprawdź, czy ma połączenie z internetem.

Jeśli do testowania używasz fizycznego RCP z dockerem OTBR, użyj drugiego fizycznego węzła wątku. Jeśli do testowania używasz symulowanego RCP z dockerem OTBR, użyj drugiego symulowanego węzła do testowania.

Węzeł fizyczny

Utwórz i uwolnij osobny węzeł Thread na wybranej obsługiwanej platformie. Ten węzeł nie musi być zbudowany z określonymi przełącznikami kompilacji.

Podstawowe instrukcje dotyczące kompilacji znajdziesz w artykule Build OpenThread.

Szczegółowe informacje na temat tworzenia i wczytywania platformy Nordic nRF52840 znajdziesz na stronie Build a Thread network with nRF52840 boards i OpenThread (w języku angielskim).

  1. Po skonstruowaniu i uruchomieniu migania podłącz urządzenie Thread do komputera, na którym działa Docker Docker przez USB. Otwórz screen w nowym oknie terminala, aby uzyskać dostęp do interfejsu wiersza poleceń. Jeśli na przykład urządzenie jest podłączone do portu /dev/ttyACM1:

    screen /dev/ttyACM1 115200
    

  2. Naciśnij Enter, aby wyświetlić wiersz poleceń > OpenThread.

Węzeł symulowany Thread

  1. Otwórz nowe okno terminala na komputerze z uruchomionym Dockerem OTBR.

  2. Uruchom aplikację wiersza poleceń, aby wyświetlić symulowany węzeł:

    cd ~/openthread
    ./output/simulation/bin/ot-cli-ftd 2
    

  3. Naciśnij Enter, aby wyświetlić wiersz poleceń > OpenThread.

Połącz drugi węzeł z siecią Thread

Korzystając z interfejsu wiersza poleceń OpenThread dla węzła fizycznego lub symulowanego węzła Thread, połącz węzeł z siecią Thread utworzoną przez Dockera OTBR.

  1. Zaktualizuj dane logowania do sieci w węźle, używając minimalnych wymaganych wartości z Dockera OTBR:

    dataset networkkey 33334444333344443333444433334444
    Done
    dataset commit active
    Done
    

  2. Otwórz interfejs Thread i rozpocznij wątek:

    ifconfig up
    Done
    thread start
    Done
    

  3. Węzeł powinien automatycznie dołączyć do sieci OTBR Thread. W ciągu 2 minut powinien być ustawiony jako router:

    state
    router
    

  4. Sprawdź adresy IP węzła, aby upewnić się, że ma on adres IPv6 z prefiksem on-mesh o wartości fd11:22::/64 określonej podczas tworzenia sieci:

    ipaddr
    fd11:22:0:0:614e:4588:57a1:a473
    fd33:3333:3344:0:0:ff:fe00:f801
    fd33:3333:3344:0:1b5f:db5:ecac:a9e
    fe80:0:0:0:e0c4:5304:5404:5f70:98cd
    

Pingowanie adresu publicznego

W tym miejscu możesz za pomocą polecenia ping wysłać publiczny adres IPv4 z samodzielnego węzła Thread. Ponieważ Thread używa tylko protokołu IPv6, aby pingować publiczny adres IPv4, musisz go przetłumaczyć na IPv6 i połączyć ze znanym prefiksem 64:ff9b::/64 używanym przez Network Translation (NAT) w standardzie OTBR.

  1. Aby uzyskać przetłumaczony adres IPv4, użyj witryny takiej jak findipv6.com.

  2. Przetłumacz adres IPv4, który chcesz przetestować. Na przykład 172.217.164.110 przetłumaczony na IPv6 to ::ffff:acd9:a46e.

  3. Korzystając z ostatnich 4 bajtów uzyskanego adresu IPv6, połącz go ze dobrze znanym prefiksem 64:ff9b::/64, aby uzyskać nowy adres IPv6: 64:ff9b::acd9:a46e

  4. Wyślij polecenie ping do tego nowego adresu IPv6 z poziomu interfejsu wiersza poleceń oddzielnego węzła Thread, by go przetestować. Polecenie ping odpowiada adresowi pingowanemu w pierwotnym adresie IPv4:

    ping 64:ff9b::acd9:a46e
    16 bytes from 64:ff9b:0:0:0:0:acd9:a46e: icmp_seq=1 hlim=118 time=45ms
    

Gotowe. Drugi węzeł Thread może teraz komunikować się z internetem przez Docker Dockera.