RASPBERRY PI

RASPBERRY PI

image001

Raspberry PI es una placa computadora (SBC) de bajo coste, se podría decir que es un ordenador de tamaño reducido, del orden de una tarjeta de crédito, desarrollado en el Reino Unido por la Fundación Raspberry PI (Universidad de Cambridge) en 2011, con el objetivo de estimular la enseñanza de la informática en las escuelas, aunque no empezó su comercialización hasta el año 2012.

El concepto es el de un ordenador desnudo de todos los accesorios que se pueden eliminar sin que afecte al funcionamiento básico. Está formada por una placa que soporta varios componentes necesarios en un ordenador común y es capaz de comportarse como tal.

A la raspberry Pi la han definido como una maravilla en miniatura, que guarda en su interior un importante poder de cómputo en un tamaño muy reducido. Es capaz de realizar cosas extraordinarias.

 

El diseño de la Raspberry Pi incluye:

–          Un Chipset Broadcom BCM2835, que contiene un procesador central (CPU) ARM1176JZF-S a 700 MHz (el firmware incluye unos modos Turbo para que el usuario pueda hacerle overclock de hasta 1 GHz sin perder la garantía),

–          Un procesador gráfico (GPU) VideoCore IV

–          Un módulo de 512 MB de memoria RAM (aunque originalmente al ser lanzado eran 256 MB).

–          Un conector de RJ45 conectado a un integrado lan9512 -jzx de SMSC que nos proporciona conectividad a 10/100 Mbps

–          2 buses USB 2.0

–          Una Salida analógica de audio estéreo por Jack de 3.5 mm.

–          Salida digital de video + audio HDMI

–          Salida analógica de video RCA

–          Pines de entrada y salida de propósito general

–          Conector de alimentación microUSB

–          Lector de tarjetas SD

image003

2.     Historia

 

Este proyecto fue ideado en 2006 pero no fue lanzado al mercado febrero de 2012. Ha sido desarrollado por un grupo de la Universidad de Cambridge y su misión es fomentar la enseñanza de las ciencias de la computación los niños. De hecho, en enero de este año Google donó más de 15.000 Raspberry Pi para colegios en Reino Unido. La Raspberry Pi, es una excelente herramienta para aprender electrónica y programación

Los primeros diseños de Raspberry Pi se basaban en el microcontrolador Atmel ATmega644. Sus esquemas y el diseño del circuito impreso están disponibles para su descarga pública.

 

En mayo de 2009, la Fundación Raspberry Pi fue fundada en Caldecote, South Cambridgeshire, Reino Unido como una asociación caritativa que es regulada por la Comisión de Caridad de Inglaterra y Gales.

La fundación Raspberry Pi surge con un objetivo en mente: Desarrollar el uso y entendimiento de los ordenadores en los niños. La idea es conseguir ordenadores portables y muy baratos que permitan a los niños usarlos sin miedo, abriendo su mentalidad y educándolos en la ética del “ábrelo y mira cómo funciona”. El ideólogo del proyecto, David Braven, un antiguo desarrollador de videojuegos, afirma que su objetivo es que los niños puedan llegar a entender el funcionamiento básico del ordenador de forma divertida, y sean ellos mismos los que desarrollen y amplíen sus dispositivos. El co-fundador de la fundación es Eben Upton, un antiguo trabajador de la empresa Broadcom, el cual es el responsable de la arquitectura de software y hardware de la raspberry pi.

Eben Upton, se puso en contacto con un grupo de profesores, académicos y entusiastas de la informática para crear un ordenador con la intención de animar a los niños a aprender informática como lo hizo en 1981 el ordenador Acorn BBC Micro.

La fundación da soporte para las descargas de las distribuciones para arquitectura ARM, Raspbian (derivada de Debian), RISC OS y Arch Linux; y promueve principalmente el aprendizaje del lenguaje de programación Python, y otros lenguajes como Tiny BASIC, C y Perl.

image005

EBEN UPTON

El primer prototipo basado en ARM fue montado en un paquete del mismo tamaño que una memoria USB. Tenía un puerto USB en un extremo y un puerto HDMI en el otro.

En agosto de 2011, se fabricaron cincuenta placas Alpha del modelo inicial, el Model A (o modelo A). En diciembre de 2011, 25 placas Beta del modelo B fueron ensambladas y probadas de un total de 100 placas vacías.

Durante la primera semana de diciembre de 2011, se pusieron a subasta diez p lacas en eBay. Debido al anticipado anuncio de puesta a la venta a final de febrero de 2012, la fundación sufrió colapso en sus servidores web debido a los refrescos de páginas desde los navegadores de gente interesada en la compra de la placa.

El primer lote de 10.000 placas se fabricó en Taiwány China, en vez de Reino Unido, con esto se conseguía un abaratamiento en los costes de producción y acortar el plazo de entrega del producto, ya que, los fabricantes chinos ofrecían un plazo de entrega de 4 semanas y en el Reino Unido de 12. Con este ahorro conseguido, la fundación podía invertir más dinero en investigación y desarrollo.

Las primeras ventas comenzaron el 29 de febrero de 2012 (Modelo B). Las dos tiendas que vendían las placas, Premier Farnell y RS Components, tuvieron una gran carga en sus servidores inmediatamente después del lanzamiento. En los seis meses siguientes llegarían a vender  500.000 unidades.

El 16 de abril de 2012 los primeros compradores empezaron a informar que habían recibido su Raspberry Pi. El 22 de mayo de 2012 más de 20.000 unidades habían sido enviadas.

El 6 de septiembre se anunció que se llevaría la producción de placas al Reino Unido, a una fábrica de Sony y que en ella se producirían 30.000 unidades cada mes, y se crearían 30 nuevos puestos de trabajo.

El 4 de febrero de 2013, se lanzó el modelo A, que venía con solo 256Mb de RAM y sin puerto ethernet a un precio más asequible que el modelo B.

 

3.     HARDWARE

 image007 image009

                MODELO A                                                MODELO B

 

