El sitio personal de David Colmenero (D_Skywalk)

Posts tagged with 'xbmc'

Raspberry PI usos y desusos

Llevo unas semanas con esta pequeña frambuesilla en las manos y estaba deseando hablar de ella, la verdad es que el precio es poco menos que una golosina, por unos 30€ tienes un micro-ordenador capaz de hacer mayormente tareas sencillas y un consumo mínimo. Dicen sus creadores que no hay botón de apagado por que tenerla durante un año funcionando costaría lo mismo que una hamburgesa XD

Raspberry PI

Por el momento sus usos principales y más adecuados son la educación (es pequeño para tener muchos en clase, permite conexiones externas INPUT/OUTPUT, etc…) y como mediacenter, gracias a una GPU dedicada a tal tarea. Para todo lo demás se queda mucho más pequeña ya que la carga recae sobre la CPU y con una resolucion de 1080/720p querer por software que funcione MAME o emuladores medianamente modernos está fuera de su alcance.

Lo peor es que cuando la gente se ha propuesto mejorar este panorama broadcom está impidiendo a los “hackers” que podrían crear drivers y ports accedan a la documentación completa del funcionamiento de su socket. Y lo que parecía una plataforma libre para trastear y aprender, se ha convertido en una pequeña ratonera que está causando cierto descontento. Esta discusión de 25 páginas sobre los problemas con el USB es bastante ilustrativo sobre comportamiento de broadcom con los usuarios y la fundación RPI.

Pero dejémonos de alzamientos y quejas vamos a lo práctico:

Ya digo que esta esta actitud parece estar provocando malestar y cierta incertidumbre sobre lo que ocurrirá cuando broadcom ya no les importe nuestra pequeña y deje de soportarla, pero igualmente sigue vendiendo como si no hubiera mañana, heheh ;)

Personalmente me parece un juguete al que le podríamos sacar mucho más jugo, pero que al margen de reproduccion multimedia sólo podemos sacarle un 20% de su potencial. Una pena…
Ahora estoy haciendo pruebas para tenerlo como mini-server y para cosas de apache, servicios pequeños al no utilizar la CPU para procesar gráficos podemos aprovecharla mucho mejor, fijaros que otro posible uso de esa GPU podria ser realizar operaciones matemáticas con ella… bueno, dejo de quejarme sobre la gentuza de broadcom y os remito a otro futuro artículo que tengo medio terminado para preparar un devkit remoto para nuestra PI.

Un Saludo y espero que me disculpéis la ausencia… bueno, un artículo al año no hace daño XDD


Unificando Hardware y Consolizando!

Un colega por gtalk me dijo que por que no ponía emuladores y la verdad no se como no caí yo, estoy haciéndome viejo XD

Dicho y hecho esta semana he empezado a trastear con emuladores, la verdad que jugar a la Super Nintendo o la Megadrive a 1080p es un poco sacrílego, pero lo estoy apañando bien, la única pega es el control. La verdad no quiero comprar más mandos, entre Wii, 360, y PS2 tengo lleno el cajón, por tanto el objetivo es aprovechar lo que tengo y si puede ser que se pueda jugar tirao en el sofá, mejor Smiley: HA HA HA ...

Una opción es usar los mandos de Wii con un USB BT que tengo, que ya probé en su día en Ubuntu y sin problema, pero me faltan botones y añadir el classic lo complica demasiado. El mando de PS2 al ser con cable ni me lo planteo. Y por último tengo los inalámbricos de 360 que con comprar el Xbox 360 – Wireless Gaming Receiver (link eliminado?) por menos de 20? a algún chino de ebay tenemos la mejor solución. Asi aprovecho mis dos mandos y que mandos señores Smiley: Muy contento!

Imagen del articulo

Tenemos dos opciones para poder jugar en linux con los mandos de 360, una usar una modificación del driver del kernel xpad, que añade soporte experimental: Tienen algún fallo menor, como que no se apagan solos o que la luz del mando se queda parpadeando, pero funcionan botones, guitarras, volantes, etc…

Más información sobre la opción kernel:

La otra opción es usar un driver en espacio de usuario (Userspace) y por tanto no requiere ser compilado cada vez que actualicemos el kernel. Yo he optado por este, que además es mucho más estable y posee más funciones que el del kernel.

Mas información sobre la opción userspace:

Un Saludo y podré algún vídeo cuando lo tenga todo funcionando ^_^


Unificando Hardware - Final Stage!

