jueves, 21 de agosto de 2014

torrent autodownload box: Como configurar tu raspberry para descargar automaticamente tus torrents

Buenas, en esta entrada de blog voy a explicar como hacer que tu raspberry se descargue tus series favoritas por ti sin que te tengas que ocupar de nada.

Esta entrada puede ser bastante extensa y la voy a dividir en partes, vamos a tocar configuraciones, scripts bash, brico con rele para encender un disco externo,  programación en python de GpIO, programación PHP para nuestra interfaz de gestión remota, etc.

Si os gustan los post, por favor, hacer clic en alguno de los anuncios de google de esta forma me estais ayudando a seguir con el blog.

PARTE 1:
- Instalación y configuración de transmission.
- Configuración del disco externo para que siempre se monte en el mismo directorio.

Instalación de transmision:
Para instalar transmision ejectura los siguientes comandos:

sudo apt-get update
sudo apt-get install transmission-daemon
sudo apt-get install transmission-common
sudo apt-get install transmission-cli

Con esto ya tenemos en nuestro sistema el programa que se va a descargar los torrents ahora vamos a configurarlo.

Configuración de transmission-daemon:
Lo primer que debemos hacer es parar el servicio.
sudo service transmission-daemon stop

Ahora localizadmos el fichero de configuración de transmission este se llama settings.json y se encuentra en /etc/transmission-daemon, para editarlo necesitamos permisos de root asique antes de usar nuestro editor favorito ejecutar sudo.

Hay que localizar las siguientes opciones de configuración y dejarlas como se muestra a continuación, si alguna opción no la encontramos la creamos nueva, antes de continuar debemos saber cual va a ser nuestro directorio de descargas en mi caso es
/media/HDex/torrents/finalizados que es del disco externo que depues haremos que se monte siempre en /media/HDex

Configura transmission para escuchar en todas las ips disponibles
"bind-address-ipv4": "0.0.0.0",

directorios de descarga
"download-dir": "/media/HDex/torrents/finalizados",
"incomplete-dir": "/media/HDex/torrents/tmp",
"incomplete-dir-enabled": true,

fuerza a subministrar autenticación
"rpc-authentication-required": true,

el servicio rpc escucha en todas las ips
"rpc-bind-address": "0.0.0.0",

habilita el servicio rpc
"rpc-enabled": true,

password encriptado, esta en formato ssha1, para generar nuestro password encriptado y que no aparezca en plano, ejecutar el siguiente comando:
echo -n password | sha1sum a la cadena que resulte se le añade "{" al inicio.
"rpc-password": "{95a1ef622856a065396de62b3d1170ffe82586fb",

puerto del servicio rpc
"rpc-port": 9091,

ruta web para acceder al servicio
"rpc-url": "/transmission/",

usuario
"rpc-username": "pi",
"rpc-whitelist-enabled": false,

script a ejecutar cuando se acabe de descargar cada torrent, yo tengo el mio que publicare mas adelante.
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/home/pi/bin/torrentnotify",

Una vez las configuración estan hechas iniciar de nuevo el servicio    
sudo service transmission-daemon stop

si por alguna circustancia ves que tu configuración se ha sobrescrito de nuevo a la anterior es porque no se paro el servicio al princicio, edita de nuevo el fichero de configuración y ejecuta
sudo invoke-rc.d transmission-daemon reload ó
sudo invoke-rc.d transmission-daemon start ó
sudo invoke-rc.d transmission-daemon restart
dependiendo de cada caso.
 
Ahora se puede acceder desde cualquier navegador de internet a la interfaz web de transimission en la siguiente url:
http://<ip de la raspberry>:9091/transmission
nos pide el usuario y contraseña que pusimos en el fichero settings.json


Configración del disco externo:

Antes de empezar tengo que comentar que en mi caso el formato del disco lo tengo en NTFS para poder usarlo con el resto de los ordenadores de la casa, esto supone una bajada de rendimiento para la raspberry, si se quiere se puede formatear en ext4 que es menos pesado para la raspberry, no es objeto de este post formatear el disco, si lo necesitas pregunta a google.

Establecer punto de montaje fijo para el disco externo:
Lo primero es crear el directorio donde se va a montar en mi caso elegí /media/HDex
mkdir /media/HDex

Ahora vamos a usar la reglas de udev para hacer que siempre se monte en este directorio.
Lo primero debemos buscar algún atributo del disco que sea unico para que el sistema lo identifique, tenemos que saber que "device" le asigna el sistema para poder preguntar esto se puede mirar en /var/log/kern.log despues de enchufar el disco externo, le asigará algo como sda o sdb

ahora ejecutar
udevadm info -q all --name=/dev/sdb y mostrará algo parecido a esto:
P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/host1/target1:0:0/1:0:0:0/block/sdb
N: sdb
S: disk/by-id/usb-General_USB_Flash_Disk_3709090000072843-0:0
S: disk/by-path/platform-bcm2708_usb-usb-0:1.2.4:1.0-scsi-0:0:0:0
S: ownusb
E: DEVLINKS=/dev/disk/by-id/usb-General_USB_Flash_Disk_3709090000072843-0:0 /dev/disk/by-path/platform-bcm2708_usb-usb-0:1.2.4:1.0-scsi-0:0:0:0 /dev/ownusb
E: DEVNAME=/dev/sdb
E: DEVPATH=/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/host1/target1:0:0/1:0:0:0/block/sdb
E: DEVTYPE=disk
E: ID_BUS=usb
E: ID_INSTANCE=0:0
E: ID_MODEL=USB_Flash_Disk
E: ID_MODEL_ENC=USB\x20Flash\x20Disk\x20\x20
E: ID_MODEL_ID=1000
E: ID_PART_TABLE_TYPE=dos
E: ID_PATH=platform-bcm2708_usb-usb-0:1.2.4:1.0-scsi-0:0:0:0
E: ID_PATH_TAG=platform-bcm2708_usb-usb-0_1_2_4_1_0-scsi-0_0_0_0
E: ID_REVISION=1100
E: ID_SERIAL=General_USB_Flash_Disk_3709090000072843-0:0
E: ID_SERIAL_SHORT=3709090000072843
E: ID_TYPE=disk
E: ID_USB_DRIVER=usb-storage
E: ID_USB_INTERFACES=:080650:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=General
E: ID_VENDOR_ENC=General\x20
E: ID_VENDOR_ID=090c
E: MAJOR=8
E: MINOR=16
E: SUBSYSTEM=block
E: UDEV_LOG=3
E: UDISKS_PARTITION_TABLE=1
E: UDISKS_PARTITION_TABLE_COUNT=1
E: UDISKS_PARTITION_TABLE_SCHEME=mbr
E: UDISKS_PRESENTATION_NOPOLICY=0
E: USEC_INITIALIZED=10079308


de todo lo que sale nos quedamos con ID_SERIAL_SHORT=3709090000072843, con esto podemos identificar nuestro dispositivo, mi caso esta información no viene usé una convicación para identificarle.

Creamos un fichero en /etc/udev/rules.d/ en mi caso lo he llamado 90-HDext.rules y el contenido es este:
ACTION=="add" SUBSYSTEMS=="scsi", ATTRS{model}=="HD103SI", ATTRS{vendor}=="SAMSUNG ",SYMLINK+="hdex", RUN+="/bin/mount /dev/hdex /media/HDex"
ACTION=="remove", ENV{ID_FS_UUID}=="FA808BA9808B6AC9", RUN+="/bin/umount /media/HDex" 


mis atributos de udevadm son model y vendor, sustituir los ATTR por los vuestros.

También tengo en el fichero de sistema que se usa para montar los discos (/etc/fstab) la siguiente entrada:
/dev/hdex       /media/HDex     ntfs-3g rw,user,exec,umask=000  0       0

no se si es necesaria, pero lo único que pasa es que si al arrancar no encuentra el disco da una advertencia.


Con el disco montado tenemos crear los directorios de descarga de transmission en mi caso son:
/media/HDex/torrents/finalizados
/media/HDex/torrents/tmp

