Посмотреть исходный код на GitHub
После запуска OTBR Docker сформируйте сеть Thread и проверьте ее подключение к Интернету.
Формируем сеть потоков
Запустите сеанс ot-ctl
.
docker exec -it otbr ot-ctl
Создайте и просмотрите новую конфигурацию сети.
dataset init new
Donedataset
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
Зафиксируйте новый набор данных в активном рабочем наборе данных в энергонезависимом хранилище.
dataset commit active
Done
Включите интерфейс потока.
ifconfig up
Donethread start
Done
Выйдите из сеанса ot-ctl
:
exit
Используйте ifconfig
для просмотра нового сетевого интерфейса Thread:
ifconfig wpan0
wpan0: flags=4305mtu 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 Docker добавьте автономный узел Thread в сеть Thread и проверьте, есть ли у него подключение к Интернету.
Создайте и запустите автономный узел Thread на поддерживаемой платформе по вашему выбору. Этот узел не обязательно должен быть построен с какими-либо конкретными переключателями сборки.
См. раздел «Сборка OpenThread» для получения основных инструкций по сборке.
Подробные инструкции по сборке и прошивке платформы Nordic nRF52840 см. в разделе «Создание сети Thread с помощью плат nRF52840» и лаборатории OpenThread Codelab.
После сборки и прошивки используйте
screen
в новом окне терминала для доступа к CLI. Например, если устройство смонтировано на порту/dev/ttyACM1
:screen /dev/ttyACM1 115200
Нажмите клавишу Enter , чтобы открыть приглашение
>
OpenThread CLI.
Присоедините второй узел к сети Thread
Используя интерфейс командной строки OpenThread для второго узла Thread, присоедините его к сети Thread, созданной OTBR Docker.
Обновите сетевые учетные данные Thread для узла, используя минимально необходимые значения из OTBR Docker:
dataset networkkey f366cec7a446bab978d90d27abe38f23
Donedataset commit active
DoneОткройте интерфейс Thread и запустите Thread:
ifconfig up
Donethread start
DoneУзел должен автоматически присоединиться к сети OTBR Thread. В течение двух минут его состояние должно быть
router
:state
router
Пинг общедоступного адреса
На этом этапе у вас должна быть возможность выполнить проверку связи общедоступного IPv4-адреса с автономного узла Thread. Поскольку Thread использует только IPv6, общедоступный адрес IPv4 будет автоматически преобразован в IPv6 путем объединения с префиксом NAT64 в сети Thread.
Чтобы просмотреть префикс 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.Пропингуйте 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 Docker.