Mengapa GPIO Zero Lebih Baik Daripada RPi.GPIO untuk Projek Raspberry Pi

Mengapa GPIO Zero Lebih Baik Daripada RPi.GPIO untuk Projek Raspberry Pi

Raspberry Pi adalah komputer yang sempurna untuk belajar. OS Raspbian yang berasaskan Linux mempunyai Python yang dibina, yang menjadikannya sistem pertama yang hebat untuk pengkod pemula. Pin Input / Output Tujuan Umum (GPIO) memudahkan pembuat rakan untuk bereksperimen dengan projek elektronik DIY.





Sangat mudah apabila anda menggunakan perpustakaan kod yang mengawal pin ini, dan perpustakaan RPi.GPIO Python yang popular adalah contoh terbaik dari perpustakaan tersebut. Tetapi adakah jalan terbaik untuk pemula? Sertailah kami semasa kami menyiasat.





Apa itu GPIO Zero?

Perpustakaan GPIO Zero adalah perpustakaan Python untuk bekerja dengan pin GPIO. Ia ditulis oleh Pengurus komuniti Raspberry Pi Ben Nuttall . Bertujuan untuk menjadi intuitif dan 'ramah,' ini menyederhanakan kod Python untuk kebanyakan kes penggunaan Raspberry Pi biasa.





Menggabungkan amalan penamaan sederhana dan fungsi deskriptif, GPIO Zero lebih mudah difahami oleh pemula. Malah pengguna perpustakaan RPi.GPIO yang berpengalaman mungkin lebih suka --- dan untuk memahami mengapa, mari kita lihat bagaimana perbandingan RPi.GPIO dengan GPIO Zero.

Apa yang Salah dengan RPi.GPIO?

Tidak ada. Tiada apa-apa pun. RPi.GPIO dikeluarkan pada awal 2012 oleh pemaju Ben Croston. Ia adalah perpustakaan yang kuat yang membolehkan pengguna mengawal pin GPIO dari kod. Ia mempunyai ciri dalam hampir setiap projek pemula kami telah membuat liputan.



menjadikan windows 10 kelihatan seperti windows xp

Walaupun penggunaannya meluas, RPi.GPIO tidak pernah dirancang untuk pengguna akhir. Ini adalah bukti reka bentuk RPi.GPIO yang baik bahawa begitu banyak pemula menggunakannya.

Apa Yang Baik Tentang GPIO Zero?

Semasa anda belajar kod Python , anda belajar bahawa ia mesti mudah dibaca dan sesingkat mungkin. GPIO Zero bertujuan untuk merangkumi kedua-dua perkara tersebut. Dibangun di atas RPi.GPIO sebagai pembungkus bahasa front-end, ia mempermudah penyediaan dan penggunaan GPIO.





Pertimbangkan contoh berikut, menyiapkan dan menghidupkan LED:

Kod di atas semestinya cukup dikenali oleh sesiapa sahaja yang mempunyai menggunakan Pi mereka untuk mengawal LED .





Perpustakaan RPi.GPIO diimport, dan pin untuk LED dinyatakan. Jenis susun atur pin disiapkan (mod BCM dan BOARD adalah dijelaskan dalam panduan GPIO kami ), dan pin disiapkan sebagai output. Kemudian, pin dihidupkan.

Pendekatan ini masuk akal, tetapi cara GPIO Zero melakukannya lebih mudah:

GPIO Zero mempunyai modul untuk LED, yang diimport pada permulaannya. Ini bermaksud anda boleh menyatakan nombor pin, dan memanggil nombor led.on () kaedah.

cara menukar suara pengecasan pada iphone

Mengapa Pendekatan GPIO Zero Lebih Baik?

Terdapat beberapa sebab mengapa kaedah kerja ini adalah peningkatan pada RPi.GPIO.

Pertama, memenuhi syarat 'senang dibaca, sesingkat mungkin'. Walaupun pernyataan penyediaan RPi.GPIO cukup mudah difahami, itu tidak diperlukan. LED akan selalu menjadi output, jadi GPIO Zero memasang pin di belakang tabir. Hasilnya hanya tiga baris kod yang harus disiapkan, kemudian nyalakan LED.

Anda mungkin menyedari bahawa tidak ada penyediaan mod papan dalam contoh GPIO Zero. Perpustakaan hanya menggunakan penomoran Broadcom (BCM) untuk pin. Pereka perpustakaan Ben Nuttall menjelaskan mengapa pada tahun 2015 Temu ramah RasPi.tv :

'Penomboran Papan kenyataan mungkin kelihatan lebih mudah tetapi saya katakan ia mendorong pengguna baru untuk berfikir semua pin adalah tujuan umum --- dan tidak. Sambungkan LED ke pin 11, mengapa tidak menyambungkannya lagi ke pin 1, 2, 3 dan 4? Telaga 1 ialah 3V3. 2 dan 4 adalah 5V. Kurangnya kesedaran tentang apa tujuan pin itu berbahaya. '

Dengan cara ini, masuk akal untuk menggunakan nombor BCM. Memandangkan GPIO Zero akan menjadi standard dalam dokumentasi Raspberry Pi ke depan, perlu dipelajari!

Adakah GPIO Zero Sebenarnya Lebih Baik?

Walaupun nampak lebih mudah di permukaan, adakah perpustakaan baru mempunyai masalah? Seperti mana-mana perpustakaan pengekodan baru, ini adalah masalah pendapat. Di satu pihak, menghapus kod persediaan sangat baik untuk pemula dan pengekod berpengalaman. Menulis kod lebih mudah dan pantas.

Sebaliknya, mengetahui dengan tepat apa yang berlaku adalah penting untuk belajar. Ambil contoh memasang butang dari Dokumentasi GPIO Zero :

The butang modul mempermudahkan persediaan untuk menekan butang. Ia tahu butang adalah input, jadi menggunakan nombor pin yang dinyatakan untuk penyediaan. Memeriksa penekanan butang juga lebih mudah, dengan .disekat untuk mengesan penekanan butang.

Kami menggunakan fungsi tepat ini di Tutorial butang Raspberry Pi , yang merupakan kaedah terbaik untuk membiasakan diri dengan perbezaan di perpustakaan.

Pengguna perpustakaan RPi.GPIO akan menyedari bahawa resistor pull-up / pull-down dalaman Pi tidak disusun dalam kod. Ini menimbulkan persoalan yang menarik. Adakah penting bagi pemula untuk mengetahui mengenai perintang tarik / turun? Sekali lagi, Ben Nuttall mempunyai jawapan untuk soalan ini:

'Anda mungkin berpendapat bahawa ada baiknya mengetahui tentang pull up dan pull down, dan anda betul --- tetapi mengapa saya harus mengajarnya pada hari pertama? [...] Sekiranya anda ingin mengajar elektronik di lebih mendalam ada banyak ruang lingkup untuk itu --- tetapi tidak wajib jika anda baru memulakan. '

Secara keseluruhan, pendekatan sederhana GPIO Zero mungkin merupakan perkara yang baik untuk pemula dan veteran. Selain itu, RPi.GPIO tidak ke mana-mana. Selalu akan ada untuk beralih kembali jika diperlukan.

Adakah Python Satu-satunya Pilihan?

Python adalah bahasa yang terkenal dengan Pi, tetapi bukan satu-satunya pilihan. Sekiranya anda sudah biasa dengan pengaturcaraan dalam bahasa C, maka Pendawaian Pi adakah anda telah membuat liputan.

Sebagai alternatif, jika anda sudah memprogram dalam JavaScript, Node.js dapat dipasang dengan mudah di Pi. Akses GPIO tersedia melalui perpustakaan rpi-gpio npm . Ruby on Rails juga boleh dipasang pada Raspberry Pi, walaupun Pi mungkin bukan kaedah terbaik untuk mempelajari Rails!

Semua alternatif ini, bersama dengan perpustakaan pelbagai bahasa seperti yang terbaik murah boleh membuat pemilihan perpustakaan membingungkan. Di sinilah GPIO Zero unggul: untuk pemula yang bertanya-tanya bagaimana dan di mana hendak bermula.

Sekiranya anda berada di titik di mana anda memerlukan sesuatu yang tidak disediakan, anda akan lebih bersedia untuk menyelami perpustakaan lain mengikut kadar anda sendiri.

Bermula Dengan GPIO Zero Sendiri

GPIO Zero adalah perpustakaan terbaru yang membuat percikan untuk Pi dan dengan alasan yang baik. Bagi kebanyakan pengguna, pengekodan pin GPIO lebih mudah dibaca dan lebih cepat ditulis.

google adakah anda mendengar saya

Memandangkan penggunaan Raspberry Pi dalam pendidikan, apa sahaja yang menjadikan pembelajaran lebih semula jadi adalah perkara yang baik. Walaupun RPi.GPIO telah sempurna sehingga kini, GPIO Zero mengambil idea yang baik dan menjadikannya lebih baik.

Cara yang baik untuk memulakan dengan GPIO Zero adalah dengan mengambil projek pemula seperti Musical Door Sensor dan membawanya ke perpustakaan baru.

Berkongsi Berkongsi Tweet E-mel 5 Petua untuk Meningkatkan Mesin Linux VirtualBox Anda

Bosan dengan prestasi buruk yang ditawarkan oleh mesin maya? Inilah yang harus anda lakukan untuk meningkatkan prestasi VirtualBox anda.

Baca Seterusnya
Topik-topik yang berkaitan
  • DIY
  • Pengaturcaraan
  • Pai raspberi
  • Python
  • GPIO
Mengenai Pengarang Ian Buckley(216 Artikel Diterbitkan)

Ian Buckley adalah wartawan bebas, pemuzik, pemain dan penerbit video yang tinggal di Berlin, Jerman. Ketika dia tidak menulis atau di atas pentas, dia bermain-main dengan elektronik DIY atau kod dengan harapan menjadi saintis gila.

Lagi Dari Ian Buckley

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan