Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

OpenThread邊界路由器的構建和配置

本指南涵蓋了OpenThread邊界路由器(OTBR)的基本構建和配置。完成此過程後,您將擁有一個OTBR,它在RCP設計中充當全線程設備(FTD)。

配置平台

配置支持的硬件平台:

構建並刷新RCP

OTBR在RCP設計上運行。選擇一個受支持的OpenThread平台用作RCP,並按照該平台的構建和刷新說明進行操作。

有關構建OpenThread的概述,請參閱《構建指南》

在每個示例的platform文件夾中都可以找到有關使用GNU Autotools構建受支持平台的特定說明。

設置邊界路由器

OTBR通過尖晶石與RCP通信。在配置的硬件平台上

  1. 克隆OTBR存儲庫:
    git clone https://github.com/openthread/ot-br-posix
  2. 安裝依賴項:
    cd ot-br-posix
    ./script/bootstrap
  3. 編譯並安裝OTBR。請注意,此設置腳本使用網絡管理器自動設置Wi-Fi接入點(AP)。
    1. 要使用網絡管理器自動設置Wi-Fi AP:
      ./script/setup
    2. 要跳過自動Wi-Fi AP設置並在以後不使用網絡管理器的情況下手動進行設置:
      NETWORK_MANAGER=0 ./script/setup
  4. 通過USB將閃存的RCP設備連接到Border Router平台。
  5. otbr-agent配置RCP設備的串行端口:
    1. 通過檢查/dev來確定RCP設備的串行端口名稱:
      ls /dev/tty*
    2. 將此附加到/etc/default/otbr-agent 。例如,對於ttyUSB0的串行端口名稱:
      OTBR_AGENT_OPTS="-I wpan0 spinel+hdlc+uart:///dev/ttyUSB0"
  6. 重新啟動邊界路由器。如果使用BeagleBone Black平台,則在執行此操作時請記住按住BOOT按鈕
  7. OTBR服務應在啟動時啟動。

驗證服務

驗證是否已啟用所有必需的服務:

sudo systemctl status

如果setup腳本成功,則以下服務將出現在輸出中:

  • avahi-daemon.service
  • otbr-agent.service
  • otbr-web.service

例如:

● raspberrypi
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Thu 1970-01-01 00:00:01 UTC; 47 years 7 months ago
   CGroup: /
           ├─user.slice
           │ └─user-1000.slice
           │   ├─user@1000.service
           │   │ └─init.scope
           │   │   ├─576 /lib/systemd/systemd --user
           │   │   └─580 (sd-pam)
           │   └─session-c1.scope
           │     ├─480 /bin/login --
           │     └─585 -bash
           ├─init.scope
           │ └─1 /sbin/init
           └─system.slice
             ├─systemd-timesyncd.service
             │ └─334 /lib/systemd/systemd-timesyncd
             ├─dbus.service
             │ └─339 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
             ├─hciuart.service
             │ └─442 /usr/bin/hciattach /dev/serial1 bcm43xx 921600 noflow -
             ├─ssh.service
             │ └─621 /usr/sbin/sshd -D
             ├─avahi-daemon.service
             │ ├─341 avahi-daemon: running [raspberrypi.local]
             │ └─361 avahi-daemon: chroot helper
             ├─otbr-web.service
             │ └─472 /usr/sbin/otbr-web
             ├─triggerhappy.service
             │ └─354 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
             ├─systemd-logind.service
             │ └─353 /lib/systemd/systemd-logind
             ├─otbr-agent.service
             │ └─501 /usr/sbin/otbr-agent -I wpan0
             ├─cron.service
             │ └─350 /usr/sbin/cron -f
             ├─systemd-udevd.service
             │ └─154 /lib/systemd/systemd-udevd
             ├─rsyslog.service
             │ └─345 /usr/sbin/rsyslogd -n
             ├─bluetooth.service
             │ └─445 /usr/lib/bluetooth/bluetoothd
             ├─systemd-journald.service
             │ └─136 /lib/systemd/systemd-journald
             └─dhcpcd.service
               ├─409 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
               └─466 /sbin/dhcpcd -q -w

如果這些服務正在運行,但RPi3B處於降級狀態,則其他某些服務無法啟動。檢查以查看:

sudo systemctl --failed

如果跳過了自動Wi-Fi AP設置,並且失敗的服務是taygadnsmasq ,這是正常現象。如果執行Wi-Fi AP的手動設置,則這些服務將完全配置為下一節介紹的Wi-Fi接入點設置的一部分。

驗證RCP

驗證RCP處於正確狀態:

sudo ot-ctl state

ot-ctl是OTBR附帶的命令行實用程序。它用於與otbr-agent在RCP設計中綁定的Thread PAN接口(默認為wpan0 )進行通信。

如果RCP成功運行,並且該節點不是Thread網絡的成員,則輸出應類似於以下內容:

disabled

如果輸出為OpenThread daemon is not running ,請使用以下方法進行故障排除:

  1. 確認邊界路由器具有足夠的電源(使用適當的外部交流適配器)。
  2. 斷開RCP板的連接,然後將其重新連接到Border Router平台。
  3. 驗證是否存在RCP串行設備。例如,如果設備應連接到/dev/ttyUSB0
    ls /dev/ttyUSB*
    /dev/ttyUSB0
  4. 使用sudo ot-ctl reset重置RCP。

使用sudo ot-ctl state再次檢查RCP狀態。