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