验证端口

在 GitHub 上查看源代码

需要完成基本验证,以验证 OpenThread 成功移植到新的硬件平台示例。

针对目标平台进行编译

通过编译目标平台的示例 OpenThread 应用来展示成功的构建。

./script/build efr32mg12 -DBOARD=brd4161a

与 CLI 交互

通过与 CLI 交互,展示 OpenThread 执行和 UART 功能是否成功。

打开一个终端以连接到 /dev/ttyACM0(串行端口设置:115200 8-N-1)。输入 help 可获取命令列表。

help
help
autostart
bufferinfo
...
version
whitelist

构建 Thread 网络

通过构建 Thread 网络并验证节点是否已转换为 Leader 状态,来演示成功的协议计时器。

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

请稍等片刻...

state
leader
Done

附加第二个节点

通过使用与第一个节点相同的线程网络密钥和 PAN ID 将第二个节点连接到新构建的线程网络,展示成功的无线通信:

dataset networkkey dfd34f0f05cad978ec4e32b0413038ff
Done
dataset panid 0x8f28
Done
dataset commit active
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

请稍等片刻...

state
router
Done

Ping 设备

通过发送/接收 ICMPv6 Echo 请求/响应消息,证明数据路径通信成功。

列出领导者的所有 IPv6 地址:

ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done

从路由器向领先者的 Mesh-Local EID IPv6 地址发送 ICMPv6 ping:

ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms

重置设备并验证重新连接

展示非易失性功能,方法是重置设备并验证设备重新连接到同一网络,而无需用户干预。

启动 Thread 网络:

dataset init new
Done
dataset
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done
dataset commit active
Done
ifconfig up
Done
thread start
Done

等待几秒钟,并验证活动数据集是否已存储在非易失性存储空间中:

dataset active
Active Timestamp: 1
Channel: 13
Channel Mask: 07fff800
Ext PAN ID: d63e8e3e495ebbc3
Mesh Local Prefix: fd3d:b50b:f96d:722d/64
Network Key: dfd34f0f05cad978ec4e32b0413038ff
Network Name: OpenThread-8f28
PAN ID: 0x8f28
PSKc: c23a76e98f1a6483639b1ac1271e2e27
Security Policy: 0, onrcb
Done

重置设备:

reset
ifconfig up
Done
thread start
Done

等待几秒钟,并验证设备是否已成功重新连接到网络:

panid
0x8f28
Done
state
router
Done

验证随机数的生成

通过执行 factoryreset 命令并验证新的随机扩展地址,生成随机数。

extaddr
a660421703f3fdc3
Done
factoryreset

请稍等片刻...

extaddr
9a8ed90715a5f7b6
Done