Framboesa Pi – Introducción

These days que andamos testeando distintos ThinClient han passado por meus manos una Raspberry Pi, que não é um ThinClient, mas obviamente se pode utilizar como isso, queria escrever este artigo para acercar este dispositivo a todos aqueles que não o conheciam ou tiveram a sorte de poder provarlo. La RPi (modelo B) é um pequeno computador (CPU ARM de 700Mhz e 512Mb RAM) com 2 salidas USB, 1 RJ45, 1 HDMI, 1 RCA, conector GPIO, espaço para 1 SD CARD e que nos alimentamos com um MicroUSB a 5V. Podemos fazer-nos com uma Raspberry Pi por uns 30€. ¿Barato? Não! O seguinte!

 

Definida muito brevemente o que é uma RPi, apenas nos restará pensar para que a precisamos, já que o seu pequeno tamanho (de um maço de tabaco), a sua baixa alimentação e o seu potencial, permitir-nos-á libertar a mente e pensar em diferentes utilidades. Como equipamento ThinClient (e iniciar aplicações Citrix XenApp, áreas de trabalho com VMware View/XenDesktop, RDP…), equipamento multimédia, equipamento de videovigilância, equipamento móvel (com uma bateria de 10.000 mAh teremos uma autonomia de aproximadamente 12h. Ou colocar-lhe um USB nano Wifi para ter conectividade…), Domótica… A fundação que a criou, tem como objectivo aproximar de todas as crianças e escolas a possibilidade de ter um computador. Uno de los proyectos que más están llamando la atención es la posibilidad de traducir de forma simultánea (con subtitulos en unas gafas) la conversación entre dos personas de distintos paises, mejor verlo que explicarlo: http://www.raspberrypi.org/archives/1689.

Poço, el primer paso será descargar el S.O. que querramos en nuestra RPi, para ello tendremos la web de imágenes oficiales: http://www.raspberrypi.org/downloads. Podremos utilizar imágenes oficiales o personalizadas por los usuarios de la comunidad, en este primer ejemplo bajaremos una Raspbian “wheezy”, que es una distro optimizada basada en Debian.

Para meter la imagen en la tarjeta SD Card, lo haremos con la utilidad Win32DiskImager en Windows o en Linux o Mac mediante:

Meter la SD Card en nuestros PC’s y ver con ‘mountcual es la SD card
Desmontar la SD card con: diskutil umount /dev/disk2s1
Volcar la imagen a la SD Card: sudo dd if=2012-10-28-wheezy-raspbian.img of=/dev/disk2s1 bs=1
Expulsarla con: diskutil eject /dev/disk2s1

La introduciremos en nuestra Raspberry y la encendemos, nos preguntará unos parámetros básicos como si queremos arrancar X automáticamente, cambiar la contraseña del usuario ‘pi’, extender la partición a toda la SD, idioma, rangos horarios, si queremos SSHd habilitado por defecto

Una vez arrancada será aconsejable actualizarla con: ‘apt-get update’ & ‘apt-get upgrade’.

Si queremos practicar antes de tener una Raspberry Pi o para luego volcarla una imagen de disco personalizada, podremos utilizar el emulador QEMU (o Q en Mac OS).

Para una configuración avanzada de la RPi, podremos editar ‘/boot/config.txtcon los parámetros que nos interensen de http://elinux.org/RPi_config.txt.

 

Modificando el logo de inicio,

Si queremos personalizar el rápido inicio de nuestra RPi de una forma corporativa con el logo de nuestra organización podremos instalar el visor con ‘apt-get install fbi’, dejaremos la imagen en ‘/etc/splash.pngy crearemos el script ‘/etc/init.d/asplashscreen’ com:

[Código-fonte]——————————————–[/Código-fonte]

[Código-fonte]#! /bin/sh
### BEGIN INIT INFO
# Provides: asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start: S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Descrição: Show custom splashscreen
### END INIT INFO

do_start () {

/usr/bin/fbi -T 1 -noverbose -a /etc/splash.png
sair 0
}

case &Quot;$1&Quot; in
Início|&Quot;&Quot;)
do_start
;;
Recomeçar|Recarregar|force-reload)
ECO &Quot;Erro: argument ‘$1not supported&Quot; ≫&2
sair 3
;;
parar)
# No-op
;;
estado)
sair 0
;;
*)
ECO &Quot;Uso: asplashscreen [Início|parar]&Quot; ≫&2
sair 3
;;
esac

:
——————————————–[/Código-fonte]

