Raspberry PI2 – Prepariamolo per usare i GPIO

A differenza di Arduino il Raspberry Pi2 non è pronto per utilizzare sensori, attuatori e quant’altro sui 40 pin che sono installati sulla scheda. Bisogna installare alcune librerie in modo tale che realizzando codice, in C o in Python che sia, si possa accedere a questi collegamenti.

Molti utilizzano Raspbian forse perché esiste più documentazione su Internet, io preferisco le distribuzioni Linux della famiglia Redhat (RedHat, Centos, Fedora, RedSleeve) per cui farò riferimento per l’installazione alla Centos 7 che è attualmente in fase di sviluppo (vedi post precedenti) ma che però mi risulta del tutto usabile al momento attuale. Ipotizzo che con Fedora e RedSleeve 7 il procedimento sia del tutto simile, e quindi proverò, tempo permettendo, anche su quelle piattaforme.

(1) Innanzitutto da utente root installiamo alcuni pacchetti con Yum:

(2) Procuriamoci le librerie GPIO PYTHON per la gestione dei 40 pin del RPi2

Scarichiamo il pacchetto RPi.GPIO 0.5.11.tar.gz

In questo momento si tratta dell’ultima versione disponibile ma se dovesse uscire una versione più recente è sempre bene scaricare quella.

(3) Estraiamo il file scaricato con un comando tar

(4) Entriamo dentro la directory /root/RPi.GPIO-0.5.11

(5) Installiamo le librerie:

Se tutto è andato bene avremo un output di questo tipo.

(6) Ora installiamo le librerie GPIO per il linguaggio C.

Controlliamo sempre che sia un rassicurante messaggio “All done.”.

Testiamo la libreria con il comando:

Abbiamo la versione della libreria appena installata e l’individuazione dell’hardware corrente. E’ stato trovato correttamente un RPI2.

Ancora meglio, chiediamo la mappatura dei PIN del nostro Raspberry con il comando:

Schermata 2015-07-26 alle 13.36.21

Questo schema è importantissimo. Stampiamocelo perché verrà usato come riferimento quando programmeremo in C. Nelle 2 colonne centrali sono mappati i PIN FISICI del RaspBerry Pi2 e ai lati ci sono le codifiche corrispondenti GPIO. Generalmente useremo la BCM per cui ad esempio collegando il PIN FISICO 11, questo sarà in effetti indicato nel software come GPIO 17, ma attenzione perché su alcune board di collegamento troveremo serigrafato GPIO0. Un po’ di sana confusione insomma, tanto per renderci la vita complicata. La vita del Maker è sicuramente più rilassata con Arduino. 🙂

(7) Installiamo le librerie per il processore BCM2835 per il linguaggio C

Tranquilli, sul RPI2 abbiamo il BCM2836 ma le ultime versioni (credo dalla 1.39) di questa libreria supportano anche il Pi2.

Andiamo sul sito http://www.airspayce.com/mikem/bcm2835/

e se possiamo leggiamoci tutta la pagina. E’ piena di informazioni interessanti per chi vuole approfondire. Inoltre NON SCARICHICHIAMO LA VERSIONE 1.42 proposta dalla pagina che ha un problema di compilazione con l’RPi2 (un modulo assembler dà errori) ma cambiamo la riga di download per prendere l’ultima versione, che attualmente è la 1.44. Procediamo poi con la compilazione e installazione.

Mi raccomando, controllare sempre che dopo l’esecuzione del ./configure sia andato tutto bene, senza messaggi di errore o di librerie mancanti.

All’interno della libreria c’è del codice C di esempio. Proviamo una compilazione per vedere se tutto è ok.

Consiglio di fare qualche prova con questi esempi anche per familiarizzare con le chiamate alle funzioni di libreria per confrontarle eventualmente con quelle usate da Arduino.

Lascia un commento