¿Qué es Raspberry Pí?
En resumen, se trata de un micro ordenador, u ordenador de placa reducida (SBC), que tiene un sinfín de usos. Tanto físicos como virtuales.
Para poner un ejemplo, la mayoría de la gente lo usa para montar emuladores de consolas antiguas como la Nintendo o la PlayStation 1, y otros tantos lo utilizan para hacer controles de sistemas de riego, domótica para las casas, etc… Como he dicho antes, un sinfín de usos.
Fue desarrollado en Reino Unido por la empresa Raspeberry con el fin de ofrecer un mejor sistema de aprendizaje, y estimular la enseñanza, de la ciencia de la computación en los centros de estudios de todos los niveles.
Visto esto, comenzamos con la materia de interés.
¿Qué sistema operativo utiliza?
La pregunta correcta sería, que debo utilizar para X fin. Raspeberry, aunque cuente con un SO propio llamado Raspbian del que hablaremos ahora, puede montarse sobre ella casi cualquier distro de Linux, por no decir todas. Pero sí que es cierto, que Raspbian está totalmente enfocado para ella.
Raspbian es una distribución de Linux desarrollada por la compañia que hay detrás de Raspberry. Estamo montada sobre Debian Jessie (Debian 8) y centrada enfocada para el uso de su producto, Raspberry Pi. El fin de esta distribución es el acercamiento de los más neofitos al mundo que hay detrás el las siglas GNU/Linux, que otros conoceréis como UNIX.
Básicamente es eso, más adelante en el curso profundizaremos más ya que aprenderemos a programar sobre raspberry. Si de verdad estás interesado tienes que meter este blog en favoritos e ir mirando de vez en cuando si se ha publicado algo nuevo. Pero también tienes otra alternativa, suscribirte al «Circulo», que es una comunidad que estoy desarrollando a lo largo y ancho de esta disciplina en habla hispana.
¿Qué lenguaje de programación utiliza?
Por regla general, aunque al tratarse de un SO completo se puede utilizar cualquier otro que permita compilar en Linux como Java, usa de manera nativa Python. Es el lenguaje con el que está hecho Raspbian, incluyendo las librerías oportunas de C, y con el que se permite el mayor acceso a los sistemas físicos del dispositivo.
¡Hola, Thonny!
A parte, después de haber investigado un poco, si es que lo has hecho, tenemos a Thonny. Thonny es un nuevo entorno de desarrollo (IDE) para poder desarrollar en .py sobre nuestra Raspberry. Posé las funcionalidades de un IDE profesional como la inspección de código, la ejecución paso a paso, los coloreados, etc… que seguro que muchos conoceréis si sois desarrolladores. Pero sigue manteniendo la simplicidad de un editor de código como puede ser Notepad++. Interesante, ¿verdad?
Con este IDE de desarrollo podremos hacer que las cosas sean mucho más cómodas y manejables a partir de ahora… ¡Bienvenido Thonny!
A parte, también ha sido confirmada la inclusión de Scratch dentro de Raspbian. Esta una característica permite a los más pequeños comenzar con la computación y la robótica desde muy temprana edad al permitir el uso del GPIO que tiene la raspberry.
El GPIO, ¿Qué es?
Hablo de GPIO como si ya lo conocieras, que es posible, pero para quien no lo sabe es un poco complicado de continuar con la lectura si no saben lo que es.
Pues bien, se trata de los pines que puedes ver en la placa de la Raspberry. Estos pines nos permiten, aparte de alimentar la placa mediante ellos, manejar entrada y salida de datos de la placa en formato digital y analógico.
Para que te hagas una idea, nos permite medir los datos que nos puede ofrecer en sensor de presión atmosférica (input) o enviar datos a una pantalla led para que muestre el mensaje que nosotros queramos (ouput). ¿A qué mola?
El mismo Raspbian nos da las subrutinas para poder acceder a ellas desde nuestro código, no os preocupéis que esto lo veremos más adelante en el curso de programación que vamos a hacer detrás de este artículo.
¿Se puede desarrollar web en Python?
Esta pregunta me la han hecho varios compañeros de trabajo mientras conversábamos sobre dispositivos de este rollo.
Pues bien, sí que se puede. Pero, por lo menos en las últimas versiones que he probado, no trae incluido de serie un server LAMP. Tenemos que instalarlo a parte, pero es muy sencillo. Os enseñaré más adelante en el curso como hacerlo.
Ten en cuenta, que este tipo de servidores valen para desarrollo. No podrás montar, aunque por poder puedes, pero el rendimiento no será el óptimo, un servidor abierto al público. Aunque sí que podríamos levantar un server Minecraft que funcionase bien sobre un par de aparatitos conectados en clúster.