展開 Raspberry Pi 專案前的十大須知

資料提供者:Digi-Key 北美編輯群

Raspberry Pi 開啟革命風潮,將電腦的威力放入手掌大的體積內,提供容易使用的平台和廣大的生態系統支援。即便此系統相當直覺且容易使用,工程師和新手仍可透過已經熟悉 Pi 的專家取得一些訣竅,獲得更多優勢。

目前已有社群持續提供線上支援,因此這「十大須知」的用意並非提供詳盡說明。這些實用資訊是一些得來不易的寶貴經驗,無法從指南或教學中取得。這些建議與訣竅涵蓋, SD 卡的選擇與格式化、選擇適合 Raspberry Pi 的電源供應器、選擇適當的 Wi-Fi 硬體鎖、編程小秘訣、系統當機時的因應措施,以及如何正確供電以免破壞板件。

快速瀏覽這些秘訣,將能直接切入主題,以簡單愉悅的方式首次體驗 Raspberry Pi,並感受單板運算平台的威力。

一、何處及何時使用 Raspberry Pi

以 Raspberry Pi 提供的價格、效能與支援社群,您無法想到任何不適用的情況。Raspberry Pi 本質上就是一台個人電腦。以 Raspberry Pi FoundationRaspberry 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 音訊插孔,以及相機和顯示器介面。

Raspberry Pi 3 Model B 的圖片

圖 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 AmericaAP8GMCSH10U1-B)與監視器。

需要一台外接式 SD 讀卡機,才能先從另一台電腦將 Pi 映像複製至 SD 卡。一旦將映像複製到 SD 卡後,就可從 Pi 進行其餘的各項作業。Assmann WSW ComponentsDA-70310-2 USB 2.0 SD 讀卡器是不錯的選擇,幾乎支援所有常用的記憶卡格式。

若要將 SD 卡格式化,依循 Raspberry Pi 網頁上的連結取得 SD Association 的 SD 卡 Formatter 軟體。僅限使用經過證實的軟體,以便順利將 NOOBS 安裝到 SD 卡上。或者,也可購買已事先安裝 NOOBS 的 SD 卡,如 Raspberry Pi NOOBS 16 GB 卡。

可選用無線鍵盤與滑鼠,例如 Adafruit1738,就能空出 USB 埠並避免纜線纏在一起。或者,也可使用通電式 USB 2.0 集線器,如 Tripp Lite 的四埠 U22-004-RA。其實較建議使用四埠通電式集線器,以便降低對 Pi 電源供應器的供電要求。

若使用者打算利用 SSH 遠端連線到 Pi,或 Pi 配合觸控螢幕使用,就可省略滑鼠、鍵盤和監視器(請見訣竅 #9)。

另外,除非監視器有 HDMI 輸入,否則就需要配接器,連接 Pi 的 HDMI 埠與監視器的輸入端。舉例來說,若要從 HDMI 橋接到 DVI-D 監視器,可使用 CnC Tech741-20010-00300(圖 2)。

CnC Tech 的 741-20010-00300 HDMI 19 引腳轉 DVI-D 19 引腳公端配接器的圖片

圖 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)。

Adafruit 的 2727 插孔轉 Micro USB A 纜線配接器圖片

圖 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 時將這點納入考量。

Pi1 (B+) Pi2 B Pi3 B (A) Zero (A)
啟動 最大 0.26 0.40 0.75 0.20
平均 0.22 0.22 0.35 0.15
閒置 平均 0.20 0.22 0.30 0.10
視訊播放 (H.264) 最大 0.30 0.36 0.55 0.23
平均 0.22 0.28 0.33 0.16
應力 最大 0.35 0.82 1.34 0.35
平均 0.32 0.75 0.85 0.23

圖 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),就是良好的解決方案之一。

Seeed Technology 的 103990060 Raspberry Pi 擴充板圖片

圖 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 的優良網卡。

Adafruit 的 814 USB 配接器圖片

圖 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。使用邏輯位準轉換器就可輕鬆解決這個問題,例如 SparkFunBOB-12009 雙向轉換器。

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 的文件瞭解此程序。

Raspberry Pi Foundation 的 8997466 LCD 圖片

圖 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 提供的這份指南。

Raspberry Pi 的 GPIO 引腳參考指南圖片        

圖 9:請使用手邊的參考指南辨別 Raspberry Pi 的 GPIO 引腳。(圖片來源:Seeed Technology)

  • 請勿透過 GPIO 引腳來供電給 Raspberry Pi。理論上可以這麼做,但此舉會繞過主機板上的保險絲。保險絲會自行復位,並可在必要時更換。但若透過 GPIO 進行供電且某個元件爆開,表示 Pi 已極有可能損壞。

Raspberry Pi 3 的自復式板載保險絲圖片

圖 10:若使用者選擇透過 GPIO 供電,將會繞過 Raspberry Pi 3 的板載自復式保險絲(紅色箭頭處)。這會將電路板置於風險之中。(圖片來源:Digi-Key Electronics)

若將 Raspberry Pi 用於開發作業,請備份所有檔案。SD 卡上的映像有時候可能會遭到損毀,資料就無法復原。請使用 USB 隨身碟來存放檔案以徹底避免此風險,例如使用 ApacerAPHA016G2BACG-DTM 16 GB USB 隨身碟。

Apacer Memory America 的 USB 隨身碟圖片

圖 11:將檔案儲存至 USB 隨身碟,可在 Raspberry Pi 的檔案系統損毀時保護檔案。(圖片來源:Apacer Memory America)

結論

Raspberry Pi 的威力、易用性及良好的支援度廣為人知。此裝置是建立專業應用或有趣專案時的絕佳基礎。無論使用者的背景與技能程度如何,這些訣竅都能縮短學習曲線、加速上市時間,並讓整個過程更具成效。

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

關於出版者

Digi-Key 北美編輯群