展開 Raspberry Pi 專案前的十大須知
資料提供者:DigiKey 北美編輯群
2017-02-22
Raspberry Pi 開啟革命風潮,將電腦的威力放入手掌大的體積內,提供容易使用的平台和廣大的生態系統支援。即便此系統相當直覺且容易使用,工程師和新手仍可透過已經熟悉 Pi 的專家取得一些訣竅,獲得更多優勢。
目前已有社群持續提供線上支援,因此這「十大須知」的用意並非提供詳盡說明。這些實用資訊是一些得來不易的寶貴經驗,無法從指南或教學中取得。這些建議與訣竅涵蓋, SD 卡的選擇與格式化、選擇適合 Raspberry Pi 的電源供應器、選擇適當的 Wi-Fi 硬體鎖、編程小秘訣、系統當機時的因應措施,以及如何正確供電以免破壞板件。
快速瀏覽這些秘訣,將能直接切入主題,以簡單愉悅的方式首次體驗 Raspberry Pi,並感受單板運算平台的威力。
一、何處及何時使用 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 無線 LAN、藍牙 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 無線 LAN 連線能力。(圖片來源:Raspberry Pi Foundation)
此產品從讀取溫度感測器、控制馬達與活塞的機電系統,到執行 PC 的完整功能,幾乎無所不能;也能執行一些有趣的專案,包括影像操控、機器人及 3D 列印機遠端控制。
二、Raspberry Pi 入門與運作
Raspberry Pi 的用途是執行作業系統,而非只是在裸機上編碼。最常用的作業系統是稱為 Raspbian(Raspberry 與 Debian 的混合詞)的特製 Linux 版本。Raspberry Pi 雖然也能執行其他作業系統,但建議新手先以 Raspbian 入門。
Raspberry Pi 當作獨立電腦時,會需要所有傳統周邊裝置,包括滑鼠、鍵盤、SD 卡(Class 10 且至少 8 GB,如 Apacer Memory America 的 AP8GMCSH10U1-B)與監視器。
需要一台外接式 SD 讀卡機,才能先從另一台電腦將 Pi 映像複製至 SD 卡。一旦將映像複製到 SD 卡後,就可從 Pi 進行其餘的各項作業。Assmann WSW Components 的 DA-70310-2 USB 2.0 SD 讀卡器是不錯的選擇,幾乎支援所有常用的記憶卡格式。
若要將 SD 卡格式化,依循 Raspberry Pi 網頁上的連結取得 SD Association 的 SD 卡 Formatter 軟體。僅限使用經過證實的軟體,以便順利將 NOOBS 安裝到 SD 卡上。或者,也可購買已事先安裝 NOOBS 的 SD 卡,如 Raspberry Pi NOOBS 16 GB 卡。
可選用無線鍵盤與滑鼠,例如 Adafruit 的 1738,就能空出 USB 埠並避免纜線纏在一起。或者,也可使用通電式 USB 2.0 集線器,如 Tripp Lite 的四埠 U22-004-RA。其實較建議使用四埠通電式集線器,以便降低對 Pi 電源供應器的供電要求。
若使用者打算利用 SSH 遠端連線到 Pi,或 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 嵌入到系統或專案時,很可能會移除這些周邊裝置。
三、取得適當的電源供應器
請不要用電腦的 USB 埠供電給 Raspberry Pi,因為該連接埠沒有多餘的能力可避免電源相關問題,例如 SD 卡損毀、Raspberry Pi 當機及其他偶發性問題。雖然 2 A 的電源供應器通常夠用,但仍建議 Raspberry Pi 3 使用 2.5 A 電源供應器。
許多高電流電源供應器有公端筒狀輸出連接器。使用 Adafruit 的 2727 插孔轉 Micro USB A 插頭纜線配接器,搭配任何 5 V、中心正極 5.5 x 2.1 mm 筒狀電源供應器,接至 Raspberry Pi 3(圖 3)。
圖 3:將 Adafruit 的 2727 插孔轉 Micro USB A 纜線配接器連接任何 5 V 中心正極 5.5 x 2.1 mm 筒狀電源供應器,即可供應建議的 2.5 A 電力給 Raspberry Pi。(圖片來源:Adafruit)
Raspberry Pi 本身不需要這麼大的電流。目標在於使用具有足夠額外負荷的電源供應器,以確保板件連接其他電子裝置與配件時,輸入電壓不會下降。在此前提下,一般電源需求如下所述。
Raspberry Pi 在閒置模式中可能會消耗約 100 mA 至 300 mA 的電流(視型號而定),而 Pi 每次反覆操作也會汲取更多的電流(圖 4)。如果應用需要超低功耗,請在選擇 Raspberry Pi 時將這點納入考量。
|
圖 4:幾款 Raspberry Pi 熱門型號的電流消耗量比較。(圖片來源:Raspberry Pi Foundation)
若以行動方式使用 Pi,請注意,礙於 Pi 內部電路的設置方式,可能無法從大多數的 USB 可攜式行動電源汲取足夠的電流來啟動。請採用 Adafruit 的 4000 mAh 型號 1565 或 10,000 mAh 型號 1566 電池組,這些產品已經確認可與 Pi 搭配運作。
四、取得或製作內嵌開關按鈕的 USB 纜線
Raspberry Pi 板件上沒有重置按鈕或電源開關。為了避免每次板件當機而須重置時拔除並重新插入 USB 纜線,請採用內嵌開關按鈕的 USB 纜線,如 Adafruit 的 2379。我們從實驗與學習中領略到有此必要。初學者在學習曲線成長期間,難免會不慎鎖住系統。按按鈕比處理纜線和連接器要簡單得多,可減輕負擔,同時避免不必要的 USB 連接器損耗。
但是仍需要注意:在一般情況下,請不要預設使用開關按鈕來關閉 Raspberry Pi。直接切斷電源可能會損毀 SD 卡,因此務必依照適當的關機程序(請參閱「開關在何處」)。
五、成功關鍵:Raspberry Pi 配件板
Raspberry Pi 是強大的單板電腦 (SBC),但沒有任一款單板電腦擁有完備的功能。幸運的是,市面上提供非常多的配件板,能擴充 Raspberry 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 V Trinket。
但請在執行前先瀏覽「展開 Arduino 專案前的十項須知」,然後以簡易草稿碼來編程板件,以便採集類比數據。數據會透過序列連線回傳到 Pi。
更直接的做法是,使用市面上專門搭配 Raspberry Pi 使用的 Arduino 板,例如 Seeed 的 AlaMode 以及 DFRobot 的 DFR0327 擴充板。
需要即時執行的任務必定需要使用配件板,因為 Raspbian 作業系統不具備這項功能。Raspbian/Linux 會切割 CPU 時間,並依需求分配給應用程式、Python 程式碼以及 Raspbian 本身。由於資源分配無法預設,因此無法達到即時執行功能。
六、Wi-Fi 網卡
要在 Pi 上安裝更新和應用程式,最簡單的方法就是透過 Wi-Fi 連上網際網路,而 Raspberry Pi 3 已內建這項能力 (802.11n),相當方便。但是,其他版本的 Raspberry Pi 則沒有 Wi-Fi 功能,因此可能需要購買 Wi-Fi 網卡。若要購買,請務必進行必要的研究,確保 Raspbian OS 能辨識該裝置。Adafruit 的小型 814 802.11/b/g/n 模組(圖 6)就是一款適合 Raspberry Pi 的優良網卡。
圖 6:若手邊的 Raspberry Pi 板並未內建 Wi-Fi 功能,請研究並搜尋已知可搭配 Raspbian 的網卡(例如 Adafruit 的 814 USB 配接器)。(圖片來源:Adafruit)
七、注意輸出邏輯位準與驅動能力
Raspberry Pi 使用 3.3 V 邏輯位準。這個小細節經常被忽視,但相當重要。3.3 V 邏輯位準意味著 Pi 可能無法搭配眾多需要 5 V 邏輯位準的裝置及配件使用。而且,在總電流不超過約 50 mA 時,Pi 的每個引腳的驅動電流為 16 mA。使用邏輯位準轉換器就可輕鬆解決這個問題,例如 SparkFun 的 BOB-12009 雙向轉換器。
圖 7:SparkFun 的 BOB-12009 會將 5 V 訊號轉換成 Raspberry Pi 所需的 3.3 V。(圖片來源:SparkFun)
八、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 3,反之亦然。
為 Python 程式建立個人化 GUI,最快的方式是使用一套稱為 TkInter 的工具(Raspbian 已隨附該工具)。TkInter 有相當多線上簡短教學,可幫助使用者快速入門。
對於剛開始撰寫程式的新手,建議將專案區分為幾個基本建置區塊。舉例而言,現在執行一個專案,必須輸出到專 LCD、從 SPI 連線感測器進行讀取,並且從三個按鈕取得使用者輸入項目。請針對每項作業撰寫個別的程式碼。一次寫完程式碼可能會出錯,讓除錯更加困難。
九、螢幕尺寸
撰寫程式時,請使用大螢幕,而非 Pi 的小型 3 吋螢幕,否則不易閱讀。雖然該螢幕很適合作為專案的最終自訂介面,但最好還是準備全尺寸的監視器或甚至 7 吋的觸控式螢幕,例如 Raspberry Pi Foundation 推出的 8997466 LCD 螢幕(圖 8)。根據使用的 Raspberry Pi 型號,可能無法透過 DSI 連接器自動偵測到此螢幕。若使用的 Pi 型號需要手動啟用螢幕,可參考 Github 的文件瞭解此程序。
圖 8:請避免使用小型 3 吋螢幕,因為不易閱讀。建議使用全尺寸的監視器,或 Raspberry Pi Foundation 推出的 7 吋 8997466 LCD。(圖片來源:Raspberry Pi Foundation)
全尺寸的監視器仍是最好的選擇。而且,使用 DSI 或 HDMI 連接埠插頭的螢幕,速度會比使用一般用途 I/O 連接埠進行控制的螢幕要快許多。
十、小訣竅與補救措施
- 您也許很想要使用容量超過 32 GB 的 SD 卡。若要使用,請確定將卡片格式化成 FAT32 檔案系統。Raspberry Pi 只能讀取 FAT32 磁碟區。
- 請確定此 SD 卡已證實相容於 Raspberry Pi。
- 若在命令列操作上卡住,請執行「sudo start x」命令來啟動 GUI。
- Raspberry Pi 的 GPIO 的引腳並無標記。為了避免混淆,請取得 GPIO 參考指南,例如 Seeed 提供的這份指南。
圖 9:請使用手邊的參考指南辨別 Raspberry Pi 的 GPIO 引腳。(圖片來源:Seeed Technology)
- 請勿透過 GPIO 引腳來供電給 Raspberry Pi。理論上可以這麼做,但此舉會繞過主機板上的保險絲。保險絲會自行復位,並可在必要時更換。但若透過 GPIO 進行供電且某個元件爆開,表示 Pi 已極有可能損壞。
圖 10:若使用者選擇透過 GPIO 供電,將會繞過 Raspberry Pi 3 的板載自復式保險絲(紅色箭頭處)。這會將電路板置於風險之中。(圖片來源:DigiKey)
若將 Raspberry Pi 用於開發作業,請備份所有檔案。SD 卡上的映像有時候可能會遭到損毀,資料就無法復原。請使用 USB 隨身碟來存放檔案以徹底避免此風險,例如使用 Apacer 的 APHA016G2BACG-DTM 16 GB USB 隨身碟。
圖 11:將檔案儲存至 USB 隨身碟,可在 Raspberry Pi 的檔案系統損毀時保護檔案。(圖片來源:Apacer Memory America)
結論
Raspberry Pi 的威力、易用性及良好的支援度廣為人知。此裝置是建立專業應用或有趣專案時的絕佳基礎。無論使用者的背景與技能程度如何,這些訣竅都能縮短學習曲線、加速上市時間,並讓整個過程更具成效。

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。