在讓大眾自由掌控 PC 強(qiáng)大功能的革命中,Raspberry Pi 是核心,為我們提供了一個(gè)具有廣泛生態(tài)支持的易用型平臺(tái)。雖然該平臺(tái)直觀易用,但工程師和初學(xué)者依舊可以受益于使用過 Pi 的用戶提供的一些小技巧。
“需要知道的 10 件事”不會(huì)盡述所有內(nèi)容,在線交流論壇將就此提供持續(xù)支持。這些有價(jià)值的信息可能無(wú)法在任何指南或教程中找到,但它們是來(lái)之不易的經(jīng)驗(yàn)總結(jié)。這包括選擇和格式化 SD 卡、選擇 Raspberry Pi 的電源、選擇正確的 Wi-Fi 適配器、編程技巧、系統(tǒng)凍結(jié)時(shí)的操作說明以及如何正確為其供電以免受破壞等方面的意見和建議。
快速瀏覽這些小技巧,能大幅提升 Raspberry Pi 的首次使用體驗(yàn),并充分感受單板計(jì)算機(jī)平臺(tái)的強(qiáng)大功能。
1: 何時(shí)、何種情況下使用 Raspberry Pi
Raspberry Pi 的價(jià)格、性能和背后的支持社區(qū),讓您在開始所有可能的任務(wù)時(shí)就幾乎無(wú)法拒絕該產(chǎn)品。本質(zhì)上說,Raspberry Pi 是個(gè)人計(jì)算機(jī)。以Raspberry Pi Foundation的Raspberry Pi 3Model B 為例,此產(chǎn)品基于高達(dá) 1.2 GHz 的 ARM? Cortex?-A53。并搭配 1 GB RAM、802.11n 無(wú)線局域網(wǎng)、藍(lán)牙 4.1 和低功耗藍(lán)牙、4 個(gè) USB 端口,40 個(gè) GPIO 引腳、完整的 HDMI 端口、以太網(wǎng)、3.5 mm 音頻插孔和攝像頭及顯示器接口。
圖 1: Raspberry Pi Foundation 的 Raspberry Pi 3 Model B 基于高達(dá) 1.2 GHz 的 ARM Cortex-A53,并具有 1 GB 內(nèi)存和 802.11n 無(wú)線局域網(wǎng)連接。(圖片來(lái)源: Raspberry Pi Foundation)
從讀取溫度傳感器、控制電機(jī)和活塞的機(jī)電一體化系統(tǒng),到作為完整功能計(jì)算機(jī),該產(chǎn)品幾乎無(wú)所不能,還可以執(zhí)行一些有趣的項(xiàng)目包括視頻處理、機(jī)器人和遠(yuǎn)程 3D 打印機(jī)控制。
2: 開始運(yùn)行 Raspberry Pi
Raspberry Pi 旨在運(yùn)行操作系統(tǒng),而不僅僅是在裸機(jī)上編寫代碼。最常見的操作系統(tǒng)是一種名為 Raspbian(Raspberry 和 Debian 的混成詞)的專用 Linux 版本風(fēng)格。當(dāng)然也可以運(yùn)行其他操作系統(tǒng),但初學(xué)者應(yīng)堅(jiān)持使用 Raspbian。
Raspberry Pi 作為獨(dú)立計(jì)算機(jī)使用時(shí),將需要所有傳統(tǒng)外設(shè),包括鼠標(biāo)、鍵盤、SD 卡(Class 10,至少 8 GB,如Apacer Memory America的AP8GMCSH10U1-B)和監(jiān)視器。
需要一個(gè)外部 SD 卡讀卡器,以便先將 Pi 映像從單獨(dú)計(jì)算機(jī)復(fù)制到 SD 卡上。映像復(fù)制到 SD 卡后,所有其他作業(yè)都可以在 Pi 上完成。一款很好的 SD 卡讀卡器是Assmann WSW Components 的DA-70310-2USB 2.0 讀卡器,該讀卡器適用于幾乎所有主流存儲(chǔ)卡格式。
要格式化 SD 卡,請(qǐng)通過 Raspberry Pi 網(wǎng)頁(yè)上的鏈接獲取 SD Association 的 SD CardFormatter 軟件。僅使用經(jīng)驗(yàn)證的軟件來(lái)確保將 NOOBS 成功安裝到 SD 卡上?;蛘哔?gòu)買預(yù)裝 NOOBS 的 SD 卡,例如Raspberry Pi NOOBS 16 GB卡。
選擇無(wú)線鍵盤和鼠標(biāo)(如Adafruit 的1738),可以空出 USB 端口,避免電纜纏繞?;蛘呤褂猛?USB 2.0 集線器,如Tripp Lite 的4 端口U22-004-RA。實(shí)際上,更推薦 4 端口通電集線器,因?yàn)榭梢越档?Pi 的電源需求。
如果打算通過 SSH 遠(yuǎn)程連接到 Pi,或者與觸摸屏配合使用,則用戶不再需要鼠標(biāo)、鍵盤和監(jiān)視器(參見技巧 9)。
另外,除非監(jiān)視器具有 HDMI 輸入端,否則需要使用一個(gè)適配器將 Pi 的 HDMI 端口和監(jiān)視器的輸入端連接起來(lái)。例如,將 HDMI 橋接到帶 DVI-D 端口的監(jiān)視器時(shí),可使用CnC Tech 的741-20010-00300(圖2)。
圖 2: 可能需要適配器將 Raspberry Pi 的 HDMI 輸出連接到監(jiān)視器,例如 CnC Tech 的 741-20010-00300HDMI 19 針轉(zhuǎn) DVI-D 19 針公頭適配器。(圖片來(lái)源: CnC Tech)
之后,將 Pi 嵌入到系統(tǒng)或項(xiàng)目中時(shí),這些外設(shè)可能會(huì)放在一邊。
3: 獲得適當(dāng)?shù)碾娫?/h2>
請(qǐng)勿通過電腦的 USB 端口為 Raspberry Pi 供電,因?yàn)樗鼈儧]有防止 SD 卡損壞、Raspberry Pi 凍結(jié)和其他零星問題等電源相關(guān)問題所需的供電能力盈余。通常,2 安培電源已能夠滿足 Raspberry Pi 3 的需求,但推薦使用 2.5 安培的電源。
很多高電流電源帶有一個(gè)管狀公頭輸出連接器。使用 Adafruit 的2727插孔轉(zhuǎn) Micro USB A 插頭電纜適配器,配合任意 5 V、中心正極 5.5 x 2.1 mm柱式電源,將其配接至 Raspberry Pi 3(圖 3)。
圖 3: 要按照 2.5 A 推薦值為 Raspberry Pi 供電,應(yīng)將 Adafruit 的 2727 插孔轉(zhuǎn) Micro USB A 電纜適配器與任意 5 V、中心正極 5.5×2.1 mm 柱式電源結(jié)合使用。(圖片來(lái)源:Adafruit)
Raspberry Pi 自身并不需要使用全部電流。使用具有足夠額外負(fù)載能力的電源,旨在確保其他電子元件和配件連接到電路板時(shí),輸入電壓不會(huì)下降?;诖耍覀儊?lái)了解一下一般電源要求。
根據(jù)型號(hào),Raspberry Pi 在空閑模式下消耗大約 100 mA 至 300 mA,每次連續(xù)迭代 Pi 將消耗更多的電流(圖 4)。如果應(yīng)用需要超低功耗,則在 Raspberry Pi 選擇過程中應(yīng)考慮這一因素。
Pi1 (B+)Pi2 BPi3 B(安培)Zero(安培)啟動(dòng)最大值0.260.400.750.20平均值0.220.220.350.15空閑平均值0.200.220.300.10視頻播放 (H.264)最大值0.300.360.550.23平均值0.220.280.330.16應(yīng)力測(cè)試最大值0.350.821.340.35平均值0.320.750.850.23圖 4: 一些主流 Raspberry Pi 型號(hào)電流消耗的比較結(jié)果。(圖片來(lái)源: Raspberry Pi Foundation)
請(qǐng)注意,如果 Pi 采用移動(dòng)工作方式,則可能無(wú)法獲得足夠的電流,導(dǎo)致大多數(shù) USB 移動(dòng)電源因其內(nèi)部電路的設(shè)置而無(wú)法導(dǎo)通。請(qǐng)使用 Adafruit 的 4000 mAh 型號(hào)1565或 10,000 mAh 型號(hào)1566電池組,它們已證實(shí)可與 Pi 配合使用。
4: 獲取或制作帶有內(nèi)置開/關(guān)按鈕的 USB 電纜
Raspberry Pi 沒有板載復(fù)位按鈕或電源開關(guān)。為了避免每次電路板凍結(jié)并需要復(fù)位時(shí)拔下和重新插上 USB 電纜,請(qǐng)使用帶有內(nèi)置開/關(guān)按鈕的 USB 電纜,例如 Adafruit 的2379。這一需求總結(jié)于不斷的實(shí)驗(yàn)和學(xué)習(xí)。初學(xué)者會(huì)不可避免地在學(xué)習(xí)過程中鎖定系統(tǒng)。使用按鈕比使用電纜和連接器更簡(jiǎn)單,可減輕負(fù)擔(dān),同時(shí)避免不必要的 USB 連接器磨損。
但是,請(qǐng)注意: 一般情況下,切勿默認(rèn)使用開/關(guān)按鈕關(guān)閉 Raspberry Pi。直接斷電會(huì)損壞 SD 卡,因此請(qǐng)務(wù)必按照正確的關(guān)機(jī)程序進(jìn)行操作(參見“開關(guān)的位置”)。
5: 成功的關(guān)鍵:Raspberry Pi 配件板
Raspberry Pi 是功能強(qiáng)大的單板計(jì)算機(jī),但也不是萬(wàn)能的。幸運(yùn)的是,可利用大量可用的配件板來(lái)增強(qiáng) Pi 的功能。
例如,雖然 Raspberry Pi 沒有用于數(shù)據(jù)采集的板載模數(shù)轉(zhuǎn)換器 (ADC),但有幾種轉(zhuǎn)換器解決方案可供選擇。Seeed Technology專門打造的103990060ADC 和數(shù)模轉(zhuǎn)換器 (DAC) 板就是一個(gè)很好的解決方案(圖 5)。
圖 5: Seeed Technology 的 103990060 Raspberry Pi 擴(kuò)展板為 Raspberry Pi 提供 8 位 ADC 和 DAC 功能。(圖片來(lái)源:Seeed Technology)
為 RasPi 配備 ADC 輸入的另一種方法是將此工作交由小型 Arduino 板完成,例如 Adafruit 3.3 伏Trinket。
要做到這一點(diǎn),首先回顧“開始 Arduino 項(xiàng)目前需要知道的 10 件事”,然后使用簡(jiǎn)單草圖對(duì)電路板進(jìn)行編程來(lái)采集模擬數(shù)據(jù)。數(shù)據(jù)通過串行連接中繼到 Pi。
更方便的方法是,使用可以與 Raspberry Pi 搭配使用的定制 Arduino 板,例如 Seeed 的AlaMode和 DFRobot 的DFR0327擴(kuò)展板。
需要實(shí)時(shí)執(zhí)行的任務(wù)無(wú)疑需要一個(gè)配件板,因?yàn)?Raspian 不具備此功能。Raspbian/Linux 會(huì)根據(jù)需要將 CPU 時(shí)間分配給應(yīng)用程序、Python 代碼和 Raspbian 自身。這種資源重新分配的不可預(yù)測(cè)性使得無(wú)法實(shí)現(xiàn)實(shí)時(shí)執(zhí)行。
6: Wi-Fi 加密狗
將更新和應(yīng)用程序安裝到 Pi 上的最簡(jiǎn)單方法是通過 Wi-Fi 連接互聯(lián)網(wǎng),Raspberry Pi 3 已內(nèi)置此功能 (802.11n)。但是,其他版本的 Raspberry Pi 沒有 Wi-Fi,因此可能需要購(gòu)買 Wi-Fi 加密狗。這種情況下,應(yīng)做必要的研究,以確保其能夠被 Raspbian 操作系統(tǒng)識(shí)別。Adafruit 的小型814802.11/b/g/n 模塊是一款很棒且已證實(shí)適合 Raspberry Pi 的加密狗(圖 6)。
圖 6: 如果您手上的 Raspberry Pi 板沒有內(nèi)置 Wi-Fi,請(qǐng)研究并找尋合適的加密狗,例如已知可用于 Raspbian 的 Adafruit 814 USB 適配器。(圖片來(lái)源:Adafruit)
7: 注意輸出邏輯電平和驅(qū)動(dòng)能力
Raspberry Pi 使用 3.3 V 邏輯電平。這是一個(gè)很小但重要的細(xì)節(jié),往往被忽視。3.3 V 邏輯電平意味著 Pi 可能無(wú)法與需要 5 V 邏輯電平的許多器件和配件搭配使用。此外,如果總電流不超過約 50 mA,則每個(gè)引腳上的驅(qū)動(dòng)電流為 16 mA。使用SparkFun的BOB-12009雙向轉(zhuǎn)換器等邏輯電平轉(zhuǎn)換器可輕松解決此問題。
圖 7: SparkFun 的 BOB-12009 將 5 V 信號(hào)轉(zhuǎn)換為 Raspberry Pi 所需的 3.3 V。(圖片來(lái)源:SparkFun)
8: Python 編程語(yǔ)言
Python 是 Raspbian 的默認(rèn)編程語(yǔ)言。事實(shí)上,Raspbian 映像預(yù)先加載了 Python 開發(fā)環(huán)境 IDLE(集成開發(fā)和學(xué)習(xí)環(huán)境)。對(duì)于大多數(shù) Pi 項(xiàng)目,使用 Python 是不可或缺的。
在 Raspbian 中,可以選擇使用 IDLE 2 運(yùn)行 Python 2 或 IDLE 3 來(lái)運(yùn)行 Python 3。繼續(xù)使用 IDLE 3/Python 3 保持最新狀態(tài)并獲取最新的文檔。
請(qǐng)注意,Python 2 和 3 代碼不能直接互換。目前有很多 Python 2 代碼,所以您可能希望能從 Python 3 返回至Python 2,但是兩者在語(yǔ)法和命名約定方面存在一些差異,不能直接兼容。但是,如果決定更改,可以仔細(xì)檢查代碼,進(jìn)行必要更改以將 Python 2 代碼轉(zhuǎn)換為 Python 3,反之亦然。
開始構(gòu)建 Python 程序的個(gè)性化 GUI 的最快方法是使用一組名為 TkInter 的工具,該工具已與 Raspbian 捆綁提供。TkInter 有很多簡(jiǎn)短在線教程,可以幫助用戶快速上手。
對(duì)于新手編程人員,建議將項(xiàng)目分解為基本構(gòu)建塊。例如,項(xiàng)目涉及到輸出至 LCD,讀取連接到 SPI 的傳感器,以及從三個(gè)按鈕獲取用戶輸入。應(yīng)為每個(gè)任務(wù)編寫一個(gè)單獨(dú)的代碼段。一次編寫所有代碼可能會(huì)導(dǎo)致錯(cuò)誤,并加大調(diào)試難度。
9: 屏幕尺寸
編程時(shí)請(qǐng)使用大顯示屏,不必使用是位于 Pi 上難以閱讀的 3 英寸小顯示屏。雖然很適合項(xiàng)目的最終定制界面,但最好使用全尺寸顯示器甚至 7 英寸觸摸顯示屏,如 Raspberry Pi Foundation 的8997466LCD(圖 8)。根據(jù)使用的 Raspberry Pi 型號(hào),可能無(wú)法通過 DSI 連接器自動(dòng)檢測(cè)該顯示屏。如果 Pi 型號(hào)需要手動(dòng)啟用屏幕,Github文檔中記錄有此程序。
圖 8: 避免使用 3 英寸小顯示器,因?yàn)楹茈y閱讀。相反,請(qǐng)選擇全尺寸顯示器或 Raspberry Pi Foundation 的 7 英寸 8997466 液晶顯示器。(圖片來(lái)源: Raspberry Pi Foundation)
也就是說,全尺寸顯示器是首選項(xiàng)。此外,插入 DSI 或 HDMI 端口的顯示屏比通過通用 I/O 端口控制的顯示屏快得多。
10: 小技巧和補(bǔ)救措施
-
您可能希望使用大于 32 GB 的 SD 卡。這種情況下,請(qǐng)確保將卡格式化為 FAT32 文件系統(tǒng)。Raspberry Pi 只能讀取 FAT32 卷。
-
確保 SD 卡與 Raspberry Pi 兼容。
-
如果卡在命令行,運(yùn)行命令“sudo start x”啟動(dòng) GUI。
-
Raspberry Pi GPIO 引腳未標(biāo)記。為避免混淆,請(qǐng)獲取GPIO 參考,如 Seeed 提供的這一個(gè)引腳參考。
圖 9: 使用手邊的引腳參考來(lái)識(shí)別 Raspberry Pi GPIO 引腳。(圖片來(lái)源: Seeed Technology)
-
不要通過 GPIO 引腳為 Raspberry Pi 供電。雖然可以實(shí)現(xiàn)供電,但這意味著繞過板載保險(xiǎn)絲。保險(xiǎn)絲是自復(fù)位的,可以根據(jù)需要更換。如果電源通過 GPIO 供電,發(fā)出爆裂聲時(shí),很可能 Pi 已經(jīng)損壞。
圖 10: 如果用戶選擇通過 GPIO 供電,則將繞過 Raspberry Pi 3 板載自復(fù)位保險(xiǎn)絲(紅色箭頭)。這會(huì)使板面臨風(fēng)險(xiǎn)。(圖片來(lái)源:Digi-Key Electronics)
如果使用 Raspberry Pi 進(jìn)行開發(fā)時(shí),請(qǐng)備份所有文件。SD 卡上的映像有可能在某些時(shí)候遭到破壞,從而使數(shù)據(jù)不可恢復(fù)。使用 USB 閃存盤作為文件存儲(chǔ)庫(kù)來(lái)徹底規(guī)避風(fēng)險(xiǎn),例如Apacer 的APHA016G2BACG-DTM16 GB USB 驅(qū)動(dòng)器。
圖 11: 將文件保存到USB 驅(qū)動(dòng)器,以在 Raspberry Pi 的文件系統(tǒng)損壞時(shí)保護(hù)文件。(圖片來(lái)源: Apacer Memory America)
總結(jié)
Raspberry Pi 以強(qiáng)大、易于使用和良好的支持而聞名。該產(chǎn)品是構(gòu)建專業(yè)應(yīng)用程序或有趣項(xiàng)目的絕佳基礎(chǔ)。不管您的知識(shí)背景和技能水平如何,這些技巧將縮短學(xué)習(xí)曲線,加快上市時(shí)間,使整個(gè)過程更有成效。
-
加密狗
+關(guān)注
關(guān)注
2文章
28瀏覽量
13244 -
python
+關(guān)注
關(guān)注
56文章
4822瀏覽量
85894
發(fā)布評(píng)論請(qǐng)先 登錄
如何使用Raspberry pi和Python來(lái)控制Arduino

使用raspberry pi Pico的原因
如何實(shí)現(xiàn)只將ESP8266模塊連接到Raspberry Pi Zero?
raspberry_pi各版本差別
如何安裝Quad Boot Raspberry Pi
怎樣在沒有HDMI的情況下將Raspberry Pi Zero連接到電視
raspberry pi官網(wǎng)
Raspberry Pi(樹莓派)操作系統(tǒng)的安裝方法
適用于Raspberry Pi 4的Raspberry Pi Pico開發(fā)板

TFT LCD與Raspberry Pi連接的方式

Raspberry Pi溫控風(fēng)扇

Raspberry Pi的Teams Presence

評(píng)論