BeagleBone Black

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 スタートガイドに沿って、uSD カードに OS イメージをインストールします。
  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

stop connman を直接使用すると、ネットワーク インターフェースが 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 アドレスを変更することを望んでいません。 Network Manager はスキャン時にこの処理を試みます。NetworkManager.conf コマンドで sudo vim /etc/NetworkManager/NetworkManager.conf を編集して、次の行を追加します。

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

ピンの競合により、デフォルトでは BBONE-GATEWAY-CAPE は BeagleBone によって認識されません。uEnv.txtコマンドを sudo vim /boot/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 を使用するには、次のステップで設定スクリプトにオプション NETWORK_MANAGER=1NETWORK_MANAGER_WIFI=1 を渡すことを忘れないでください。

OTBR をビルドしてインストールする

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