Actualmente existen 2 modelos diferentes de Raspberry Pi. El primero, el modelo A, se diferencia del modelo B, en que tiene un solo tiene un puerto USB, carece de controlador Ethernet, tiene 256MB de RAM por los 512MB del otro modelo  y por supuesto cuesta menos que el modelo B, el cual tiene dos puertos USB y controlador Ethernet 10/100. A pesar que el Modelo A no tiene un puerto RJ45, se puede conectar a una red usando un adaptador USB-Ethernet suministrado por el usuario.

 

 SoC (ARM vs X86)

El procesador en el interior de su Raspberry Pi es un procesador multimedia Broadcom BCM2835 system-on-chip (SoC). Esto quiere decir que la mayor parte de los componentes del sistema, incluidos la CPU y la GPU junto con el audio y el hardware de comunicaciones, se encuentran integrados dentro de aquel único componente oculto ubicado justo debajo del chip de la memoria de 512 MB en el centro de la placa. No es sólo el diseño del SoC lo que hace al BCM2835 diferente del procesador de un PC o portátil. Lo que lo hace también diferente es que utiliza una arquitectura de conjunto de instrucciones distinta, conocida como ARM.

CPU

La CPU Contiene un ARM1176JZFS, con unidad de coma flotante, que funciona a 700Mhz y es capaz de soportar overclock a 1GHZ en modo “TURBO” que hace que el SoC de más rendimiento sin reducir el tiempo de vida de la placa y sin perder la garantía. La CPU está basada en la versión 6 de la arquitectura ARM, la cual no es soportada por una gran cantidad de distribuciones Linux, incluyendo Ubuntu.

GPU

La GPU utilizada es una  Dual Core VideoCore IV Multimedia Co-Processor. Es capaz de mover contenidos con calidad Bluray, usando H.264 hasta 40MBits/s. Dispone un núcleo 3D con soporte para las librerías OpenGL ES2.0 y OpenVG. Es capaz de decodificar 1080p30.

RAM

La memoria RAM es de 512MB de SDRAM (en su modelo B), en un único módulo, el cual, funciona a 400Mhz en su modo normal y alcanzando los 600Mhz en su versión “TURBO”.

Almacenamiento

La  Raspberry Pi no tiene un disco duro tradicional, para ello dispone de un lector/ranura para memorias SD, un sistema de almacenamiento en estado sólido. El arranque del sistema se hará desde la propia tarjeta SD, con lo que debido a que tiene que albergar todo el sistema operativo, es necesario que la tarjeta sea de al menos 2 GB de capacidad para almacenar todos los archivos requeridos.

Están disponibles Tarjetas SD con el sistema operativo precargado en la tienda oficial de la Raspberry Pi, si no es así  para poder arrancar el S.O. será necesario primero instalar (flashear) un sistema operativo en la tarjeta antes de poder trabajar con ella. Tras el arranque inicial de la SD se puede trabajar con almacenamiento de algún dispositivo de disco por USB.

Salidas Video

Para la salida de video la Raspberry posee un Conector RCA o Video Compuesto (PAL y NTSC), un conector HDMI (rev 1.3 y 1.4) y una Interfaz DSI para paneles LCD.

El video compuesto está diseñado para conectar la Raspberry Pi a los antiguos dispositivos de pantalla. Como su nombre lo indica, el conector crea una compuesto de colores que se encuentran dentro de una imagen (rojo, verde y azul) y lo envía por un sólo cable al dispositivo de visualización, comúnmente las viejas TV de tubo de rayos catódicos (CRT). La calidad, sin embargo, no será la mejor. Las conexiones de video compuesto son significativamente más propensas a la interferencia, faltas de claridad y funcionan a una resolución limitada.

Una mejor calidad de imagen puede obtenerse usando el conector HDMI (High Definition Multimedia Interface). A diferencia de la conexión analógica de video compuesto, el puerto HDMI proporciona una conexión digital de alta velocidad para mostrar imágenes de píxeles perfectos tanto en monitores de PC como en televisores de alta definición. Al utilizar el puerto HDMI, la Rasberry Pi puede desplegar imágenes a la resolución de 1920×1080 Full HD. A esta resolución, el detalle sobre la pantalla es significativamente superior.

La última salida de video que tiene la Raspberry es la conocida como Display Serial Interface (DSI), que se utiliza en los monitores de pantalla plana de las tablets y los smartphones.

Salidas Audio

Para la salida de audio posee un conector de audio Jack de 3,5mm, además del propio HDMI. Si se está usando el puerto HDMI de la Raspberry Pi, obtener el audio es sencillo: cuando está configurado apropiadamente, el puerto HDMI transporta ambas señales, la de video y la de audio. Esto significa que conectando un  único cable a la pantalla es suficiente para sacar video y audio. Si el display no tiene entrada HDMI se tendría que utilizar la salida de audio Jack.

Bus USB

El modelo B posee 2 puertos USB 2.0 (vía hub USB integrado), por 1 solo puerto del modelo A.

Tarjeta de red

Tenemos a nuestra disposición un conector RJ-45 conectado a un integrado lan9512 -jzx de SMSC que nos proporciona conectividad a 10/100 Mbps.

Es posible conectar la raspberry directamente a un PC sin pasar por un router

conectando ambos equipos de manera directa con un cable RJ45, sin tener que utilizar un cable cruzado, ya que el conector de red incluye una característica conocida como auto-MDI, lo que le permite reconfigurarse automáticamente.

 

Los modelos actuales de la Raspberry Pi no cuentan con la característica integrada para gestionar redes inalámbricas, pero (igual que con el cable Ethernet añadido en el Modelo A) es posible añadir soporte Wi-Fi a cualquier Raspberry utilizando un adaptador USB para red inalámbrica (incluyendo las del estándar 802.11n).

Pines de entrada y salida de propósito general (Conector GPIO)

Posee un conector de GPIO de 8 pines, sin un propósito específico, cuyo comportamiento (incluyendo si es un pin de entrada o salida) se puede controlar (programar) por el usuario en tiempo de ejecución.

Energía y Alimentación

La placa carece de botón de encendido y apagado, con lo que la energía le llega mediante un conector microUSB estándar de 5V. El consumo de la placa es de 700mA, (3,5W).

Muchos cargadores diseñados para smartphones funcionarán con la Raspberry Pi, pero no todos, ya que, algunos solo suministran hasta 500mA y la raspberry consume más energía que la mayoría de los dispositivos micro-USB y requiere de al menos 700mA para funcionar.

(ARM vs X86)

Desarrollada por Acorn Computers años atrás a finales de 1980, la arquitectura ARM es relativamente poco conocida en el mundo de las computadoras de escritorio. En donde destaca, sin embargo, es en los dispositivos móviles: el teléfono de vuestro bolsillo es casi seguro que cuenta con al menos un núcleo de procesamiento basado en ARM escondido en su interior.

La combinación de la arquitectura RISC (Simple Reduced Instruction Set) y su bajo consumo energético lo convierten en la opción perfecta frente a los chips de computadoras de escritorio que demandan altos consumos y arquitecturas CISC (Complex Instruction Set).

El BCM2835 basado en ARM es el secreto que explica cómo la Raspberry Pi es capaz de funcionar con tan sólo una fuente de alimentación de 5V 1A suministrada por el puerto micro-USB a bordo. Es también la razón por la cual no hay ningún disipador térmico sobre el dispositivo: el bajo consumo de energía del chip se traduce directamente en muy poco calor residual, incluso durante las tareas de procesamiento más complejas.

Todo esto, sin embargo, significa que la Raspberry Pi no es compatible con el software de los PC tradicionales. La mayoría del software para  ordenadores de escritorio y portátiles se construyen teniendo en cuenta la arquitectura de conjunto de instrucciones x86, presente en los procesadores como AMD, Intel y VIA. Por consiguiente, este software no funciona en la Raspberry Pi que se basa en la arquitectura ARM.

El BCM2835 utiliza una generación del diseño del procesador ARM conocida como ARM11, que a su vez está diseñada en torno a una versión de la arquitectura de conjunto de instrucciones conocida como ARMv6. Vale la pena recordar que ARMv6 es una arquitectura ligera y potente, pero tiene un rival en la arquitectura más avanzada, el ARMv7 utilizada por la familia de procesadores ARM Cortex. El software desarrollado para la ARMv7, al igual que el desarrollado para la x86, es por desgracia incompatible con el BCM2835 de la Raspberry Pi, aunque los desarrolladores generalmente pueden convertir el software para adecuarlo.

Esto no quiere decir que vaya a estar limitada en sus opciones. Como se descubrirá más adelante, hay un montón de software disponible para el conjunto de instrucciones ARMv6, y en tanto que la popularidad de la Raspberry Pi sigue aumentado, el software disponible va a seguir creciendo.

image013

Procesador ARM

S.O. soportados (Linux vs Windows/OS X)

Otra diferencia importante entre la Raspberry Pi y el PC de escritorio o portátiles, aparte de su tamaño y su coste, es el sistema operativo (el software que permite controlar el ordenador) que utiliza.

La mayoría de los PCs y portátiles disponibles hoy en día funcionan con alguno de estos dos sistemas operativos: Microsoft Windows o Apple OS X. Ambas plataformas son de código cerrado, creados en un ambiente reservado utilizando técnicas patentadas. Estos sistemas operativos son conocidos como de código cerrado por la naturaleza de su código fuente, es decir, la receta en lenguaje de computadora que le dice al sistema que hacer. En el software de código cerrado, esta receta es mantenida como un secreto muy bien guardado. Los usuarios  pueden obtener el software terminado, pero nunca ver cómo está hecho.

La Raspberry Pi, por el contrario, está diseñada para ejecutar el sistema operativo GNU/Linux. A diferencia de Windows u OS X, Linux es de código abierto. Esto quiere decir que es posible descargar el código fuente del sistema operativo por completo y hacer los cambios que uno desee. Nada es ocultado, y todos los cambios hechos están a la vista del público. Este espíritu de desarrollo de código abierto ha permitido a Linux rápidamente ser modificado para poder ejecutarse sobre la Raspberry Pi, un proceso conocido como portabilidad.

Varias versiones de Linux (conocidas como distribuciones) han sido portadas al chip BCM2835 de la Raspberry Pi, incluyendo Debian, Fedora Remix y Arch Linux. Las distintas distribuciones atienden diferentes necesidades, pero todas ellas tienen algo en común: son de código abierto. Además, por lo general, todas son compatibles entre sí: el software escrito en un sistema Debian funcionará perfectamente bien en uno con Arch Linux y viceversa.

Igual que con la diferencia entre la arquitectura ARM y la x86, hay un punto clave que hace la diferencia práctica entre Windows, OS X y Linux: el software escrito para Windows u OS X no funciona en Linux. Afortunadamente, hay un montón de alternativas compatibles para la gran mayoría de los productos de software comunes y lo mejor, casi todos son de libre uso y de código abierto como lo es el propio sistema operativo.

Actualmente existen todos los siguientes S.O. compatibles, ya sean S.O. completos o versiones modificadas/portadas, que funcionan perfectamente en el dispositivo Raspberry Pi:

Sistemas operativos completos:

–          Linux :

–          RISC OS 52

–          Unix:

 

Distribuciones ligeras multipropósito:

–          Moebius, distribución ligera ARM HF basada en Debian que usa el repositorio de Raspbian y que cabe en una tarjeta SD de 1GB, usa pocos servicios y está optimizada para usar poca memoria.

–          Squeezed Arm Puppy, una versión de Puppy Linux (Puppi) para ARMv6 (sap6) específicamente para Raspberry Pi108

–          Minibian, distribución ligera basada en Raspbian.

 

Distribuciones ligeras de único propósito:

–          Instant WebKiosk, sistema operativo con solo un navegador

–          IPFire

–          Micro Elastix, solución de código abierto para comunicaciones unificadas109

–          OpenELEC (Multimedia)

–          Raspbmc (Multimedia)

–          Xbian (Multimedia)

 

 

 

4.     FUNCIONAMIENTO

 

4.1.          Instalación y configuración

4.1.1.   Instalando el S.O. en la SD (Herramienta NOOBS)

 

Para instalar un S.O. para la raspberry, debemos emplear otro equipo, en el que hayamos descargado la imagen del Sistema Operativo y que tenga un lector de tarjetas SD, que son la mayor parte, y poder así instalar el S.O. sobre una tarjeta SD.

La forma de instalación es muy sencilla desde hace algún tiempo, ya que simplemente descargando un software desarrollado por la fundación llamado NOOBS (New Out Of Box Software), de su página oficial y copiándolo en la tarjeta SD es suficiente para empezar la instalación del S.O. En los casos de los S.O. Windows y MAC OS X, es necesario previamente haber formateado la SD con la herramienta oficial de la Asociación SD (SD assocciation’s formating tool). En el caso de hacerlo con Linux, se usaría la herramienta gparted.

Además NOOBS hace innecesario el acceso a Internet durante la instalación, y tan solo tendremos que descargar NOOBS y descomprimirlo en una tarjeta SD de al menos 4 GB de capacidad. Al hacerlo se nos dará la opción de instalar soluciones como Raspbian, Arch Linux, RaspBMC, el recién salido Pidora u OpenELEC sin problemas. La instalación permitirá más tarde iniciar nuestro Raspberry Pi de forma normal con esa nueva distribución, pero NOOBS quedará residente en memoria (recovery partition) y podremos acceder a esta aplicación siempre que queramos mediante la pulsación de la tecla Shift durante el proceso de arranque.

[youtube]http://www.youtube.com/watch?v=TyFDaMpdh2c&feature=player_detailpage[/youtube]

Video explicativo de la herramienta NOOBS

 

Otra forma sencilla de hacerlo es la siguiente:

Si el equipo tiene Windows,  necesitamos descargar el software gratuito “Win32 Disk Imager”. En Image File seleccionamos el fichero que contenga la imagen del Sistema Operativo, en Device debemos asegurarnos que escogemos la unidad correcta asociada a la tarjeta SD y mediante el botón Write realizamos el volcado.

image017

La herramienta Win32 Disk Imager

Una vez finalizado este proceso, ya podemos insertar la tarjeta en Raspberry Pi y trabajar.

Si utilizamos Linux, una alternativa puede ser mediante el comando dd ejecutado como root, donde especificaremos  mediante el argumento if la ubicación de la imagen y mediante of la tarjeta SD.

 

4.1.2.   Instalando y configurando el S.O. (Raspbian)

 

El S.O. por excelencia de la Raspberry PI es Raspbian. Raspbian es un S.O. libre basado en la distribución de Linux conocida como Debian, pero optimizada para el hardware de la Raspberry PI, es decir, una Debían pero optimizada para arquitectura ARMv6 con soporte de coma flotante por hardware. La fundación Raspberry PI desde hace un tiempo produce y distribuye su propia versión de Raspbian que se puede descargar desde su propia página oficial.

Link: http://www.raspberrypi.org/downloads

Raspbian no es el único sistema operativo disponible para el Raspberry Pi. De hecho, originalmente el sistema operativo recomendado para el Raspberry Pi era Fedora de Red Hat, sin embargo en poco tiempo Raspbian fue capaz de desplazar Fedora y convertirse en el sistema operativo recomendado para el Raspberry Pi. Sin embargo hace muy poco ha salido a la luz Pidora, una distribución basada en Fedora y Arch Linux, que funcionan tan bien como Raspbian. Usaremos éste último a modo de ejemplo de instalación y configuración.

 

Una vez realizado el volcado del Sistema en la tarjeta SD, se debe proceder a su inserción en Raspberry Pi y conexión a la corriente (cargador microUSB) para poder trabajar. El proceso se puede hacer desde la raspberry PI, conectándola previamente a una pantalla o TV, además de un teclado y ratón, o bien el proceso se puede hacer desde otro ordenador, conectándose por protocolo SSH a la raspberry (el cual por defecto está activo). Para éste último método, evidentemente habrá que conectar la raspberry por Ethernet, bien al router o bien directamente al ordenador, para poder hacer establecer la conexión por SSH.

 

La primera pantalla que se presenta la primera vez que se enciende Raspberry Pi, permite configurar el Sistema Operativo. Esta configuración se puede realizar en este momento o más adelante, mediante el comando raspi-config.)

 image018

Pantalla de configuración Inicial de Raspbian

 

En un primer paso, es necesario “expandir” la partición de root a toda la tarjeta SD, con ello logramos utilizar todo el espacio de la tarjeta SD.

Una vez hecho esto se procede a configurar una serie de parámetros, al gusto ya eso sí, del usuario, bastante comunes a cualquier distribución de Linux. Explico algunos de los más comunes y básicos como pueden ser:

 

–          Configurar un teclado: Siempre y cuando vayamos a usar un teclado con nuestra raspberry.

–          Change Pass: El usuario y la contraseña por defecto de Raspbian, que es “PI” y “raspberry”, por defecto.

–          Configuración de los locales y de la zona horaria: Como en cualquier instalación de S.O. permite cambiar la zona horaria y los locales para configurar idioma, uso del teclado en zona local, moneda, etc. Si cambiamos la zona local a España, los menús aparecerán en castellano.

–          Overscan: Tamaño de la pantalla/display a utilizar

–          SSH: Activar o desactivar el protocolo SSH, que por defecto viene activo.

–          Update: Para actualizar Raspbian y los paquetes que vienen ya en él (Obviamente hay que tener la Raspberry conectada por ethernet).

image019

Configurando la zona horaria y Locales de Raspbian

 

–          Overclock: Como ya hemos comentado anteriormente, la Raspberry Pi viene por defecto configurada para funcionar a 700Mhz, pero es posible hacerle un overclock para poderle sacar más rendimiento, sin perder la garantía. Es decir, la fundación raspberry nos garantiza que la placa funcionará hasta a 1Ghz en su CPU y hasta 600Mhz su memoria RAM sin ningún tipo de problemas.

Con El modo “Turbo”, según las pruebas realizadas, el Raspberry Pi es un 52% más rápido en operaciones con enteros, un 64% más rápido en operaciones en coma flotante y un 55% más rápido en tareas relacionadas con la gestión de memoria.

 image023

 Opción overclock de Raspi-Config

 

Si usamos la Raspberry por SSH, evidentemente  no entorno gráfico, pero si la usamos en local, mediante un teclado y un ratón si accederemos al entorno gráfico o de escritorio. Como en cualquier distribución Linux, directamente si ejecutamos startx. Podemos hacer que lo haga automáticamente mediante el menú boot_behaviour.

 

 

Entorno Grafico LXDE

 image025

Modo escritorio de Raspbian conocido como LXDE

 

LXDE es un entorno de escritorio de código abierto (open source) licenciado bajo la GPL para Unix y otras plataformas POSIX compatibles, como Linux. LXDE es la solución de escritorio en ahorro de energía y velocidad extrema. Trabaja bien con CPUs de bajo rendimiento, como es en nuestro caso la Raspberry PI. Proporciona una experiencia de escritorio rápido conectando fácilmente con aplicaciones de internet y soporta una gran cantidad de programas. LXDE soporta muchas arquitecturas de procesador como Intel, MIPS and ARM.

El Proyecto LXDE comenzó en el 2006 cuando Hong Yen Jee de Taiwán, conocido como PCMan, publicó el primer componente PCMan File Manager. Al día de hoy el equipo de LXDE se ha convertido en una comunidad internacional de desarrolladores, diseñadores y colaboradores de todo el mundo.

Software Incluido en Raspbian

La distribución viene con algunas aplicaciones pre-instaladas como los navegadores Midori , Dillo y NetSurf. Además contiene herramientas de desarrollo como IDLE para el lenguaje de programación Python o Scratch, y diferentes ejemplos de juegos usando los módulos Pygame. Destaca también el menú «raspi-config» que permite configurar el sistema operativo sin tener que modificar archivos de configuración manualmente y el wifi-config, el cual permite configurar redes inalámbricas si usamos un receptor wifi usb.

El 17 de diciembre de 2012, junto a la versión 2012-12-16-wheezy-raspbian de Raspbian, se lanzó la tienda de aplicaciones «Pi Store», que en el momento de salida incluía desde aplicaciones como LibreOffice o Asterisk, a juegos como Freeciv u OpenTTD. En esta plataforma se puede poner a disposición de todos los usuarios de Raspbian, mediante moderación y posterior lanzamiento, contenidos gratuitos o de pago, como archivos binarios, código python, imágenes, audio o vídeo. Además se quiere incluir documentación acerca del Raspberry Pi como la revista MagPi y tutoriales de proyectos.

[youtube]http://www.youtube.com/watch?v=oanHbJq9YkI&feature=player_detailpage[/youtube]

Escritorio de Raspbian en funcionamiento

 

5. PYTHON Y RASPBERRY

Python es el lenguaje de programación que es recomendado por los fundadores de la Raspberry Pi, ya que al ser un lenguaje de programación de alto nivel, es un lenguaje de sintaxis sencilla y clara que puede venir bien en los temas de educación. Otra de las razones, por las cuales fue adoptado como lenguaje de programación que utiliza la Raspberry Pi para aprender a programar, ha sido la gran documentación y herramientas que tiene, además como ya habíamos comentado es muy fácil de aprender.

Es un lenguaje interpretado o de script, fuertemente tipado y dinámico, es multiplataforma y es orientado a objetos. Además, es un lenguaje bastante potente y con muchas librerías que nos ayudan a realizar casi cualquier cosa.

 

Python viene instalado en la distribución Raspbian, al igual que IDLE, un entorno de desarrollo de desarrollo integrado para programar en lenguaje Python.

image029

IDLE viene instalado en la mayoría de distribuciones para Raspberry

 

 

 

6.     PROYECTOS RASPBERRY

 

LA COMUNIDAD DE RASPBERRY PI

Una de los principales éxitos de Raspberry PI, viene por la enorme comunidad de desarrollo que tiene detrás de ella. El ser una pionera en su campo y su bajo costo, junto con su minúsculo tamaño y su soporte oficial le han hecho ser la favorita de muchos gente que quiere iniciarse en el aprendizaje, la experimentación y el desarrollo de proyectos científicos, basados en la informática y la programación.

Se trata de un hardware capaz de facilitar la puesta en marcha de las ideas de miles de programadores aficionados, estudiantes y profesionales. Constantemente aparecen nuevos usos, proyectos desinteresados, soporte gratuito por parte de una comunidad muy activa y entusiasta… sus usuarios la utilizan como Media Center de salón –reproduce vídeo Full HD–, para correr emuladores de máquinas árcade o consolas clásicas, para montar un NAS, para jugar títulos como Quake 3 o versiones adaptadas de juegos como Minecraft, para proyectos de robótica, de domótica… y por supuesto, para programar, claro está. Internet está lleno de documentación y usuarios para solventar cualquier duda.

Desde mayo de 2012 es publicada mensualmente una revista gratuita llamada MagPi, que se dedica divulgar información acerca del Raspberry Pi, e incluye proyectos que se pueden desarrollar con él y cursos de programación de diferentes lenguajes.

image031

Portada de una edición de la revista MagPi

Todo esto ha hecho que en los últimos 2 años, muchos usuarios de raspberry PI hayan dado rienda suelta a su imaginación y hayan salido a la luz números proyectos muy interesantes, de los cuales hablaremos de alguno más adelante. También vamos a detallar cuáles son sus usos más comunes.

 

 

6.1. RASPBERRY PI Y LA ELETRONICA DIGITAL

Una de las grandes bondades de la Raspberry PI, es su puerto GPIO, puertos de entrada-salida programables que pueden ser controlados por el usuario, vamos que podemos aplicar 0 ó 1 cuando nos plazca, además claro está, poder leer en qué estado se encuentran los mismos. Así pues es posible conectarle todo tipo de dispositivos para realizar pruebas y prácticas de electrónica digital, como pueden ser, diodos LED, displays, LCD, relés, etc.

 image033

Raspberry PI conectada a un display de 7 segmentos

Una de las formas de programar el puerto GPIO de la raspberry más utilizado y sencillo, es hacer por medio de QT creator. Qt es una biblioteca multiplataforma ampliamente usada para desarrollar aplicaciones con interfaz gráfica de usuario,  como herramientas para la línea de comandos y consolas para servidores.

image035

Interfaz de QT creator

Pero también es posible controlar el puerto GPIO por ejemplo, directamente con python si no necesitamos ninguna interfaz gráfica, las librerías (python) para el control del puerto GPIO vienen ya pre-instaladas en el sistema operativo Raspbian.

image038Ejemplo de código de control de un Display por puerto GPIO en Python.

Otro de los usos prácticos raspberry más pretendidos, es el control domótico del hogar. Un ejemplo se puede ver en esta web, donde su creador nos enseña cómo hacer un proyecto domótico con la Rasberry, con unos cuantos cables, relés, leds y resistencias. Todo ello controlado con un programa escrito en python.

Link:  http://chemise23.wordpress.com/2013/09/19/domotica-con-raspberry/

 image039Proyecto domótico usando una raspberry

1.2. SERVIDOR WEB Y NAS

 El bajo consumo y precio de la Raspberry Pi convierten al dispositivo en una forma ideal de montar un NAS casero, que si bien no tendrá el rendimiento de productos creados específicamente para realizar dicha función, sí que nos ofrecerá una solución totalmente funcional para centralizar archivos dentro de nuestra red local.

Simplemente instalando y configurando un servidor samba en nuestro S.O. de la raspberry, creando carpetas de usuarios y dando permisos, tendríamos la Raspberry lista para compartir y administrar archivos. Para ello tendremos conectada a la Raspberry por usb un disco externo, que nos hará de almacenamiento.

Además como cualquier ordenador, es posible configurarlo para hacerlo funcionar como servidor web, con la ventaja de su reducido tamaño y su bajo consumo, lo cual es ideal para tenerlo todo el día funcionando. Incluso podríamos instalar wordpress. Para ello necesitaríamos instalar 6 elementos principales:

–          Acceso SSH (para administrar remotamente)

–          Apache (servidor)

–          PHP (para las páginas dinámicas)

–          MySQL (base de datos)

–           phpMyAdmin (para administrar fácilmente las bases de datos)

–          Cliente de DDNS (para mantener actualizada la IP de casa).

 

1.3.          XBMC o COMO USAR TU RASPBERRY COMO CENTRO MULTIMEDIA

Probablemente él uso más popular y extendido de la raspberry PI, es el de usarla como centro multimedia, en parte gracias a XBMC y a su facilidad de uso e instalación. Para hablar de este proyecto, es indispensable comentar antes, aunque sea brevemente, que es XBMC.

XBMC (también conocido como «Xbox Media Center») es un centro multimedia de entretenimiento multiplataforma bajo la licencia GNU/GPL. Inicialmente fue creado para la primera generación de la videoconsola Xbox. Sin embargo, el equipo de desarrollo de XBMC ha portado el producto para que pueda correr de manera nativa en Linux, Mac OS X (Leopard, Tiger y Apple TV), los sistemas operativos de Microsoft Windows y en la consola Ouya.

XBMC soporta una amplia gama de formatos multimedia, e incluye características tales como listas de reproducción, visualizaciones de audio, presentación de diapositivas, reportes del clima y ampliación de funciones mediante
plug-ins. A través de su sistema de plug-in basado en Python, XBMC es expansible gracias a add-ons que incluyen características como guías de programas de televisión, YouTube, soporte a adelantos en línea de películas,o Podcast. XBMC en su conjunto se distribuye bajo la licencia GNU, es un proyecto hobby que sólo es desarrollado por voluntarios en su tiempo libre. No es producido, aprobado, o respaldado por Microsoft u otro vendedor.

Al estar portado para correr en Linux, XBMC es posible utilizarlo con cualquier S.O. y distribución de Raspberry PI. Pero lo interesante es que existen 3 distribuciones, las cuales vienen modificadas y personalizadas para que carguen XBMC directamente y sin ninguna dificultad adicional, como si fuera un Media Center comprado para ello. Las 3 distribuciones son: Openelec, Raspbmc y Xbian. Las 3 son muy parecidas y sirven para el mismo propósito, usar Raspberry como servidor multimedia usando XMBC. Ninguna de las 3 distribuciones, a pesar de estar basadas en debían, poseen entorno gráfico como Raspbian, el entorno que utilizan es el de XBMC.

image043     Raspbmc corriendo XBMC en una Rasberry

Estas distribuciones para Raspberry, llevan preinstalado el protocolo CEC-HDMI (Consumer Electronics Control), que es un protocolo que usa el estándar AV Link para permitir funciones de control remoto a través del mismo cable HDMI. Es un bus serie de doble sentido en cable único y que se encuentra definido en la especificación HDMI 1.0. Esto quiere decir, que si el televisor lo soporta (la gran mayoría de las nuevas TV lo incorpora), podemos controlar la Raspberry PI con el mando a distancia del Televisor, sin necesidad así, de ratón ni teclado.

La reproducción del contenido multimedia, es posible hacerla tanto en local, si los archivos se encuentran en la SD junto al S.O. o en un disco externo conectado por usb, o bien, por streaming, si tenemos otro dispositivo de disco, ya sea PC, NAS, etc, conectado a la misma red gracias al protocolo DLNA, o porque tenemos otro server multimedia como PLEX instalado en un PC con contenido multimedia.

Al disponer de código abierto, la comunidad que hay detrás de este tipo de proyectos desarrolla continuamente una serie de plugins y addons, que añaden nuevas funcionalidades, como ver la TV online, ver videos de youtube, servidores P2P, scrappers para descargar caratulas e información de los archivos multimedia y así un largo etc.

[youtube]http://www.youtube.com/watch?v=Nt1zgSLCUQM&feature=player_detailpage[/youtube]

 

7.     ACCESORIOS / PERIFERICOS

Gracias al éxito y las ventas Raspberry PI, numerosos periféricos y carcasas son comercializados por empresas ajenas a la fundación.

Por ejemplo la Gertboard, que ha sido creada con propósito educativo, sirve para hacer uso del puerto GPIO y poder interaccionar con LEDs, interruptores, señales analógicas, sensores, y otros dispositivos. También incluye un controlador opcional para Arduino para poder interaccionar con el Raspberry Pi.

Muchos fabricantes ofrecen carcasas de todo tipo, que se pueden comprar en tiendas online por todo internet, para proteger la Raspberry y no dejarla como una placa desnuda.

image048

Carcasa tranparente para Raspberry PI

 

En noviembre del 2012, se presentó un módulo de cámara para Raspberry PI, con un sensor de 5 megapixels y que podría grabar vídeo a 1080p H.264 a 30 fotogramas por segundo.  Finalmente el módulo se puso a la venta el 14 de mayo de 2013 en los principales proveedores. Más tarde, a finales de octubre de 2013 se puso a la venta también, un módulo de cámara de infrarrojos. La cámara. Al igual que la placa, viene sin carcasa protectora.

image049

       Cámara para Raspberry PI

También es posible aumentar las capacidades de Raspberry PI comprando  placas de expansión. Se conectan al al socket de la Raspberry Pi. Una serie de pines en la placa se utilizan para configurar la placa según las necesidades, ya sea para detectar pulsadores, voltajes analógicos, controlar motores o relés por ejemplo. Estas placas ofrecen mucho potencial para sacarle mas partido a Raspberry Pi.

 image051

PIaca de expansión Getboard para Raspberry PI

 Además la reciente aparición de Raspberry Pi ha supuesto una auténtica revolución para proyectos que necesitan mucha potencia y complejidad, como puede ser hacer pequeños robots. La Raspberry dispone de un conector que permite conectarle hardware externo pero no permite conectar directamente motores. Eso es precisamente lo que hace esta placa, la RaspiRobot,permite conectar hasta 2 motores de corriente continua de forma fácil y rápida convirtiendo Raspberry Pi en una potente controladora de robots.

image053

Placa RaspiRobot para Raspberry PI

 

8.     DONDE COMPRAR RASPBERRY PI Y ACCESORIOS

 

El modelo B de Raspberry Pi se puede comprar en multitud de tiendas, si bien las recomendadas desde la página oficial de «Raspberry Pi» son Farnell (Element I4), Rs-Online y Think Allied, con un precio aproximado de 33 €. A este precio hay que sumarle los gastos de envío y algo que no tiene precio, el tiempo, sobre 2 ó 3 semanas.

Actualmente hay otras alternativas como Ebay o Amazon. Se puede incluso comprar el dispositivo con un kit básico que incluye además de la Raspberry Pi, una tarjeta SD, cargador microUSB, cable HDMI y caja de metacrilato. El precio final es de unos 55 € por el Kit completo

  image055

Actualmente, hay vendedores en España bastante competitivos como puede ser la tienda Meya en Madrid, que vende online para todo el territorio español.

http://www.tienda.meya.es/es/3-raspberry-pi

Es recomendable realizar las compras en este tipo aquí en España, por si surge algún problema.

 

 

9.     ALTERNATIVAS A RASPBERRY PI

 

Raspberry no está sola, el éxito de esta placa no ha pasado desapercibido y eso hace que otros fabricantes y desarrolladores hayan sacado al mercado otras placas de desarrollo similares y en algunos casos con incluso con mejor hardware.

 

CUBIEBOARD

 

Probablemente la mayor competidora de Raspberry PI. Cubieboard tiene un precio de 49 dólares, frente a 35 de la Raspberry Pi modelo B. pero es que por los 14 euros que hay de diferencia tenemos absolutamente todos los aspectos hardware de la Raspberry Pi mejorados. La Raspberry Pi está orientada a la educación y no necesita más (ni falta que le hace), pero por la diferencia de precio hay que ver si merece la pena optar por la Cubieboard si buscamos algo más. Contiene un procesador ARM cortex-A8 con un procesador a 1Ghz, 1GB de RAM, más 4 GB de almacenamiento en los que viene instalado de serie Android 4.0.4. Así, si queremos probar que funciona, tan sólo tendremos que enchufarla. Para instalar otro sistema operativo, o lo hacemos en una tarjeta microSD.

 

Otra de las diferencias con Raspberry PI es que la CubieBoard incluye un conector SATA, así, podemos conectar un disco duro SATA, incrementando nuestras posibilidades

 image056

              Placa CubieBoard

 

ARDUINO

Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos básicamente de estudio. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring .

 

Esencialmente debemos entender una cosa y es que Arduino solo es un microcontrolador programable. Es decir, lo conectamos a nuestro ordenador y le programamos una función a sus sensores. Por ejemplo, podemos programar que una luz parpadee o añadirle un servomotor y crear un robot que se mueva en círculos o se mueva evitando chocarse gracias a sensores ultrasónicos. La capacidad de arduino está limitada a la imaginación sí, pero los proyectos llevados a cabo por medio de esta gama de microcontroladores están enfocados a la electrónica y la robótica básica. Arduino no piensa, no cuenta con un sistema operativo, no toma decisiones y no se conecta a internet, cosa que si que hace y muy bien Raspberry PI.

 

Al pensar en un proyecto de hardware vale la pena considerar estas dos plataformas para el desarrollo de nuestro primer prototipo. Elegiremos Arduino para proyectos simples y rápidos y Raspberry Pi cuando necesitemos mucho poder de procesamiento, internet o  video.

 image059

Arduino uno

 

HACKBERRY A10

HackBerry A10 es un alumno aventajado en cuanto a especificaciones se refiere, con una CPU ARM Cortex A8 de 1,2 GHz y 1 GB de RAM. Dispone de puertos USB, salida de audio, HDMI y otras formas de conexión que lo hacen compatible con cualquier dispositivo. Viene con una NAND con 4GB de memoria interna y con el sistema operativo Android 4.0. Ello permite conectarlo al televisor fácilmente, pero también complementar otros dispositivos, siempre que haya una pantalla de por medio para poder desplegar la interfaz gráfica desde la que se da órdenes a la placa.

El aspecto que más la distingue de su rival, la Raspberry PI, es que contiene Wifi integrada, gracias a un chip Realtek. Su precio es de 65 dólares.

 image060

HackBerry A10

A13-OLINUXINO

La placa A13-OLinuXino es un dispositivo similar a la HackBerry A10, pero con la diferencia de que en este caso es Linux el sistema operativo escogido, en lugar de Android. Dispone de un procesador Cortex A8 de 1GHz y la memoria RAM es de 512 MB. La conectividad es otro de sus fuertes, con varios puertos USB, salida para audio y ranura para tarjeta SD. Su precio es de 55 euros.

 

Las similitudes con Raspberry Pi hacen que este dispositivo pueda actuar también como un ordenador si se conecta a periféricos. De la misma manera puede desplegar Linux en la pantalla del televisor reproducir vídeos con el estándar XBMC. Se trata de una placa muy versátil para hacer pruebas y explorar las posibilidades de conexión con diferentes aparatos electrónicos.

 image062

A-13 OLinuXino

MINI PC CON ANDROID

Si consideramos la faceta de la Raspberry Pi como posible centro multimedia, los principales competidores son los mini PC con sistema operativo Android, dispositivos con el tamaño de un pendrive pero que cuentan con un S.O. Android en distintas versiones, de acuerdo con las posibilidades de hardware de cada uno. Dichos dispositivos cuentan con una salida HDMI para conectarse a televisores o monitores.

 

Así, hay Mini PC como el Droid Stick T10, con Android 4.1, un procesador de doble núcleo Rockchip RK3066 a 1,6 GHz, una GPU Mali400, 1 GB de RAM y 8 de ROM, conexión por Wi-Fi 802.11b/g/n, y potencia suficiente para reproducir vídeo en Full HD. También cuenta con un puerto usb 2.0 y otro para su alimentación (Mini USB), así como una ranura Micro-SD y un puerto USB On The Go. El problema es que el software no acompaña, y existen numerosos problemas a la hora de actualizar la ROM del mismo. Tanto, que es mil veces más fácil instalar cualquier sistema operativo para la Raspberry Pi que actualizar estos Sticks.

 

Hace nada han salido ya Mini PC con cuatro núcleos, incluyendo algunas opciones interesantes como Bluetooth y mejorando la estabilidad del acceso Wi-Fi, auténtico talón de Aquiles de algunos de estos dispositivos.

 image063

 Stick USB con Android

Los Mini PC buscan hacerse un hueco en el salón de aquellas casas que no tienen un Smart TV. La idea de tenerlo todo integrado, pequeño tamaño, conexión por HDMI a la televisión y, sobre todo, un sistema operativo familiar y conocido como es Android puede ser un gran atractivo para decantarnos por ellos en lugar de la Raspberry Pi. En su contra decir que son sistemas más cerrados .

 image065

TV conectada a un MiniPc con Android

 

10.     RASPBERRY PI EN LA ACTUALIDAD

 

La fundación Raspberry ha anunciado, que a finales de octubre se superó un objetivo que se tenía pensado alcanzar a principios del 2014: llegar a las 2 millones de Raspberry Pi vendidas. Hace un año cuando la fundación celebraba la cifra un millón. Una cantidad considerable, si tenemos en cuenta que no se trata de un producto de consumo masivo para todo el mundo. En sólo 365 días han logrado doblar esa cantidad. Cuando se vendieron las primeras 2000 Raspberry Pi en febrero del 2012. Cuando todavía se fabricaban en China y no en Reino Unido, como ocurre actualmente. Actualmente se están vendiendo 100.000 unidades al mes.

Raspberry Pi ha demostrado ser un gadget de lo más útil, desde proyectos científicos con la robótica de por medio hasta automatizar pequeñas tareas del día a día o incluso ser un traductor, además de un sistema de entretenimiento.

Hace tan solo unos días, Eben Upton, cofundador y director ejecutivo de la Fundación Raspberry Pi, está convencido de que Wayland y Weston son el futuro de los gráficos en el escritorio Linux, el cual es mucho mayor que el brindado por las antiguas X. Es por ello que Wayland reemplazará eventualmente a X.Org en la Pi. En las próximas semanas se podrá probar una versión preliminar del software de la Raspberry Pi con Wayland como servidor gráfico.

El futuro a largo plazo de Raspberry PI: seguir creciendo para demostrar su polivalencia gracias al trabajo de una comunidad muy activa. Posiblemente nunca llegue al usuario medio, que disfruta más de otro tipo de tecnologías donde la experiencia ya está diseñada. Sin embargo, puede que Raspberry Pi acabe llegando en algunos de esos dispositivos, sin que él lo sepa, pero haciéndole todo un poco más sencillo.

 

11.     FUENTES

 

http://www.raspberrypi.org/

http://es.wikipedia.org/wiki/Raspberry_Pi

http://www.ecured.cu/index.php/Raspberry_Pi

http://www.identi.li/index.php?topic=182807

http://downloads.element14.com/raspberryPi1.html

http://www.todohtpc.com/analisis/cajas-y-equipos-htpc/raspberry-pi.html

http://deeiivid.wordpress.com/2013/02/23/guia-completa-raspberry-pi-espanol/

https://docs.google.com/file/d/0B0xutHWtzX57RmVZOEIwcjlOaWc/edit?pli=1

http://raspberryparatorpes.net

http://rpiplus.sourceforge.net/content/inicio.html

http://www.muylinux.com/2012/09/20/raspberry-pi-ya-tiene-modo-turbo-overclocking-con-garantias

http://es.wikipedia.org/wiki/Raspbian

http://muyraspi.blogspot.com.es/2013/05/introduccion-python.html

http://es.wikipedia.org/wiki/XBMC

http://blogthinkbig.com/alternativas-raspberry-pi/

http://www.xatakahome.com/trucos-y-bricolaje-smart/cubieboard-primeras-impresiones-del-rival-de-la-raspberry-pi