mkdir -p /media/HDex/torrents/finalizados
mkdir /media/HDex/torrents/tmp

Con esto tenemos el entorno preparado para poder usar transmission y que guarde las descargas en un disco externo que no tiene porque estar siempre encendido, porque cada vez que se enchufe este se montará siempre en el mismo sitio. En los siguientes post vamos a configurar el sistema para que el disco se encienda solo cuando la raspberry encuentre un torrent y se apague cuando lo termine de descargar. 

lunes, 12 de mayo de 2014

XBMC sobre Raspbian: como habilitar escritura con teclado en los campos de busqueda

Buenas en esta entrada voy a publicar una solución que a mi me volvió un poco loco hasta que di con ella.

Después de instalar XBMC sobre Raspbian, instalar un montón de plugins, etc, etc. Me dí cuenta de que el teclado no funcionaba en los campos de búsqueda de los plugins de XBMC. Miré todas las opciones de configuración de XBMC para ver si daba con alguna solución y nada. Al final depués de googlear bastante dí con la fuente del problema y es que en la instalación de XBMC en Raspbian hay un problema de permisos que no deja usar el teclado por medio de la entrada estandar.

Una solución a este problema es la siguiente.
Por medio de udev:
crear un fichero, con permisos de root, dentro de /etc/udev/rules.d con nombre 50-tty-xmbc.rules con el siguiente contenido:

SUBSYSTEM=="tty", KERNEL=="tty0", GROUP="tty", MODE="0666"

Reiniciar la raspberry y listo.



miércoles, 5 de marzo de 2014

Conectar WiiMote de Nintendo a la Raspberry

Para conectar el mando de la Nintendo Wii a la Raspberry lo primero que se necesita, además del mando, es un dispositivo bluetooth por USB. Para ver una lista de dispositivos compatibles, aunque la mayoría lo serán, os sugiero mirar en el siguiente enlace: http://elinux.org/RPi_VerifiedPeripherals


Paso 1: Actualizar los repositorios de software de Raspbian y actualizar el software instalado, que nunca esta de mas.

sudo apt-get update
sudo apt-get upgrade

Paso 2: Instalar los drivers de bluetooth: la comunicación con el mando de Wii se hace por medio de bluetooth.

sudo apt-get install --no-install-recommends bluetooth  

la opción --no-install-recommends es para no instalar cosas que en un principio son innecesarias como impresoras bluetooth, etc.

Paso 3: Ahora necesitamos el paquete python-cwiid.

sudo apt-get install python-cwiid

Paso 4: Ahora es el momento de enchufar el dispositivo bluetooth al USB y probar que la comunicación con el mando de la Wii funciona. Tarda unos segundos en reconocer y poner en funcionamiento el dispositivo bluetooth.
Antes de nada comprueba que el servicio de bluetooth esta funcionando:

sudo /etc/init.d/bluetooth status

Si recebes el siguiente mensaje es que el servicio está funcionando:
[ ok ] bluetooth is running.

Si no es así prueba a reiniciar el servicio con /etc/init.d/bluetooth restart o reiniciando la raspberry.

Una vez comprobado que el servicio funciona presiona los botones 1 y 2 del mando de la Wii a la vez, veras que los led azules empiezan a parpadear. Ahora en la consola escribe el siguiente comando:

hcitool scan

y si todo esta bien verás un mensaje como el siguiente:

Scanning ... 00:19:1D:8F:BA:F7 Nintendo RVL-CNT-01

Apunta en algún sitio la dirección mac del dispositivo (00:19:1D:8F:BA:F7).

Paso 5: Instalación de wminput

sudo apt-get install wminput

Paso 6: Es momento de tomarnos un rato de las cosas que se pueden configurar en wminput para determinar la forma en que el Wiimote se va a comportar, los ficheros de configuración se encuentran en /etc/cwiid/wminput, vienen varios ejemplos para probar y al final lo interesante es hacerte tu propia configuración. Al final de la entrada publicaré la mía que la he orientado al uso con Mame (en entradas futuras explicaré esto). 

