18 de abril de 2014

Raspberry Pi

A mediados de la década pasada, el Dr. Eben Upton y varios de sus colegas de la Universidad de Cambridge, Reino Unido, se dieron cuenta de que las nuevas generaciones de jóvenes y niños estaban careciendo del interés y las habilidades que generaciones previas habían demostrado hacia la computación.

Eben Christopher Upton,
principal arquitecto de la Raspberry Pi

Tenían la percepción de que un joven que ingresaba a la universidad para estudiar ciencia de la computación en la década de los años ochenta y noventa le gustaba usualmente programar como hobby. Lamentablemente, esto ya no estaba ocurriendo hoy en día. Ellos observaron que las nuevas generaciones, a pesar de ser usuarios acérrimos de la tecnología, no saben programar, y sus conocimientos sobre el funcionamiento interno de una computadora resultan superficiales en el mejor de los casos.

En palabras del propio Upton:
Algo había cambiado con respecto a la manera en que los niños estaban interactuando con las computadoras. Identificamos varios problemas: el predominio de clases orientadas al uso de Word y Excel dentro del currículo de las TICs (tecnologías de información y comunicación); el fin de la era punto-com; y el surgimiento de las PCs y las consolas de video juegos que vinieron a sustituir a los equipos Amiga, BBC Micro, Spectrum ZX y Commodore 64 que las personas de generaciones anteriores habían utilizado para aprender a programar.
No hay mucho que un pequeño grupo pueda hacer para abordar el problema de un currículo académico inadecuado o el final de una burbuja financiera. Sin embargo, sentíamos que sí podíamos hacer algo al respecto a la situación en la que las computadoras se habían convertido en aparatos tan costosos y arcanos que los padres de familia habían tenido que prohibir que se les usara para realizar experimentos de programación. Así fue que, del 2006 al 2008, empezamos a diseñar lo que finalmente se convirtió en la Raspberry Pi.

Desde que salieron las primeras micro-computadoras ha sido una tradición usar nombres de fruta para nombrar productos y compañías de tecnología. Así pues tenemos a Apple y BlackBerry, pero hubo también en el Reino Unido otras compañías como Apricot Computers, Orange, Tangerine y Acorn Computing, entre otras. Así pues, Raspberry Pi continuó con esta tradición. Pi se debe a que originalmente se deseaba construir una computadora que solo pudiera correr Python, aunque finalmente resultó en un producto mucho más general.

Raspberry Pi, modelo-B.

Teniendo un costo aproximado de tan solo 35 dólares estadounidenses, la Raspberry Pi (RPi) es una computadora completa contenida en una placa del tamaño de una tarjeta de crédito. La placa del modelo-B aloja un SoC (System-on-a-chip) Broadcom BCM2835 que incluye:
  • Un procesador ARM11 a 700 MHz. Este es el mismo CPU RISC de 32 bits que utilizan varios teléfonos inteligentes de Apple y Nokia.
  • Una GPU (Unidad de Procesamiento Gráfico) VideoCore IV.
  • 512 MB de memoria RAM.
El reducido costo de la RPi se debe en gran medida a que éste no incluye los dispositivos periféricos necesarios para su operación. El monitor, mouse, teclado, etc. deben ser provistos por el usuario (los equipos viejos de cómputo son ideales para obtener las partes que hacen falta).

Para interactuar con el mundo exterior, la RPi cuenta con varias entradas y salidas. A continuación se listan las más relevantes:
  • Puerto microUSB. Sirve para conectar la placa a la fuente de alimentación eléctrica.
  • Ranura para tarjeta SD. A falta de un disco duro o unidad de estado sólido, el sistema operativo, aplicaciones y archivos de usuario se almacenan en una tarjeta de memoria SD.
  • Conector HDMI. Se utiliza para conectarse a un monitor o televisión de alta definición.
  • Salida de video compuesto. Ésta es una alternativa para conectarse a un monitor o televisión con entradas RCA.
  • Salida de audio analógico minijack de 3.5mm. Sirve para conectarse a bocinas con alimentación externa.
  • 2 puertos USB. Se utiliza para conectarse a diversos dispositivos USB tales como: mouse, teclado, disco duro externo, adaptador Wi-Fi, etc.
  • Puerto Ethernet. Sirve para conectarse a una red de área local de manera alámbrica.
  • Pines GPIO (Entrada/Salida de Propósito General). Permiten manipular desde software distintos componentes electrónicos como LEDs, sensores, interruptores, motores, etc.
