<ph type="x-smartling-placeholder"></ph> GitHub のソースを表示
このガイドでは、OpenThread ボーダー ルーターの基本的なビルドと構成について説明します。 (OTBR)。この手続きが完了すると、機能する OTBR ができあがります。 フルスレッドデバイス(FTD)として 開発されました
プラットフォームの構成
サポートされているハードウェア プラットフォームを構成します。
RCP のビルドとフラッシュ
OTBR は RCP 設計で動作します。サポートされている OpenThread を選択 プラットフォームを RCP として使用し、建物と点滅する 手順をご覧ください。
OpenThread のビルドの概要については、 作成ガイド
GNU Autotools でサポートされているプラットフォームをビルドするための具体的な手順は、 各サンプルの platform フォルダに移動します。
OTBR のインストール
OTBR はスピネル経由で RCP と通信します。設定済みの VM に OTBR をインストールするには、 次の手順を完了します。
OTBR リポジトリのクローンを作成します。
git clone https://github.com/openthread/ot-br-posix
依存関係のインストール
デフォルトの構成では、ほとんどのプラットフォームで BORDER_ROUTING
が有効になります。1 つの
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 を使用する(省略可):
NETWORK_MANAGER=1 NETWORK_MANAGER_WIFI=1 ./script/setup
RCP デバイスの接続と設定
フラッシュした RCP デバイスを USB でボーダー ルーター プラットフォームに接続します。
otbr-agent
で RCP デバイスのシリアルポートを設定するには、まず
/dev
を確認して、RCP デバイスのシリアルポート名を指定します。
ls /dev/tty*
次に、otbr-agent
の設定を確認します。
cd /etc/default
cat otbr-agent
otbr-agent
構成ファイルには、Thread インターフェース名(Ethernet)が含まれます。
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/ttyUSB0sudo ot-ctl reset
で RCP をリセットします。
sudo ot-ctl state
で RCP のステータスを再度確認してください。