黑子山

在 GitHub 上查看原始碼

OpenThread 邊界路由器 (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

下載並安裝 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 啟動。在這種情況下,請務必按下機上盒按鈕。

如要進一步瞭解 BeagleBone,請參閱 BeagleBoard 支援頁面

準備 OTBR 的 Debian 環境

uSD BeagleBone 映像檔的檔案系統限制為 4 GB,以適用於大多數的 USD 卡。展開分區,即可使用完整的儲存空間容量。

sudo /opt/scripts/tools/grow_partition.sh

建議您詳閱該輔助指令碼,瞭解如何擴充檔案系統。您必須重新啟動 BeagleBone 並重新登入,才能使用這個新的檔案系統定義。

sudo shutdown -r now

這麼做會關閉 SSH 工作階段。重新登入後,可略過建構 OTBR 程式碼。

(選用) 啟用 Wi-Fi

重新登入 BeagleBone 後,安裝網路管理工具:

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

網路管理員可能尚未設定 DNS 名稱伺服器。使用 sudo vim /etc/resolv.conf 指令編輯 resolv.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.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

重新啟動,確保網路管理員能夠看到新版介面。

sudo shutdown -r now

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

別忘了將 NETWORK_MANAGER=1NETWORK_MANAGER_WIFI=1 選項傳遞至設定指令碼,以便使用網路管理工具。

建構及安裝 OTBR

如需建構及安裝 OTBR 的操作說明,請參閱建構及設定一文。