為什麼gpio零比rpi.gpio檔案用於樹莓pi專案

這個RPi.GPIO檔案Python庫是程式設計Raspberry Pi的GPIO引腳的標準,但是gpiozero可以說更好。...

樹莓皮是學習的完美電腦。基於Linux的Raspbian操作系統內置了Python,這使它成為初學者的首選系統。它的通用輸入/輸出(GPIO)管腳使初出茅廬的**商很容易嘗試DIY電子項目。

raspberry-pi-gpio

當您使用控制這些管腳的代碼庫和流行的RPi.GPIO文件Python庫就是這種庫的一個很好的例子。但這是初學者的最佳途徑嗎?加入我們的調查。

什麼是gpio零(gpio zero)?

gpiozero庫是一個用於處理GPIO引腳的Python庫。它是由Raspberry Pi社區經理Ben Nuttall寫的。為了直觀和“友好”,它簡化了大多數常規Raspberry Pi用例的Python代碼。

結合簡單的命名實踐和描述性函數,gpiozero更易於初學者理解。即使是經驗豐富的用戶RPi.GPIO文件圖書館可能更喜歡它——為了理解原因,讓我們看看它是如何做到的RPi.GPIO文件與GPIO零比較。

你怎麼了rpi.gpio?

沒有什麼。什麼都沒有。RPi.GPIO文件2012年初由開發者Ben Croston發佈。它是一個強大的庫,允許用戶從代碼中控制GPIO引腳。它的特點幾乎在每一個初學者的項目,我們已經涵蓋。

儘管它用途廣泛,RPi.GPIO文件從來不是為最終用戶設計的。它證明了RPi.GPIO文件這是一個很好的設計,所以很多初學者仍然使用它。

gpio零有什麼好處?

當您學習Python代碼時,您瞭解到它應該易於閱讀並且儘可能簡短。GPIO Zero旨在覆蓋這兩點。建立在RPi.GPIO文件作為前端語言包裝器,它簡化了GPIO的設置和使用。

考慮以下示例,設置並打開LED:

Code to set up and LED to Output using the RPi.GPIO library

上面的代碼應該是非常熟悉的任何人誰使用他們的Pi來控制LED。

這個RPi.GPIO文件導入庫,並聲明LED的管腳。引腳佈局類型已設置(BCM和BOARD mode在我們的GPIO指南中進行了說明),並且引腳已設置為輸出。然後,pin打開。

這種方法是有道理的,但是GPIO Zero方法要簡單得多:

Setting up an LED with GPIO Zero

GPIO Zero有一個LED模塊,從一開始就導入。這意味著您可以聲明pin號碼,然後調用發光二極管亮()方法。

為什麼gpio-zero的方法更好?

這種工作方法是對傳統工作方法的改進,有一些原因RPi.GPIO文件.

首先,它符合“易讀,儘可能短”的要求。而RPi.GPIO文件setup語句很容易理解,它們不是必需的。LED總是一個輸出,所以GPIO Zero在幕後設置引腳。結果只需設置三行代碼,然後點亮一個LED。

您可能注意到在gpiozero示例中沒有板模式設置。該庫僅對管腳使用Broadcom(BCM)編號。圖書館設計師Ben Nuttall解釋了為什麼在2015年拉斯皮電視臺訪談:

"BOARD numbering might seem simpler but I'd say it leads new users to think all the pins are general purpose---and they're not. Connect an LED to pin 11, why not connect some more to pins 1, 2, 3 and 4? Well 1 is 3V3. 2 and 4 are 5V. A lack of awareness of what the purpose of the pins is can be dangerous."

這樣說來,使用車身控制模塊編號是絕對有意義的。鑑於它的GPIO零將是標準的Raspberry Pi文檔向前發展,這是值得學習的!

gpio零真的更好嗎?

雖然表面上看起來更直截了當,但新圖書館有什麼問題嗎?與任**的編碼庫一樣,這是一個意見問題。一方面,刪除設置代碼對於初學者和經驗豐富的程序員來說都是非常好的。編寫代碼更簡單快捷。

另一方面,確切地知道發生了什麼對學習很重要。以GPIO Zero文檔中的設置按鈕為例:

GPIO Zero Button example code

按鈕模塊簡化了按鈕的設置。它知道按鈕是輸入,所以使用聲明的管腳號進行設置。檢查按鈕是否按下也更容易,按下“.is”可檢測按鈕是否按下。

我們在Raspberry Pi按鈕教程中使用了這個功能,這是熟悉庫中差異的好方法。

