Matter Project 入门 – 构建 OpenThread Border Router Docker

Matter Project 入门 – 构建 OpenThread Border Router Docker

在容器中运行 OTBR 允许创建易于部署的工件和快速开发原型和测试。

在本指南中,我们将在 Raspberry Pi 4 上设置 OTBR docker 容器,以形成Matter Project的Thread网络。

  • 我们将为 Raspberry pi4 使用 Ubuntu Server 映像(20.10 或更高版本)。在你的 SD 卡上,确保你刷入了Ubuntu Server Image
  • 您可以通过 SSH 连接到 Raspberry Pi,也可以选择直接使用 Raspbian Desktop。打开一个终端。

安装 Docker 并运行 OTBR 容器:

  1. 在开始之前,先更新一下 Ubuntu 系统的包列表。
    sudo apt update
    sudo apt upgrade -y
    
  2. 在您的 RPI 上使用以下命令安装 Docker。
    curl -sSL https://get.docker.com | sh
  3. 完成后,您可以将 Docker 用户设置修改为在每个命令之前不需要sudo 。需要重新启动。
    sudo usermod -aG docker $USER
  4. 发出以下命令以安装符合 Matter TE7.5
    的容器 请注意,您的 RCP 一次只能运行一个边界路由器容器。此外,请务必验证应针对此容器运行的 RCP 版本。

    docker pull connectedhomeip/otbr:te7

配置并运行 OTBR docker

  1. 您需要配置您希望用于 OTBR 的 TTY 端口,以便在启动时连接您的 RCP。查找 RCP 设备的 TTY 端口。最简单的方法是在 /tty/dev连接 RCP 后查找 ... 条目。它通常应该是 /dev/ttyUSB0 或 /dev/ttyACM0
  2. 按如下方式运行 Docker 安装。该示例使用 Thread 1.1 Border Router 容器。
    docker run -d --name "otbr" -it --rm --network host --privileged -v /dev/ttyACM0:/dev/radio connectedhomeip/otbr:te7 --radio-url spinel+hdlc+uart:///dev/radio --B eth0
    • -d 确保容器以分离模式运行。
    • --name 在 docker 容器正确关闭(或移除)之前是粘性的。
    • (可选)-p 8080:80 表示托管边界路由器管理网页的网络服务器的端口。
    • (可选)?uart-baudrate=460800 在无线电 URL 选项中是必需的,以解决 UART 上的fragmentation/reassembly问题,以及昂贵的操作,例如带有长 IPv6 数据包的 DTLS。

与 RCP 节点交互

docker 运行后,您可以使用此命令通过交互式 shell 与 RCP 节点通信。检查 RCP 节点的状态。

$ docker exec -ti otbr sh -c "sudo ot-ctl"
> state 
disabled
Done

您可以获得正在运行的容器 ID 的列表。

$ docker ps -aq

您可以查看运行 OTBR Docker 容器的窗口以查看边界路由器的运行日志输出,或按照容器日志如下:

$ docker logs [container-id] -f

或者,如果 docker 容器加载正确,您可以停止、删除或终止您的图像。

$ docker stop otbr
$ docker rm otbr
$ docker kill otbr

可选:要退出 shell,请使用 CNTL + C。

形成Thread网络

在 Web 浏览器中,输入 Board Router的 IP 地址。您将看到以下页面。单击“Form”选项卡,然后单击“FORM”按钮。

Matter Project 入门 – 构建 OpenThread Border Router Docker

现在,您将在成功创建Thread网络时看到成功对话框通知。

Matter Project 入门 – 构建 OpenThread Border Router Docker
按OKAY将其关闭。

现在,我们将从 Raspberry Pi 4 上的 OT-CLI 控制台获取 Operation 网络密钥。

在 Raspberry Pi SSH 终端上发出以下命令

docker exec -ti otbr sh -c "sudo ot-ctl"

Matter Project 入门 – 构建 OpenThread Border Router Docker

记下操作键。该密钥将用于将终端设备调试到Thread 网络。