Raspberry Pi Projeleri için GPIO Zero Neden RPi.GPIO'dan Daha İyi?

Raspberry Pi Projeleri için GPIO Zero Neden RPi.GPIO'dan Daha İyi?

Raspberry Pi, öğrenmek için mükemmel bir bilgisayardır. Linux tabanlı Raspbian OS'de yerleşik Python bulunur, bu da onu yeni başlayan kodlayıcılar için harika bir ilk sistem yapar. Genel Amaçlı Giriş/Çıkış (GPIO) pimleri, tomurcuklanan üreticilerin DIY elektronik projelerini denemelerini kolaylaştırır.





Bu pinleri kontrol eden kod kitaplıkları kullandığınızda özellikle kolaydır ve popüler RPi.GPIO Python kitaplığı böyle bir kitaplığın mükemmel bir örneğidir. Ama yeni başlayanlar için en iyi yol bu mu? Araştırırken bize katılın.





GPIO Sıfır Nedir?

GPIO Zero kitaplığı, GPIO pinleriyle çalışmak için bir Python kitaplığıdır. Tarafından yazıldı Raspberry Pi topluluk yöneticisi Ben Nuttall . Sezgisel ve 'arkadaş canlısı' olmayı hedefleyen bu, çoğu normal Raspberry Pi kullanım durumu için Python kodunu düzenler.





Basit adlandırma uygulamalarını ve açıklayıcı işlevleri birleştiren GPIO Zero, yeni başlayanların anlaması için daha erişilebilir. RPi.GPIO kitaplığının deneyimli kullanıcıları bile bunu tercih edebilir --- ve nedenini anlamak için, RPi.GPIO'nun GPIO Zero ile karşılaştırmasına bir göz atalım.

RPi.GPIO'nun Sorunu Ne?

Hiçbir şey değil. Hiçbir şey. RPi.GPIO, 2012 yılının başlarında geliştirici Ben Croston tarafından piyasaya sürüldü. Kullanıcıların GPIO pinlerini koddan kontrol etmelerini sağlayan sağlam bir kütüphanedir. İçinde bulunur hemen hemen her başlangıç ​​projesi kapladık.



iki facebook kullanıcısı arasındaki arkadaşlığı görün

Kapsamlı kullanımına rağmen, RPi.GPIO hiçbir zaman son kullanıcılar için tasarlanmamıştır. Pek çok yeni başlayanın onu kullanması RPi.GPIO'nun iyi tasarımının bir kanıtıdır.

GPIO Zero Hakkında Bu Kadar İyi Olan Ne?

sen olduğunda Python kodunu öğrenmek , okunması kolay ve mümkün olduğunca kısa olması gerektiğini öğrenirsiniz. GPIO Zero, her iki noktayı da kapsamayı hedefliyor. Bir ön uç dil sarmalayıcı olarak RPi.GPIO'nun üzerine inşa edilmiş olup, GPIO kurulumunu ve kullanımını basitleştirir.





Bir LED'in ayarlanması ve açılmasıyla ilgili aşağıdaki örneği göz önünde bulundurun:

Yukarıdaki kod, sahip olan herkese oldukça tanıdık gelmelidir. LED'leri kontrol etmek için Pi'lerini kullandılar .





RPi.GPIO kitaplığı içe aktarılır ve LED için bir pin bildirilir. Pin düzeni tipi ayarlanır (BCM ve BOARD modu GPIO kılavuzumuzda açıklanmıştır ) ve pin çıkış olarak ayarlanır. Ardından pin açılır.

Bu yaklaşım mantıklı, ancak bunu yapmanın GPIO Zero yolu çok daha basit:

GPIO Zero, başlangıçta içe aktarılan LED'ler için bir modüle sahiptir. Bu, pin numarasını bildirebileceğiniz ve led.on() yöntem.

hanna barbera çizgi filmlerini bedava online izle

GPIO Zero'nun Yaklaşımı Neden Daha İyi?

Bu çalışma yönteminin RPi.GPIO'da bir iyileştirme olmasının bazı nedenleri vardır.

İlk olarak, 'okunması kolay, mümkün olduğunca kısa' gereksinimini karşılar. RPi.GPIO kurulum ifadelerinin anlaşılması yeterince kolay olsa da, gerekli değildir. Bir LED her zaman bir çıkış olacaktır, bu nedenle GPIO Zero sahne arkasındaki pinleri ayarlar. Sonuç, sadece üç satır kod kurmak ve ardından bir LED yakmak.

GPIO Zero örneğinde kart modu kurulumu olmadığını fark edebilirsiniz. Kitaplık, pinler için yalnızca Broadcom (BCM) numaralandırmasını kullanır. Kütüphane tasarımcısı Ben Nuttall bunun nedenini 2015'te açıklıyor RasPi.tv röportajı :

'BOARD numaralandırma daha basit görünebilir, ancak yeni kullanıcıların tüm pinlerin genel amaçlı olduğunu düşünmelerine yol açtığını söyleyebilirim --- ve değiller. Bir LED'i pim 11'e bağlayın, neden 1, 2, 3 ve 4 numaralı pimlere biraz daha bağlamıyorsunuz? Peki 1, 3V3'tür. 2 ve 4 5V'dir. Pimlerin amacının ne olduğu konusunda farkındalık eksikliği tehlikeli olabilir.'