Lo haremos ejecutable con ‘chmod a+x /etc/init.d/asplashscreene indicamos que sea un demonio que arranque automáticamente ‘insserv /etc/init.d/asplashscreen’. Reiniciamos y lo comprobamos! A propósito, la RPi no viene por defecto con una carcasa, por lo que si buscamos bien, podremos adquirirlas directamente con una caja también corporativa con el logo impreso. Un producto para conectar a cualquier red y dar servicio a nuestros usuarios, accediendo de forma segura a su organización!

 

Como visor de videos o equipo multimedia,

Sobre la distribución Wheezy, directamente podremos utilizar el visor de videos Omxplayer ejecutando: ‘omxplayer -r -o hmdi PATH_FICHEROpara abrir un video y sacarlo por el HDMI.

Si queremos darle doble click a un video y que se nos reproduzca automáticamente, valdrá con crear el fichero '/usr/share/applications/omxplayer.desktop’ con el contenido:

[Código-fonte]——————————————–
[Desktop Entry]
Type=Application
Name=OMXPlayer
Categories=AudioVideo;Jogador;
Exec=lxterminal –comando &Quot;omxplayer -o hdmi %f&Quot;
Terminal=false
Icon=/usr/share/icons/nuoveXT2/96×96/categories/applications-multimedia.png
——————————————–[/Código-fonte]

Si unicamente lo queremos como equipo multimedia lo ideal será meter una distribución totalmente preparada con XBMC como podem ser XBian o RaspBMC, por citar dos dos de las mejores. La prueba que verificó que la Raspberry Pi es totalmente válida para esto, fué el reproducir perfeitamente una película con formato matroska 1080p!!!

 

Montandole un servidor VNC,

Por si alguém precisa de acesso remoto (que no sea con ssh) bastará con instalarle TightVNC con ‘apt-get install tightvncserver’. Configuramos el servicio indicandole la contraseña para el acceso con: ‘vncserver’. Creamos una sesión con: ‘vncserver :1 -geometry 1280×800 -depth 24’.

Si queremos que arranque TightVNC al inicio con la Raspberry Pi, añadimos al final del todo (pero antes del exit!) en ‘/etc/rc.local’:
su -cvncserver :1 -geometry 1280×800 -depth 24” pi

 

Uso de micrófono,
Una vez conectado uno (o el propio de una WebCam), cargaremos el módulo con: ‘modprobe snd_bcm2835
Y podremos hacer las grabaciones con:
a WAV: ‘arecord -D plughw:1,0 test.wav’ (se para después con CTR+C)
a MP3: Instalaremos previamente LAME (‘apt-get install lame’) y ejecutar después: ‘arecord -f cd -t raw | lame -x -r – out.mp3

Para reproducir el audio: ‘aplay test.wav
Para jugar con el micro y darle más/menos audio utilizaremos: ‘alsamixery luego grabar los cambios con: ‘alsactl store’.
Para hacer streaming (o sacar el audio) del Raspberry Pi a otro equipo en remoto, Vamos fazê-lo com: ‘arecord -D plughw:1,0 -f dat | ssh -C USUARIO@EQUIPO_REMOTO aplay -f dar

 

Uso de Webcam,

Para mí una de las cosas a la que le voy a dar más utilidad, desde poner un detector de movimiento en la puerta de casa y que me mande un correo con las imágenes detectadas, o al ir grabando los recorridos con mi coche por todos los motivos que se nos ocurran

Primeiras coisas, una aplicación sencilla para sacar fotos al de X segundos (-l), la instalamos con ‘apt-get install fswebcam’. Comando:
‘fswebcam -r 640×480 -S 15 –flip hjpeg 95 –shadow –título “Tundra IT” –subtitleBlog bujarra.com” –informação “Monitor: Active @ 1 fpm” –save home.jpg -q -l 60’.

Para grabar un video directamente con: 'ffmpeg -f video4linux2 -r 25 -s 640×480 -i /dev/video0 /tmp/video.avi’

Uso de 'motion', esta herramienta nos permitirá utilizar nuestra RPi como sistema de videovigilância, desde grabar vídeo o imagens, a poder conectarnos a uma URL y poder visualizar lo que está sucediendo… Lo primero será instalarlo con 'apt-get install motion'. Editaremos '/etc/motion/motion.conf’ todos los parámetros que necesitemos, para mí los que más me han encajado:

