启动 OTBR Docker 后,组成一个 Thread 网络并测试其与互联网的连接。
形成线程网络

在运行 OTBR Docker 的计算机上,执行以下操作:
打开浏览器窗口并导航到 127.0.0.1:8080。如果 OTBR Docker 运行正常,系统会加载 OTBR Web GUI。
选择“表单”菜单选项,并更改一些默认凭据。我们建议保留默认的“频道”和“网状前缀”值。无论使用哪种方式,请记下它们,以便稍后测试单独的线程线程。
参数 | 示例值 |
---|---|
网络名称 | OTBR4444 |
PAN ID | 0x4444 |
网络键 | 33334444333344443333444433334444 |
PAN ID 扩展 | 3333333344444444 |
密码 | 444444 |
频道 | 15 |
On-Mesh 前缀 | fd11:22: |
选择 FORM 即可形成线程网络。检查运行 OTBR Docker 的终端窗口中的输出。您应该会看到 otbr-agent
日志输出,添加了 on-mesh 前缀和 SLAAC 地址:
otbr-agent[224]: [INFO]-CLI-----: execute command: prefix add fd11:22::/64 pasor
必须有此输出才能通过 Thread 网络连接到互联网。
调出另一个线程节点
在 OTBR Docker 启动并运行后,向线程线程添加独立线程节点并测试其是否已连接到互联网。
如果将物理 RCP 与 OTBR Docker 搭配使用,请使用第二个物理线程节点进行测试。如果将模拟 RCP 与 OTBR Docker 结合使用,请使用第二个模拟节点进行测试。
物理线程节点
在您选择的受支持平台上构建并刷写独立线程节点。此节点不必使用任何特定的构建开关进行构建。
如需了解基本构建说明,请参阅构建 OpenThread。
如需详细了解如何构建和刷写 Nordic nRF52840 平台,请参阅使用 nRF52840 板和 OpenThread Codelab 构建线程网络。
构建并刷写后,通过 USB 将 Thread 设备连接到运行 OTBR Docker 的机器。在新的终端窗口中使用
screen
访问 CLI。例如,如果设备装载在端口/dev/ttyACM1
上:screen /dev/ttyACM1 115200
按 Enter 键调出
>
OpenThread CLI 提示符。
模拟线程节点
在运行 OTBR Docker 的计算机上打开一个新的终端窗口。
启动 CLI 应用以启动模拟节点:
cd ~/openthread
./output/simulation/bin/ot-cli-ftd 2
按 Enter 键调出
>
OpenThread CLI 提示符。
将第二个节点加入线程网络
针对物理或模拟线程线程使用 OpenThread CLI,将该节点加入由 OTBR Docker 创建的线程网络。
使用 OTBR Docker 中的最小必需值来更新节点的线程线程凭据:
dataset networkkey 33334444333344443333444433334444
Donedataset commit active
Done启动 Thread 接口并启动 Thread:
ifconfig up
Donethread start
Done节点应该会自动加入 OTBR 线程网络。在两分钟内,其状态应为
router
:state
router检查节点的 IP 地址,确保其具有在线程网络构建期间指定的网状前缀为
fd11:22::/64
的 IPv6 地址: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
对公开地址执行 ping 操作
此时,您应该能够对独立线程节点中的公共 IPv4 地址执行 ping 操作。由于 Thread 只使用 IPv6,因此若要对公共 IPv4 地址执行 ping 操作,您必须将其转换为 IPv6,并将其与 OTBR 中的网络地址转换 (NAT) 使用的常用 64:ff9b::/64
前缀相结合。
如需获取经过翻译的 IPv4 地址,请访问 findipv6.com 等网站。
转换要测试的 IPv4 地址。例如,转换为 IPv6 的
172.217.164.110
为::ffff:acd9:a46e
。仅使用生成的 IPv6 地址的最后 4 个字节,将其与众所周知的
64:ff9b::/64
前缀结合使用,以获取新的 IPv6 地址: 64:ff9b::acd9:a46e从独立线程节点的 CLI 对此新 IPv6 地址执行 ping 操作,以测试其互联网连接。对此地址执行 ping 操作,与对原始 IPv4 地址进行 ping 操作类似:
ping 64:ff9b::acd9:a46e
16 bytes from 64:ff9b:0:0:0:0:acd9:a46e: icmp_seq=1 hlim=118 time=45ms
大功告成!第二个线程节点现在可以通过 OTBR Docker 与互联网通信。