GPIO de Raspberry

Seguramente uno de los atractivos de la Raspberry Pi es el conector GPIO (General Purpose input/output), un puerto de entrada/salida que en el modelo 3 tiene  40 conectores que permite el control de dispositivos que pueden ir desde un un simple LED  a toda la dómotica del hogar.

Recordemos que la información pueden ser asíncrona (se generan de forma aleatória, como el ladrido de un perro) o síncronas (hay un reloj o sincronismo, como un semáforo de tráfico), y que puede viajar por canales serie (una señal después de otra en el tiempo, como cuando hablamos o los antiguos puertos RS232) o por canales paralelos (una señal por cada canal como los antiguos puertos de impresoras). Las señales pueden convertirse de asíncronas a sincronas y de canales serie a paralelo y viceversa (Una orquesta genera la música de forma síncrona y en paralelo, pero nuestro oído la recibe como una única señal en serie … bueno tenemos dos oídos por lo tenemos 2 canales )

Realmente sobre este conector o puerto hay implementados tres protocolos de comunicación:

Estos tres protocolos, al igual que VNC y SSH pueden activarse (enable) o desactivarse (disable) desde el apartado “Rasberry Pi configuration” o por el terminal sudo raspi-config.

Desde el terminal podemos teclear dos comandos interesantes:

  • gpio -v que nos proporciona la versión
  • gpio readall que nos da un mapa del interface GPIO

En el caso de que nuestro Rasbbian no lo tenga instalado o esté degradado en wiringpi tenemos un completo manual para desinstalar, bajar nuevos fuentes y compilarlos de una forma muy sencilla.

Un tutorial muy clarificador es https://learn.sparkfun.com/tutorials/raspberry-pi-spi-and-i2c-tutorial y una web con toda la infromación de los pines de la Raspberry y placas adicionales es pinout.

El siguiente paso será escribir programas para aprovechar todas esas posibilidades, pero eso será en otra entrada.