ビーグルボーンブラック

GitHub でソースを見る

OpenThread Border Router(OTBR)は、BeagleBone Black(BBB)プラットフォームをサポートしています。

ハードウェア要件:

  • 電源用の外部 5 V AC アダプター
  • 8 GB 以上の microSD カード(このガイドでは「uSD カード」)
  • RCP 設計での Thread ネットワーク接続用にサポートされている OpenThread プラットフォーム(TI CC2652 など)

有効にする手順:

  1. OS をダウンロードしてインストールします。
  2. OTBR 用の Debian 環境の準備
  3. (省略可)Wi-Fi を有効にする
  4. OTBR のビルドとインストール

OS をダウンロードしてインストールする

  1. BeagleBone 用の最新の Debian IoT イメージをダウンロードします。
    • このガイドで使用したバージョンは bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz です。
  2. BeagleBone スタートガイドに沿って、OS イメージを uSD カードにインストールします。
  3. BeagleBone を起動し、デバイスに SSH で接続します。
    • ローカルのイーサネット ベースのネットワーク経由での接続をおすすめします。
    • cloud9 IDE は、このガイドの後半で無効にします。
    • このガイドでは、BeagleBone ネットワーク インターフェースの状態を変更します。セキュア シェル セッションが切断される可能性があることに注意してください。
    • 最新の BeagleBone ブートローダはデフォルトで uSD カードから実行されますが、一部の BeagleBone Black デバイスは内部 eMMC から起動しようとする場合があります。この場合、必ず BOOT ボタンを押してください。

BeagleBone の詳細については、BeagleBoard サポートページをご覧ください。

OTBR 用に Debian 環境を準備する

uSD BeagleBone イメージのファイルシステムは、ほとんどの uSD カードに収まるように 4 GB に制限されています。パーティションを拡張して、ストレージ容量全体を使用できるようにします。

sudo /opt/scripts/tools/grow_partition.sh

ファイル システムの拡張方法を確認するには、そのヘルパー スクリプトをご覧ください。この新しいファイル システム定義を使用するには、BeagleBone を再起動して再ログインする必要があります。

sudo shutdown -r now

これにより、SSH セッションが終了します。ログインし直したら、OTBR コードの作成に進みます。

(省略可)Wi-Fi を有効にする

BeagleBone に再度ログインしたら、Network Manager をインストールします。

sudo apt-get update
sudo apt-get install network-manager

次に、connman を無効にして network-manager を有効にします。

sudo systemctl disable connman
sudo systemctl enable network-manager

ここで connman を直接 stop すると、ネットワーク インターフェースが connman によって管理されているため、SSH セッションが中断されます。代わりに、次回の起動時に有効になるようにシステムを構成します。Beaglebone を再起動して、再度ログインします。

sudo shutdown -r now

ネットワーク マネージャーに DNS ネームサーバーが設定されていない可能性があります。sudo vim /etc/resolv.conf コマンドを使用して resolv.conf を編集し、内容に Google DNS と Cloudflare DNS が含まれていることを確認します。

nameserver 8.8.8.8
nameserver 1.1.1.1

再起動して、Network Manager が正しく設定されていることを確認します。

sudo shutdown -r now

WiLink 8 モジュールは、実行時に MAC アドレスを変更することを好みません。ネットワーク マネージャーは、スキャン時にこの操作を試みます。sudo vim /etc/NetworkManager/NetworkManager.conf コマンドを使用して NetworkManager.conf を編集し、次の行を追加します。

[device]
wifi.scan-rand-mac-address=no

ピンの競合により、BBONE-GATEWAY-CAPE はデフォルトで BeagleBone で認識されません。sudo vim /boot/uEnv.txt コマンドを使用して uEnv.txt を編集し、構成を手動で追加します。次の行が一致していることを確認します。

#Custom Cape
dtb_overlay=/lib/firmware/BB-GATEWAY-WL1837-00A0.dtbo
#
#Disable auto loading of virtual capes (emmc/video/wireless/adc)
disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1

BeagleBone wilink 設定スクリプトは、デフォルトで connman を使用して Wi-Fi AP アクティビティを有効にしようとします。sudo vim /etc/default/bb-wl18xx コマンドを使用してデフォルトの構成フォルダを編集し、変数が次のように一致していることを確認します。

TETHER_ENABLED=no
USE_CONNMAN_TETHER=no

再起動して、Network Manager が新しいインターフェースを認識していることを確認します。

sudo shutdown -r now

再びログインしたら、ifconfig または nmcli を実行して新しい wlan インターフェースを表示します。

ネットワーク マネージャーを使用するには、次の手順でセットアップ スクリプトにオプション NETWORK_MANAGER=1NETWORK_MANAGER_WIFI=1 を渡してください。

OTBR のビルドとインストール

OTBR のビルドとインストールの手順については、ビルドと構成をご覧ください。