91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么樹莓派項目的GPIO零優(yōu)于RPi.GPIO

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-02 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Raspberry Pi是學(xué)習(xí)的理想計算機?;?a target="_blank">Linux的Raspbian操作系統(tǒng)內(nèi)置了Python,這使得它成為初學(xué)者的理想之選。通用輸入/輸出(GPIO)引腳使萌芽的制造商可以輕松地進行DIY電子項目的實驗。

當(dāng)您使用控制這些引腳的代碼庫和流行的RPi時,這一點尤其容易。庫就是此類庫的一個很好的例子。但這是初學(xué)者的最佳途徑嗎?加入我們進行調(diào)查。

什么是GPIO零?

GPIO零庫是一個用于處理GPIO引腳的Python庫。它是由Raspberry Pi社區(qū)經(jīng)理Ben Nuttall編寫的。旨在直觀,“友好”,它簡化了大多數(shù)常規(guī)Raspberry Pi用例的Python代碼。

結(jié)合了簡單的命名實踐和描述性功能,GPIO 0可供初學(xué)者更容易理解。即使是經(jīng)驗豐富的RPi.GPIO庫用戶也可能會喜歡它-并且要了解原因,讓我們看一下RPi.GPIO與GPIO零的比較。

RPi.GPIO有什么問題?

什么都沒有。沒事RPi.GPIO由開發(fā)人員Ben Croston于2012年初發(fā)布。它是一個強大的庫,允許用戶從代碼控制GPIO引腳。它涵蓋了幾乎我們涵蓋的每個初學(xué)者項目。

盡管RPi.GPIO用途廣泛,但它從來都不是為最終用戶設(shè)計的。

GPIO零的優(yōu)點是什么?

在學(xué)習(xí)Python代碼時,您會了解到它是GPIO良好設(shè)計的證明。應(yīng)當(dāng)易于閱讀且盡可能簡短。 GPIO零旨在涵蓋這兩個方面。構(gòu)建在RPi.GPIO上作為前端語言包裝,它簡化了GPIO的設(shè)置和使用。

請考慮以下示例,設(shè)置并打開LED

為什么樹莓派項目的GPIO零優(yōu)于RPi.GPIO

使用Pi來控制LED的任何人都應(yīng)該非常熟悉上面的代碼。

已導(dǎo)入RPi.GPIO庫,并且為LED已聲明。設(shè)置了引腳布局類型(在GPIO指南中說明了BCM和BOARD模式),并且將引腳設(shè)置為輸出。然后,將引腳打開。

這種方法很有意義,但是使用GPIO Zero的方法要簡單得多:

GPIO Zero有一個用于LED的模塊,該模塊從一開始就導(dǎo)入。這意味著您可以聲明引腳號,并調(diào)用 led.on()方法。

為什么GPIO Zero的方法更好?

有一些這種工作方法是對RPi.GPIO進行改進的原因。

首先,它滿足“易于閱讀,且盡可能短”的要求。盡管RPi.GPIO設(shè)置語句很容易理解,但不是必需的。 LED始終是輸出,因此GPIO零設(shè)置了后臺的引腳。結(jié)果僅需設(shè)置三行代碼,然后點亮一個LED。

您可能會注意到,在GPIO Zero示例中沒有設(shè)置板模式。該庫僅對引腳使用Broadcom(BCM)編號。圖書館設(shè)計師Ben Nuttall在2015年RasPi.tv采訪中解釋了原因:

“板子編號看似簡單,但我想說它會使新用戶認為所有的銷釘都是通用的,而且不是。將LED連接到引腳11,為什么不另外連接引腳1,2,3和4? 1號井是3V3。 2和4是5V。

以這種方式放置,使用BCM編號絕對有意義。鑒于GPIO零將在以后的Raspberry Pi文檔中成為標(biāo)準(zhǔn)配置,值得學(xué)習(xí)!

GPIO零實際上更好嗎?

表面上看起來更簡單,但是新圖書館有什么問題嗎?與任何新的編碼庫一樣,這是一個意見問題。一方面,對于初學(xué)者和經(jīng)驗豐富的編碼人員而言,刪除設(shè)置代碼都是極好的選擇。編寫代碼更直接,更快捷。

另一方面,準(zhǔn)確了解正在發(fā)生的事情對于學(xué)習(xí)很重要。以GPIO零文檔中的設(shè)置按鈕為例:

