Annuncio pubblicitario

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

È particolarmente facile quando utilizzi librerie di codici che controllano questi pin e il famoso RPi. La libreria GPIO Python è un eccellente esempio di tale libreria. Ma è il percorso migliore per i principianti? Unisciti a noi mentre investigiamo.

Che cos'è GPIO Zero?

La libreria GPIO Zero è una libreria Python per lavorare con i pin GPIO. Scritto da Il community manager di Raspberry Pi Ben Nuttall. Destinato ad essere intuitivo e "amichevole", semplifica il codice Python per i casi d'uso più comuni di Raspberry Pi.

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

instagram viewer

Cosa c'è di sbagliato in RPi. GPIO?

Niente. Niente di niente. RPI. GPIO è stato rilasciato all'inizio del 2012 dallo sviluppatore Ben Croston. È una libreria robusta che consente agli utenti di controllare i pin GPIO dal codice. È presente in quasi tutti i progetti per principianti Gli 11 migliori progetti Raspberry Pi per principiantiQuesti progetti Raspberry Pi per principianti sono ottimi per iniziare con le funzionalità di qualsiasi modello Raspberry Pi. Leggi di più abbiamo coperto.

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

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

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

Considera l'esempio seguente, impostazione e accensione di un LED:

Codice da configurare e LED da emettere usando l'RPi. Libreria GPIO

Il codice sopra dovrebbe essere abbastanza familiare a chiunque ne abbia hanno usato il loro Pi per controllare i LED.

The RPi. La libreria GPIO viene importata e viene dichiarato un pin per il LED. Viene impostato il tipo di layout dei pin (le modalità BCM e BOARD lo sono spiegato nella nostra guida GPIO Tutto quello che devi sapere sui pin GPIO di Raspberry PiIl Raspberry Pi è un piccolo computer fantastico, ma cosa fanno esattamente i pin GPIO (General Purpose Input / Output)? In breve, aprono un intero mondo di armeggi e invenzioni elettroniche fai-da-te. Leggi di più ) e il pin è impostato come uscita. Quindi, il pin viene attivato.

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

Impostazione di un LED con GPIO Zero

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

Perché l'approccio di GPIO Zero è migliore?

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

Innanzitutto, soddisfa il requisito "facile da leggere, il più breve possibile". Mentre l'RPi. Le istruzioni di installazione di GPIO sono abbastanza facili da capire, non sono necessarie. Un LED sarà sempre un'uscita, quindi GPIO Zero imposta i pin dietro le quinte. Il risultato è solo tre righe di codice da configurare, quindi accendere un LED.

Potresti notare che non vi è alcuna 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 Intervista a RasPi.tv:

"La numerazione BOARD potrebbe sembrare più semplice, ma direi che induce i nuovi utenti a pensare che tutti i pin siano di uso generale, e non lo sono. Collegare un LED al pin 11, perché non collegarne altri ai pin 1, 2, 3 e 4? Bene 1 è 3V3. 2 e 4 sono 5 V. Una mancanza di consapevolezza di quale sia lo scopo dei pin 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 imparare!

GPIO Zero è effettivamente migliore?

Mentre sembra più semplice in superficie, la nuova biblioteca ha qualche problema? Come con qualsiasi nuova libreria di codifica, è una questione di opinione. Da un lato, la rimozione del 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 di impostazione di un pulsante dal Documentazione GPIO Zero:

Codice di esempio del pulsante Zero GPIO

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

Abbiamo usato questa funzionalità esatta in Esercitazione sul pulsante Raspberry Pi 2 modi per aggiungere un pulsante al tuo progetto Raspberry PiCome si collega un pulsante al Raspberry Pi? Ecco due modi per iniziare, dimostrato utilizzando Python e un LED. Leggi di più , che è un ottimo modo per familiarizzare con le differenze nelle biblioteche.

Utenti dell'RPi. La libreria GPIO noterà che le resistenze pull-up / pull-down interne del Pi non sono impostate nel codice. Questo solleva una domanda interessante. È essenziale che i principianti sappiano delle resistenze pull-up / down? Ancora una volta, Ben Nuttall ha una risposta a questa domanda:

"Potresti sostenere che è bello sapere di pull up e pull down, e avresti ragione, ma perché devo insegnarlo il primo giorno? [...] Se vuoi insegnare in modo più approfondito l'elettronica, c'è molto spazio per quello, ma non dovrebbe essere obbligatorio se stai semplicemente ottenendo iniziato."

Nel complesso, l'approccio semplice 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 indietro se necessario.

Python è l'unica opzione?

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

In alternativa, se si programma già in JavaScript, Node.js può essere facilmente installato sul Pi. L'accesso GPIO è disponibile tramite libreria rpm-gpio npm. 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 pigpio può rendere confusa la scelta di una biblioteca. È qui che eccelle GPIO Zero: per i principianti che si chiedono come e dove iniziare.

Se ti trovi in ​​un punto in cui hai bisogno di qualcosa che non fornisce, sarai più che pronto ad immergerti in queste altre librerie al tuo ritmo.

Introduzione a GPIO Zero Yourself

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

Dato l'uso di Raspberry Pi nell'istruzione, tutto ciò che rende l'apprendimento più naturale è una buona cosa. Mentre RPi. Fino ad ora GPIO è stato perfetto, 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 il Sensore porta musicale Riproduci la tua melodia a tema quando entri nella stanza con Raspberry PiHai mai desiderato arrivare a casa per un benvenuto personale? In questo semplice progetto Raspberry Pi utilizzeremo un interruttore reed per attivare una melodia all'apertura di una porta. Leggi di più e portarlo nella nuova libreria.

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