El sistema operativo de software libre Raspian, basado en la distribución Debian de Linux, es el sistema operativo oficial de la RPi. Cuenta con una interfaz gráfica de usuario (GUI) y más de 35,000 paquetes de software que pueden ser instalados de manera gratuita.


La configuración de mi RPi con todos sus dispositivos periféricos se puede apreciar en la siguiente foto:

Raspberry Pi con todos sus dispositivos periféricos.

Se puede observar que la RPi está conectada a una pequeña televisión de 7 pulgadas vía la salida de video compuesto. Utilizo uno de los puertos USB de la RPi para conectar un hub USB. En dicho hub, el cual cuenta con su propio alimentador externo, conecto el teclado y el mouse. El otro puerto USB de la RPi lo uso para un adaptador Wi-Fi que permite conectarme a Internet. Uso un cable plano y tarjeta de interfaz (breakout board) para conectar los puertos GPIO a un protoboard. Una tarjeta SD de 8 GB sirve como medio de almacenamiento. Finalmente, uso un adaptador de corriente alterna para alimentar a la RPi a través de su puerto microUSB.

Si se habilita el servidor de SSH (secure shell) de la RPi, es posible conectarse a ella de manera remota desde otras computadoras. Esto permite utilizar la RPi de manera “descabezada”, es decir, sin tener conectado un monitor, mouse o teclado, reduciendo así la cantidad de cables y dispositivos necesarios para su correcta operación. Personalmente me acomoda más usar la RPi de esta manera.

Raspberry Pi “descabezada”.

Pero, ¿para qué sirve?

No existe una manera única de utilizar una RPi, pero sus usos más comunes se resumen a continuación:
  • Computación de propósito general. La RPi se puede utilizar para navegar en Internet, ver videos y elaborar documentos usando LiberOffice.
  • Aprendizaje de programación. El propósito principal de la RPi es permitir que los niños y jóvenes aprendan a programar y a experimentar con computadoras. Raspian viene con varios intérpretes y compiladores pre-instalados. Para los principiantes trae Scratch, un lenguaje de programación gráfico elaborado en MIT. Los usuarios más avanzados pueden experimentar con Python, el lenguaje oficial de la RPi, o con otros lenguajes como C, Java, Ruby, Perl o incluso ensamblador ARM.
  • Plataforma de proyectos. La RPi no solo se distingue de una computadora regular por su tamaño y precio, sino también por su capacidad para integrarse con proyectos de electrónica del mismo estilo de los que se pueden hacer con la plataforma Arduino (de hecho, se pueden utilizar Arduino y RPi juntos).
La RPi ha sido una pieza importante en lo que se ha conocido en inglés como el “maker movement”. Este movimiento emplea las técnicas y procesos propios de la cultura de “hágalo usted mismo” para desarrollar productos tecnológicos únicos.

Los múltiples usos que puede tener una RPi.Fuente: Raspberry Pi School

En resumen, la RPi es una plataforma pequeña, económica, explorable y orientada a la educación. Definitivamente es una herramienta formidable para encausar a nuestros jóvenes y niños hacia un conocimiento más profundo sobre la computación.

Más información

  • El sitio oficial de RPi: http://www.raspberrypi.org/ (en inglés)
  • ¿Dónde puedo adquirir una RPi? Eso depende del lugar donde te encuentres. En México se puede adquirir a través de distribuidores autorizados tales como ElectronicaEstudio.com, o en algunos comercios de electrónica de la calle de República del Salvador en el Centro de la Ciudad de México, solo por mencionar algunos lugares. Adafruit.com y Amazon.com atienden pedidos internacionales, pero siempre hay que considerar los costos de envío, impuestos y restricciones aduanales de cada país. Otra opción para países de América Latina son los sitios de venta entre particulares, por ejemplo MercadoLibre.com.