按鈕模塊簡化了按鈕的設(shè)置。它知道按鈕是輸入,因此使用聲明的引腳號進行設(shè)置。使用 .is_pressed 檢測按鈕是否按下也很容易。

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

RPi.GPIO庫的用戶會注意到,未在代碼中設(shè)置Pi的內(nèi)部上拉/下拉電阻。這就提出了一個有趣的問題。對于初學(xué)者來說,了解上拉/下拉電阻器至關(guān)重要嗎?同樣,本·努塔爾(Ben Nuttall)對這個問題有一個答案:

“您可能會說,了解上拉和下拉動作是件好事,您會說對的,但是為什么我必須在第一天就教它嗎?[…]如果您想更深入地講授電子學(xué),則有很大的余地-但是如果您剛剛開始,則不應(yīng)該是強制性的?!?/p>

總的來說,對于初學(xué)者和老手來說,GPIO Zero的簡單方法可能是一件好事。此外,RPi.GPIO不會隨處可見。

Python是唯一的選擇嗎?

Python是Pi眾所周知的語言,但不是唯一的選擇。如果您已經(jīng)熟悉使用C語言進行編程,那么覆蓋了Wiing Pi。

或者,如果您已經(jīng)使用JavaScript進行編程,則可以輕松地在Pi上安裝Node.js。 GPIO訪問可通過rpi-gpio npm庫獲得。 Ruby on Rails也可以安裝在Raspberry Pi上,盡管Pi可能不是學(xué)習(xí)Rails的最佳方法!

所有這些替代方案以及出色的Pigpio等多語言庫可以使您選擇圖書館令人困惑。這就是GPIO Zero的優(yōu)勢:對于初學(xué)者來說,他們想知道如何以及從哪里開始。

如果您正處在一個不需要它的東西的地方,那么您將準(zhǔn)備好進入這些其他庫。

您自己可以使用GPIO零入門

GPIO零是最新的庫,有充分的理由使Pi引人注目。對于大多數(shù)用戶而言,它使GPIO引腳的編碼更易于閱讀和編寫。

鑒于Raspberry Pi在教育中的用途,任何使學(xué)習(xí)更加自然的事情都是一件好事。雖然RPi.GPIO到目前為止一直很完善,但是GPIO Zero還是一個好主意,并且使其變得更好。

