本指南說明 OpenThread 邊界路由器的基本建構與設定 (OTBR)。完成這項程序後,您將獲得能夠正常運作的 OTBR 與 RCP 有關的完整 Thread 裝置 (FTD) 格式。
設定平台
設定支援的硬體平台:
建構及刷新 RCP
OTBR 會在 RCP 設計上執行。選取支援的 OpenThread 平台,然後跟隨建築物和閃爍 針對該平台提供的指示
如需 OpenThread 建構總覽,請參閱 建立指南。
如要進一步瞭解如何使用 GNU Autotools 建構支援的平台,可以 都能找到 platform folder。
安裝 OTBR
OTBR 透過旋轉圖示與 RCP 通訊。如要在已設定的主機上安裝 OTBR 請完成下列步驟
複製 OTBR 存放區:
git clone https://github.com/openthread/ot-br-posix
安裝依附元件
預設設定會啟用多數平台的 BORDER_ROUTING
。換
OTBR 預設標記的完整清單,請參閱
GitHub 上的平台範例。
選取平台,然後按一下「default
」(如果有的話)。
預設用法:
cd ot-br-posix
./script/bootstrap
具備網路管理員的 BeagleBone Black (選用):
cd ot-br-posix
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/bootstrap
編譯並安裝 OTBR
此為預設用量。這個設定指令碼預設會啟用邊界轉送功能。啟用方式 邊界轉送,請指定您平台的乙太網路或 Wi-Fi 介面:
使用乙太網路:
INFRA_IF_NAME=eth0 ./script/setup
使用 Wi-Fi:
INFRA_IF_NAME=wlan0 ./script/setup
BeagleBone Black。使用網路管理員 (選用):
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/setup
連接及設定 RCP 裝置
透過 USB 將閃爍的 RCP 裝置連接至邊界路由器平台。
如要在 otbr-agent
中設定 RCP 裝置的序列埠,請先決定
檢查 /dev
,找出 RCP 裝置的序列埠名稱:
ls /dev/tty*
接下來,請檢查 otbr-agent
設定。
cd /etc/default
cat otbr-agent
otbr-agent
設定檔包含您的 Thread 介面名稱 (乙太網路)
或 Wi-Fi 介面名稱和 RCP 序列埠名稱。
OTBR_AGENT_OPTS="-I wpan0 -B OTBR_INFRA_IF_NAME spinel+hdlc+uart:///dev/ttyACM0 trel://OTBR_INFRA_IF_NAME"
並非所有裝置都會連接相同的序列埠名稱。最常出現
常見的通訊埠名稱為 ttyACM*
和 ttyUSB*
請參閱
判斷預期的序列埠名稱。
如有需要,請更新 otbr-agent
設定檔。例如,針對 Wi-Fi
介面和 ttyUSB0
的序列埠名稱:
OTBR_AGENT_OPTS="-I wpan0 -B wlan0 spinel+hdlc+uart:///dev/ttyUSB0 trel://wlan0"
如何更新乙太網路介面:
OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyUSB0 trel://eth0"
將邊界路由器開機。如果使用 BeagleBone Black 平台 請記得按住 BOOT 按鈕 。
OTBR 服務應在開機時啟動。
驗證服務
確認已啟用所有必要服務:
sudo systemctl status
如果 setup
指令碼執行成功,下列服務會顯示在
輸出:
mdns.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 # enabled ├─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 # enabled ├─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 # enabled ├─mdns.service │ └─725 /usr/sbin/mdnsd ├─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
如果這些服務正在執行,但 RPi 處於「降級」狀態, 無法啟動其他服務。查看哪些項目:
sudo systemctl --failed
您也可以個別查看各項服務:
sudo service mdns status
sudo service otbr-agent status
sudo service otbr-web status
根據預設,大部分平台會啟用 otbr-web
。
如未安裝 otbr-web
,請嘗試傳送 WEB_GUI
標記:
WEB_GUI=1 ./script/bootstrap
INFRA_IF_NAME=wlan0 WEB_GUI=1 ./script/setup
驗證 RCP
確認 RCP 是否正確無誤:
sudo ot-ctl state
ot-ctl
是隨附於 OTBR 的指令列公用程式。用途
與 otbr-agent
的 Thread PAN 介面 (預設為 wpan0
) 通訊
繫結至 RCP 設計。
RCP 是否成功執行,且節點並非 Thread 成員 畫面會顯示類似以下的輸出內容:
disabled
如果輸出結果是 OpenThread daemon is not running
,請按照下列方式排解問題:
- 確認邊界路由器有足夠的電力 (使用適當的外接 AC) 轉接器)。
- 中斷 RCP 遊戲板並重新連接至邊界路由器平台。
驗證 RCP 序列裝置是否存在。舉例來說,如果裝置 應附加至
/dev/ttyUSB0
:ls /dev/ttyUSB*
/dev/ttyUSB0使用
sudo ot-ctl reset
重設 RCP。
請使用 sudo ot-ctl state
再次檢查 RCP 狀態。