ビーグルボーンブラック

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 ネットワーク インターフェースの状態を変更するため、Secure Shell セッションが切断される可能性があることに注意します。
    • 最新の BeagleBone ブートローダーは、デフォルトでは uSD カードから実行されますが、一部の BeagleBone Black デバイスは、内部 eMMC から起動しようとすることがあります。この場合は、必ずブートボタンを押してください。

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.confresolv.conf を編集し、コンテンツに Google DNS と Cloudflare DNS が含まれていることを確認します。

nameserver 8.8.8.8
nameserver 1.1.1.1

再起動して、ネットワーク マネージャーが正しく設定されていることを確認します。

sudo shutdown -r now

WiLink 8 モジュールは、実行時に MAC アドレスが変更されることを望みません。ネットワーク マネージャーはスキャン時にこの処理を試みます。コマンド sudo vim /etc/NetworkManager/NetworkManager.confNetworkManager.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 リンク設定スクリプトは、デフォルトで connman を使用して Wi-Fi AP アクティビティを有効にします。sudo vim /etc/default/bb-wl18xx コマンドを使用してデフォルトの構成フォルダを編集し、変数が以下のとおり一致していることを確認します。

TETHER_ENABLED=no
USE_CONNMAN_TETHER=no

ネットワーク マネージャーを再起動して、新しいインターフェースを認識できることを確認します。

sudo shutdown -r now

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

Network Manager を使用するには、次のステップで NETWORK_MANAGER=1 オプションと NETWORK_MANAGER_WIFI=1 オプションを設定スクリプトに渡すことを忘れないでください。

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

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