使用GPIO Zero入門的一種好方法是接受像Musical Door Sensor這樣的初學(xué)者項目。并將其移植到新庫中。
責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1329

    瀏覽量

    56236
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2079

    瀏覽量

    110485
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    技能+1!如何在樹莓派上使用C++控制GPIO?

    和PiGPIO等庫,C++可用于編程控制樹莓GPIO引腳。它提供了更好的性能和控制能力,非常適合對速度和精度要求較高的硬件項目。在樹莓
    的頭像 發(fā)表于 08-06 15:33 ?4169次閱讀
    技能+1!如何在<b class='flag-5'>樹莓</b>派上使用C++控制<b class='flag-5'>GPIO</b>?

    你真的懂樹莓5嘛?樹莓5引腳圖全面指南:理解GPIO引腳及其功能!

    樹莓5上的GPIO通用輸入/輸出(GPIO)引腳是樹莓派上的物理連接器,允許樹莓
    的頭像 發(fā)表于 07-04 15:27 ?3357次閱讀
    你真的懂<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5嘛?<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5引腳圖全面指南:理解<b class='flag-5'>GPIO</b>引腳及其功能!

    20個任何人都能完成的樹莓酷炫項目!

    不知道如何利用你買的樹莓?這個小設(shè)備真的能當(dāng)臺式電腦用嗎?能當(dāng)服務(wù)器嗎?能當(dāng)廣播電臺嗎?當(dāng)然可以!為了幫助你入門,我們精心挑選了這份樹莓應(yīng)用指南,每個
    的頭像 發(fā)表于 07-03 17:10 ?4396次閱讀
    20個任何人都能完成的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>酷炫<b class='flag-5'>項目</b>!

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓?

    樹莓是一款小巧便攜的USB供電計算機,可以隱藏起來用于小型項目,如網(wǎng)絡(luò)服務(wù)器或家庭自動化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看
    的頭像 發(fā)表于 06-26 15:41 ?1576次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    樹莓分類器:用樹莓識別不同型號的樹莓!

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?1332次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識別不同型號的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    樹莓項目實戰(zhàn):車牌識別系統(tǒng)開發(fā)全記錄!

    介紹本項目的目標(biāo)是設(shè)計一個基于樹莓微電腦的自動車牌識別系統(tǒng),用于控制停車場的道閘。為什么?我有一臺閑置的樹莓,沒有參與任何
    的頭像 發(fā)表于 06-11 17:22 ?1148次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>項目</b>實戰(zhàn):車牌識別系統(tǒng)開發(fā)全記錄!

    樹莓“揪出”家里的耗電怪獸!

    在本應(yīng)用中,我們將使用樹莓設(shè)置一個CE電流監(jiān)測器,并通過網(wǎng)頁界面顯示電路的電流讀數(shù)。本項目使用的組件硬件組件樹莓2ModelBx112通
    的頭像 發(fā)表于 06-04 15:33 ?1586次閱讀
    用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓“吉尼斯世界記錄”:將樹莓的性能發(fā)揮到極致的項目!

    完成的許多酷炫項目。這就引出了一個問題——你該如何將樹莓的性能推向極限呢?歷經(jīng)13年的項目實踐和樹莓
    的頭像 發(fā)表于 05-22 16:53 ?1551次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的<b class='flag-5'>項目</b>!

    能夠精準(zhǔn)定位的樹莓機器人!

    我為我的自制機器人BigRob(同樣由樹莓驅(qū)動)配備了基于樹莓的精準(zhǔn)GPS導(dǎo)航系統(tǒng)。本項目所用組件硬件組件NV08C-CSMx1NV08
    的頭像 發(fā)表于 05-17 08:33 ?1260次閱讀
    能夠精準(zhǔn)定位的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>機器人!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1
    的頭像 發(fā)表于 05-13 16:39 ?1124次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    用意念控制燈光亮度?這個樹莓項目有點意思...

    摘要該樹莓項目借助腦電波掃描儀操控硬件設(shè)備,通過監(jiān)測腦電波來執(zhí)行特定動作。CivitasUniverse推出的NeuroPhotonicR5FlowCyberdeck裝置,采用了樹莓
    的頭像 發(fā)表于 04-30 18:42 ?563次閱讀
    用意念控制燈光亮度?這個<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>項目</b>有點意思...

    基于小凌RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實驗簡介本實驗將演示如何在小凌-RK2206開發(fā)板上使用IOT庫的GPIO中斷模式,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO引腳為中斷模式,實現(xiàn)
    的頭像 發(fā)表于 04-21 10:39 ?1118次閱讀
    基于小凌<b class='flag-5'>派</b>RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>中斷

    基于小凌RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡介本案例主要是如何在小凌-RK2206開發(fā)板上使用IOT庫的GPIO接口,進行GPIO編程開發(fā)。例程將創(chuàng)建一個任務(wù),通過配置GPIO引腳,實現(xiàn)
    的頭像 發(fā)表于 04-11 15:36 ?2070次閱讀
    基于小凌<b class='flag-5'>派</b>RK2206開發(fā)板:OpenHarmony如何使用IoT接口控制<b class='flag-5'>GPIO</b>外設(shè)

    超酷的樹莓智能鏡項目,快來了解!

    嘿,寶子們!今天給大家分享一些超厲害的樹莓智能鏡項目。這個鏈接里有8個目前為止我們見過的最好的樹莓智能鏡
    的頭像 發(fā)表于 03-25 09:33 ?1610次閱讀
    超酷的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>智能鏡<b class='flag-5'>項目</b>,快來了解!

    我只會Java,憑什么不能玩轉(zhuǎn)樹莓?GPIO操控竟比C++更優(yōu)雅~

    導(dǎo)語當(dāng)全球開發(fā)者默認將Python視為樹莓的"母語"時,一個顛覆認知的工具鏈正在Java開發(fā)者群體中口口相傳——Pi4J讓Java代碼直接操控GPIO、I2C、SPI等硬件接口
    的頭像 發(fā)表于 03-25 09:21 ?1140次閱讀
    我只會Java,憑什么不能玩轉(zhuǎn)<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?<b class='flag-5'>GPIO</b>操控竟比C++更優(yōu)雅~