在讓大衆自由掌控 PC 強大功能的革命中,Raspberry Pi 是核心,爲咱們提供了一個具備普遍生態支持的易用型平臺。雖然該平臺直觀易用,但工程師和初學者依舊能夠受益於使用過 Pi 的用戶提供的一些小技巧。編程語言
「須要知道的 10 件事」不會盡述全部內容,在線交流論壇將就此提供持續支持。這些有價值的信息可能沒法在任何指南或教程中找到,但它們是來之不易的經驗總結。這包括選擇和格式化 SD 卡、選擇 Raspberry Pi 的電源、選擇正確的 Wi-Fi 適配器、編程技巧、系統凍結時的操做說明以及如何正確爲其供電以避免受破壞等方面的意見和建議。工具
快速瀏覽這些小技巧,能大幅提高 Raspberry Pi 的首次使用體驗,並充分感覺單板計算機平臺的強大功能。性能
1: 什麼時候、何種狀況下使用 Raspberry Pi
Raspberry Pi 的價格、性能和背後的支持社區,讓您在開始全部可能的任務時就幾乎沒法拒絕該產品。本質上說,Raspberry Pi 是我的計算機。以 Raspberry Pi Foundation 的 Raspberry Pi 3 Model B 爲例,此產品基於高達 1.2 GHz 的 ARM® Cortex®-A53。並搭配 1 GB RAM、802.11n 無線局域網、藍牙 4.1 和低功耗藍牙、4 個 USB 端口,40 個 GPIO 引腳、完整的 HDMI 端口、以太網、3.5 mm 音頻插孔和攝像頭及顯示器接口。學習
圖 1: Raspberry Pi Foundation 的 Raspberry Pi 3 Model B 基於高達 1.2 GHz 的 ARM Cortex-A53,並具備 1 GB 內存和 802.11n 無線局域網鏈接。(圖片來源: Raspberry Pi Foundation)測試
從讀取溫度傳感器、控制電機和活塞的機電一體化系統,到做爲完整功能計算機,該產品幾乎無所不能,還能夠執行一些有趣的項目包括視頻處理、機器人和遠程 3D 打印機控制。
2: 開始運行 Raspberry Pi
Raspberry Pi 旨在運行操做系統,而不只僅是在裸機上編寫代碼。最多見的操做系統是一種名爲 Raspbian(Raspberry 和 Debian 的混成詞)的專用 Linux 版本風格。固然也能夠運行其餘操做系統,但初學者應堅持使用 Raspbian。
Raspberry Pi 做爲獨立計算機使用時,將須要全部傳統外設,包括鼠標、鍵盤、SD 卡(Class 10,至少 8 GB,如 Apacer Memory America的 AP8GMCSH10U1-B)和監視器。
須要一個外部 SD 卡讀卡器,以便先將 Pi 映像從單獨計算機複製到 SD 卡上。映像複製到 SD 卡後,全部其餘做業均可以在 Pi 上完成。一款很好的 SD 卡讀卡器是 Assmann WSW Components 的 DA-70310-2 USB 2.0 讀卡器,該讀卡器適用於幾乎全部主流存儲卡格式。
要格式化 SD 卡,請經過 Raspberry Pi 網頁上的連接獲取 SD Association 的 SD Card Formatter 軟件。僅使用經驗證的軟件來確保將 NOOBS 成功安裝到 SD 卡上。或者購買預裝 NOOBS 的 SD 卡,例如 Raspberry Pi NOOBS 16 GB 卡。
選擇無線鍵盤和鼠標(如 Adafruit 的 1738),能夠空出 USB 端口,避免電纜纏繞。或者使用通電 USB 2.0 集線器,如 Tripp Lite 的 4 端口 U22-004-RA。實際上,更推薦 4 端口通電集線器,由於能夠下降 Pi 的電源需求。
若是打算經過 SSH 遠程鏈接到 Pi,或者與觸摸屏配合使用,則用戶再也不須要鼠標、鍵盤和監視器(參見技巧 9)。
另外,除非監視器具備 HDMI 輸入端,不然須要使用一個適配器將 Pi 的 HDMI 端口和監視器的輸入端鏈接起來。例如,將 HDMI 橋接到帶 DVI-D 端口的監視器時,可以使用 CnC Tech 的 741-20010-00300(圖2)。
圖 2: 可能須要適配器將 Raspberry Pi 的 HDMI 輸出鏈接到監視器,例如 CnC Tech 的 741-20010-00300 HDMI 19 針轉 DVI-D 19 針公頭適配器。(圖片來源: CnC Tech)
以後,將 Pi 嵌入到系統或項目中時,這些外設可能會放在一邊。
3: 得到適當的電源
請勿經過電腦的 USB 端口爲 Raspberry Pi 供電,由於它們沒有防止 SD 卡損壞、Raspberry Pi 凍結和其餘零星問題等電源相關問題所需的供電能力盈餘。一般,2 安培電源已可以知足 Raspberry Pi 3 的需求,但推薦使用 2.5 安培的電源。
不少高電流電源帶有一個管狀公頭輸出鏈接器。使用 Adafruit 的 2727 插孔轉 Micro USB A 插頭電纜適配器,配合任意 5 V、中心正極 5.5 x 2.1 mm 柱式電源,將其配接至 Raspberry Pi 3(圖 3)。
圖 3: 要按照 2.5 A 推薦值爲 Raspberry Pi 供電,應將 Adafruit 的 2727 插孔轉 Micro USB A 電纜適配器與任意 5 V、中心正極 5.5×2.1 mm 柱式電源結合使用。(圖片來源:Adafruit)
Raspberry Pi 自身並不須要使用所有電流。使用具備足夠額外負載能力的電源,旨在確保其餘電子元件和配件鏈接到電路板時,輸入電壓不會降低。基於此,咱們來了解一下通常電源要求。
根據型號,Raspberry Pi 在空閒模式下消耗大約 100 mA 至 300 mA,每次連續迭代 Pi 將消耗更多的電流(圖 4)。若是應用須要超低功耗,則在 Raspberry Pi 選擇過程當中應考慮這一因素。
|
圖 4: 一些主流 Raspberry Pi 型號電流消耗的比較結果。(圖片來源: Raspberry Pi Foundation)
請注意,若是 Pi 採用移動工做方式,則可能沒法得到足夠的電流,致使大多數 USB 移動電源因其內部電路的設置而沒法導通。請使用 Adafruit 的 4000 mAh 型號 1565 或 10,000 mAh 型號 1566電池組,它們已證明可與 Pi 配合使用。
4: 獲取或製做帶有內置開/關按鈕的 USB 電纜
Raspberry Pi 沒有板載復位按鈕或電源開關。爲了不每次電路板凍結並須要復位時拔下和從新插上 USB 電纜,請使用帶有內置開/關按鈕的 USB 電纜,例如 Adafruit 的 2379。這一需求總結於不斷的實驗和學習。 初學者會不可避免地在學習過程當中鎖定系統。使用按鈕比使用電纜和鏈接器更簡單,可減輕負擔,同時避免沒必要要的 USB 鏈接器磨損。
可是,請注意: 通常狀況下,切勿默認使用開/關按鈕關閉 Raspberry Pi。直接斷電會損壞 SD 卡,所以請務必按照正確的關機程序進行操做(參見「開關的位置」)。
5: 成功的關鍵:Raspberry Pi 配件板
Raspberry Pi 是功能強大的單板計算機,但也不是萬能的。幸運的是,可利用大量可用的配件板來加強 Pi 的功能。
例如,雖然 Raspberry Pi 沒有用於數據採集的板載模數轉換器 (ADC),但有幾種轉換器解決方案可供選擇。Seeed Technology 專門打造的 103990060 ADC 和數模轉換器 (DAC) 板就是一個很好的解決方案(圖 5)。
圖 5: Seeed Technology 的 103990060 Raspberry Pi 擴展板爲 Raspberry Pi 提供 8 位 ADC 和 DAC 功能。(圖片來源:Seeed Technology)
爲 RasPi 配備 ADC 輸入的另外一種方法是將此工做交由小型 Arduino 板完成,例如 Adafruit 3.3 伏 Trinket。
要作到這一點,首先回顧「開始 Arduino 項目前須要知道的 10 件事」,而後使用簡單草圖對電路板進行編程來採集模擬數據。數據經過串行鏈接中繼到 Pi。
更方便的方法是,使用能夠與 Raspberry Pi 搭配使用的定製 Arduino 板,例如 Seeed 的 AlaMode 和 DFRobot 的 DFR0327 擴展板。
須要實時執行的任務無疑須要一個配件板,由於 Raspian 不具有此功能。Raspbian/Linux 會根據須要將 CPU 時間分配給應用程序、Python 代碼和 Raspbian 自身。這種資源從新分配的不可預測性使得沒法實現實時執行。
6: Wi-Fi 加密狗
將更新和應用程序安裝到 Pi 上的最簡單方法是經過 Wi-Fi 鏈接互聯網,Raspberry Pi 3 已內置此功能 (802.11n)。可是,其餘版本的 Raspberry Pi 沒有 Wi-Fi,所以可能須要購買 Wi-Fi 加密狗。這種狀況下,應作必要的研究,以確保其可以被 Raspbian 操做系統識別。Adafruit 的小型 814 802.11/b/g/n 模塊是一款很棒且已證明適合 Raspberry Pi 的加密狗(圖 6)。
圖 6: 若是您手上的 Raspberry Pi 板沒有內置 Wi-Fi,請研究並找尋合適的加密狗,例如已知可用於 Raspbian 的 Adafruit 814 USB 適配器。(圖片來源:Adafruit)
7: 注意輸出邏輯電平和驅動能力
Raspberry Pi 使用 3.3 V 邏輯電平。這是一個很小但重要的細節,每每被忽視。3.3 V 邏輯電平意味着 Pi 可能沒法與須要 5 V 邏輯電平的許多器件和配件搭配使用。此外,若是總電流不超過約 50 mA,則每一個引腳上的驅動電流爲 16 mA。使用 SparkFun 的 BOB-12009 雙向轉換器等邏輯電平轉換器可輕鬆解決此問題。
圖 7: SparkFun 的 BOB-12009 將 5 V 信號轉換爲 Raspberry Pi 所需的 3.3 V。(圖片來源:SparkFun)
8: Python 編程語言
Python 是 Raspbian 的默認編程語言。事實上,Raspbian 映像預先加載了 Python 開發環境 IDLE(集成開發和學習環境)。對於大多數 Pi 項目,使用 Python 是不可或缺的。
在 Raspbian 中,能夠選擇使用 IDLE 2 運行 Python 2 或 IDLE 3 來運行 Python 3。繼續使用 IDLE 3/Python 3 保持最新狀態並獲取最新的文檔。
請注意,Python 2 和 3 代碼不能直接互換。目前有不少 Python 2 代碼,因此您可能但願能從 Python 3 返回至 Python 2,可是二者在語法和命名約定方面存在一些差別,不能直接兼容。可是,若是決定更改,能夠仔細檢查代碼,進行必要更改以將 Python 2 代碼轉換爲 Python 3,反之亦然。
開始構建 Python 程序的個性化 GUI 的最快方法是使用一組名爲 TkInter 的工具,該工具已與 Raspbian 捆綁提供。TkInter 有不少簡短在線教程,能夠幫助用戶快速上手。
對於新手編程人員,建議將項目分解爲基本構建塊。例如,項目涉及到輸出至 LCD,讀取鏈接到 SPI 的傳感器,以及從三個按鈕獲取用戶輸入。應爲每一個任務編寫一個單獨的代碼段。一次編寫全部代碼可能會致使錯誤,並加大調試難度。