获取 OTBR 代码
在 Raspberry Pi 上:
安装 git:
sudo apt install git从 GitHub 克隆
ot-br-posix:git clone --depth=1 https://github.com/openthread/ot-br-posix
构建和安装 OTBR
OTBR 有两个用于启动和设置 Thread 边界路由器的脚本:
cd ot-br-posix./script/bootstrapINFRA_IF_NAME=wlan0 ./script/setup
OTBR 可在 Thread 接口和基础架构网络接口(例如 Wi-Fi/以太网)上运行,后者通过 INFRA_IF_NAME 指定。Thread 接口由 OTBR 本身创建,默认命名为 wpan0,如果未明确指定 INFRA_IF_NAME,则基础架构接口的默认值为 wlan0。如果您的 Raspberry Pi 通过以太网线缆连接,请指定以太网接口名称(例如 eth0):
INFRA_IF_NAME=eth0 ./script/setup
otbr-agent 服务现已启用,将在重新启动后启动。如需立即启动服务而不重新启动,请使用 server 脚本:
./script/server
验证 otbr-agent 服务是否处于活动状态:
sudo service otbr-agent status
● otbr-agent.service - Border Router Agent
Loaded: loaded (/lib/systemd/system/otbr-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-03-01 05:46:26 GMT; 2s ago
Main PID: 2997 (otbr-agent)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/otbr-agent.service
└─2997 /usr/sbin/otbr-agent -I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyACM0
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Stop publishing service
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [adproxy] Stopped
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: PSKc is not initialized
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Check if PSKc is initialized: OK
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Initialize OpenThread Border Router Agent: OK
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: Border router agent started.
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [INFO]-CORE----: Notifier: StateChanged (0x00038200) [NetData PanId NetName ExtPanId]
Mar 01 05:46:26 raspberrypi otbr-agent[2997]: [INFO]-PLAT----: Host netif is down
修改电台网址路径
OTBR 代理使用 /etc/default/otbr-agent 配置文件来设置其启动参数。此文件包含 OTBR_AGENT_OPTS 变量,用于定义广播网址等设置。例如 spinel+hdlc+uart:///dev/ttyACM0。
此配置文件由 CMake 根据 otbr-agent.default.in 源文件生成。然后,它会作为服务启动参数馈送到系统服务中。
如需更改目标系统上的电台网址路径,请执行以下操作:
在文本编辑器中打开 OTBR 代理配置文件:
sudoedit /etc/default/otbr-agent找到
OTBR_AGENT_OPTS变量。找到字符串的“电台网址”部分。例如
spinel+hdlc+uart:///dev/ttyACM0。将该字符串更改为新路径。
保存文件并退出编辑器。
重启
otbr-agent服务以应用更改:sudo systemctl restart otbr-agent