Banana Pi/Pro – Installazione librerie Python e C per i GPIO

La preparazione dell’ambiente di sviluppo C e Python nelle 2 schede Lemaker avviene in maniera analoga ai passi compiuti con i Raspberry. Lemaker ha infatti adattato le stesse librerie GPIO e WiringPi per i due linguaggi rendendo le cose molto più semplici.

Ho scelto come S.O. di riferimento per il Banana Pro in mio possesso il Bananian 15.04 . Non è dotato di interfaccia grafica quindi è ideale per ottenere il massimo delle prestazioni dalla scheda pur richiedendo solo l’accesso SSH e quindi conoscenze di Linux Debian in generale. Immagino che il tutto funzioni perfettamente anche su Raspbian mentre invece ho rilevato dei problemi insanabili con la Fedora: un problema con una libreria del cross compiler rende impossibile la compilazione sia delle GPIO che delle WiringPi. Mi viene il sospetto che sia colpa di come è stato preparato il kernel della distribuzione, quindi niente da fare.

Sulla Bananian si opera come utente Root, quindi non si usa l’elevazione “sudo”. Chi usa la Raspbian si regoli di conseguenza e premetta “sudo” ai comandi di tipo amministrativo.

Installazione preliminare:

Procediamo con le librerie per il Python. Il possesso di un Banana Pi oppure Pro impone due download differenti:

Banana Pro:

Banana Pi:

Installazione della libreria:

Controllare dai messaggi di uscita che tutto sia andato bene. Durante la compilazione vengono prodotti dei “warning”. Sarebbe meglio se non ci fossero ma non comportano problemi.

Passiamo alle librerie WiringPi per il linguaggio C. Torniamo alla directory /root.  Il download anche qui dipende dalla scheda Pi o Pro:

Banana Pro:

Banana Pi:

E installiamo:

Se tutto è andato bene possiamo controllare l’installazione con

ma soprattutto vedere le mappature del connettore a 26 o 40 pin con:

Ecco ad esempio l’output relativo al Banana Pro:

Schermata 2015-08-08 alle 08.53.29

 

Al centro si vedono quindi i Pin Fisici della scheda, che in fase di setup vengono denominati BOARD, poi quelli codificati dalla libreria C WiringPi e infine i BCM.

Io in genere in Python preferisco iniziare il codice con una GPIO.setmode(GPIO.BOARD), utilizzando quindi i Pin Fisici della scheda. Quando ci sono varie versioni di schede con diverse mappature (sia su Banana che su Raspberry) mi sembra che si faccia meno confusione in questo modo.

Lascia un commento