|
OpenThread邊界路由器(OTBR)支持BeagleBone Black (BBB)平台。
硬件要求:
- 外部5V AC適配器供電
- 8 GB或更大的microSD卡(本指南中為“ uSD卡”)
- 支持RCP設計中用於線程網絡連接的OpenThread平台(例如TI CC2652 )
啟用步驟:
- 下載並安裝操作系統。
- 為OTBR準備Debian環境
- 構建並安裝OTBR
- 設置Wi-Fi接入點
下載並安裝操作系統
- 下載BeagleBone的最新Debian IoT映像。
- 本指南使用的版本為
bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz
- 本指南使用的版本為
- 遵循BeagleBone入門指南,將操作系統映像安裝在uSD卡上。
- 將BeagleBone和SSH引導到設備中。
- 建議通過基於本地以太網的網絡進行連接。
- 本指南稍後將禁用cloud9 IDE。
- 本指南將更改BeagleBone網絡接口的狀態,請注意您的安全Shell會話可能會斷開連接。
- 現代BeagleBone引導加載程序默認情況下將從uSD卡運行,但是某些BeagleBone Black設備可能會嘗試從內部eMMC引導。在這種情況下,請確保按BOOT按鈕。
有關BeagleBone的更多詳細信息,請參見BeagleBoard支持頁面。
為OTBR準備Debian環境
默認情況下,默認BeagleBone Debian圖像的某些部分運行。這些可能與OpenThread Border Router軟件的某些部分衝突。
默認情況下,某些軟件包在BeagleBone上運行,以實現快速開發。這些可以在systemd中使用命令sudo systemctl list-units --all
和sudo systemctl list-sockets --all
。
停止並禁用模塊:
sudo systemctl stop bonescript-autorun.service
sudo systemctl stop bonescript.socket
sudo systemctl stop bonescript.service
sudo systemctl stop cloud9.socket
sudo systemctl stop cloud9.service
sudo systemctl stop nodered.service
sudo systemctl disable bonescript-autorun.service
sudo systemctl disable bonescript.socket
sudo systemctl disable bonescript.service
sudo systemctl disable cloud9.socket
sudo systemctl disable cloud9.service
sudo systemctl disable nodered.service
sudo systemctl daemon-reload
通過刪除服務文件,禁用通過Avahi發布Cloud9 IDE和NodeRED服務:
sudo rm /etc/avahi/services/*
uSD BeagleBone映像的文件系統限制為4GB,以適合大多數uSD卡。擴展分區以啟用整個存儲容量的使用。
sudo /opt/scripts/tools/grow_partition.sh
建議您閱讀該幫助程序腳本,以了解文件系統如何擴展。您將必須重新啟動BeagleBone並重新登錄才能使用此新的文件系統定義。
sudo shutdown -r now
這將關閉您的SSH會話。
重新登錄到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
重新啟動以確保Network Manager可以看到新界面。
sudo shutdown -r now
重新登錄後,您可以運行ifconfig
或nmcli
以查看新的wlan
界面。
構建並安裝OTBR
設置Wi-Fi接入點
如果您的BeagleBone已啟用Wi-Fi,並且跳過了網絡管理器對Wi-Fi接入點的自動設置,請參閱Wi-Fi接入點設置以獲取手動配置說明。該指南是為Raspberry Pi編寫的,但是大多數配置步驟都適用於BeagleBone Debian發行版。