BeagleBone 屬于開源單板計算機 (SBC),可與其它上百種與之類似的 SBC 共享各種設計意圖。也就是說,BeagleBone 體積小、價格低,但功能卻十分強大。BeagleBone 是供學生、業余愛好者以及專業人員使用的絕佳學習平臺,可簡化開發過程。
但正式啟動項目前,還需要了解一些知識,以便更好地使用該平臺。
雖然 2008 年首次發布 BeagleBoard 后已經經歷了數次 BeagleBone (BB) 迭代,本文將主要介紹 BeagleBone Black 和 BeagleBone Green 板。
本文探討這些技巧的主要目的并非是為了提供一個完整的課程,而是提供一些經驗性信息和建議,以便新用戶使用這些設備時避免誤入陷阱和障礙。
1:BeagleBone 入門
不需要單獨的鍵盤、鼠標和顯示器。實際上,一些型號的 BeagleBone 并沒有板載 HDMI 或顯示端口。但這并不妨礙板的運行。只要通過 USB 電纜將 BeagleBone 插入到 PC,然后安裝最新的 BeagleBone 驅動程序即可。接下來,在瀏覽器窗口通過 SSH(安全 shell)會話接入 BeagleBone(切勿使用 IE 瀏覽器)。
同時,確保購買一張用于 BeagleBone 的 MicroSD 卡,例如,ATP Electronics 的 AF8GUD3-OEM 10 類 8 GB 卡。更新操作系統需要額外的內存。
2:獲得外殼
除非 BeagleBone 可直接放進項目機箱,否則請使用外殼。如果沒有外殼,也可以將板固定在塑料板上。高密度聚乙烯砧板材料就是絕佳之選。外殼或塑料基板可以保護 BB 板免受撞擊或意外沖擊。
購買外殼時,請選擇露出 GPIO 端口和 RESET 按鈕的類型,如 Hammond Manufacturing 的 1593HAMBONETBU(圖 1)。露出端口和按鈕可以避免用戶誤以為要拆開盒子才能進行復位或將配件連接到 GPIO 針座上。
圖 1:外殼將有助于保護電路板免受沖擊,但要選擇露出 GPIO 端口和 RESET 的類型,例如 Hammond Manufacturing 的 1593HAMBONETBU。(圖片來源:Hammond Manufacturing)
3:警告:BeagleBone 板對于電源要求十分苛刻
初次使用 BB 板的用戶常常會碰到這樣一個的問題,就是插入電源后,板并未啟動。通常,這是因為電源的電壓上升時間緩慢,或電源因突然經歷負載無法保持電壓而瞬間下降。
雖然在 BeagleBone Black (BBB) 迭代中,已經對元器件選擇進行了一些微小改動以消除這些問題;但選擇好的電源仍然十分重要。切勿在電源上省錢。在電源上省幾塊錢,但可能導致設備有時無法工作,而且還要冒著損壞 BeagleBone 板的風險,這并不劃算。使用類似 Volgen America/Kaga Electronics USA 的 KTPS12-05025WA-VI-P1 5 VDC、2.5 A、套管插頭電源。BeagleBone 上的電源插孔可接受內外直徑分別為 2.1 mm 和 5.5 mm 的套管類型電源連接器。
性能欠佳的電源也會對 Wi-Fi Dongle(如有使用)產生不利影響。Dongle 供電不足常表現為斷斷續續和連接失敗。使用 Dongle 時,應確保電源(如 KTPS12-05025WA-VI-P1)至少可輸出 2 A 電流。
如果啟動失敗,請嘗試長按板卡上的復位按鈕,直至電源保持穩定。然后松開按鈕。同時,通過板上的電源按鈕關閉 BB 板,而不是只拔出電源連接器。
遇到相關問題時,請勿通過 GPIO 針座為 BB 上電;通過 GPIO 上電會損壞 ARM CPU。
4:BeagleBone Black 的秘密武器:PRU
BeagleBone 的最大秘密武器是 PRU。PRU 意指“可編程實時單元”。PRU 為小型、小助手微控制器,能夠分擔主 CPU 的任務。
沒有 PRU,可能需要其他硬件來對 I/O 進行快速或實時控制。假設引腳切換的速度可以和代碼執行速度一樣快。同時,它們也有其自身的一組外設,如 UART 和 PWM。PRU 的所有資源都可供主處理器使用。學習如何使用 PRU。它們將避免拼湊各種零件,從而增大了 BB 體積。
5:學習 Python
可以說,啟動在 BeagleBone 上控制 GPIO 的最快方式就是編寫一些 Python 代碼。Debian 是當前最受青睞的 Linux 版本,BeagleBone 將其用作默認操作系統。Debian 內部的開發環境稱為“Cloud 9”。通過 SSH 進入 BeagleBone 后,在屏幕左側菜單中可以看到 Cloud 9。
訪問 Python.org 可下載可該板上運行的各版 Python 的說明文檔。如需查看版本,請在命令行中輸入“python”。該命令將調用 Python shell 并在頂部列出版本號。
如需創建 Python 圖形化用戶界面 (GUI),其中一種方法就是使用 Tkinter 庫。Jan Bodner 編寫的一本電子書針對該主題作過詳細的探討。
最后,新手容易忽略的是,Python 2.x.x 和 3.x.x 之間的不兼容問題。代碼需要符合 BeagleBone 上 Python 版本的正確語法才能運行。也就是說,如果存在不兼容代碼樣本,可以通過編輯使其在板的 Python 版本上運行。
6:打印 BeagleBone 引腳布局圖片
BeagleBone 在板上幾乎沒有絲印任何引腳標識。雖然不方便,但確實可以讓板更為小巧整潔。保存了這份引腳布局圖便于參考(圖 2)。
圖 2:打印 BeagleBone GPIO 針座標識圖。(圖片來源:Embedded Basics)
7:BeagleBone Black 在選擇 Wi-Fi Dongle 上極為挑剔
開始時,確保使用的 Dongle 已知可用于 BeagleBone,如 Adafruit 的 814 Wi-Fi USB Dongle(圖 3)。
圖 3:BeagleBone Black 對 Wi-Fi Dongle 極為挑剔,因此解決這一問題的方法就是使用已知的優良零件,如 Adafruit 814 Wi-Fi Dongle。(圖片來源:Adafruit)
另一種獲得 Wi-Fi 連接的方法是購買 BeagleBone Black Wireless(圖 4)或 BeagleBone Green Wireless(圖 5)。這些板迭代包含內置 Wi-Fi,因而無需使用 Dongle。
圖 4:獲得 Wi-Fi 連接的另一種方法是選擇 BeagleBone Black Wireless。(圖片來源:GHI Electronics)
注意,為了給 Wi-Fi 功能留出空間,將會犧牲這些板上的一些非無線版特性。例如,BeagleBone Green Wireless 獲得了 Wi-Fi 和藍牙功能,但損失了板載以太網。
圖 5:犧牲了板載以太網來為 Wi-Fi 留出空間的 BeagleBone Green Wireless。(圖片來源:Seeed Technology)
8:獲得 Linux (Debian) 命令列表
為了成功瀏覽 Linux (Debian),請使用命令行。用 BeagleBone 啟動 SSH 會話并在 Cloud 9 中打開一個新選項卡。在此選項卡,輸入“help”并單擊“Enter”即可獲得命令列表。如需了解這些命名含義,只需輸入“man” 后跟命令名稱即可。隨即屏幕上將出現更為詳細的介紹。注意在 Linux 中,“文件夾”被稱為“目錄”。
9:Linux 不是實時操作系統
大部分 BeagleBone 用戶會運行 Debian。Debian、其他 Linux 版本以及大多數其他操作系統運行時將處理時間進行了拆分,并解析到任何正在運行的進程。CPU 時間必須解析到內核、GUI、相關進程及任何正在運行的代碼。OS 將消耗這些時鐘周期的絕大部分。剩下的部分會為代碼保留。如此一來,CPU 就不可能超出一定精度執行操作。例如,運行 Linux 的 BeagleBone 無法提供與常見 WS2812 LED 燈條通信所需的精確定時。實時任務應通過 PRU 處理。
10:一旦啟動并運行,使用 Cape 和配件板來實現更快、更順暢地操作
Cape 屬于配件板,可提升 BeagleBone 的性能并迅速避免許多額外硬件要求。許多常見的任務需要用到多種不同的 Cape 和配件板。
例如,BeagleBone 本身沒有板載 CAN 總線解釋。需要使用 Cape 處理錯綜復雜的 CAN 總線通信,而不是編寫代碼對 CAN 總線進行位沖。
Cape 有很多種,如顯示 Cape、傳感器 Cape、電機驅動 Cape 以及原型 Cape,主要都是空白穿孔板,可插到 BB GPIO 針座上。Texas Instruments 甚至可提供一種分接 PRU 外設的 PRU Cape。
圖 6:“分接”PRU 外設的 PRU Cape。(圖片來源:Texas Instruments)
總結
BeagleBone SBC 是功能強大、應用廣泛的計算平臺,可快速啟動電子項目而且還小有趣味。事先做一些考慮和研究,并結合一些經驗人員的建議,啟動過程將會更加順利。
-
嵌入式
+關注
關注
5071文章
19026瀏覽量
303492 -
Linux
+關注
關注
87文章
11232瀏覽量
208948 -
python
+關注
關注
56文章
4783瀏覽量
84473 -
BeagleBone
+關注
關注
4文章
26瀏覽量
65741
發布評論請先 登錄
相關推薦
評論