Retomamos un poco el hilo del XBMC Servidor, uno de los inconvenientes que he tenido al querer usar la misma máquina tanto de servidor como de reproductor ha sido que XBMC aunque no lo uses está ahí y gastando un 12% de CPU (tengo un skin muy bonito XD). Por tanto, nos consume luz y proceso que podríamos aprovechar o ahorrar.

Mi idea es apagar XBMC automaticamente sino se usa, pero poder iniciarlo de nuevo pulsando el mando a distancia.
¡Vamos al tajo! Smiley: Muy contento!

Lo primero que pensé fué aprovechar lirc y que mejor que montarlo rápidamente con un pequeño demonio hecho en python (thx pyLirc). Dicho y hecho aqui os dejo el demonio:

#!/usr/bin/python

# pyServiceHandleXBMC - Almost taken from pyLirc Doc
#                       and modded by D_Skywalk
# version 110210 (1.a)
import pylirc, time, os
blocking = 0;
#
if(pylirc.init("pylirc", "/usr/local/etc/lircrc.ServiceHandleXBMC", blocking)):

   print "pyService XBMC using Lirc is Waiting..."
   code = {"config" : ""}

   while(code["config"] != "quit"):

      if(not blocking):
         time.sleep(1)

      # Read next code
      s = pylirc.nextcode(1)

      while(s):

         # Print all the configs...
         for (code) in s:

            print "Command: %s, Repeat: %d" % (code["config"], code["repeat"])

            if(code["config"] == "run"):
               # Read last code
               s = pylirc.nextcode(1)
               pylirc.exit()
               os.execl("/usr/local/bin/runXBMCservice", "")

         # Read next code?
         if(not blocking):
            s = pylirc.nextcode(1)
         else:
            s = []

   # Clean up lirc
   pylirc.exit()

El código es básicamente el ejemplo del uso de lirc con python, añadiendo la llamada al pequeño script en bash que lo único que hace es ejecutar “service xbmc-live start”
¿por que no lo hice directamente de ahí? por que python me protestaba… mejor no preguntar XD

Para usarlo vais a necesitar un fichero lircrc, algo asi (adaptarlo a vuestro mando si no es el de XBOX)

begin
    prog = pylirc
    button = 5
    config = quit
end

begin
    prog = pylirc
    button = DISPLAY
    config = run
end

Podéis usar o añadir los botones que teneis en /etc/lirc/… tengo puesto que con 5 cierra el demonio para depurar y tal me venia bien, sino lo necesitais con borrar ese boton lo tenéis Smiley: contento!

Para arrancar el demonio al cerrar XBMC añadid la llamada a /usr/bin/runXBMC en:

...
    if [ -e /tmp/noRestartXBMC ] ; then
        screen -A -m -d -S xbmcREMOTE /usr/local/bin/pyServiceLircHandleXBMC #linea a añadir
        rm /tmp/noRestartXBMC
...

Uso screen para mandarlo a segundo plano y tener mejor control del proceso, pero sino queréis usarlo supongo que podreis usar también nohup y demás…
Finalmente y sin cerrar este fichero debéis quitar el argumento –standalone de la llamada a xbmc, para que os permita cerrar XBMC sin apagar todo el sistema.

Bien, no se si entre el público habrá algún día otro pijo-linuxero con el mismo problema, pero quizás lo más importante de este envio es la facilidad de crear un programa a tu medida con python en un par de ratos y sin dolores de cabeza, que lujo de lenguaje a ver si me lo empollo un poquito más Smiley: guay!

Un Saludo!


Unificando Hardware, las fotos (y III?)

Esta mañana he puesto en el anterior envio las configuraciones del xbmc, el control remoto y las xorg, espero que os sean tan útiles como a mi. La verdad que estamos contentísimos con el cambio, todo un acierto las zotac estas con nvidia integradas. Nada más que ir por los foros de XBMC y ves el éxito y la cantidad de gente que las está usando.

Yo no puedo hacer más que animaros a montaros vuestro mini-htpc y enseñaros nuestro bebito Smiley: guiño

Imagen del articulo
La MINI-ITX (Zotac IONITX-F-E N330) montada en la caja NOX Fantastic.

Imagen del articulo
En detalle: Disco duro (500GB – 3`5/slim), Micro y Ram (2GB por el momento)

Imagen del articulo
Para que tengáis una referencia de su tamaño respecto a una 360.

y el resultado final de nuestro trabajo, con un poco de ayuda de los chicos de XBMC claro XD
Imagen del articulo
Imagen del articulo

Un Saludo!