
2020年2月,Raspberry Pi 1 B型板迎來了首發后的第八個年頭。盡管Raspberry Pi遠稱不上第一臺單板機,然而它在全球的受歡迎度卻超越了其他同類產品。當然,這些同類產品在市場上也各占一席之地,或CPU速度更快,或I/O更多,或板載外設更專業,但只有Raspberry Pi將價格、支持、性能和功能完美結合在一起,僅Farnell(e絡盟母公司)全球銷量就已突破1500 萬臺。
自發布以來,Raspberry Pi已從一款供學生和業余愛好者使用的工具轉變為某些工程項目的可行選項。無論您是執業工程師,亦或是對電子和編碼感興趣,都大可放手選擇Raspberry Pi。其社區規模龐大,且公共論壇、教程和項目眾多,必將為您的探索和實驗之旅助一臂之力。
遺憾的是,盡管Raspberry Pi“恰到好處”,然而受歡迎并不總意味著完美。與其他任何事物一樣,Raspberry Pi既有其特異之處,也有其不足,但無傷大雅。本文將重點介紹幾項技巧來幫助您解決Raspberry Pi使用的一些不足和局限性。
Raspberry Pi不附帶板載電源,需用戶自備。一般來說,應考慮選用電流額定值高于必要水平的產品。當添加附件和外部電路時,額外的電源容量能夠防止Raspberry Pi復位。即使組裝的超大規模面包板電路沒有導致復位或鎖定狀態,也可能無意中損害Raspberry Pi的性能,甚至損壞SD卡。若電源電壓下降,Raspberry Pi的GPU會導致CPU減速運行。此外,過熱也可能促使GPU單元降低CPU速度。
Raspberry Pi 4至少需配備一個2.5A電源,其官方電源配件具有3A的輸出電流。額外的 500mA是防止節流、復位和鎖定的可靠保障。

存 儲
Raspberry Pi沒有配置硬盤驅動器,然而這個局限性很容易克服。用戶可通過以太網端口或 WiFi連接到NAS單元,也可通過USB端口連接外部驅動器。需要說的是,連接外部存儲并非為了追求新奇感,而是為了保險起見。這是因為使用Raspberry Pi進行實驗時,必然會對SD卡造成損壞,因此用戶務必謹記:絕對不可將重要信息和數據存儲于SD卡。
使用USB轉SATA適配器能夠以低成本方式快速地為Raspberry Pi提供硬盤驅動器。

Raspberry Pi本身不具備時鐘等功能
Raspberry Pi系列產品均不具備實時時鐘(RTC)功能和模數轉換器(ADC)。同時,Raspberry Pi上的GPIO引腳工作電壓為3.3VDC,而用戶將使用的大多數配件工作電壓均為5VDC。幸運的是,RTC、ADC和3.3V轉5V轉換器模塊價格低廉且容易獲取。此外,若用戶對報時功能的要求并非特別苛刻,只需對Raspberry Pi進行簡單設置,即可通過WiFi、以太網或藍牙連接來查看時間。
如下圖4D Systems RPI-RTC這樣的RTC模塊可直接連接至 Raspberry Pi排針。

開關電感性負載
Raspberry Pi系列(及一般數字電子產品)易受開關電感性負載產生的電磁干擾 (EMI) 和反電動勢 (EMF) 的影響。此類干擾可能來自電磁閥、繼電器、接觸器、電機等。不少用戶都曾遇到Raspberry Pi因太靠近電磁閥或大號繼電器而導致復位和鎖定的情況。為了避免此類事故及可能帶來的永久性損害,用戶可使用專為應對此類問題而設計的Pi HAT(專為 Raspberry Pi設計的硬件型號,可附加在頂部)或光隔離器,以確保始終將Raspberry Pi與電感性負載隔離開來。此外,通常還應避免用Raspberry Pi電源為電感性負載供電。大體說來,電感器帶來的麻煩程度與其外形尺寸成正比。在某些情況下,用戶可能需要將Raspberry Pi放置于距電感器相當遠的位置。若不可行,則可考慮使用某種緩沖電路,如與繼電器線圈并聯的二極管或直流電機上的RC緩沖器。
使用Pi HAT,如下圖的“繼電器板”能夠有效防止損壞Raspberry Pi。

Raspberry Pi沒有復位按鈕
與運行Windows系統的機器不同,Raspberry Pi發生故障時,用戶將無法通過Ctrl+Alt+Delete 來解決死機問題。也就是說,實驗過程中,Raspberry Pi會不可避免地出現鎖死情況。然而,這通常并非大問題,且有應對之策。首先,用戶可通過拔掉電源重啟Raspberry Pi,不過這個方法耗時比較長!
更好的辦法是使用帶集成式開關的電源線,或者制造或購置帶開關的USB直通板。如果用戶使用的是Raspberry Pi 4,還可通過將Global_ EN引腳接地來重置Raspberry Pi的SoC。
使用帶開關的USB延長線可有效避免因Raspberry Pi電源反復開關帶來的不便。Global_EN引腳位于排針J2上。


低調而有用的LED燈
編寫代碼,特別是用于控制Raspberry Pi硬件的代碼時,需從控制LED燈閃爍開始,無論用戶試圖控制的是Raspberry Pi本機上的GPIO引腳,還是Pi HAT或配件板的某些部件。當用戶能隨心所欲地控制LED燈的閃爍頻率時,便意味著已實現對該硬件一定程度的控制。控制LED燈閃爍是邁向硬件編程成功之路的第一步。
此外,LED燈也可用作代碼中的物理斷點,設置為當程序達到特定點或閾值時閃爍或激活。這個方法并非始終可行,取決于項目的性質。然而若環境允許,LED燈將是極為簡單的診斷工具。
創意圖形界面開發
Python是Raspberry Pi的首選編程語言。開始編寫Python代碼后不久,用戶將需創建自定義 GUI。正如其維基百科頁面所述,TkInter是Python事實上的標準GUI庫。遺憾的是,TkInter 卻缺乏全面、集中的文檔介紹內容。用戶若想獲得深入了解,必須花費大量時間梳理網絡信息,同時匯集多個來源的數據。對于新手用戶來說,TkInter會讓他們有些茫然不知所措,甚至感到沮喪。如果想要避免這些麻煩,或者認為TkInter的很多功能并非必需,就可以考慮面向Python 3的Guizero庫。若要在Python中創建GUI程序,Guizero可能是最快速、最簡單的方法。
故障排除
如果出現啟動或軟件問題,需檢查Raspberry Pi上的綠色指示燈。若閃爍,則說明Raspberry Pi正在運行;若LED燈熄滅或點亮但不閃爍,需檢查插槽中的SD卡安裝是否正確。若并非此問題,那么SD卡數據可能已損壞,需要重新安裝操作系統。
啟動Raspberry Pi之前,需確保已將鼠標和鍵盤插入。否則,Raspberry Pi在啟動時將無法檢測到它們。HDMI顯示器同樣如此。將Raspberry Pi通電之前,務必確保顯示器電源已打開,即顯示器必須處于“開啟”狀態。
談到外設,如果屏幕顯示字符與按下的鍵不匹配,可能是因為未使用默認的英式布局鍵盤。此時,可通過以下方式在Raspbian桌面更改設置:打開主菜單,選擇首選項(Preferences),然后單擊Raspberry Pi 配置(Raspberry Pi Configuration)。單擊本地化(Localization)選項卡,隨后單擊設置鍵盤(Set Keyboard)選項。
用戶還可從命令行進行更改。若運行的是Raspbian Lite系統,則這是更改鍵盤布局的唯一方法。運行命令sudo raspi-config,選擇“本地化選項”(Localisation Options),單擊“更改鍵盤布局”(Change Keyboard Layout),然后選擇慣用的鍵盤模式,通常為“Generic 105-key PC (intl.)”。隨后,根據系統提示選擇鍵盤布局。
如果無法通過 SSH(安全外殼協議)會話訪問Raspberry Pi,可能需要激活SSH通信。在 Raspbian桌面上單擊首選項(Preferences)選項,然后單擊配置Raspberry Pi(Configure Raspberry Pi)選項。此時會彈出Raspberry Pi 配置(Raspberry Pi Configuration)窗口,單擊接口(Interfaces)選項卡,然后選擇SSH: 行項目右側的啟用(Enabled)選項。如果 Raspberry Pi未連接到顯示器,則需要使用另一臺計算機來創建名為SSH(無文件擴展名)的文件,并使用文本編輯器將其插入SD卡上的啟動分區。添加該文件后就可通過SSH進入 Raspberry Pi。(e絡盟社區成員 Cabe Atwell)
1.FPGA驚爆無解漏洞 - “StarBleed”技術細節全解讀
2.Keil MDK 5.30來了,可以快速入門Cortex-M55!
3.如何寫一個健壯且高效的串口接收程序?
4.零代碼將AI應用遷移到生產環境!解讀英特爾的AI軟件布局
5.淺談STM32硬件I2C的使用
6.一個工業項目,用MCU還是PLC?