Archivos de Categoría: Raspberry Pi @es

Activar el servidor SSH en un Raspberry Pi sin monitor

Raspbian viene por defecto configurado sin que el servidor SSH esté activado así que si tienes un Raspberry Pi sin monitor ni teclado no podrás acceder a él. La manera sencilla de activar el servicio SSH sin ni siquiera tener que poner en marcha la placa es editando un fichero en la tarjeta SD.

Como tal vez sepas en Raspian los servicios se arrancan o no dependiendo de en qué runlevel estés iniciando el sistema. Esta relación entre runlevel y servicios se configuran mediante SysV Init en las carpetas /etc/rcX.d donde X son números del 0 al 6 que representa los diferentes runlevels. Raspbian arranca por defecto en el runlevel 2 así que si vas a /etc/rc2.d en la partición ext4 de tu tarjeta SD (no la partición FAT32 de boot) verás algo similar a esto:

Raspbian K01ssh

Esa “K” en K01ssh significa “kill”. Así que SSH no va a ser iniciado en el runlevel 2. Si cambias el nombre de ese symlink a S01ssh el servidor SSH arrancará (“start”) con el sistema.

Raspbian S01ssh

Es así de simple, tan sólo cambiar la “K” (kill) por una “S” (start) en el runlevel adecuado para el servicio que queremos cambiar.

Indicador de carga de CPU usando Pi-Stop con una Raspberry Pi

Compré un Pi-Stop para jugar un poco y para introducir a mis sobrinas a la programación. Pi-Stop es un semáforo educacional para Raspberry Pi y fue diseñado por 4Tronix.co.uk y PiHardware.com.

piStopCpuLoad

Al principio empecé haciendo unos simples scripts de Python usando las líneas GPIO, luego usé la librería RPIO para cambiar la luminosidad de los LEDs mediante PWM, etc. Entonces se me ocurrió que este simple y divertido aparato se podría usar para algo más serio: un indicador de carga de CPU. Unos minutos más tarde lo tenía hecho. Es mi primera aplicación hecha en Python así probablemente no sea perfecta pero es un buen comienzo para este lenguaje. El código se puede descargar de github y cualquier aportación es bienvenida 🙂

https://github.com/enekochan/piStopCpuLoad

Hay 2 versiones disponibles:

  • piStopCpuLoad.py: Usa RPi.GPIO para actuar sobre el puerto GPIO.
  • piStopCpuLoadPwm.py: Usa la librería RPIO y PWM para cambiar la luminosidad de los LEDs. Tendrás que instalar RPIO para usar este script.

Puedes verlo en marcha aquí:

Añadir una acción personalizada a un keycode en XBMC

Existen unos mandos a distancia por infrarojos USB hecho especialmente para ser usados en media centers. Compré uno para poner una Raspberry Pi con todas las películas para mis padres.

usb-ir-remote

Parecía que todo funcionaba correctamente sin cambiar nada en XBMC pero entonces nos dimos cuenta de que el botón de bajar el volumen no hacía nada. Así que me dispuse a descubrir cuál era el keycode que se enviaba al pulsar ese botón para asociarlo a la acción apropiada en XBMC. Para poder ver esto hay que activar el debug en XBMC (Settings->System->Debugging) y luego pulsar unas cuantas veces el botón en cuestión. Una vez hecho esto hay que mirar el fichero de log (temp/xbmc.log en tu carpeta userdata, que en Linux es ~/.xbmc) y buscar algo similar a esto:

18:25:59 T3034951680   DEBUG: OnKey: f14 (0xf09d) pressed, action is ...

Puede usar cat y grep para encontrarlos:

$ cat ~/.xbmc/temp/xbmc.log | grep pressed

Y ahí tienes el keycode en formato hexadecimal. Tan solo hay que convertirlo a decimal, que en este caso es 65197, y luego saber cuál es el nombre de la acción a la que quieres asociarlo. La lista de keycodes se puede ver en ButtonTranslator.cpp:

        {"volumedown"        , ACTION_VOLUME_DOWN},

Por último hay que editar el fichero keymaps/keyboard.xml dentro de tu carpeta userdata indicando el keycode y la acción:

<keymap>
  <global>
    <keyboard>
      <key id="65197">volumedown</key>
    </keyboard>
  </global>
</keymap>

Ref: http://wiki.xbmc.org/index.php?title=keymap#Keyboards
http://wiki.xbmc.org/index.php?title=HOW-TO:Modify_keyboard.xml

Subir el volumen bajo en XBMC

Las películas codificadas con sonido AC3 suelen tener el volumen muy bajo. Para solucionar esto edita el fichero /usr/share/xbmc/system/advancedsettings.xml y añade el siguiente parámetro audio ac3downmixgain dentro delos tag <advancedsettings>...</advancedsettings>:

<advancedsettings>
  ...
  <audio>
    <ac3downmixgain>24.0</ac3downmixgain>
  </audio>
</advancedsettings>

El valor por defecto es 12.0 así que cambia su valor para que se ajuste a lo que tu quieras pero ten en cuenta que aunque la opción se llama ac3downmixgain afectará al volumen de TODOS los codecs.

speaker

Ref: http://forum.xbmc.org/showthread.php?tid=164929&pid=1421472#pid1421472

Arreglar problema de no video en XBMC

Aunque se recomienda instalar una distribución específica de media center (raspbmc, openelec o xbian por ejemplo) ya que vienen configuradas correctamente, si decides instalar XBMC por tu cuenta es posible que tengas problemas para reproducir videos. Si solo escuchas el sonido y no se ve la imagen de las películas es posible que sea porque XBMC intenta usar aceleración por hardware y no tienes la licencia MPEG-2 en tu Raspberry Pi.

xbmc-no-video

Para usar decodificación por software sigue estos pasos:

  • Ve a System -> Settings y ahí selecciona la pestaña “Video”.
  • Cambia la opción “Settings level” en la esquina inferior izquierda a “Expert”. Esto hará que se vea la opción de menú “Acceleration”.
  • Ahora ve al menú “Acceleration” y cambia la opción “Decoding method” a “Software”.

Settings.videos.acceleration

Puedes ver un video del proceso aquí.

Si esto no soluciona el problema por sí mismo añade la siguiente opción a /boot/config.txt:

start_x=1

Esto activa el uso de los ficheros de firmware “_x” (start_x.elf) y debería permitir la decodificación por software.

Ref: http://forum.xbmc.org/showthread.php?tid=170832