Para probar las distintas configuraciones hay que ejecutar el siguiente comando:
wminput -c <nombre_fichero_configuracion> -d 00:19:1D:8F:BA:F7

Nota: para hacer funcionar las configuraciones de ir-ptr. que es la forma clásica de mover el puntero del ratón en la Wii, se necesitan al menos una fuente emisora de infrarrojos que el mando pueda leer e interpretar, puede ser un led IR o una vela con llamita (la vela solo funciona hasta un metro de distancia). Y no pienses en encender tu Wii para que funcione la barra de ir, puesto que la Wii competirá con la Raspberry para tomar el control del Wiimote, y no funcionará correctamente.

Paso 7: Lo único que queda es hacer que el mando de la Wii empiece a funcionar una vez que se inicia sesión en el entorno gráfico, si así se desea, yo particularmente lo tengo desactivado al inicio y tengo un icono en el escritorio para activarlo, voy a explicar las dos formas:

    Paso 7a: Auto arranque con las X, crear un fichero en ~/.config/autostart, yo le he llamado wiiremote.desktop, con el siguiente contenido:
[Desktop Entry]
Name=Wii Remote Service
Comment=Converts Wii Remote to Mouse
GenericName=WiiRemote
Exec= /usr/bin/wminput -c default 00:19:1D:8F:BA:F7
X-GNOME-Autostart-Delay=20
Type=Application
Encoding=UTF-8


    Paso 7b: Icono en el escritorio, en este caso hay que crear un fichero en ~/Desktop con el siguiente contenido
[Desktop Entry]
Name=wii_player1
Comment=MAME remote controler
Exec=wminput -c player1 -d 00:19:1D:8F:BA:F7
Icon=/usr/share/pixmaps/idle.xpm
Terminal=false
MultipleArgs=false
Type=Application
Categories=Application;Games;
StartupNotify=true

Como se puede ver en ambos se lanza el comando wminput pero estoy usando diferentes configuraciones, esto es porque cuando lo puse automático quería usar el Wiimote como ratón para el escritorio y la configuración player1 la uso para jugar con el MAME.


Os pongo el fichero de configuración que uso para usarlo como mando arcade (player1):
#ir_ptr

include buttons
include nunchuk_alg

#Habilitar cuando tenga emisor ir
#Plugin.ir_ptr.X        = ABS_X
#Plugin.ir_ptr.Y        = ABS_Y

# You can set Plugin.led.Led[1->4] to 1
# to have that led be active all the time
Plugin.led.Led1 = 1

# Setting battery to 1 enables the battery check function
# By default the keypress is A + B
# You can change this by setting Plugin.led.Button to any
# wiimote or attachment button
Plugin.led.Battery = 1

En este fichero incluyo otros dos con mas configuraciones son buttons y nunchuk_alg y además le digo que encienda el Led 1 para identificarle como mando 1 y que me diga el estado de las pilas cuando se presiona A+B.

fichero buttons:
#buttons

Wiimote.A               = BTN_LEFT
Wiimote.B               = BTN_RIGHT
Wiimote.Up              = KEY_UP
Wiimote.Down    = KEY_DOWN
Wiimote.Left    = KEY_LEFT
Wiimote.Right   = KEY_RIGHT
Wiimote.Minus   = KEY_BACK
Wiimote.Plus    = KEY_FORWARD
Wiimote.Home    = KEY_HOME
#Wiimote.1              = KEY_PROG1
#Wiimote.2              = KEY_PROG2
Wiimote.1               = BTN_A
Wiimote.2               = BTN_B

Nunchuk.C               = BTN_LEFT
Nunchuk.Z               = BTN_RIGHT

Classic.Up              = KEY_UP
Classic.Down    = KEY_DOWN
Classic.Left    = KEY_LEFT
Classic.Right   = KEY_RIGHT
Classic.Minus   = KEY_BACK
Classic.Plus    = KEY_FORWARD
Classic.Home    = KEY_HOME
Classic.A               = BTN_LEFT
Classic.B               = BTN_RIGHT
#Classic.X              =
#Classic.Y              =
#Classic.ZL             =
#Classic.ZR             =
#Classic.L              =
#Classic.R              =


fichero nunchuk_alg:
#plugin for nunchuk stick
Plugin.nunchuk_stick2btn.Up     = KEY_UP
Plugin.nunchuk_stick2btn.Down   = KEY_DOWN
Plugin.nunchuk_stick2btn.Left   = KEY_LEFT
Plugin.nunchuk_stick2btn.Right  = KEY_RIGHT

Nunchuk.C               = KEY_TAB
Nunchuk.Z               = KEY_ESC
 
Espero que os sirva de ayuda.






domingo, 2 de febrero de 2014

Configurar la red

Configurar la red en la Raspberry pi con Raspbian instalado es bastante sencillo, como ya comenté antes, Raspbian está basado en Debian, asique el fichero de configuración se encuentra en /etc/network/interfaces.

cuando se edita no encontramos algo como esto:

auto lo
auto eth0 

iface lo inet loopback
iface eth0 inet dhcp


Esto significa que la interfaz ethernet está configurada para que tome dirección ip de modo automático de un servidor DHCP que este disponible en la red, estos suelen estar presente en la mayoría de los routers domesticos, pero si lo que se desea es poner una ip fija a la Raspberry hay que modificar este fichero y dejarlo como el siguiente:

auto lo
auto eth0

iface lo inet loopback
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        gateway 192.168.0.1

El significado de este es que a nuestra interfaz eth0 le ponemos una ip "static" fija, despues le damos el resto de parámetros:

address: el la direccion IP que le vamos a dar, tiene que ser unica en nuestra red (192.168.0.x).
netmask: es la mascara de la red, si estais seguro de que valor dar, la mayoría de las veces es el que está puesto en el ejemplo, siempre se puede ver este valor en otro ordenador de la casa.
gateway: es la dirección IP del router que da salida a internet. Esta IP también la podeis ver en cualquier otro ordenador de la casa.


Para la resolución de nombres DNS, aunque se puede pone en este fichero, yo tengo la constumbre de ponerlo en el fichero /etc/resolv.conf debe contener algo como esto:

nameserver 8.8.8.8
nameserver 4.4.4.4


en el se escriben las direcciones ip de nuestros servidores DNS favoritos.

Estos ficheros son del usuario root asique para editarlos es necesario hacerlo con permisos sudo.

jueves, 23 de enero de 2014

Primeras configuraciones

Voy a dedicar esta entrada a las primeras configuraciones que hay que hacer en la Raspberry.

Después de instalar Raspbian por primera vez aparece un "asistente" que permite configurar algunos aspectos de nuestra Raspberry, lo mas importante es cambiar la contraseña del usuario pi que por defecto es raspberry, configurar bien las opciones de idioma y localización, la cantidad de memoria RAM que se va a destinar a la tarjeta gráfica, también permite la activación de algunos servicios como ssh.

El programa que se ejecuta es raspi-config y se puede volver a ejecutar cuando queramos, basta con ejecutarlo desde una consola precedido del comando "sudo" porque necesita permisos root (administrador, para los de la LOGSE y los de Windows ;P ) para ejecutarlo

sudo raspi-config

En la configuración de los lenguajes que se va a instalar asegúrate de que el idioma que eliges esta en formato UTF-8, no hay que olvidar que es un sistema operativo basado en Linux y esto te ahorrará algún dolor de cabeza.

En mi caso la cantidad de memoria que asigné a la GPU fueron 128MB, puesto que ya planeaba usar la Raspberry con XBMC, (ya explicaré que esto), para poder ver videos de youtube, por ejemplo, y para esto se necesita destinar al menos esta cantidad de memoria RAM.

SSH para los que no lo sepan, que imagino que serán pocos es un servicio que permite acceder remotamente a una consola de la Raspberry, de una manera segura y encriptada.

