黑子山

在 GitHub 上查看來源

OpenThread Border Router (OTBR) 支援 BeagleBone Black (BBB) 平台。

硬體需求:

  • 外接式 5V AC 電源變壓器
  • 8 GB 以上的 microSD 卡 (本指南中的「uSD 卡」)
  • 支援的 OpenThread 平台 (例如 TI CC2652),用於 RCP 設計中的 Thread 網路連線

啟用步驟:

  1. 下載並安裝 OS。
  2. 為 OTBR 準備 Debian 環境
  3. (選用) 啟用 Wi-Fi
  4. 建構及安裝 OTBR

下載並安裝作業系統

  1. 請下載 最新版 Debian IoT 映像檔 (適用於 BeagleBone)
    • 本指南所使用的版本為 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 啟動。在此情況下,請務必按下電源鍵按鈕。

如需 BeagleBone 的詳細資訊,請參閱 BeagleBoard 支援頁面

為 OTBR 準備 Debian 環境

uSD BeagleBone 映像檔的檔案系統大小上限為 4GB,以便放入大多數的 uSD 卡。展開分區,以便使用整個儲存空間容量。

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,會中斷 SSH 工作階段,因為網路介面由 connman 管理。我們會將系統設定為在下次啟動時生效。請重新啟動 Beaglebone 並重新登入。

sudo shutdown -r now

Network Manager 可能未設定 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 會在掃描時嘗試執行此操作。使用 sudo vim /etc/NetworkManager/NetworkManager.conf 指令編輯 NetworkManager.conf,並新增下列指令行:

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

在預設情況下,BeagleBone 無法辨識 BBONE-GATEWAY-CAPE,這是因為圖釘衝突。使用 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

重新登入後,您可以執行 ifconfignmcli 來查看新的 wlan 介面。

別忘了將選項 NETWORK_MANAGER=1NETWORK_MANAGER_WIFI=1 傳遞至下一個步驟中的設定指令碼,以便使用 Network Manager。

建構及安裝 OTBR

如要瞭解如何建構及安裝 OTBR,請參閱「建構和設定」一文。