Categoria: Ansi C

Leave a reply

(English) OS from SCRATCH

Ci spiace, ma questo articolo è disponibile soltanto in Inglese Americano.




Leave a reply

WiringPi – Come programmare la GPIO del Raspberry Pi in C, C++ e Bash

Un paio di anni fa ho scoperto questo bellissimo progetto, e per fortuna ancora aggiornato, in licenza GNU LGPLv3, il suo nome è WiringPi.

Non esistono binari di WiringPi, va compilato da sorgente, ma niente paura, è davvero semplicissimo.

Il progetto è interamente pubblicato su GitHub.

Sul sito consigliano prima di controllare se è già installata una versione di WiringPi, ma ne dubito, anche perchè non l’ho trovato integrato in nessuna distro.

Quindi digitiamo il comando:

$ gpio -v

Se il comando sopra citato vi da errore vuol dire che WiringPi non è installato, in caso contrario vi mostrerà la versione del programma e del vostro Raspberry Pi.

Se WiringPi è installato dobbiamo procedere alla sua rimozione, e dato che è installato sottoforma di pacchetto deb, digiteremo:
# apt-get purge wiringpi

Adesso passiamo al download ed alla compilazione dell’ultima versione di questa fantastica utility.

Installiamo prima le dipendenze, digitando:

# apt-get install git git-core

Poi posizioniamoci sulla home dell’utente o dove vi pare e digitiamo il comando:

$ git clone git://git.drogon.net/wiringPi

Perfetto, abbiamo copiato sul nostro Raspberry Pi l’intero repository del programma, adesso entriamo nella cartella appena creata, quindi wiringPi e compiliamolo digitando semplicemente il comando build, quindi scriveremo sul nostro terminale:

$ cd wiringPi ; ./build root

Una volta installato è possibile utilizzare a pieno le potenzialità di tale tool che ci permetterà di programmare la GPIO in linguaggi come BASH, C e C++.

Come abbiamo notato in precedenza, WiringPi riesce a determinare anche la Board che stiamo utilizzando (esistono svariate versioni del Raspberry Pi), e questo è fondamentale per non confonderci con i PIN che variano di versione in versione.

Come ben sappiamo, anzi, lo tratteremo successivamente, il Raspberry Pi ha una sua numerazione della GPIO, che non corrisponde assolutamente alla pin strip saldata sulla board, ma l’utility gpio ci permette di utilizzare una piedinatura standard grazie alla seguente opzione:

$ gpio -g

Questa “piccolezza” ci permette di non bruciare il SoC (System on a Chip) accidentalmente, mica male no?

Tutte le informazioni del progetto potete trovarle sul sito ufficiale: http://wiringpi.com/