Проверить подключение

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

После запуска OTBR Docker сформируйте сеть потоков и проверьте ее подключение к Интернету.

Сформируйте сеть потоков

Веб-интерфейс OTBR Главная

На машине с запущенным OTBR Docker:

Откройте окно браузера и перейдите по адресу 127.0.0.1:8080. Если OTBR Docker работает правильно, загружается веб-интерфейс OTBR.

Выберите пункт меню «Форма» и измените некоторые учетные данные по умолчанию. Мы рекомендуем оставить значения Channel и On-Mesh Prefix по умолчанию. Что бы вы ни использовали, запишите их, чтобы позже вы могли протестировать отдельный узел Thread.

Параметр Образец значения
Имя сети OTBR4444
Идентификатор карты 0x4444
Сетевой ключ 333344443333444433333444433334444
Расширенный идентификатор PAN 3333333344444444
Парольная фраза 444444
Канал 15
Сетевой префикс фд11:22::

Выберите FORM , чтобы сформировать сеть Thread. Проверьте вывод в окне терминала с запущенным OTBR Docker. Вы должны увидеть выходные данные журнала otbr-agent для добавления префикса сети и адреса SLAAC:

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

Этот вывод требуется для подключения к Интернету для сети Thread.

Поднимите второй узел Thread

Запустив и запустив OTBR Docker, добавьте автономный узел Thread в сеть Thread и проверьте, подключен ли он к Интернету.

Если вы используете физический RCP с OTBR Docker, используйте второй физический узел Thread для тестирования. Если вы используете смоделированный RCP с OTBR Docker, используйте второй смоделированный узел для тестирования.

Узел физического потока

Создайте и запустите автономный узел Thread на поддерживаемой платформе по вашему выбору. Этот узел не нужно создавать с помощью каких-либо конкретных переключателей сборки.

Основные инструкции по сборке см. в разделе Сборка OpenThread .

Подробные инструкции по созданию и прошивке платформы Nordic nRF52840 см. в разделе Создание сети потоков с платами nRF52840 и OpenThread Codelab .

  1. После сборки и прошивки подключите устройство Thread к машине, на которой работает OTBR Docker, через USB. Используйте screen в новом окне терминала для доступа к CLI. Например, если устройство подключено к порту /dev/ttyACM1 :

    screen /dev/ttyACM1 115200
    

  2. Нажмите клавишу Enter , чтобы вызвать приглашение > OpenThread CLI.

Узел имитации потока

  1. Откройте новое окно терминала на машине, на которой работает OTBR Docker.

  2. Запустите приложение CLI, чтобы открыть симулированный узел:

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

  3. Нажмите клавишу Enter , чтобы вызвать приглашение > OpenThread CLI.

Присоедините второй узел к сети Thread

Используя интерфейс командной строки OpenThread для вашего физического или смоделированного узла Thread, присоедините узел к сети Thread, созданной OTBR Docker.

  1. Обновите учетные данные сети Thread для узла, используя минимально необходимые значения из OTBR Docker:

    dataset networkkey 33334444333344443333444433334444
    Done
    dataset commit active
    Done
    
    .

  2. Поднимите интерфейс Thread и запустите Thread:

    ifconfig up
    Done
    thread start
    Done
    

  3. Узел должен автоматически присоединиться к сети потоков OTBR. В течение двух минут его состояние должно быть router :

    state
    router
    
    .

  4. Проверьте IP-адреса узла, чтобы убедиться, что он имеет IPv6-адрес с внутрисетевым префиксом fd11:22::/64 , как указано при формировании сети потоков:

    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
    

Пинговать публичный адрес

На этом этапе вы должны иметь возможность выполнить эхо-запрос общедоступного IPv4-адреса из автономного узла потока. Поскольку Thread использует только IPv6, для проверки связи с общедоступным IPv4-адресом вы должны преобразовать его в IPv6 и объединить с широко известным префиксом 64:ff9b::/64 , используемым преобразованием сетевых адресов (NAT) в OTBR.

  1. Чтобы получить переведенный адрес IPv4, используйте веб-сайт, например findipv6.com .

  2. Переведите адрес IPv4, который вы хотите протестировать. Например, 172.217.164.110 , переведенное в IPv6, выглядит как ::ffff:acd9:a46e .

  3. Используя только последние 4 байта полученного IPv6-адреса, объедините его с известным префиксом 64:ff9b::/64 , чтобы получить новый IPv6-адрес: 64:ff9b::acd9:a46e

  4. Отправьте эхо-запрос на этот новый IPv6-адрес из интерфейса командной строки автономного узла потока, чтобы проверить его подключение к Интернету. Проверка связи с этим адресом аналогична проверке исходного адреса IPv4:

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

Успех! Второй узел Thread теперь может обмениваться данными с Интернетом через OTBR Docker.