Raspberry Pi是學習的理想計算機?;?a target="_blank">Linux的Raspbian操作系統內置了Python,這使得它成為初學者的理想之選。通用輸入/輸出(GPIO)引腳使萌芽的制造商可以輕松地進行DIY電子項目的實驗。
當您使用控制這些引腳的代碼庫和流行的RPi時,這一點尤其容易。庫就是此類庫的一個很好的例子。但這是初學者的最佳途徑嗎?加入我們進行調查。
什么是GPIO零?
GPIO零庫是一個用于處理GPIO引腳的Python庫。它是由Raspberry Pi社區經理Ben Nuttall編寫的。旨在直觀,“友好”,它簡化了大多數常規Raspberry Pi用例的Python代碼。
結合了簡單的命名實踐和描述性功能,GPIO 0可供初學者更容易理解。即使是經驗豐富的RPi.GPIO庫用戶也可能會喜歡它-并且要了解原因,讓我們看一下RPi.GPIO與GPIO零的比較。
RPi.GPIO有什么問題?
什么都沒有。沒事RPi.GPIO由開發人員Ben Croston于2012年初發布。它是一個強大的庫,允許用戶從代碼控制GPIO引腳。它涵蓋了幾乎我們涵蓋的每個初學者項目。
盡管RPi.GPIO用途廣泛,但它從來都不是為最終用戶設計的。
GPIO零的優點是什么?
在學習Python代碼時,您會了解到它是GPIO良好設計的證明。應當易于閱讀且盡可能簡短。 GPIO零旨在涵蓋這兩個方面。構建在RPi.GPIO上作為前端語言包裝,它簡化了GPIO的設置和使用。
請考慮以下示例,設置并打開LED:
使用Pi來控制LED的任何人都應該非常熟悉上面的代碼。
已導入RPi.GPIO庫,并且為LED已聲明。設置了引腳布局類型(在GPIO指南中說明了BCM和BOARD模式),并且將引腳設置為輸出。然后,將引腳打開。
這種方法很有意義,但是使用GPIO Zero的方法要簡單得多:
GPIO Zero有一個用于LED的模塊,該模塊從一開始就導入。這意味著您可以聲明引腳號,并調用 led.on()方法。
為什么GPIO Zero的方法更好?
有一些這種工作方法是對RPi.GPIO進行改進的原因。
首先,它滿足“易于閱讀,且盡可能短”的要求。盡管RPi.GPIO設置語句很容易理解,但不是必需的。 LED始終是輸出,因此GPIO零設置了后臺的引腳。結果僅需設置三行代碼,然后點亮一個LED。
您可能會注意到,在GPIO Zero示例中沒有設置板模式。該庫僅對引腳使用Broadcom(BCM)編號。圖書館設計師Ben Nuttall在2015年RasPi.tv采訪中解釋了原因:
“板子編號看似簡單,但我想說它會使新用戶認為所有的銷釘都是通用的,而且不是。將LED連接到引腳11,為什么不另外連接引腳1,2,3和4? 1號井是3V3。 2和4是5V。
以這種方式放置,使用BCM編號絕對有意義。鑒于GPIO零將在以后的Raspberry Pi文檔中成為標準配置,值得學習!
GPIO零實際上更好嗎?
表面上看起來更簡單,但是新圖書館有什么問題嗎?與任何新的編碼庫一樣,這是一個意見問題。一方面,對于初學者和經驗豐富的編碼人員而言,刪除設置代碼都是極好的選擇。編寫代碼更直接,更快捷。
另一方面,準確了解正在發生的事情對于學習很重要。以GPIO零文檔中的設置按鈕為例:
按鈕模塊簡化了按鈕的設置。它知道按鈕是輸入,因此使用聲明的引腳號進行設置。使用 .is_pressed 檢測按鈕是否按下也很容易。
我們在Raspberry Pi按鈕教程中使用了此確切功能,這是一種很好的方法熟悉庫中的差異。
RPi.GPIO庫的用戶會注意到,未在代碼中設置Pi的內部上拉/下拉電阻。這就提出了一個有趣的問題。對于初學者來說,了解上拉/下拉電阻器至關重要嗎?同樣,本·努塔爾(Ben Nuttall)對這個問題有一個答案:
“您可能會說,了解上拉和下拉動作是件好事,您會說對的,但是為什么我必須在第一天就教它嗎?[…]如果您想更深入地講授電子學,則有很大的余地-但是如果您剛剛開始,則不應該是強制性的?!?/p>
總的來說,對于初學者和老手來說,GPIO Zero的簡單方法可能是一件好事。此外,RPi.GPIO不會隨處可見。
Python是唯一的選擇嗎?
Python是Pi眾所周知的語言,但不是唯一的選擇。如果您已經熟悉使用C語言進行編程,那么覆蓋了Wiing Pi。
或者,如果您已經使用JavaScript進行編程,則可以輕松地在Pi上安裝Node.js。 GPIO訪問可通過rpi-gpio npm庫獲得。 Ruby on Rails也可以安裝在Raspberry Pi上,盡管Pi可能不是學習Rails的最佳方法!
所有這些替代方案以及出色的Pigpio等多語言庫可以使您選擇圖書館令人困惑。這就是GPIO Zero的優勢:對于初學者來說,他們想知道如何以及從哪里開始。
如果您正處在一個不需要它的東西的地方,那么您將準備好進入這些其他庫。
您自己可以使用GPIO零入門
GPIO零是最新的庫,有充分的理由使Pi引人注目。對于大多數用戶而言,它使GPIO引腳的編碼更易于閱讀和編寫。
鑒于Raspberry Pi在教育中的用途,任何使學習更加自然的事情都是一件好事。雖然RPi.GPIO到目前為止一直很完善,但是GPIO Zero還是一個好主意,并且使其變得更好。
使用GPIO Zero入門的一種好方法是接受像Musical Door Sensor這樣的初學者項目。并將其移植到新庫中。
責任編輯:wv
-
GPIO
+關注
關注
16文章
1216瀏覽量
52393 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105882
發布評論請先 登錄
相關推薦
評論