Otra de las cosas que hice es cambiar la frecuencia del procesador para que cuando necesite mas cantidad de proceso pueda subir hasta los 900Mhz y cuando el sistema este ocioso se baje a los 700Mhz. Después al arrancar las X (entorno gráfico, esos de la LOGSE ....) me di cuenta que la pantalla ocupaba la totalidad del televisor y quedaban unas bandas negras. Para solucionar esto y gestionar la velocidad del procesador hay que editar el siguiente fichero /boot/config.txt, este fichero es muy importante para la Raspberry, en el se definen configuraciones de bajo nivel bastante importantes. os paso mi fichero de configuración:
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
hdmi_group=1
#hdmi_mode=1
hdmi_mode=16

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
sdtv_mode=2
# 16:9 ascpect ratio
sdtv_aspect=3

#uncomment to overclock the arm. 700 MHz is the default.
arm_freq=900
core_freq=300
sdram_freq=500
gpu_mem=128

over_voltage=2



Si alguien quiere profundizar en que significa cada linea del fichero, aquí podeis encontrar todo lo necesario y algo mas.


Primer post

Buenas a todos,

esta es mi primera entrada en este blog, el propósito general de este es compartir mis experiencias con el famoso PC y placa de desarrollo Raspberry Pi. Hace un tiempo mi mujer me la regaló y estoy encantado, y me gustaría compartir mis proyectos con todo el mundo.



De aquí en adelante iré publicando mis pequeños proyectos domésticos con lo que a mi me parece un invento de la leche.

Para los que no sepan que es Raspberry Pi, lo describo en unas pocas lineas.

Raspberry Pi es un mini ordenador de muy bajo consumo, que además cuenta con unos unos periféricos de bajo nivel GPIO, a los que podemos enchufar cosas como sensores de movimiento, distancia, servos, etc...

Raspberry cuenta, dependiendo del modelo, con 512 MB de RAM un procesado ARMv6 a 700MHz que se puede overclockear a 1 GHz, 1 entrada ethernet a 100 Mbit/s, HDMI, y otras cuantas cosas mas, si queréis mas detalle http://es.wikipedia.org/wiki/Raspberry_Pi o http://www.raspberrypi.org/

Hay varios sistemas operativos compatibles con Raspberry Pi, la mayoría basados en Linux, yo de momento uso raspbian, no he probado más, puesto que raspbian esta basado en debian y me siento muy cómodo con este.

La verdad es que no es un ordenador muy potente, mas bien lentito, pero con el que se puede hacer un buen montón de cosas.

Antes de comprar una Raspberry deben saber unas cuantas cosas para poder ponerla en funcionamiento se necesita comprar varias cosas:

  • Tarjeta SD: es el "disco duro" de la Raspberry, cuanto mas rápida sea la tarjeta SD mejor, mas rápido ira todo el sistema que como ya he dicho antes no es muy rápido en si, pero esto ayuda bastante. Yo recomiendo usar tarjetas de Clase 10 que llegan hasta los 30MB/s, últimamente están saliendo algunas mas rápidas. Tampoco es recomendable que tengan gran tamaño, puesto que la velocidad de acceso y escritura van callendo a medida que crece el tamaño, con una de 8 o 16 GB, será suficiente para la mayoría de la cosas que necesites.
  • Adaptador de corriente: es necesario un adaptador de corriente con salida a 5V y 0.7 mA, la salida de este adaptador tiene que se microusb como la de cualquier smartphone android.
  • Cable HDMI: necesitaras conectar la Raspberry a algún televisor o monitor con lo que necesitaras este cable o bién uno tipo RCA si no dispones de monitor con HDMI.
  • Teclado y/o ratón: nada que comentar al repecto.
Opcionalmente necesitaras también un hub de USB alimentado, ten en cuenta que la Raspberry no consume a penas electricidad y si enchufas mas aparatos USB de los que pueda manejar se reiniciara sola, yo me volví loco con esto.

 En cuanto a la primera instalación del sistema operativo es muy sencillo, yo recomiendo empezar con NOOBS(New Out Of Box Software), no voy a entrar en el proceso de instalación es muy sencillo y hay cientos de paginas escritas con esto.

Bueno, con esto ya he presentado este blog y cual es su proposito, iré poniendo mis experiencias con la Raspberry, que espero que sean útiles y del agrado de la mayoría.