的用戶RPi.GPIO文件庫將注意到Pi的內部上拉/下拉電阻器沒有在代碼中設置。這提出了一個有趣的問題。初學者是否有必要了解上拉/下拉電阻器?本·納托爾再次回答了這個問題:

"You might argue that it's good to know about pull ups and pull downs, and you'd be right---but why do I have to teach that on day one?[...] If you want to teach the electronics in more depth there's plenty of scope for that---but it shouldn't be mandatory if you're just getting started."

總的來說,gpiozero的簡單方法對於初學者和老手都是一件好事。除此之外,RPi.GPIO文件哪裡也去不了。如果需要的話,它會一直在那裡。

python是唯一的選擇嗎?

Python是Pi所熟知的語言,但它不是唯一的選擇。如果您已經熟悉C語言的編程,那麼佈線Pi已經涵蓋了您。

或者,如果你已經用JavaScript編程了,節點.js可以很容易地安裝在Pi上。可以通過rpi GPIO npm庫訪問GPIO。rubyonrails也可以安裝在Raspberry Pi上,儘管Pi可能不是學習Rails的最佳方法!

所有這些選擇,再加上像優秀的pigpio這樣的多語言庫,都會使選擇庫變得混亂。這就是gpiozero的優勢所在:對於想知道如何和從何開始的初學者來說。

如果你正處在一個你需要它沒有提供的東西的時刻,你將完全準備好以你自己的速度潛入這些其他庫。

gpio零入門

gpiozero是最新的庫,它為Pi提供了一個很好的理由。對於大多數用戶來說,它使GPIO引腳的編碼更易於讀取,編寫也更快。

考慮到樹莓皮在教育中的用途,任何讓學習更自然的東西都是好事。而RPi.GPIO文件到目前為止,gpiozero一直都是完美的,它採用了一個好主意,使它變得更好。

開始使用gpiozero的一個好方法是使用一個像music Door Sensor這樣的初學者項目,並將其移植到新的庫中。

  • 發表於 2021-03-23 12:59
  • 閱讀 ( 69 )
  • 分類:程式設計

你可能感興趣的文章

樹莓皮板指南:零與模型a和b

...興趣買一個樹莓皮,但一開始看,你就遇到了一個問題:為什麼有這麼多型號? ...

  • 發佈於 2021-03-11 19:21
  • 閲讀 ( 74 )

你可以用樹莓皮做5件樂器

...體。使用Python(或其他語言),您可以掌握輸出聲音。你為什麼不嘗試用樹莓皮做音樂? ...

  • 發佈於 2021-03-11 19:59
  • 閲讀 ( 74 )

10+禮物的想法誰擁有一個樹莓皮

... 但是什麼是最好的microSD卡呢?據報道,三星Evo Plus 128 GB microSD卡可以與不同的Raspberry Pi型號配合使用。你也可以用這張單子上任何一張測試過的卡來替換它。PNY 256GB卡也與PI3配...

  • 發佈於 2021-03-12 08:25
  • 閲讀 ( 52 )

樹莓皮:非官方教程

...提供最佳效果。Pi使用的儲存非常像固態驅動器,這就是為什麼SDHC格式用於提高讀/寫彈性的原因。 ...

  • 發佈於 2021-03-13 15:59
  • 閲讀 ( 63 )

為什麼你什麼都不用樹莓皮

... 我在這篇文章的大部分時間裡都在告訴你為什麼你真的不應該在下一個專案中使用Raspberry Pi,但這裡有幾個例子說明了這一點。 ...

  • 發佈於 2021-03-14 14:25
  • 閲讀 ( 70 )

arduino vs raspberry pi:哪臺是你的迷你電腦?

... 等待!為什麼要選擇呢? ...

  • 發佈於 2021-03-15 06:18
  • 閲讀 ( 53 )

為您的第一個專案最好的樹莓皮工具包

... 為什麼要買一個樹莓皮套件? ...

  • 發佈於 2021-03-15 13:46
  • 閲讀 ( 51 )

當你帶著樹莓皮進入房間時,播放你自己的主題曲

...繼,並在進入時觸發其他物件。如果你有家庭音樂系統,為什麼不為每個房間都放一首主題曲呢? ...

  • 發佈於 2021-03-17 01:18
  • 閲讀 ( 42 )

製作一個樹莓皮gmail通知燈

... 你需要什麼 ...

  • 發佈於 2021-03-17 17:32
  • 閲讀 ( 55 )

7種最佳樹莓皮4例

... 覆盆子皮4無疑是一個很好的升級單板電腦。這就是為什麼每個人都應該嘗試樹莓皮4的新功能和令人印象深刻的規格! ...

  • 發佈於 2021-03-18 09:54
  • 閲讀 ( 55 )