– Habilitar conexión remota: 'webcam_localhost off’
– Changer el destino de las imágenes con: 'target_dir /home/pi/Desktop/motion’
– Changer el puerto al que nos conectaremos desde el navegador: 'webcam_port 8081’
– Asignar un usuario para autenticarnos en la web: ‘control_authentication usuario:senha’
Establecer la calidad de imágen: ‘quality 60
Establecer el correcto tamaño de captura de nuestras imágenes con: ‘width’ & ‘height
Para escoger el codec con el que comprimirá el video: ‘ffmpeg_video_codec mpeg4
Subir de 1500 a lo que nos encaje para que detecte más pídeles movidos con: ‘threshold 4000
– %f será el nombre del fichero (con su path), por si lo queremos utilizar como variable.
Con ‘locate onnos dibujará un rectángulo del objeto que detectó el movimiento.
Con ‘text_righto ‘text_leftpondremos los textos que nos interesen en cada frame.
‘output_normal offpara cuando se detecte un movimiento que no nos guarde la imagen jpg.
‘ffmpeg_cap_new off’ para que no nos guarde vídeos con los movimientos. O 'on’ para que use la librería ffmpeg, se deberá establecer un formato de video.

Além disso, podremos instalar sendEmail para mandar correos por línea de comando: 'apt-get install sendemail'.
Comando para enviar de correo con la imagen adjunta: sendemail -f PERSONA_ORIGEN@DOMINIO_ORIGEN -t PERSONA_DESTINO@DOMINIO_DESTINO -s SERVIDOR_SMTP -m TEXTO_CUERPO -u TEXTO_ASUNTO -xu USUARIO_AUTENTICACION_SMTP -xp CONTRASEÑA_AUTENTICACION_SMTP -o tls=auto -a %f

O unicamente subirla a un FTP con: 'wput ftp://USUARIO:CONTRASEÑ*@*****IO.COM %f’

Podremos configurar por ejemplo en los siguientes eventos el introducir dichos comandos para automatizar dichas alertas:
on_event_start
on_picture_save

Lo pondremos como demonio con el parámetro 'daemon on', si queremos executarlo posteriormente sin forzar el modo demonio lo ejecutaremos como 'motion -n'. Y en '/etc/default/motion’ podremos indicar que arranque automaticamente motion con el sistema editando: 'start_motion_daemon=yes'. La primera vez deberemos crear el directorio '/var/run/motion’ para que no de erros al arrancar el demonio.

A mí esto último me ha estado dando problemas y me bloqueaba la cámara al de unos cuantos frames sacados, assim que sin más sentido he tenido que crearme un proceso que lo arranque sin depender de lo que nos permite motion. Este sería mi '/etc/init.d/hhh-motion’

[Código-fonte]——————————————–
#!/bin/bash
### BEGIN INIT INFO
# Provides: blabla
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: blabla
# Descrição:
#
### END INIT INFO

#! /bin/sh
# /etc/init.d/hhh-motion
#

# Some things that run always
# touch /var/lock/blah

# Executar funções específicas quando solicitado pelo sistema
case &Quot;$1&Quot; in
Início)
ECO &Quot;Iniciar o script hhh-motion&Quot;
mkdir /var/run/motion
movimento
;;
parar)
ECO &Quot;A parar o script hhh-motion&Quot;
ECO &Quot;start_motion_daemon=não&Quot; ≫ /etc/default/motion
/etc/init.d/motion stop
;;
*)
ECO &Quot;Uso: /etc/init.d/hhh-motion {Início|parar}&Quot;
sair 1
;;
esac

sair 0
——————————————–[/Código-fonte]

Lo creamos como servicio con 'update-rc.d hhh-motion defaults’ y reiniciamos para probar!

 

Uso de Citrix,

Si estamos utilizando la imagen base Debian Wheezy (en el modelo B) no podremos instalar el cliente de Citrix, ya que Citrix gera clientes para linux x86, x64 y ARM (el ARM no nos vale ya que está basado en ARMEL y no en armhf, que es la arquitectura de la imagen base que trae). Así que sin indagar más y esperando un próximo documento os remito al utilizar una imagem llamada: ‘RPiTC – Projeto Thin Client Raspberry Pi‘ que es una distribución basada en Thin Client con las siguientes utilidades:

– VMWare View Client 1.6.0
– Citrix Receiver para Linux 12.2.3
– Quest vWorkspaces 7.0b.
– RDesktop 1.7.1.
– SPICE Client (virt-viewer 0.5.3).
– IceWeasel 10.x con extensão de Citrix.
– …

onde poderíamos personalizar facilmente a abertura de qualquer uma de elas com os parâmetros que precisemos!! Poço, com isto finalizamos este documento, onde poderíamos apreciar características bastantes e poderíamos dar rienda suelta a nossa imaginação com as nossas imaginações queridas RPi!

Postagens recomendadas

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Não hesite em contactar-me, Vou tentar ajudá-lo sempre que puder, Compartilhar é viver ;) . Desfrute de documentos!!!

XenApp Manager

21 Dezembro 2012