8/28/2014

Mi experiencia con la Raspberry Pi

0. INTRODUCCIÓN

En este artículo voy a hablar de mi experiencia con la Raspberry Pi. Para los que no sepáis qué es, viene a ser un ordenador de ultra bajo coste ($35) y del tamaño de un paquete de tabaco, con el que en realidad se pueden hacer virguerías. Sin embargo, la mejor parte viene cuando hablamos del consumo energético (menos de 5w) y de la ausencia de ruido pues no lleva ventilador.
Ya imaginaréis que estas dos cualidades - bajo consumo y ningún ruido - hacen de este computador un candidato excelente para cualquier propósito doméstico en el que se requiera un ordenador encendido permanentemente. Por ejemplo, un centro de descargas (emule/torrent), o una unidad de almacenamiento personal disponible a través de Internet.

Este artículo no explica en sí mismo cómo configurar la Pi. Mis conocimientos de Linux se limitan a las nociones básicas aprendidas en la universidad, y lo que me permiten es entender más o menos lo que voy haciendo cuando leo artículos y manuales de otros. La literatura en Internet es muy extensa, hay artículos de la Pi para todo lo que se puede hacer con ella; algunos de dichos artículos, los que yo he utilizado, están referenciados en este post.

El objetivo de esta entrada es sin embargo contar un caso real, mi caso, para demostrar qué se puede hacer con este cacharro y mostrar un caso de estudio real.

MI SISTEMA RASPBERRY PI
Hardware:
 - Raspberry Pi modelo B
 - Tarjeta SD clase 10 8Gb
 - Disco duro externo toshiba 1TB formato ext3 (nativo de linux)
 - USB HUB conectado a la corriente eléctrica.
NOTA: Es posible que el disco duro externo autoalimentado funcione bien tirando directamente de la alimentación USB de la Pi. Sin embargo, para eliminar riesgos, recomiendo un HUB USB autoalimentado. Un USB que proporcione un voltaje inestable podría llegar a perjudicar la vida útil de algunos discos duros.
Sistema operativo:
 - XBian
Otro software:
 - Reproductor multimedia: XBMC embebido en la distribución
 - Descargas: Amule con interfaz web amule-web
 - DNS dinámico: Cliente de no-ip instalado en la Pi
 - Compartir ficheros en la red doméstica: Samba
 - Compartir ficheros por Internet: vsftpd

1. ARRANCAR LA PI

ELECCIÓN DEL SISTEMA OPERATIVO
Existen distintas distribuciones de linux adaptadas para la Raspberry Pi, todas ellas en continua evolución. Por lo tanto, no puedo aconsejar sobre cuál utilizar, porque los criterios que yo tuve en cuenta en mi elección podrían no ser válidos ahora o en el futuro. Lo cierto es que en su momento descarté por ejemplo la distribución OpenElec porque creo recordar que estaba orientada 100% a la reproducción multimedia, hasta tal punto que no podía accederse por ssh. Yo necesitaba algo más "ordenador" y menos "sistema empotrado" para poder cacharrear. Finalmente me decidí por XBian.
http://www.xbian.org/

INSTALACIÓN DEL SISTEMA OPERATIVO EN LA TARJETA SD
Este paso es muy sencillo. Basta con ir a la web oficial de la distribución, descargarsela en zip y seguir los pasos para instalarla en la tarjeta SD que meteremos en la Pi (y que hará las veces de disco duro de nuestro supercomputador). Este paso obviamente ha de hacerse desde un ordenador convencional, ya sea Linux, Windows o Mac.
http://www.xbian.org/download/
Tan sencillo como eso, introducimos la SD en la Pi, la conectamos por HDMI a la TV, le damos corriente y ya tenemos XBMC funcionando. Es más, conectando un Pendrive por USB a la Pi ya podemos empezar a ver películas en prácticamente cualquier formato/códec. Así de fácil.

XBMC 
Este sistema, que viene ya instalado (empotrado) en la distribución XBian es un universo en sí mismo. Hay plugins para casi todo, incluyendo para ver la TV online y ver vídeos de páginas de descargas online, tipo "Pelisalacarta". Reconozco que no he sido capaz de echarlo a andar, pero sobre todo porque para series y películas soy más de tener descargado que de ver online. Debe ser que en el fondo soy de la vieja escuela.
De entre las cosas que más me han llamado la atención que puede hacer XBMC es funcionar como si fuera un Apple TV para la función de Airplay. Es decir, activando esto mi iPad reconoce XBMC como un dispositivo al que puede enviar vídeo. Por 35 € !!
Nota: Apple TV me costó a mi 109 €, ahora creo que está en 99.

EMPOWERING LA PI
Tras terminar los pasos anteriores, tenemos un reproductor multimedia al que podemos pinchar un pendrive para ver pelis, fotos, escuchar música, etc.

Lógicamente, para el resto de casos es necesario conectar la Pi a Internet. En mi caso lo he hecho por cable, que siempre es mejor si tenemos esa opción. En mi caso tengo el router de Internet justo detrás de la TV, de modo que es bastante cómodo.

Si no hay posibilidad de conectar la Pi a Internet por cable ethernet (RJ-45), hay adaptadores USB WiFi para la Pi por unos 8-10 €, pero lo cierto es que yo aún no he configurado el que compré porque no me ha hecho falta. No debe ser difícil de hacer.

ADMINISTRACIÓN REMOTA DE LA PI POR SSH
Como decía, para el resto de pasos necesitamos que la Pi tenga Internet, y además acceder a ella para entrar con un terminal. El ssh viene instalado por defecto en Raspbian, de modo que lo único que necesitamos es un cliente de SSH. Yo utilizo los siguientes:
Windows: Putty (http://www.putty.org/)
Android: ConnectBot
iPad: Server Auditor

Basta con entrar con el usuario y clave por defecto de la distribución (creo recordar que era xbian/raspberry) y lógicamente cambiar la contraseña por defecto a una propia, especialmente porque querremos poder entrar en remoto desde Internet.

Por defecto, tras el login, Xbian muestra un menú en modo texto con algunas operaciones habituales de administración de la Pi. Es útil, pero para el resto de cosas que os contaré abajo utilizaremos directamente la línea de comandos, así que tras hacer login hay que salir del menú.

MONTAR EL DISCO DURO EXTERNO
Una vez tenemos acceso a la consola SSH, ya podemos montar el disco duro externo en la Pi. Esto es una tarea común de linux y además bastante sencilla, por lo que no pondré enlaces a manuales, porque además no recuerdo cuál utilicé. Sí diré que formateé el disco como ext3, tras hacer la siguiente valoración:

  • FAT32 -> No soporta ficheros de más de 4Gb. Considerando que vamos a poder ver películas en HD (e incluso 3D), es una limitación que obliga a descartar esta opción.
  • NTFS -> No se lleva bien con linux, especialmente para la escritura en disco. 
  • EXT3 -> No se puede leer fácilmente desde Windows. Sin embargo, es con diferencia la que mejor rendimiento tendrá en nuestra Pi. Considerando que le vamos a meter mucha caña, escoger la opción que ofrezca el mejor rendimiento es una buena elección. Podemos solucionar la incompatibilidad con Windows mediante dos soluciones: 1) Instalando un servidor SAMBA para integrar el disco como una unidad de red en cualquier PC de nuestra LAN y 2) Instalando software de lectura de ext3 en Windows por si tenemos que acceder al contenido del disco conectado directamente al PC por USB (por ejemplo, si nos lo llevamos de viaje).
OVERCLOCKING
Hay varias posibilidades de overclocking. Lo bueno es que recuerdo haber leído que se puede hacer overclocking hasta ciertos límites conservando la garantía. 

2. INSTALAR EL SERVIDOR DE DESCARGAS

Sólo por el hecho de que llevo muchos años utilizándolo, yo soy más de eMule que de Torrents, y ése es el único motivo por el que en la Pi también me decanté por amule.

INSTALACIÓN Y CONFIGURACIÓN DE AMULE
Amule es una versión de emule (que es open source) para Linux. Una vez instalado el servidor (amule-daemon), hay dos herramientas que nos ayudarán:
 - Amule-web para lanzar un servidor Web desde el que poder añadir enlaces ed2k y comprobar cómo van las descargas. Se cae de vez en cuando, pero reiniciando el servicio amule vuelve a levantarse. He leído varios artículos que solucionan esto con un script que comprueba periódicamente si el servicio está caído para reiniciarlo.
 - Amule-GUI para tener una interfaz de escritorio en otro ordenador desde la que gestionar completamente nuestro amule.
Os dejo el tutorial que seguí para instalarlo:
http://jcoredumped.blogspot.com.es/2013/03/instalar-y-configurar-amule-daemon-para.html
Luego edité el fichero de configuración para que las opciones de servidores y filtrado de IPs fuesen las que se recomiendan en el siguiente tutorial (es la mejor forma de mantener un emule sano, sin virus):
http://forum.emule-project.net/index.php?showtopic=125752&st=0&p=894076&

3. ACCEDER REMOTAMENTE AL ALMACENAMIENTO DE LA PI

Una vez tenemos el disco duro conectado a un ordenador que estará encendido las 24h, el siguiente paso es poder acceder a él desde el exterior. De esta forma, podemos centralizar en el disco no sólo nuestras descargas (emule/torrent) sino también todos nuestros vídeos, música, fotos, documentos... Eso sí, será tan valioso que tendremos que plantearnos cómo hacer copias de seguridad para eliminar el riesgo de perderlo todo por culpa de un accidente o avería.
La configuración que yo tengo es la siguiente: FTP accesible desde Internet y samba accesible sólo desde la red doméstica.
Reconozco que el FTP es una solución muy técnica, pero en mi caso es una forma de aprovechar un puerto que suele estar abierto en los firewalls de cualquier red corporativa, por ejemplo la de mi empresa. Una alternativa al FTP podría instalar algún producto que permita la gestión del disco a través de Web (hay muchos), pero el problema es que así ocuparíamos el puerto 80 de IP externa, y yo utilizo dicho puerto para acceder remotamente al emule y poder iniciar una descarga desde cualquier sitio del mundo con Internet, incluyendo mi puesto de trabajo :D
Con samba podremos tener una unidad de red desde cualquier dispositivo, incluyendo PC Windows/Linux, Android, iOS...

FTP
Como servidor FTP instalé vsftpd, y reconozco que en esta parte es donde más chapucero fui. Compartí todo el sistema de ficheros y con el usuario root, pero las prisas me pudieron frente a hacer las cosas bien :(

No recuerdo el tutorial que utilicé para instalar vsftpd, pero sí que no era específico para la Pi. Nos vale cualquiera que explique cómo instalar el servidor FTP en linux.

SAMBA
Instalar un servidor samba es muy sencillo, especialmente si sigues los pasos del siguiente enlace:
http://sobrebits.com/montar-un-servidor-casero-con-raspberry-pi-parte-8-nas-con-raspberry-pi-y-samba/
Una vez instalado, puedo acceder a un disco (ext3) desde mi PC a través de la red. Eso es lo básico. Otras cosas que puedo hacer es:

  • Navegar por mi carpeta de fotos desde Android. Yo utilizo ES file Explorer.
  • Navegar por mi carpeta de vídeos desde Android (desde ES file Explorer) y reproducir cualquier vídeo con VideoLAN, lanzándolo al Chromecast si es necesario.
  • Reproducir algunos vídeos en el iPad con GoodPlayer (hay limitaciones con algunos codecs). Esta aplicación permite configurar servidores SMB.
CONFIGURAR UN DNS DINÁMICO (no-ip.com)
Desde hace ya algunos años yo utilizo dominios de no-ip.com. Es una Web que te permite registrar dominios gratuitos que puedes redirigir a tu IP, aunque ésta no sea fija. El truco está en instalar un servicio dentro de tu red interna que periódicamente se conectará a no-ip para informar de cuando nuestro proveedor nos cambie la IP externa. La idea es sencilla, y en para Windows hay un instalable que hace esto. Para línux se requieren un par de pasos más, pero tampoco es hacer un reloj... Lo que sí recuerdo es que tuve que instalar el make (sudo apt-get install make), porque no venía instalado por defecto en la distribución.
El siguiente enlace (en su punto 2) explica cómo hacer esto.
http://geekytheory.com/tutorial-raspberry-pi-7-escritorio-remoto-vnc-no-ip/

4. CONCLUSIONES DE MI EXPERIENCIA

ESTABILIDAD

  • La Pi+XBian no es tan estable como un servidor de 64 procesadores montando una debian. Eso hay que tenerlo claro. Sin embargo es muy estable especialmente en aquello que más maduro tiene, como el propio SO (esto sobra decirlo) o la reproducción de vídeo. JAMÁS se me ha colgado durante la reproducción de vídeo.
  • Algunos de los servicios que montes sí pueden fallar, especialmente los más novedosos o aquellos que no tengan soporte.

RENDIMIENTO
El rendimiento de la Pi es en general excelente para los usos domésticos descritos arriba. Lógicamente hay veces que puede haber cuellos de botella en acceso a disco, en la propia red, que además son difíciles de diagnosticar, precisamente por la cantidad de interrelaciones que hay entre los distintos cacharros electrónicos.
Como ejemplo de capacidad de rendimiento, mi amule está permanentemente funcionando. Pues bien, lo he llegado a tener reproduciendo a través del XBMC en calidad HD y al a vez sirviendo por samba otro vídeo (alojado también en el HD conectado a la Pi) que se estaba reproduciendo en Android. Cool !

Como reflexión adicional, es asombroso de lo que es capaz un cacharrito con 512 Mb de RAM con el SO adecuado... He encontrado definiciones de la Pi del tipo "En hardware es similar a un ordenador de 2003". ¡¡ Ni de lejos nuestro XP realizaba de forma tan eficaz lo que hace nuestra frambuesa electrónica !!

OTROS USOS CURIOSOS
Siguiendo el manual que enlazo abajo, programé un script que envía la temperatura de la Pi cada 5 minutos a un servidor de Internet para tener un control completo de su temperatura. Añadiendo un sensor de temperatura a la Pi, podemos tener un registro de temperatura de nuestro salón, o de nuestra ciudad/barrio, si ponemos el sensor en el exterior.
http://geekytheory.com/conectando-la-raspberry-pi-a-xively-internet-of-things/

PRÓXIMOS PASOS

  1. Como decía arriba, centralizar toda tu información/documentación/fotos está muy bien. Está genial de hecho. Es más, no hay nada mejor que centralizar...hasta que el disco duro se te avería, se te cae, se moja, se quema.... El siguiente paso es hacer una copia de seguridad a otro disco duro (espejo) con el comando rsync de linux. 
  2. Con el tiempo es más que probable que monte incluso una segunda Pi, de forma que pueda separar físicamente los discos en espejo para minimizar el riesgo en caso de accidente.
  3. Aprender Python, se puede cacharrear mucho y bien con una Pi si conoces este lenguaje de programación.

OTROS ENLACES DE INTERÉS
Introducción completa a Raspberry Pi
Tutorial completo de XBMC

3/31/2011

Nos la están clavando otra vez...

España es un país con casi 5 millones de parados (aproximadamente el 20% de las personas en edad de trabajar). Por si fuera poco, entre el 80% de gente que trabaja reina el imperio del mileurismo en unos sueldos que llevan varios años congelados, mientras que los gastos de las familias suben a ritmos anuales del 4% (gas), 10% (luz), 15% (gasolina). El aumento del IVA en 2010 del 16% al 18% viene a poner la guinda a este pastel económico.

Si hay un sector que maneja cifras impermeables a la crisis es el del fútbol. Los clubes de fútbol se permiten fichar a jugadores por los que pagan varios millones de euros, a los que pagan una ficha anual de varios cientos de miles de euros, y que, en muchos casos, ni siquiera son titulares o juegan más bien poco. El hecho es que los clubes de fútbol profesionales (1ª y 2ª división) manejan mucho, muchísimo dinero, y casi nunca a través de una gestión responsable de sus cuentas. Hay que recordar el plan de saneamiento de principios de los 90, en el que con fondos públicos se tapó una deuda millonaria (unos 200 millones de euros), que se ha vuelto a reproducir (se estima en unos 700 millones de euros), a pesar de que el fútbol actual, gracias a los ingresos por televisión, ha multiplicado por más de 10 el volumen de ingresos de entonces. Resumiendo, se podría decir que los clubes de fútbol tienen ingresos privilegiados y mucho gestor torpe, golfo o irresponsable.

Antes de seguir, es necesario aclarar dos conceptos sencillos, pero que no siempre se entienden: La LFP (Liga de Fútbol Profesional) es la asociación de los clubes de 1ª y 2ª, constituida para defender los derechos de los clubes. Es decir, son el Madrid, Barça, Valencia, At. Madrid, Sevilla, etc. luchando juntos por SUS intereses. Por otra parte, la FEF (Federación Española de Fútbol) es el organismo encargado de regular las competiciones nacionales de fútbol en España, es decir, tiene carácter de organismo oficial (a pesar de que la relación con el gobierno de la nación está muy difuminada).

Pues en éstas, de repente, en una semana sin liga por el parón de las selecciones, nos encontramos con que la LFP está planteando una “huelga” para no disputar una jornada de liga, con el fin de reivindicar que se elimine el partido en abierto de los sábados (Una ley aprobada en tiempos del PP obliga a que en cada jornada de liga se emita al menos un partido por un canal abierto, es decir, no de pago. Además, este partido será a elección del operador en abierto, al menos en una de las dos vueltas del campeonato).

A raíz de la convocatoria de huelga (lanzada monolíticamente desde la LFP, sin que se sepa exactamente qué clubes han sido los instigadores), varios clubes se han desmarcado de la misma: Sevilla, Villareal, Español, etc. Estos clubes han llevado el tema a los juzgados reivindicando su derecho a jugar.

Muchas reflexiones y ninguna buena:


  1. Grosso modo, los clubes que manejan sin criterio ni responsabilidad millones de euros anualmente, adoptan una medida de presión para que el gobierno apruebe una ley con la que ellos calculan que aumentarán sus beneficios económicos. ¿A costa de quién? Evidentemente del ciudadano medio. Sí, ése del que unas líneas más arriba se comenta que si no está en paro, cobra una auténtica basura, y al que cada vez le cobran más impuestos. Pues ahora, toda esta gente, si quiere ver aunque sea un único partido de fútbol, pues a pasar por caja. manda güééé…
  2. Un tema que no consigo aclarar es, ¿A quién presiona esta medida? ¿De verdad un gobierno con casi 5 millones de parados, en una crisis económica sin precedentes, un gobierno que ha recibido la llamada directa del mismo Obama para apretarse de verdad el cinturón, un gobierno que siendo de izquierdas ha sufrido una huelga general, se va a sentir presionado porque unos clubes millonarios dejen de jugar un fin de semana? No me lo trago. Pero claro, no me lo trago, y sin embargo me escama, me mosquea mucho que el mismísimo Jaime Lissavetzky haya hecho declaraciones como “Estoy dispuesto a dialogar desde mañana por la mañana a primera hora, pero sin amenazas ni presiones”. ¿Qué presiones?
  3. Lo peor en este asunto, es que la prensa sólo está intentando confundir la situación y ofrecer una visión parcial del asunto. ¿Cómo? ¿La prensa? pero…si son informadores imparciales, ¿No? Ja!! Algún periodista objetivo y honrado habrá, ¿No? Pues sí, mire usted algún periodista sí, pero ningún medio. Y en este asunto las órdenes vienen de arriba, porque hay mucho dinero en juego. Y da la casualidad de que todos los medios deportivos escritos o radiofónicos están ligados, de una u otra forma a algún grupo mediático que aspira a pillar cacho de la tarta del fútbol: AS/Ser/El País -> Canal+, Marca, radio Marca -> MarcaTV, etc. Como muestra, un botón: http://www.as.com/futbol/articulo/aficiones-unidas-partido-abierto/20110328dasdaiftb_31/Tes La noticia es para leerla despacito, ¿De verdad una asociación de peñas se manifiesta en contra del partido en abierto? Esto es como los pájaros disparándole a las escopetas, una asociación de peñas afirmando que están a favor de tener que pagar por ver el fútbol. No hay quien se lo trague. Desde luego, en la noticia enlazada ninguna de las citas de la carta hace referencia a esta postura. Manipulación. Evidentemente los periodistas más hábiles lo disfrazarán de “Así nuestra liga va a ser más competitiva”… ¿Competitiva donde hay 2 equipos que sacan cerca del 90% de los puntos, y que en marzo ya son matemáticamente 1º ó 2º? Mis cojones competitiva.
  4. Éticamente todavía queda “lo mejor”. Resulta que hace unos meses, la AFE (Asociación de Futbolistas Españoles) planteó una huelga de futbolistas (en este caso sí procedería llamarla así, al ser los trabajadores los que querían parar) para la jornada del 2 de enero de 2011. El motivo real de esta huelga era las deudas que algunos clubes tenían contraidas con sus jugadores. Pues bien, los clubes (la LFP) pusieron el grito en el cielo porque el daño a la competición sería tremendo. Hoy son ellos los que proponen el parón, en una causa perdida, porque una ley es materialmente imposible cambiarla en dos semanas.
  5. Respecto a los clubes que se oponen a la huelga, hay que decir que la mayoría de ellos se adhieren a la reivindicación de eliminar el partido en abierto, y sólo están en contra de las formas de la protesta. Sin embargo, hay que destacar las matizaciones de Del Nido, que aprovecha para sacar a la palestra sus propias batallas, lanzando el mensaje de que “Para qué luchar por más dinero, si al final se lo van a llevar los mismos”, en alusión al reparto del dinero correspondiente a los derechos de televisión que perciben los clubes.

¿Y quién va a atreverse a quitar el partido en abierto?
Miedo me da. Evidentemente el PP no, porque es quien aprobó la ley, y quien es favorito para ganar las próximas generales. ¿El PSOE? En principio tampoco, porque sería una nueva medida anti-electoralista. Ahora bien, si ya dan por perdidas las elecciones, más de un poítico de peso podría acabar con algún cargo directivo en alguno de los monstruos mediáticos que lucharán por el pastel futbolítico.

Bueno, y entonces, ¿Qué está ocurriendo exactamente, qué va a pasar?
Personalmente no tengo ninguna duda de que la jornada se jugará, todo esto es claramente un farol (estúpido farol, diría yo, porque nadie se lo cree). El problema es lo que el farol pretende a medio plazo. Desde mi punto de vista, la LFP está sembrando para recoger más adelante. Lo único de lo que estoy seguro, es de que nos la están clavando otra vez…

9/10/2010

Pachanguita.com


Buenas:

La siguiente idea es la primera llevada a la práctica de todas las que he ido poniendo en este blog. La idea es www.pachanguita.com, una red social para la práctica de deportes de equipo.

www.pachanguita.com es una Web que nos facilita organizar nuestra pachanguita deportiva semanal, para tener controlado en todo momento quién juega a nuestro clásico partido de los jueves, quién no puede un determinado día, etc. Incorpora además un sencillo muro donde hacer comentarios que llegan a todos los participantes de la pachanga.

Como añadido, al introducir los resultados de cada partido en la Web, se generan unas estadísticas individuales, mostrando quién es el más goleador, el menos goleado, el que más asiste a los partidos, es que más falta, etc.

El funcionamiento es sencillo, quien crea la pachanga asume el rol de administrador de la misma, siendo quien organiza la pachanga e introduce los resultados de la misma. El resto de jugadores tiene acceso a la pachanga para ver toda la información: resultados, clasificaciones, muro, etc. En el siguiente enlace se muestra un vídeo ilustrativo sobre cómo crear y organizar una pachanga: http://www.youtube.com/watch?v=ULm_3za7R44

Una de las mejores características de esta Web es que ofrece la posibilidad de encontrar suplentes cuando te falte gente en tu pachanga. La Web, que utiliza Google Maps para calcular quiénes son los mejores candidatos por cercanía a tu pachanga, muestra un listado con las personas que podrían jugar. Estas personas habrán indicado previamente los deportes a los que juegan y los días de la semana en que quieren y pueden jugar. En el siguiente enlace se muestra un vídeo ilustrativo sobre cómo encontrar suplentes para la pachanga:http://www.youtube.com/watch?v=dvApmfTG_tA

Además de los vídeos ilustrativos, dispone de un apartado con preguntas frecuentes: http://pachanguita-com.blogspot.com y una dirección de twitter a la que hacer nuevas preguntas o sugerencias @pachanguitacom

En fin, una idea muy interesante para todos los que hacemos deportes de equipo regularmente.