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

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

Сформируйте сеть Thread и проверьте ее подключение к Интернету.

Запустите сеанс `ot-ctl`

ot-ctl предоставляет команды OpenThread CLI, более подробную информацию см. в Руководстве по OpenThread CLI .

Если вы используете Docker, запустите сеанс ot-ctl следующим образом:

docker exec -it otbr ot-ctl

Если вы используете собственный хост, запустите сеанс ot-ctl следующим образом:

sudo ot-ctl

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

  1. Создайте новую конфигурацию сети.

    dataset init new
    Done
    
  2. Просмотрите новую конфигурацию сети.

    dataset
    Active Timestamp: 1
    Channel: 15
    Wake-up Channel: 16
    Channel Mask: 0x07fff800
    Ext PAN ID: 39758ec8144b07fb
    Mesh Local Prefix: fdf1:f1ad:d079:7dc0::/64
    Network Key: f366cec7a446bab978d90d27abe38f23
    Network Name: OpenThread-5938
    PAN ID: 0x5938
    PSKc: 3ca67c969efb0d0c74a4d8ee923b576c
    Security Policy: 672 onrc 0
    Done
    
  3. Зафиксируйте новый набор данных в активном рабочем наборе данных в энергонезависимом хранилище.

    dataset commit active
    Done
    
  4. Включите интерфейс потока.

    ifconfig up
    Done
    thread start
    Done
    
  5. В консоли хоста Linux (не в сеансе ot-ctl ) используйте ifconfig для просмотра нового сетевого интерфейса Thread:

    ifconfig wpan0
    wpan0: flags=4305  mtu 1280
            inet6 fe80::3c98:89e8:ddec:bda7  prefixlen 64  scopeid 0x20
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:fc00  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:0:ff:fe00:f800  prefixlen 64  scopeid 0x0
            inet6 fd4d:b3e5:9738:3193:39c4:ee02:ca9e:2b1d  prefixlen 64  scopeid 0x0
            unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
            RX packets 16  bytes 1947 (1.9 KiB)
            RX errors 0  dropped 3  overruns 0  frame 0
            TX packets 7  bytes 1152 (1.1 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

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

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

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

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

    screen /dev/ttyACM1 115200
    

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

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

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

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

    dataset networkkey f366cec7a446bab978d90d27abe38f23
    Done
    dataset commit active
    Done
    

  2. Откройте интерфейс Thread и запустите Thread:

    ifconfig up
    Done
    thread start
    Done
    

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

    state
    router
    

Пинг общедоступного адреса

На этом этапе у вас должна быть возможность выполнить проверку связи общедоступного IPv4-адреса с автономного узла Thread. Поскольку Thread использует только IPv6, общедоступный адрес IPv4 будет автоматически преобразован в IPv6 путем объединения с префиксом NAT64 в сети Thread.

  1. Чтобы просмотреть префикс NAT64 в сети Thread:

    netdata show
    Prefixes:
    fd3e:d39b:d91:1::/64 paros low 1800
    Routes:
    ::/0 s med 1800
    fd3e:d39b:d91:2:0:0::/96 sn low 1800
    Services:
    Contexts:
    fd3e:d39b:d91:1::/64 1 c
    Commissioning:
    12156 - - -
    
    Здесь fd3e:d39b:d91:2:0:0::/96 — это префикс NAT64 в сети Thread.

  2. Пропингуйте IPv4-адрес из CLI автономного узла Thread, чтобы проверить его подключение к Интернету:

    ping 8.8.8.8
    Pinging synthesized IPv6 address: fd3e:d39b:d91:2:0:0:808:808
    16 bytes from fd3e:d39b:d91:2:0:0:808:808: icmp_seq=1 hlim=113 time=73ms
    1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 73/73.0/73 ms.
    Done
    

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