Bu şekilde koymak, BCM numaralarını kullanmak kesinlikle mantıklı. GPIO Zero'nun ileriye dönük Raspberry Pi belgelerinde standart olacağı göz önüne alındığında, öğrenmeye değer!

GPIO Zero Aslında Daha İyi mi?

Yüzeyde daha basit görünse de, yeni kitaplığın herhangi bir sorunu var mı? Herhangi bir yeni kodlama kitaplığında olduğu gibi, bu bir fikir meselesidir. Bir yandan, kurulum kodunu kaldırmak hem yeni başlayanlar hem de deneyimli kodlayıcılar için mükemmeldir. Kod yazmak daha basit ve daha hızlıdır.

Öte yandan, tam olarak ne olup bittiğini bilmek öğrenme için önemlidir. Ekrandan bir düğme ayarlama örneğini alın. GPIO Sıfır belgeleri :

NS buton modül, basma düğmelerinin kurulumunu basitleştirir. Düğmelerin giriş olduğunu bilir, bu nedenle kurulum için belirtilen pin numarasını kullanır. Bir düğmeye basıp basmadığını kontrol etmek de daha kolaydır. .is_pressed Düğmeye basıldığını algılamak için.

Tam olarak bu işlevi kullandık Raspberry Pi düğmesi eğitimi , kütüphanelerdeki farklılıklara aşina olmak için harika bir yoldur.

RPi.GPIO kitaplığının kullanıcıları, Pi'nin dahili pull-up/pull-down dirençlerinin kodda ayarlanmadığını fark edeceklerdir. Bu ilginç bir soruyu gündeme getiriyor. Yeni başlayanlar için pull-up/down dirençleri hakkında bilgi sahibi olmak şart mı? Yine Ben Nuttall'ın bu soruya bir cevabı var:

'İnişler ve çıkışlar hakkında bilgi sahibi olmanın iyi olduğunu tartışabilirsiniz ve haklısınız---ama bunu neden ilk gün öğretmek zorundayım?[...] daha fazla derinlik bunun için bolca alan var---ama yeni başlıyorsanız bu zorunlu olmamalıdır.'

Genel olarak, GPIO Zero'nun basit yaklaşımı, hem yeni başlayanlar hem de gaziler için muhtemelen iyi bir şeydir. Ayrıca, RPi.GPIO hiçbir yere gitmiyor. Gerekirse geri dönmek için her zaman orada olacaktır.

Python Tek Seçenek mi?

Python, Pi'nin bildiği dildir, ancak tek seçenek bu değildir. C dilinde programlamaya zaten aşina iseniz, o zaman Kablolama Pi kapladın mı

Alternatif olarak, zaten JavaScript'te programlıyorsanız, Node.js Pi'ye kolayca yüklenebilir. GPIO erişimi şu şekilde sağlanır: rpi-gpio npm kitaplığı . raylar üzerinde yakut Raspberry Pi'ye de kurulabilir, ancak Pi, Rails öğrenmenin en iyi yolu olmayabilir!

Tüm bu alternatifler, mükemmel gibi çok dilli kütüphanelerle birlikte ucuz kitaplık seçimini kafa karıştırıcı hale getirebilir. GPIO Zero'nun öne çıktığı yer burasıdır: nasıl ve nereden başlayacağını merak eden yeni başlayanlar için.

Onun sağlamadığı bir şeye ihtiyaç duyduğunuz bir noktadaysanız, bu diğer kütüphanelere kendi hızınızda dalmaya hazırsınız.

GPIO Zero'ya Kendiniz Başlarken

GPIO Zero, Pi için ve iyi bir sebeple bir sıçrama yapmak için en yeni kütüphanedir. Çoğu kullanıcı için GPIO pinleri için kodlamayı okumayı daha basit ve yazmayı daha hızlı hale getirir.

apple tv'yi uzaktan kumanda olmadan kullanabilir misin.

Raspberry Pi'nin eğitimdeki kullanımı göz önüne alındığında, öğrenmeyi daha doğal hale getiren her şey iyi bir şeydir. RPi.GPIO şimdiye kadar mükemmel olsa da, GPIO Zero iyi bir fikir alır ve onu daha da iyi hale getirir.

GPIO Zero'yu kullanmaya başlamanın harika bir yolu, Müzikli Kapı Sensörü gibi bir başlangıç ​​projesini alıp yeni kitaplığa taşımaktır.

Paylaş Paylaş Cıvıldamak E-posta VirtualBox Linux Makinelerinizi Güçlendirmek için 5 İpucu

Sanal makinelerin sunduğu düşük performanstan bıktınız mı? İşte VirtualBox performansınızı artırmak için yapmanız gerekenler.

Sonrakini Oku
İlgili konular
  • kendin yap
  • Programlama
  • Ahududu Pi
  • piton
  • GPIO
Yazar hakkında Ian Buckley(216 Makale Yayınlandı)

Ian Buckley, Berlin, Almanya'da yaşayan serbest gazeteci, müzisyen, sanatçı ve video yapımcısıdır. Yazmadığı veya sahnede olmadığı zamanlarda çılgın bir bilim insanı olma umuduyla kendin yap elektroniği veya koduyla uğraşıyor.

Ian Buckley'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın