Perché GPIO Zero è migliore di RPi.GPIO per i progetti Raspberry Pi

Perché GPIO Zero è migliore di RPi.GPIO per i progetti Raspberry Pi

Il Raspberry Pi è il computer perfetto per l'apprendimento. Il sistema operativo Raspbian basato su Linux ha Python integrato, il che lo rende un ottimo primo sistema per i programmatori principianti. I suoi pin GPIO (General Purpose Input/Output) rendono facile per i produttori in erba sperimentare progetti di elettronica fai-da-te.





È particolarmente facile quando si utilizzano librerie di codici che controllano questi pin e la popolare libreria Python RPi.GPIO è un eccellente esempio di tale libreria. Ma è il percorso migliore per i principianti? Unisciti a noi mentre indaghiamo.





Che cos'è GPIO Zero?

La libreria GPIO Zero è una libreria Python per lavorare con i pin GPIO. Scritto da Ben Nuttall, community manager di Raspberry Pi . Mirato a essere intuitivo e 'amichevole', semplifica il codice Python per la maggior parte dei casi d'uso regolari di Raspberry Pi.





Combinando semplici pratiche di denominazione e funzioni descrittive, GPIO Zero è più accessibile da comprendere per i principianti. Anche gli utenti esperti della libreria RPi.GPIO potrebbero preferirla --- e per capire perché, diamo un'occhiata a come RPi.GPIO si confronta con GPIO Zero.

Cosa c'è che non va con RPi.GPIO?

Niente. Niente di niente. RPi.GPIO è stato rilasciato all'inizio del 2012 dallo sviluppatore Ben Croston. È una solida libreria che consente agli utenti di controllare i pin GPIO dal codice. È dotato di quasi tutti i progetti per principianti abbiamo coperto.



come cambiare la password di rete Windows 10

Nonostante il suo ampio utilizzo, RPi.GPIO non è mai stato progettato per gli utenti finali. È una testimonianza del buon design di RPi.GPIO che così tanti principianti lo usano comunque.

Cosa c'è di così buono in GPIO Zero?

Quando sei imparare il codice Python , impari che dovrebbe essere facile da leggere e il più breve possibile. GPIO Zero mira a coprire entrambi i punti. Basato su RPi.GPIO come wrapper di linguaggio front-end, semplifica la configurazione e l'utilizzo di GPIO.





Considera il seguente esempio, impostazione e accensione di un LED:

Il codice sopra dovrebbe essere abbastanza familiare a chiunque lo abbia usavano il loro Pi per controllare i LED .





La libreria RPi.GPIO viene importata e viene dichiarato un pin per il LED. Il tipo di disposizione dei pin è impostato (le modalità BCM e BOARD sono spiegato nella nostra guida GPIO ), e il pin è impostato come output. Quindi, il pin viene attivato.

Questo approccio ha senso, ma il modo GPIO Zero di farlo è molto più semplice:

GPIO Zero ha un modulo per LED, importato all'inizio. Ciò significa che puoi dichiarare il numero pin e chiamare il led.on() metodo.

Android auto non funziona dopo l'aggiornamento

Perché l'approccio di GPIO Zero è migliore?

Ci sono alcuni motivi per cui questo metodo di lavoro è un miglioramento di RPi.GPIO.

In primo luogo, soddisfa il requisito 'facile da leggere, il più breve possibile'. Sebbene le istruzioni di installazione di RPi.GPIO siano abbastanza facili da capire, non sono necessarie. Un LED sarà sempre un'uscita, quindi GPIO Zero imposta i pin dietro le quinte. Il risultato sono solo tre righe di codice da impostare, quindi accendere un LED.

Potresti notare che non c'è nessuna configurazione della modalità scheda nell'esempio GPIO Zero. La libreria utilizza solo la numerazione Broadcom (BCM) per i pin. Il designer della biblioteca Ben Nuttall spiega perché in un 2015 RasPi.tv intervista :

'La numerazione della SCHEDA potrebbe sembrare più semplice, ma direi che porta i nuovi utenti a pensare che tutti i pin siano di uso generale --- e non lo sono. Collega un LED al pin 11, perché non collegarne altri ai pin 1, 2, 3 e 4? Bene 1 è 3V3. 2 e 4 sono 5V. Una mancanza di consapevolezza di quale sia lo scopo dei perni può essere pericolosa.'

Detto in questo modo, ha assolutamente senso usare i numeri BCM. Dato che GPIO Zero sarà standard nella documentazione di Raspberry Pi in futuro, vale la pena impararlo!

GPIO Zero è effettivamente migliore?

Sebbene all'apparenza sembri più semplice, la nuova libreria ha qualche problema? Come con qualsiasi nuova libreria di codifica, è una questione di opinione. Da un lato, rimuovere il codice di installazione è eccellente sia per i principianti che per i programmatori esperti. La scrittura del codice è più semplice e veloce.

D'altra parte, sapere esattamente cosa sta succedendo è importante per l'apprendimento. Prendi l'esempio della configurazione di un pulsante dal Documentazione GPIO Zero :

Il pulsante il modulo semplifica la configurazione dei pulsanti. Sa che i pulsanti sono input, quindi utilizza il numero di pin dichiarato per l'impostazione. Anche il controllo della pressione di un pulsante è più semplice, con il .è_premuto per rilevare la pressione dei pulsanti.

Abbiamo usato questa esatta funzionalità nel Tutorial sul pulsante Raspberry Pi , che è un ottimo modo per familiarizzare con le differenze nelle librerie.

Gli utenti della libreria RPi.GPIO noteranno che i resistori pull-up/pull-down interni del Pi non sono impostati nel codice. Ciò solleva una domanda interessante. È essenziale per i principianti conoscere i resistori pull-up/down? Ancora una volta, Ben Nuttall ha una risposta a questa domanda:

'Potresti obiettare che è bello sapere di pull up e pull down, e avresti ragione --- ma perché devo insegnarlo il primo giorno? [...] Se vuoi insegnare l'elettronica in più profondità c'è un sacco di spazio per questo --- ma non dovrebbe essere obbligatorio se hai appena iniziato.'

Nel complesso, il semplice approccio di GPIO Zero è probabilmente una buona cosa sia per i principianti che per i veterani. Inoltre, RPi.GPIO non sta andando da nessuna parte. Sarà sempre lì per tornare se necessario.

Python è l'unica opzione?

Python è il linguaggio per cui è noto il Pi, ma non è l'unica opzione. Se hai già familiarità con la programmazione in linguaggio C, allora Cablaggio Pi ti ha coperto.

In alternativa, se programmi già in JavaScript, Node.js può essere facilmente installato sul Pi. L'accesso GPIO è disponibile tramite il libreria npm rpi-gpio . Ruby on Rails può anche essere installato sul Raspberry Pi, anche se il Pi potrebbe non essere il modo migliore per imparare Rails!

Tutte queste alternative, insieme a librerie multilingue come l'eccellente a buon mercato può creare confusione nella scelta di una libreria. È qui che eccelle GPIO Zero: per i principianti che si chiedono come e da dove iniziare.

Se sei a un punto in cui hai bisogno di qualcosa che non fornisce, sarai più che pronto a tuffarti in queste altre librerie al tuo ritmo.

Iniziare da soli con GPIO Zero

GPIO Zero è la libreria più recente per fare colpo sul Pi e con buone ragioni. Per la maggior parte degli utenti, rende la codifica per i pin GPIO più semplice da leggere e più veloce da scrivere.

come registrare programmi TV su PC usando hdmi

Dato l'utilizzo del Raspberry Pi nell'istruzione, tutto ciò che rende l'apprendimento più naturale è una buona cosa. Mentre RPi.GPIO è stato perfetto fino ad ora, GPIO Zero prende una buona idea e la rende ancora migliore.

Un ottimo modo per iniziare con GPIO Zero è prendere un progetto per principianti come Musical Door Sensor e portarlo nella nuova libreria.

Condividere Condividere Tweet E-mail 5 suggerimenti per potenziare le tue macchine Linux VirtualBox

Stanchi delle scarse prestazioni offerte dalle macchine virtuali? Ecco cosa dovresti fare per aumentare le prestazioni di VirtualBox.

Leggi Avanti
Argomenti correlati
  • Fai da te
  • Programmazione
  • Lampone Pi
  • Pitone
  • GPIO
Circa l'autore Ian Buckley(216 articoli pubblicati)

Ian Buckley è un giornalista freelance, musicista, performer e produttore di video che vive a Berlino, in Germania. Quando non scrive o sul palco, armeggia con l'elettronica o il codice fai-da-te nella speranza di diventare uno scienziato pazzo.

Altro da Ian Buckley

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti