10 octubre 2012

Raspberry Pi y yo (Episodio 2)




Pues como decíamos ayer, le dimos cafeína suficiente a nuestro equipo para que sea capaz de hacer una huelga a la japonesa, mediante overclocking. Sin embargo, estas acciones conllevan ciertos riesgos.

¿Los riesgos de overclocking?

A mayor sobrecalentamiento, menor durabilidad de las piezas (y menos con lo ridículo de los disipadores que he puesto), Raspberry pi se puede comportar de manera errática, cuelgues varios, etc,… En mi caso, y dado que con Skynet funcionando, la CPU está constantemente ocupada, la temperatura sube y sube, no teniendo momentos de "descanso" para que la temperatura se estabilice. 

Por las pruebas que pude hacer, con cualquier tipo de overclocking habilitado (sí, ya estoy out-of-warranty), el equipo se quedaba frito a los pocos minutos de arrancar, cuando la versión de Skynet adaptada para Raspberry Pi aún estaba lanzándose. Es decir, que no tengo manera de hacer que funcione más rápido. 

Por otra parte, justo cuando estuve en Ekoparty Argentina, se publicó que habían implementado un mecanismo de hacer overcloking de forma segura en los Raspberry Pi (y que apuntasteis en los comentarios del post anterior), que consiste en que cpufreq controla la temperatura del equipo, y es capaz de disminuir o aumentar la velocidad del procesador de forma dinámica, teniendo como tope los 85º. Esto lo han llamado el modo "turbo" y no está disponible (a día de hoy) de forma nativa en Fedora Remix, por lo que no he tenido oportunidad aún de probarlo.

Por otra parte, Skynet requiere dos dongles bluetooth (para hablar con la Roomba y para detectar personas simultáneamente), además de un dispositivo CM-15A que envíe, a través de la red eléctrica, señales X-10 que interactúen con motores que hay en toldos y persianas de casa, interactuando con el sistema operativo vía USB también. Nos encontramos con otro problema, tenemos disponibles dos conectores USB en Raspberry Pi y tres dispositivos a conectar. ¿Solución inicial? Un ladrón de dispositivos USB.

Revolviendo por diversos cajones de casa, encontré con varios de ellos. Aunque sin duda, me hacía una ilusión tremenda utilizar el que véis en la foto de aquí abajo, que gané una vez en un concurso de cantos gregorianos ;D



Sin embargo, hay que tener en cuenta que el Raspberry PI es un equipo de bajos recursos que consume bajos recursos, por lo que no es capaz de alimentar vía USB todo aquello que queramos enchufar. De hecho, buscando por Internet, dí con un circuito esquemático, en el que se observa que hay una limitación de 140 mA de protección en los conectores USB por lo que, o nos arriesgamos a puentear dicha protección y cruzamos los dedos, o directamente nos gastamos unos 20/30 euros en uno de los ladrones USB autoalimentados (con alimentación autónoma) que están homologados/probados.

En mi caso, tanto con uno con fuente de alimentación externa como el del Whisky anterior, no me dio buen resultado. Y es que al arranque del Raspberry con una tarjeta SD con Fedora Remix, detecta uno o los dos dongles bluetooth y se queda parado sin avanzar. Así que finalmente modifiqué (una vez más) el código fuente de Skynet, para que un sencillo sistema de semáforos binarios, hecho con un fichero .lock, mientras que un proceso está utilizando el único dongle Bluetooth existente, tenga la exclusividad ante cualquier otro proceso o thread que requiera el mismo recurso.   

Asimismo, también tuve que modificar la forma en la que enviaba comandos domóticos X-10 a través de la red eléctrica de mi casa. Y es que el driver que utilizaba para poder hablarle al CM-15A logré en su día hacer las modificaciones necesarias en el código fuente para que compilase en un kernel 2.6. Sin embargo ahora, con mi viaje a Argentina en un reloj con cuenta atrás, preferí no perder excesivo tiempo en hacerlo compilar en un kernel 3.1. Directamente busqué otra opción más rápida. Pensé, ¿cómo no va a haber nadie que haya usado un Raspberry Pi con intenciones domóticas en este mundo?... Y rápidamente dí con un genial artículo que explica cómo, utilizando mochad, se logra darle dicha los poderes para ejecutar comandos X-10 desde un Raspberry Pi.

Conclusiones
  • Para ser el primer dispositivo low-cost que es capaz de ejecutar una distribución Linux para ARM desde una memoria SD, es todo un logro.
  • Sin embargo, aunque haya gente que incluso lo utilice para ver películas, descargar ficheros de redes P2P de forma automatizada, reproducir música (siempre es más barato que un Ipod) está claro que no es un equipo al que exigirle unos requisitos de tiempo real. 
  • A los que estábamos acostumbrados a utilizar micropics o Arduinos, pues efectivamente es todo un avance, poder contar por este precio con un dispositivo de unas dimensiones tan compactas, con los mismos comandos que un servidor Linux, e incluso las mismas funcionalidades, pero con un rendimiento muy inferior.
  • Como apuntaban en el post anterior, posteriormente a la publicación de Raspberry Pi, han surgido diversos clones, que como es de esperar cuando partes ya de algo hecho, son versiones mejoradas con mayor rendimiento, e incluso con Android como la Gooseberry u otras alternativas como APC
  • Una de las principales ventajas que le veo, aparte del ínfimo consumo, es la posibilidad de lograr tener diferentes proyectos/desarrollos en diferentes tarjetas de memoria, y arrancar con el entorno que queramos cambiando la SD.
  • ¿Alguien me puede explicar por qué hay una limitación de comprar un sólo dispositivo por persona, pero si eres empresa puedes hacer un pedido de varios?
  • En definitiva, un cacharro curioso con el que siempre podrás trastear, probar cosas e incluso montar servicios en modo 24x7 que no requieran altísimas prestaciones, con un consumo de corriente muy bajo. Ideal para dejarlo funcionando como punto de salto desde la oficina con un acceso SSH y efectuar redirección de puertos. Imagino que montar openvpn sobre este equipo debe ser surrealista. Si alguien lo ha probado, que nos cuente en los comentarios qué tal funciona en cuanto a "experiencia de usuario".
  • Además, si te haces con una legión de ellos, podrás montar un clúster de Raspberries, que será más útil, aunque menos entrañable, que el mítico clúster de Furby de principios de siglo
Y tú,... ¿para qué quieres tu Raspberry Pi?

9 comments :

Koldo Valle dijo...

Qué buena Lorenzo :D

WaS dijo...

No se si la Fedora Remix esta optimizada para utilizar armhf que es el tipo de procesador que lleva Raspberry, pero la raspbian si que esta compilada con hard float y te puedo decir que la mejora en rendimiento es considerable.

Raimungar dijo...

Cuando llegue, porque mira que está tardando, que lo pedí en Julio, ya veremos que perrerías le hacemos ;) Muy bueno.

IgnotoPozo dijo...

Respecto a lo de la limitación de uno por persona, ya no existe. Sacado de su FAQ:

How many can I buy in one go?
We’ve lifted the one-per-person restriction: you can buy as many as you want.

Javi DS dijo...

Yo no tengo raspberrypi , yo uso Odroid-x (http://www.hardkernel.com/renewal_2011/products/prdt_info.php) es verdad que es algo mas caro que el RPI (129$), pero .. es la bomba.


El soporte de linux aun esta un poco verde, pero con android works like hell.


El USB-UART kit, es quasi mandatory si quieres frikear bien .


My two cents

Ramón Méndez dijo...

Yo la mía la uso como MediaCenter con OpenElect (Xbmc) y va de lujo, vídeo en 1080 sin problemas reproduciendo a través de una conexión por ssh y usando el telefono como mando a distancia gracias a la aplicacion para Android.
Una gran adquisicion con infinitas posibilidades, me gusta sobretodo lo que comentais en el articulo, la facilidad para cambiar de un proyecto/uso a otro simplemente cambiando la tarjeta sd.

someoneelsewantthisnick dijo...

en element14 no hay limitacion, a mi me llego en menos de 4 dias ;)

Angel Alvarez Nuñez dijo...

Excelente Lorenzo, muchas gracias por compartir tu experiencia con el Raspberry XD

Paula dijo...

Sobre lo de la limitación de uno por persona (cuando la había), tampoco era difícil saltársela, vamos que yo pedí varios a la misma dirección a nombre de distintas personas y llegaron ;)

Muy bueno tu curro portando Skynet a la Raspi, enhorabuena :D