Imprimir
Categoría: Laboratorio PI
Visto: 545

WirinPi es una librería escrita en C y liberada baja licencia GNU LGPLv3, que puede ser empleada en varios lenguajes de programación, además de C y C++, con alguna pequeña modificación en forma de adaptación.

Su principal uso es en la programación de periféricos a través de los 26 pines de General Purpose Input Output (GPIO).
WiringPi, además, ofrece un comando que permite programar y configurar los pines de la GPIO, pudiendo efectuar la lectura y escritura de los pines desde la línea de comandos o incluso, incorporándola en un Shellscript.
Instalación utilizando GIT
Git es un software de control de versiones, libre y de código abierto, diseñado para manejar todo tipo de proyectos, desde pequeños a grandes con rapidez y eficiencia.
En caso de no estar instalado GIT se debería instalar. Para ello en primer lugar hay que actualizar los repositorios y posteriormente instalarlo.
sudo apt-get update sudo apt-get install git-core
Posteriormente hay que obtener la libreria mediante GIT
git clone git://git.drogon.net/wiringPi
Una vez descargado, hay que ir al directorio donde se encuentra y obtener una versión actualida.
cd wiringPi
git pull origin
A continuación, se debe ejecutar el script de creación e instalación en el directorio de WiringPi.
./build
El nuevo script se encarga de compilar y ejecutar todo, sin que sea necesaria la intervención del usuario. 
Descargando la librería.
Se va a proceder a descargar la aplicación en el directorio temporal /tmp.
cd /tmp
wget http://project-downloads.drogon.net/files/wiringPi.tgz
A continuación hay que desempaquetar el fichero.
tar xfz wiringPi.tgz
En este momento, se va a proceder a instalar las librerías relacionadas con wiringPi.
cd wiringPi/wiringPi
make
sudo make install
A continuación, se va a instalar la herramienta gpio, que permite en línea de comandos trabajar con los pines.
cd ../gpio make sudo make install
Finalmente, se van a instalar los ejemplos.
cd ../examples
make
Utilización
Para poder utilizar esta librería es necesario indicar que se va a emplear, en la primera parte del programa se incorpora la cabecera de la librería (#include<wiringPi.h ) y en la compilación se especifica que utilice la misma (gcc –o pruebas -l wiringPi pruebas.c).
Principales constantes y funciones de la librería
Funciones constructoras
Hay tres funciones constructoras que permiten trabajar con la librería Wiring Pi, todas ellas devuelven -1 en caso de que se produzca un error.
  • int wiringPiSetup(void) : Inicializa Wiring Pi y emplea el convenio de numeración de Wiring Pi.
A continuación se muestra la tabla resumen de los pines GPIO para la versión 1.
Ping wiringPi BCM GPIO Name Header Name BCM GPIO Ping wiringPi
3.3v 1 | 2 5v
8 R1:0/R2:2 SDA0 3 | 4 DNC
9 R1:1/R2:3 SCL0 5 | 6 0v
7 4 GPIO7 7 | 8 TxD 14 15
DNC 9 | 10 RxD 15 16
0 17 GPIO0 11 | 12 GPIO1 18 1
2 R1:21/R2:27 GPIO2 13 | 14 DNC
3 22 GPIO3 15 | 16 GPIO4 23 4
DNC 17 | 18 GPIO5 24 5
12 10 MOSI 19 | 20 DNC
13 9 MISO 21 | 22 GPIO6 25 6
14 11 SCLK 23 | 24 CE0 8 10
DNC 25 | 26 CE1 7 11
Para la revisión 2
Ping wiringPi BCM GPIO Name Header Name BCM GPIO Ping wiringPi
5v 1 | 2 3.3v
17 28 GPIO8 3 | 4 GPIO9 29 18
19 30 GPIO10 5 | 6 GPIO11 31 20
0v 7 | 8 0v
Funciones generales
Funciones de control PWM
Las siglas PWM corresponden a pulse-width modulation, en castellano, Modulación por ancho de pulsos, consistente en cambiar el ciclo de una señal periódica. No se pueden utilizar cuando se trabaja en modo sistema (mode sys).
Funciones de tiempo
Program/Thread Priority
Funciones de interrupciones
Funciones de programación concurrente
Wiring Pi permite la utilización de hilos POSIX, así como mecanismos de exclusión mutua (mutex).
Otras funciones