Quantcast
Channel: Raspberry Pi | Blog Bujarra.com
Viewing all 58 articles
Browse latest View live

Raspberry Pi – Introducción

$
0
0

Estos días que andamos testeando distintos ThinClient han pasado por mis manos una Raspberry Pi, que no es un ThinClient, pero obviamente se puede utilizar como ello, quería escribir este artículo para acercar este dispositivo a todos aquellos que no lo conozcan o hayan tenido la suerte de poder probarlo. La RPi (modelo B) es [...]

The post Raspberry Pi – Introducción appeared first on Bujarra 3.0.


Usando una Raspberry Pi como un Thin Client corporativo

$
0
0

Continuando un documento anterior sobre Rasberry Pi, tenía ganas de montar algo sencillo pero que sirva para enseñar a los clientes lo fácil y barato que puede ser el tener un thin client corporativo en nuestra empresa, un dispositivo que cuesta 25 US$ y consume 5V. Le instalaremos el cliente de Citrix para que cuando [...]

The post Usando una Raspberry Pi como un Thin Client corporativo appeared first on Bujarra 3.0.

Poniendo Hyperion en Raspberry Pi

$
0
0

Vamos a hacer una serie de entradas que nos acerque un poco más el mundo de Raspberry Pi a nuestros hogares, a nuestro día a día, que nos haga la vida más fácil o distinta!! En este caso veremos qué fácil es poner un sistema tipo Ambilight en nuestra TV de casa. Un sistema de [...]

The post Poniendo Hyperion en Raspberry Pi appeared first on Bujarra 3.0.

Raspberry Pi – Servidor NO-IP

$
0
0

En veranito sacaremos una serie de entradas interesantes para montar en nuestras queridas Raspberry Pi, con tiempo podremos hacer proyectos interesantes, en este artículo veremos como montar sencillamente el demonio de NO-IP para evitar tener una dirección IP pública fija (en casa) y poder conectarnos desde el exterior a cualquier servicio que ofrezcamos! Para todo [...]

The post Raspberry Pi – Servidor NO-IP appeared first on Bujarra 3.0.

Raspberry Pi – Servidor VPN con PPTP

$
0
0

En este documento veremos de una forma muy sencilla cómo montar un servidor VPN en nuestra Raspberry Pi, será un servidor PPTP que será algo básico para conectarnos desde internet a nuestras casas/pequeños negocios, bastante útil sobre todo si disponemos de servicios a los que queremos acceder y no queremos dar un acceso público. Si [...]

The post Raspberry Pi – Servidor VPN con PPTP appeared first on Bujarra 3.0.

Raspberry Pi – Uso de relé, X10 y detector de movimiento

$
0
0

En este documento vamos a poner en marcha una Raspberry Pi con unas funciones muy prácticas que nos pueden hacer pensar en implementar un sistema de domotica en casa, super sencillo y barato. Conectaremos por un lado un relé que nos permitirá conmutar circuitos como las luces de casa, y por el otro un sensor [...]

The post Raspberry Pi – Uso de relé, X10 y detector de movimiento appeared first on Bujarra 3.0.

Raspberry Pi – Termómetro y control web de la casa

$
0
0

En este documento veremos los pasos a seguir para instalar sensores de temperatura en una Raspberry Pi, la creación de una BD para almacenar las temperaturas y un script que nos saque la temperatura de forma periódica. Crearemos un sitio web que nos permitirá obtener la temperatura actual así como una gráfica con el histórico [...]

The post Raspberry Pi – Termómetro y control web de la casa appeared first on Bujarra 3.0.

Instalando OpenVPN server en una Raspberry Pi

$
0
0

Algo super util en una Raspberry para poder conectarnos desde donde sea será el montar un servidor VPN, en un documento anterior ya vimos cómo montarlo, pero era con PPTP, algo no muy seguro digamos, en este documento veremos cómo instalar OpenVPN en una Raspberry, os dejo unos apuntes para que podáis montar una VPN [...]

The post Instalando OpenVPN server en una Raspberry Pi appeared first on Bujarra 3.0.


Raspberry Pi – Servidor de USB

$
0
0

Una forma de darle una vida útil a una Raspberry Pi es la de hacerle servidor de USB, donde podremos conectarle por USB cualquier dispositivo que nos interese y lo compartamos por red, como por ejemplo hacerle servidor de impresión compartiendo impresoras sin adaptador ethernet o esas típicas mochilas de licencias por USB a un [...]

The post Raspberry Pi – Servidor de USB appeared first on Bujarra 3.0.

Raspberry Pi – Usos de Bluetooth

$
0
0
Muy buenas, en este artículo quería documentar alguna utilidad que le saqué a una de las Raspberry que anda por casa, tengo un dispositivo mini USB bluetooth que le conecté a la Pi, os paso un par de scripts por si os puedan interesar: Uno primero nos detectará si estamos para ejecutar una acción; y el segundo […]

Usando ssh fingerprint entre Raspberry Pi’s

$
0
0
Si queremos que varias Raspberry Pi interactuen entre ellas, por ejemplo para que ejecuten comandos remotos, lo más común será hacerlo mediante conexión remota de ssh. Si queremos omitir introducir los credenciales que nos obliga ssh al hacer una conexión remota, deberemos crear una confianza entre las mismas y no depender de dicha petición de validación. Haremos un […]

Raspberry Pi – Sistema de sonido para toda la casa

$
0
0
Para dar la bienvenida al 2016 vamos a poner un post de los que me gustan… en este documento veremos como montar un sistema de audio para nuestras casas! Con unas Raspberrys repartidas por la casa podremos tener un hilo musical o un sistema multiroom de lo más barato! Podremos escuchar cualquier canción de nuestro […]

Poniendo Hyperion en Raspberry Pi

$
0
0

Vamos a hacer una serie de entradas que nos acerque un poco más el mundo de Raspberry Pi a nuestros hogares, a nuestro día a día, que nos haga la vida más fácil o distinta!! En este caso veremos qué fácil es poner un sistema tipo Ambilight en nuestra TV de casa. Un sistema de retroiluminación para nuestra tele, donde costará más el montaje que la configuración!

Hyperion-Raspbmc-00-bujarra

Para todos aquellos que queráis haceros un sistema de multimedia, para ordenar peliculas, series, fotos, música… conoceréis XBMC que lo podréis instalar en vuestros Windows, Mac, Linux, iOS, Androides… hay bastantes distribuciones con XBMC para las Raspberry y un eterno debate de cuál es mejor, más rápido, etc… este documento lo basaremos en Raspbmc, suponiendo que ya lo tenemos instalado en nuestra raspberry. A parte de todo eso nunca olvidar todos los Add-ons que se le pueden poner que son la pera!

Ok, para ver en funcionamiento Hyperion y saber qué queremos conseguir (por si no lo conoceis), bastará con ver un video similar a este:


Aúnque hay un video donde se ve mejor los efectos con la película de Avatar y se ve como salen las llamas de fuego de la TV!!! O_o

Hasta ahora personalmente venía utilizando Boblight, pero consume muchos más recursos que Hyperion, a parte Hypertion trae una herramienta HyperConn que nos permitirá configurarlo gráficamente muy sencillo! indicando el número de LEDs que tenemos, cómo los tenemos, tipo de movimiento más suave…

Bueno, al grano! qué necesitamos comprar:

– LEDs! cuántos? Dependerá de tu TV, normalmente para una de 42″ una tira de 50 LEDs que nos saldrá sobre los 27€ (ejemplo de eBay), en mi caso adquirí con el chip WS2801 (también pueden ser LPD6803, LPD8806 o Lightberry!).
– Necesitaremos también un transformador para meterles alimentación externa, bastará con uno de 5V y 2A (ejemplo de eBay) por 1€ aprox.
– Por último, un par de conectores tipo ‘DC Power Connector CCTV’ macho & hembra ya que al transformador anterior le cortaremos el conector y pondremos este que encaja con los LEDs (ejemplo de eBay) por 1€ aprox.
– Opcionalmente necesitaremos 3 cables de jumpers para conectarlos a la Raspberry en plan ‘bien’, normalmente macho-hembra (ejemplo de eBay).

 

led-05-bujarra

Para el montaje tenemos varias opciones, cada cual se lo puede montar como quiera, se puede poner un cartón detrás de la TV y con unas bridas atamos cada LED a su posición, o hacer con unas tuberías de estas pequeñas de 1cm de diametro en el perímetro de la TV y taladrar cada posición de los LED para luego ponerlos ahí, esta es la parte más costosa, ya que hay que arremangarse y ponerse a ello, pero en un rato está listo!

 

led-01-bujarra

En cuanto al conexionado es muy sencillo, en esta imagen de Adafruit podréis ver basicamente donde van los cables.

Descripción Color de cable Nº de Pin Descripción del Pin
Ground Azul Pin 6 Tierra
Clock Verde Pin 23 SCLK
Data Blanco Pin 19 MOSI
5V Rojo Pin 2 5v

 

led-06-bujarra

Si necesitáis ayuda y queréis saber la función de cada GPIO de las RPi, buena imagen!

 

led-02-bujarra

Imagenes de ‘brendan’ (@_nadnerb), donde vemos el cable del transformador cortado y añadido el conector macho, para saber qué lado es positivo o negativo no quedará más que medirlo con un polimetro (o a suerte, probar primero de un sentido y si no encienden con todo instalado…).

 

led-03-bujarra

Vemos los cables de los jumpers conectados al extremo final de la tira de LED’s…

 

led-04-bujarra

Como quedaría el montaje en la raspberry…

Bien, una vez montado todo ya sólo queda la instalación y la configuración, demasiado sencillo, antes de seguir, deberéis comprobar que tenemos Bobligth deshabilitado (En el Add-on “Raspbmc settings” > “System Configuration” > “Service Management”). Pasos para instalar Hyperion:

sudo apt-get update
sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 libprotobuf7 ca-certificates
wget -N https://raw.github.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
sudo sh ./install_hyperion.sh

 

Tras este último comando ya deberemos tener instalado Hyperion y si tenemos XBMC abierto probaremos a abrir un video, foto… y veremos los efectos de forma instantánea. Comando para probar y poner todos los LED rojos:

hyperion-remote --priority 50 --color red --duration 5000

Bueno, ahora si queremos personalizar un poco los movimientos, darle más brillo, intensidad… podremos utilizar HyperCon, que no es más que una aplicación en Java que nos generará el fichero de configuración (hyperion.config.json) que colocaremos en ‘/etc’.

 

Hyperion-Raspberry-00-bujarra

En la pestaña “Hardware” podemos cambiar si nos interesa la posición de los LEDs, número de ellos, etc… otra opción interesante a cambiar sería ‘Blackborder Threshold [%]’, simplemente para que no coja el borde de la imagen.

 

Hyperion-Raspberry-01-bujarra

En la pestaña ‘Process’ podríamos habilitar el ‘Smoothing’ que suavizará las transiciones de color de los LEDs. Se podría subir el ‘HSV Value gain’ a 1,75, 2, 3… es la intensidad de los LEDs!

 

Hyperion-Raspberry-02-bujarra

Y por último en la pestaña ‘Eternal’ indicaremos donde queremos que los LEDs actuen, si sólo en videos… así como elegir el efecto que queremos que hagan los LEDs cuando la Rpi reinicie y su tiempo de duración.

 

Y poco más!! A disfrutarlo!! ya veréis que chulo queda y qué ambiente le da a la casa… seguiremos con otros documentos de la raspberry en próximos días… si tenéis otras distribuciones de XBMC podréis ver en la doc oficial cómo aplicar esta instalación (por ejemplo en OpenELEC….), más info en su web oficial!

The post Poniendo Hyperion en Raspberry Pi appeared first on Tundra IT - Blog Bujarra.com.

Raspberry Pi – Servidor NO-IP

$
0
0

En veranito sacaremos una serie de entradas interesantes para montar en nuestras queridas Raspberry Pi, con tiempo podremos hacer proyectos interesantes, en este artículo veremos como montar sencillamente el demonio de NO-IP para evitar tener una dirección IP pública fija (en casa) y poder conectarnos desde el exterior a cualquier servicio que ofrezcamos!

raspberry_pi_no_ip-bujarra

Para todo el que no conozca, NO-IP es un servicio gratuito que podemos montar en nuestras casas/pequeñas empresas, nos permitirá que con una IP pública dinamica (sin adquirir una IP pública fija) nos actualice constantemente un nombre DNS que creemos, con ello, sabremos siempre cual es la IP pública de nuestra casa/pequeño negocio. Crearemos una cuenta en NO-IP, posteriormente un host (por ejemplo ‘casa’) y lo asociaremos a un nombre DNS gratuito (como ddns.net, no-ip.org, etc… hay cientos!). Con lo que instalaremos un pequeño software en la Raspberry que mantendrá actualizando la IP pública que tengamos en casa al dominio ‘casa.no-ip.org’ constantemente. Podremos en tal caso crear un CNAME en nuestro dominio público corporativo que enlace contra el dominio gratuito y así recordemos el nombre más sencillamente.

 

mkdir noip 
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz 
tar -zxf noip-duc-linux.tar.gz 
cd noip-2.1.9-1/ 
make 
sudo make install

Nos bajamos el cliente de NO-IP en nuestra Raspberry, en este documento estaría utilizando Raspbian, lo descomprimimos, compilamos y lo instalamos! Durante la instalación nos pedirá nuestra cuenta NO-IP y configuraremos el host que queramos utilizar (todo ello creado previamente en la web). Para ejecutar el cliente una vez finalizado de forma manual, podríamos ejecutarlo con ‘sudo /usr/local/bin/noip2’

 

sudo vim /etc/init.d/noip2

#! /bin/sh 
# /etc/init.d/noip  

### BEGIN INIT INFO 
# Provides:          noip 
# Required-Start:    $remote_fs $syslog 
# Required-Stop:     $remote_fs $syslog 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6 
# Short-Description: Demonio de noip 
# Description:       Demonio para apagar/encender NO-IP. 
### END INIT INFO 

case "$1" in 
  start) 
    echo "Arrancando noip" 
    /usr/local/bin/noip2 
    ;; 
  stop) 
    echo "Parando noip" 
    killall noip2 
    ;; 
  *) 
    echo "Uso: /etc/init.d/noip {start|stop}" 
    exit 1 
    ;; 
esac 

exit 0 

sudo chmod +x /etc/init.d/noip2 
sudo update-rc.d noip2 defaults

Creamos el demonio, lo ponemos como ejecutable y lo hacemos que arranque por defecto con la RPi, ahora ya podremos parar o iniciar el demonio de NO-IP desde una raspberry y poder conectarnos a casa para encender/apagar la calefacción, conectarnos a nuestras camaras de vigilancia…

The post Raspberry Pi – Servidor NO-IP appeared first on Tundra IT - Blog Bujarra.com.

Raspberry Pi – Servidor VPN con PPTP

$
0
0

En este documento veremos de una forma muy sencilla cómo montar un servidor VPN en nuestra Raspberry Pi, será un servidor PPTP que será algo básico para conectarnos desde internet a nuestras casas/pequeños negocios, bastante útil sobre todo si disponemos de servicios a los que queremos acceder y no queremos dar un acceso público. Si no tenemos una IP pública fija, sería ideal combinarlo con el cliente NO-IP en nuestra Raspberry!!!

 

raspberry-vpn-bujarra
Así que siguiendo estos pocos pasos podremos acceder a nuestra casa o pequeño negocio, recordar que PPTP no es que sea lo más seguro, ya os mostraré en otro documento cómo montarlo con OpenVPN! Por ahora será suficiente para conectarnos a los recursos necesarios y no tener que exponerlos a internet, obviamente podremos configurar el cliente VPN en nuestros smartphones con Android, iPhone o iPad, así como en equipos con Windows, Linux, Mac…

sudo modprobe ppp-compress-18

install the PPTP server
sudo apt-get install pptpd

Lo primero de todo, necesitaremos habilitar el soporte MPPE, posteriormente instalamos el servidor de VPN para Raspbian, basado en PPTP.

 

sudo vim /etc/pptpd.conf
localip 192.168.1.200
remoteip 192.168.1.30-33

Editaremos el fichero de configuración ‘/etc/pptpd.conf’ e indicaremos en ‘localip’ la dirección IP local de la Raspberry Pi, en ‘remoteip’ el rango IP que dará a los clientes que se conecten a la VPN.

 

sudo vim /etc/ppp/pptpd-options
ms-dns 192.168.1.1
nobsdcomp
noipx
mtu 1490
mru 1490

Editamos el fichero ‘/etc/ppp/pptpd-options’ y añadimos el texto anterior, deberemos configurar el servidor DNS correcto, podría ser mismamente 8.8.8.8, dependerá.

 

sudo vi /etc/ppp/chap-secrets
usuario[TAB]*[TAB]contraseña[TAB]*

Ahora creamos el usuario para acceder a la VPN, deberemos generar el contenido del fichero con el formato correcto y las tabulaciones apropiadas.

 

sudo service pptpd restart

Reiniciamos el servicio para que surjan efecto los cambios!

 

sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

Deberemos permitir si es que nos interesa el redireccionamiento desde la Raspberry a otros equipos de la red, ya que si no, al conectarnos desde el exterior sólo podremos acceder a la Raspberry y no a los demás dispositivos de casa, descomentamos la línea anterior en el fichero ‘/etc/sysctl.conf’.

 

sudo sysctl -p

Aplicamos los cambios y listo! ya sólo nos quedaría abrir el puerto 1723tcp en nuestro router hacía la IP que tenga nuestra querída Raspberry Pi.

 

raspberry-vpn-01-bujarra
Fácilmente podremos configurar por ejemplo el cliente de la VPN en iOS, desde “Ajustes” > “General” > “VPN” > “Añadir configuración VPN…” > Seleccionamos ‘PPTP’, en ‘Servidor’ pondremos la IP pública de nuestra casa o el nombre de NO-IP que tengamos, en ‘Cuenta’ el usuario creado para la VPN, en ‘Contraseña’ su password, y por defecto dejamos lo demás como está y debería conectarnos sin problemas!!!

The post Raspberry Pi – Servidor VPN con PPTP appeared first on Tundra IT - Blog Bujarra.com.


Raspberry Pi – Uso de relé, X10 y detector de movimiento

$
0
0

En este documento vamos a poner en marcha una Raspberry Pi con unas funciones muy prácticas que nos pueden hacer pensar en implementar un sistema de domotica en casa, super sencillo y barato. Conectaremos por un lado un relé que nos permitirá conmutar circuitos como las luces de casa, y por el otro un sensor de movimiento que nos permitirá hacer la función que nos interese, como por ejemplo encender esas mismas luces y por lo tanto no tener que dar las luces de la casa nunca más =)

raspberry-home-automation-bujarra

 

Controlar un relé con una Raspberry Pi,

En este documento por una parte, veremos cómo conectar un relé a una raspberry para poder controlar circuitos. Pudiendo usarlo como interruptor para controlar ciertas luces de la casa, el termostato de la calefacción… En eBay podremos encontrar relés de 5V para cerrar o abrir circuitos de 220V, por 2€ cada módulo, podemos tener hasta 8 módulos en un relé para controlar 8 circuitos!

 

raspberry-rele-01-bujarra

Os dejo un par de pantallazos con permiso del blog de RSPPI donde se explica también de manera genial cómo configurarlo. Esta imagen nos muestra en la parte derecha los conectores con la Raspberry, el GND lo conectaremos a tierra, con el IN1 controlaremos el canal de K1 (IN2 para el K2…) los conectaremos a un GPIO; El VCC lo conectamos a los 5V de la Raspberry. En la parte izquierda controlaremos el circuito donde conectaremos los cables, si cerramos el circuito entre 1 y 2, el circuito normalmente estará ‘abierto’, si lo cerramos entre el 2 y el 3, el circuito normalmente estará ‘cerrado’.

 

 

raspberry-rele-02-bujarra

Y en esta imagen vemos un circuito de ejemplo de 220V que estará normalmente cerrado, mediante el GPIO 18 de la Pi lo conmutaremos =)

Ahora, instalaremos WiringPi en la Raspbeyry:

wget http://project-downloads.drogon.net/files/wiringPi.tgz
tar xfzv wiringPi-xxx.tar.gz
cd wiringPi-xxx
./build

Podremos utilizar los siguientes comandos de ejemplo:

gpio readall --> Nos saca el status de todos los GPIO.
gpio -g mode 24 out --> Enciende GPIO24.
gpio -g mode 24 in --> Apaga el GPIO24.
gpio -g read 24 --> Saca el status, encendido 0, apagado 1.

 

Conectar un sensor de movimiento en una Raspberry Pi,

Por algo más de 1€ podremos comprar en eBay detectores de movimiento pasivo o PIR que podremos usar para lo que queramos cuando detecten un movimiento, sea poner una cámara a grabar o mismamente decirle al relé anterior que encienda una luz.

raspberry-pir-02-bujarra

En esta imagen veremos el conexionado entre los pines del detector PIR y los GPIO de la Raspberry, conectamos el VCC a los 5V de la Pi, GND a tierra y el OUT a un GPIO de control para leer mediante un script de Python su estado. Una vez que se detecte un movimiento, podremos decidir que queremos que pase =)

Primero, bajamos el script de Python y lo probamos:

wget http://www.raspberrypi-spy.co.uk/archive/python/pir_1.py
Modificaremos en el fichero 'GPIO_PIR = ' por el número del GPIO correcto donde hayamos conectado el OUT del sensor PIR.
sudo python pir_1.py

Podremos modificar el script a nuestro gusto con el código que nos interese, por ejemplo el siguiente ejecutaría ‘entrada_enciende.sh’ al detectar un movimiento y encendería la luz durante 5 segundos, donde volverá a comprobar si sigue habiendo movimiento para dejar la luz encendida o apagarla:

…
if Current_State==1 and Previous_State==0:
# PIR is triggered
print " Movimiento en la entrada! encendemos luz y esperamos 5seg"
# Record previous state
Previous_State=1
import subprocess
cmd='/home/pi/entrada_enciende.sh'
subprocess.call(cmd, shell=True)
# Espera 5 segundos
time.sleep(5)
elif Current_State==0 and Previous_State==1:
# PIR has returned to ready state
Previous_State=0
print " Listo de nuevo, no hay movimiento"
import subprocess
cmd='/home/pi/entrada_apaga.sh'
subprocess.call(cmd, shell=True)
# Wait for 10 milliseconds
...

Para arrancar este script por ejemplo todos los días a las 19h y que esté 12h esperando a detectar un movimiento (para encendernos una luz) podremos usar nuestro cron, con ‘crontab -e’ añadiremos la siguiente línea:

00 19 * * * sudo timeout 12h python /home/pi/detector_entrada_enciende.py

 

Protocolo X10,

raspberry-x10-01-bujarra
Si estáis pensando que usar un relé sea quizás muy incomodo por el tema del cableado, lo más sencillo sería usar un sistema inalámbrico basado en X10, un poco menos económico también. Podemos hacernos con un controlador-receptor, por ejemplo el CM15PRO (o el CM15A o CM19A) de Marmitek por unos 75€ que nos servirá para gestionar los interruptores inalámbricos como el AW12 (interruptor on/off) que sale cada uno a 45€ o un dimmer regulable como el LW12 por unos 49€ aún que también podremos usar otros interruptores o dispositivos, claro!

El conexionado del receptor a la raspberry sería mediante USB y la instalación del demonio modchad, los interruptores deberemos configurarlos con un código cada uno además de conectarlos a la red eléctrica como indica en el manual de forma muy sencilla.

Instalamos y compilamos mochad:

sudo apt-get install libusb-1.0-0-dev
wget -O mochad.tgz http://sourceforge.net/projects/mochad/files/latest/download
tar xf mochad.tgz
cd mochad*
./configure
make
sudo make install

Podremos crear un script para apagar o encender un interruptor, pero primero probaremos a encenderlo!

echo "pl a1 on" | nc localhost 1099

En el siguiente documento veremos como manejar desde un interfaz web sencillo para nuestros móviles o tablets el control del rele!!!

The post Raspberry Pi – Uso de relé, X10 y detector de movimiento appeared first on Tundra IT - Blog Bujarra.com.

Controlando la Raspberry Pi desde el móvil

$
0
0

Hoy os voy a poner un post de los que me gustan, son sencillísimos y quedan chulísimos! Bueno, si tenemos alguna Raspberry Pi y tenemos algún comando que queremos que se pueda ejecutar fácilmente desde el móvil como encender alguna luz de casa, o cambiar un canal de TV de nuestro Kodi, este es tu post! Facil, sencillo y para toda la familia!

 

Manejar-Raspberry-por-Web-00-bujarra

Lo dicho, si tenemos algún script por ahí y queremos poder ejecutarlo desde cualquier dispositivo móvil (iOS, Android…) o desde cualquier navegador… lo primero será tener instalado Apache2 y crear un archivo PHP, un JS y subir una imagen PNG para el icono. Al pulsar desde el navegador el botón ON que saldrá en la web ejecutará el archivo .sh que digamos, lo que haremos será ‘añadir a la pantalla de inicio’ dicho acceso directo a esa URL y el móvil bien el iPhone/iPad/Androide nos creará una app con el icono, que al pulsarlo ejecutará nuestro programa en la Pi.

 

Os dejo unos pantallazos de mi móvil de cómo se puede controlar cualquier canal de TV, cualquier dispositivo que tengamos, como encender/apagar la calefacción, subir/bajar las persianas, encender/apagar/regular las luces de la casa, encender/apagar la alarma…

 

Lo dicho, primero instalaremos los requisitos:

sudo apt-get install apache2 php5 libapache2-mod-php5

 

Cambiaremos el usuario que ejecutará apache2 (opcional, creo recordar que lo hice para los comandos que llevan audio), editamos el fichero ‘/etc/apache2/envvars’, corrigiendo el usuario:

export APACHE_RUN_USER=pi
export APACHE_RUN_GROUP=pi

 

Y reiniciamos Apache:

sudo /etc/init.d/apache2 restart

 

Os paso un par de archivos, un PHP y un JS, ahora que los documento también veo lineas que sobran, si queréis las corregís 😉 si no, da igual que os funcionará también! Este archivo PHP es un formulario que al pulsar el boton “On” ejecutará el script ‘/home/pi/la6_enciende.sh’ que veréis más adelante que pone La Sexta en mi TV. Todo ello, obviamente en ‘/var/www/’:

la6.php

<html>
<head>

<title>Domotica casa</title>
<link rel="stylesheet" type="text/css" href="./css/style.css" />
<link rel="apple-touch-icon" href="la6.png">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="./amcharts/amcharts.js" type="text/javascript"></script>
<script type="text/javascript" src="./js/common.js"></script>
<script type="text/javascript" src="la6.js"></script>
</head>
<body>
<form id="relay" action="remote_relay.php" method="GET">
    <input type="hidden" name="total" id="total" value="">
    <input type="button" id="La6submitOn" style="border:1px solid #000; font-size:40px;" value="On" onClick="La6relayOn()"/>
</form>
<?php
    $state = $_GET["total"];
    if ($state == "La6on"){
        exec("/home/pi/la6_enciende.sh");
    }
?>
<script type='text/javascript'>
     self.close();
</script>
</body>

</html>

la6.js

window.onload = function(){
    buttonOff = document.getElementById('La6submitOn');
    buttonOff.onClick = La6relayOn;
}
function La6relayOn(){
    hidden = document.getElementById("total");
    hidden.value = "La6on";
    form = document.getElementById("relay");
    form.method = "GET";
    form.action = "la6.php";
    form.submit();
}

Bien, con esto ya tenemos la posibilidad de ejecutar cualquier script de nuestras Raspberrys desde cualquier móvil de una forma agradable para el resto de la familia 😉 Acordaros de poner el archivo PNG con el icono que queréis que se vea!

Una cosa, la web PHP tiene 3 lineas que deberéis comentar la primera vez! Ya que la idea de la web PHP es que al pulsar desde el móvil y abrirse, ejecute el comando y luego la web se cierre automáticamente para no quedarse residual en el navegador del móvil. Y si no la comentamos, no podremos la primera vez agregarla como app al ‘Escritorio’ del móvil ya que se cerrará y no nos dará tiempo! Por lo que: Comentamos > La anclamos en pantalla de Inicio > Descomentamos. Líneas en cuestión:

#<script type='text/javascript'>
#     self.close();
#</script>

 

Que nos queda? Algo interesante, si tenemos Kodi y tenemos el acceso remoto habilitado, sabremos que podemos manejarlo con aplicaciones tipo: Kodi Remote, Yatse, Kore… podemos con JSON administrarlo igual forma desde la shell de nuestra Pi, y crearnos un script que ejecute lo que queramos como es cambiar a un canal de TV, cambiar el idioma de la TV, grabar la TV…

 

Manejar-Raspberry-por-Web-01-bujarra

Lo primero será saber qué está mandando nuestra app de iOS/Android al Kodi, para ello, desde un PC escucharemos el puerto 9090 de Kodi, para ver qué le manda nuestro Yatse, Kodi Remote… así que ejecutamos:

nc DIRECCION_IP_RASPBERRY 9090

Y esperamos…

 

Manejar-Raspberry-por-Web-02-bujarra

Teniendo netcat a la escucha, ya podremos pulsar el canal que querramos desde nuestra app del móvil y en pantalla, el nc nos sacará el comando que necesitaremos ejecutar posteriormente, o al menos una ayuda para saber el ID de cada canal de TV!

En mi caso pues, para poner La Sexta tendré que ejecutar el siguiente comando:

echo '{"id":1,"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"channelid":93}}}' | nc 192.168.1.200 9090

 

Ejemplo de parar TV:
echo '{ "id": 1, "jsonrpc": "2.0", "method": "Player.Stop", "params": { "playerid": 1 } }' | nc 192.168.1.200 9090

Ejemplo para cambiar el audio de la TV para que practiquemos el inglés!

echo '{"jsonrpc": "2.0", "method": "Player.SetAudioStream", "params": { "playerid": 1, "stream": "next"}, "id": 1}' | nc 192.168.1.200 9090

 

Etc, etc… guardamos dicho comando en un archivo .sh que podremos ejecutar al abrir la web PHP desde nuestro móvil! A disfrutarlo!

 

The post Controlando la Raspberry Pi desde el móvil appeared first on Tundra IT - Blog Bujarra.com.

Raspberry Pi – Notificando correos electrónicos nuevos y citas del calendario

$
0
0

Hace tiempo que quería pasaros un par de scripts que suelo usar para que una Raspberry Pi que tengo conectada a un altavoz me hable; en este documento únicamente veremos cómo configurar la Pi para que nos hable por el altavoz y nos diga si hemos recibido algún correo electrónico, y si es así nos indicará el remitente y el asunto del correo; así como si tenemos alguna cita en el calendario en los próximos 5 minutos, nos lo recordará por el altavoz!

Raspberry Calendario Mail 01 bujarra

 

Convirtiendo el texto en voz,

Empezamos montando el sistema que nos hablará, mediante un conversor de texto a voz, un Text-to-Speech (TTS) usaremos el sintetizador de voz ‘festival’, lo instalaremos en nuestra Raspberry Pi, que es compatible con cualquier idioma, posteriormente nos bajaremos los dífonos en castellano desde la forja de guadalinex, tendremos dos voces, una femenina (Silvia) y otra masculina (Pedro), cada cual que use la que más le guste 😉

 

Instalamos festival en nuestras Raspberry Pi:

sudo apt-get -y install festival

Si queremos usar&amp;nbsp;la salida 3,5 del jack de audio para el sonido en vez del HDMI ejecutaremos:

amixer cset numid=3 1

 

Será interesante poner bien el volumen que queremos oir, y grabamos los cambios:

alsamixer
sudo alsactl store

 

Bien, ahora descargaremos los idiomas que nos interesen, poner el que queráis, os dejo en orden primero voz femenina y el otro la masculina. Además los instalamos e indicamos en el fichero de configuración cual usar:

wget http://forja.guadalinex.org/frs/download.php/154/festvox-sflpc16k_1.0-1_all.deb
wget http://forja.guadalinex.org/frs/download.php/153/festvox-palpc16k_1.0-1_all.deb
sudo dpkg -i festvox-sflpc16k_1.0-1_all.deb sudo dpkg -i festvox-palpc16k_1.0-1_all.deb
sudo vim /etc/festival.scm 

 

Al final añadimos la que nos interese, y comentamos las demás:

;(set! voice_default 'voice_JuntaDeAndalucia_es_pa_diphone)
(set! voice_default 'voice_JuntaDeAndalucia_es_sf_diphone)

 

Y ya podremos probar a convertir un texto en audio con:

echo Hola manolo que tal estas | festival --tts

 

Si nos interesa, podremos generar un script que al ejecutarlo con un parámetro nos lea dicho parámetro, más útil para luego llamarlo desde otros scripts, en mi caso le llamo ‘textoAvoz.sh’:

echo $1 | festival --tts

 

Leer calendario desde la Raspberry Pi,

Si queremos leer nuestro calendario, la mejor experiencia la he tenido con ‘gcalcli’, ya que se puede gestionar cualquier calendario, podremos agregar tantos calendarios a nuestra cuenta de Gmail que nos interesen, sean de nuestros Exchange u otros sistemas, así como suscribirnos a calendarios que nos interesen…

 

Instalamos gcalcli o Google Calendar Command Line Interface:

sudo apt-get install git python-pip python-gdata python-dateutil python-gflags python-vobject python-parsedatetime
sudo pip install gcalcli

 

Una vez instalado, ejecutaremos el siguiente comando para obtener la URL que nos permita obtener el código de activación y darle permisos en nuestra cuenta de Gmail. Ejecutamos el siguiente comando y abrimos la URL en un navegador, pegaremos el código y listo!

gcalcli list --noauth_local_webserver

 

Probamos a ver si vemos los calendarios de nuestra cuenta:

gcalcli list

 

Y probamos a que nos muestre si tenemos eventos en los próximos 15 minutos:

gcalcli remind 15 'echo %s'

 

Creamos el siguiente script ‘lee_calendario.sh’ y lo hacemos ejecutable:

#!/bin/bash 

CITA=`/usr/local/bin/gcalcli remind 4 'echo %s' --cal=Personal`
echo $CITA

if [ "$CITA" == "" ]; then
 echo "No hay citas"
else
 echo "Hay citas"
 HORA=$(cut -c-7 <<< "$CITA")
 echo $HORA
 ASUNTO=${CITA:7:1000}
 FRASE1="Hector, en cinco minutos, a las "
 FRASE2=" acuerdate de "
 FRASE="$FRASE1 $HORA $FRASE2 $ASUNTO"
 echo $FRASE
 echo $FRASE | /usr/bin/festival --tts
fi

Y probamos a ejecutarlo!

./lee_calendario.sh

Lo ponemos en crontab para que se ejecute cada 5 minutos y listo!

*/5 * * * * /home/pi/lee_calendario.sh

Leer el mail desde la Raspberry Pi,

Con este sencillo script de python podremos obtener los mails no leidos mediante una conexión IMAP a nuestro servidor de correo, nos leerá el remitente y el asunto de cada correo. Creamos el archivo ‘lee_mail.py’:

import imaplib
from email.header import decode_header
 
mail = imaplib.IMAP4_SSL('FQDN_SERVIDOR_CORREO')
mail.login('USUARIO@DOMINIO', 'CONTRASEÑA')
mail.select('INBOX', readonly=True)
typ, new = mail.search(None, "UNSEEN")
new = new[0].split()

if len(new)&gt;1:
  Mails = 'Tienes ' + str(len(new)) + ' correos nuevos'
  import subprocess
  subprocess.call(["/home/pi/textoAvoz.sh", Mails])
elif len(new) == 1:
  Mails = 'Tienes un correo nuevo'
  import subprocess
  subprocess.call(["/home/pi/textoAvoz.sh", Mails])

if (len(new) &gt; 0):
  res = list()
  res1 = list()
  for msg in new:
    typ, data = mail.fetch(msg, '(BODY[HEADER.FIELDS (SUBJECT)])') # FROM, DATE, etc
    data = data[0][1].strip()
    decoded = decode_header(data[9:])[0] # "Subject: " is 9 characters long
    text = decoded[0].replace("\r\n", "")
    if (decoded[1] != None):
      text = unicode(text, decoded[1])
    res.append(text.encode('utf-8'))

    typ, data1 = mail.fetch(msg, '(BODY[HEADER.FIELDS (FROM)])') # FROM, DATE, etc
    data1 = data1[0][1].strip()
    Arroba = data1.index('&lt;')
    decoded1 = decode_header(data1[6:Arroba-1])[0] # "Subject: " is 9 characters long
    text1 = decoded1[0].replace('"', "")
    if (decoded1[1] != None):
      text1 = unicode(text1, decoded1[1])
    res1.append(text1.encode('utf-8'))
    text1 = unicode(text1)
    text = unicode(text)
    import unicodedata
    text1output = unicodedata.normalize('NFKD', text1).encode('ascii','ignore')
    textoutput = unicodedata.normalize('NFKD', text).encode('ascii','ignore')
    Texto = '"Correo de ' + text1output  + ', con asunto: ' + textoutput + '"'
    print (Texto)
    import subprocess
    subprocess.call(["/home/pi/textoAvoz.sh", Texto])

Recordamos hacerlo ejecutable, ponerlo en el cron igualmente si nos interesa con la programación que nos interese.

Fácil y sencillo cómo saber si tenemos citas en el calendario o mails y queremos que una dulce voz nos lo indique! Espero que lo disfrutéis!

The post Raspberry Pi – Notificando correos electrónicos nuevos y citas del calendario appeared first on Tundra IT - Blog Bujarra.com.

Raspberry Pi – Reconocimiento de voz en español

$
0
0

Bueno, bueno, tras un largo verano de disfrute y ocio volvemos a la carga!!! En este documento veremos cómo hacer que una Raspberry Pi nos esté escuchando, esperando a que le hablemos y ejecute los comandos que le indiquemos. Es algo realmente muy sencillo de hacer, he estado tiempo probando alternativas más complejas tanto de instalar como de configurar, y esta para mí es la mejor. Lo que vais a ver en este documento lo podréis implementar en menos de 30 minutos! y decirle… “Antonia, ponme Telecinco”!

Raspberry_reconocimiento_voz_español_03-bujarra

Nos basaremos en una Raspberry Pi 2 o 3 con Jessie instalado y actualizado, a esta Raspberry le instalaremos Apache y le pondremos una web que permitirá que el navegador que la visite, conecte su microfono y le hable. La web tratará lo que escuche ejecutando cualquier comando que configuremos previamente. A esta web nos podremos conectar desde un PC/Portatil/móvil/tableta y con el Chrome, nos solicitará acceso al microfono y nos estará escuchando en todo momento. Lo ideal es hacer todo en la misma Raspberry Pi, me explico, conectarla a ella un microfono y hacer que autologee al reiniciar y ejecute el Chromium contra sí mismo. Por lo que la Pi estará sirviendo una web que escuchará cuando te conectes a ella y con su propio navegador y su microfono hará de ‘cliente’ y de ‘servidor’.

 

Raspberry_reconocimiento_voz_español_02-bujarra

Bien, todo esto es posible gracias a una librería de Javascript que tendrá la web (html) llamada Annyang, añadiendo la posibilidad de usar reconocimiento de voz a los usuarios que se conecten. Reenviará lo que escuche a una pequeña web de php que ejecutará los comandos. En mi caso tras pronunciar su nombre (Antonia), cogerá las siguientes palabras y buscará si hay algún comando que ejecutar. Tengo puesto también que si le llamo de otra forma (Manolo), me buscará en WolframAlpha la respuesta a la pregunta que le haga :) pero eso no lo he puesto en este documento para no despistar; vamos, el uso normal con Antonia es que me encienda/regule/apague la luz de la sala, suba/baje estores, cambie de canal de TV al que yo le diga ;), ponga la calefacción, la alarma, me diga temperaturas, previsiones del tiempo…

 

Raspberry_reconocimiento_voz_español_01-bujarra

Y además, esto se puede hacer con cualquier idioma! en este documento se tratará de reconocer el Español o Castellano, es gratuito, ocupa 1kb el script… qué más! Por cierto, para el que pregunte, estoy usando un micrófono buenillo (en mi humilde opinión), omnidireccional, que escucha perfectamente desde cualquier sitio (tengo una sala de 30m2 y está escondido) es un CAD Audio U9 Condenser Microphone, Omni. Pero vamos que con cualquier micrófono funciona, sea USB o de una webcam. Ya os digo, lo podeis poner en la misma Pi, o usarlo desde otros equipos en la casa.

 

Instalación de Apache,

Lo primero de todo será instalar apache con php y sus requisitos:

sudo apt-get install apache2 php5 libapache2-mod-php5

 

Cambiaremos el usuario que ejecutará apache2 (lo hago para que escuche el audio de mis comandos, por no meter al usuario de apache en el grupo de audio):

sudo vim /etc/apache2/envvars

Y modificamos:

export APACHE_RUN_USER=pi
export APACHE_RUN_GROUP=pi

 

Bien, para que la web no esté constantemente pidiendo acceso al micrófono, si hacemos que el sitio sea seguro (HTTPS) e instalamos un certificado autofirmado, el navegador confiará en el sitio y ya no pedirá acceso al micro más que la primera vez. Por lo que os pongo aquí los pasos necesarios para securizar la web, crearemos un directorio para guardar ahí los certificados, crearemos el certificado y la clave privada, habilitamos los modulos en apache, creamos enlace a la configuración de Apache y la editaremos para indicar las rutas correctas de los certificados:

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -out /etc/apache2/ssl/server.crt -keyout /etc/apache2/ssl/server.key
sudo a2enmod ssl
sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
sudo vim /etc/apache2/sites-enabled/000-default-ssl.conf

 

Y modificamos:

SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key

 

Finalmente, reiniciamos Apache y listo!

sudo /etc/init.d/apache2 restart

 

Ficheros necesarios,

Os dejo aquí los dos únicos ficheros necesarios, los dejaremos en /var/www/html/:

 

index.html

<html>
<html>
<head>
 <meta charset="utf-8">
 <script src="//cdnjs.cloudflare.com/ajax/libs/annyang/2.4.0/annyang.min.js"></script>
</head>
<body>
<script>
function openPage(voz){
window.open('hector.php?voz='+voz);}

if (annyang) {
annyang.setLanguage('es-ES');
var commands = {
 'Antonia *voz' : openPage,
 'Manolo *voz' : openPage
 };
annyang.addCommands(commands);
annyang.start();
}
</script>
</body>
</html>

Este fichero es la web inicial, la que carga el Javascript y permite grabar desde el audio de un navegador. Podremos cambiar ahí el idioma de origen y poner cualquier otro, así como la(s) palabra(s) que tiene que escuchar y tras ello lanzar una función que abre la web hector.php con las palabras dichas como argumentos en la URL. Ej, digo: ‘Antonia, pon la uno’. Y abriría ‘https://X.X.X.X/hector.php?voz=pon la 1’ en una pestaña y luego se cierra.

hector.php

<html>
<body>
<?php
$valor = $_REQUEST['voz'];
if($valor=='apaga la música' || $valor=='apagar la música' || $valor=='para la música')
{
 exec('/home/pi/textoAvoz.sh "Si mi amo"');
 exec('/home/pi/musica_apaga.sh');
}

if($valor=='sube electores' || $valor=='sube el store')
{
 exec('/home/pi/textoAvoz.sh "Si mi amo"');
 exec('/home/pi/estoresubeon.sh');
}
if($valor=='pon la sexta' || $valor=='font la sexta' || $valor=='por la sexta')
{
 exec('/home/pi/textoAvoz.sh "Si mi amo"');
 exec('/home/pi/la6_enciende.sh');
}
 echo "<script>window.close();</script>";
?>
</body>
</html>

Os pongo sólo un pequeño ejemplo del fichero para dar alguna idea, como veis es muy sencillo, sólo es captar los audios que nos escuche y ejecutar un script. En mi caso no siempre me escucha las palabras correctas, por lo que con ese pequeñito diccionario de posibles errores entiende los posibles fallos. Por lo que ‘pon’ a veces me entiende ‘font’, ‘por’… :) Si alguna vez decimos un comando y no nos entiende, con ver el historial del navegador y ver ‘qué’ nos ha entendido y añadirlo a las posibilidades. Con eso ya escucha perfecto!

 

Instalar Chromium

Bien, esto es opcional. Si queremos que la propia Raspberry tenga el micrófono seguiremos estos pasos también, ya que le instalaremos Chrome y haremos que se abra automáticamente cuando la sesión de ‘pi’ arranque para que se conecte contra el servidor web.

Estos pasos son para instalar Chromium en una Raspberry Pi 3:

wget https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/7916060/+files/chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
wget https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage/+build/7916060/+files/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb

 

Ahora haremos que cuando autologuee la sesión de ‘pi’ en las X, abra Chromium contra el servicio web:

vim ~/.config/lxsession/LXDE-pi/autostart

Y añadimos al final:

@chromium-browser https://127.0.0.1

 

Probando,

Raspberry_reconocimiento_voz_español_04-bujarra
Una vez abramos el navegador contra la dirección IP de la Raspberry Pi nos pedirá acceso al micrófono, al habernos conectado con https:// sólo nos lo pedirá esta vez y ya lo guardará en las preferencias. Por defecto si todo ha ido bien nos abrirá contra ‘index.html’.

 

Raspberry_reconocimiento_voz_español_05-bujarra

Yo la manera que lo he hecho (no la mejor, pero rápida y funcional) es que tras escucharnos, el navegador abrirá en una pestaña la URL con las palabras que nos ha entendido atacando a hector.php pasandoselas como variable. Luego se cerrará la pestaña!

 

Bueno, pues esto es todo, agradecer a Miguel Ignacio Guerra del blog Cucopc alguna ayudita que me ha echado. Gracias a todos y espero que lo disfrutéis, combinando este tipo de documentos con otros que veréis en la sección de Raspberry Pi, podemos hacer un hogar inteligente totalmente intuitivo y poderoso.

 

The post Raspberry Pi – Reconocimiento de voz en español appeared first on Tundra IT - Blog Bujarra.com.

Uso de Raspberry Pi como cliente ligero soportado en Citrix con ThinLinX

$
0
0

Por supuesto que ya tenemos en mente que Citrix da soporte al uso de una Raspberry Pi (30€) para usarlo como thin client; con HDX Ready y poder optimizar la capa multimedia y descargar en el dispositivo su aceleración gráfica pesada. En este documento veremos cómo funciona ThinLinX, un SO que transforma sencillamente una Raspberry Pi en un thinclient gestionable, sea para Citrix XenApp o XenDesktop, VMware View, Microsoft RDS…

thinlinx 00 bujarra

ThinLinX es un software que por un lado permite la gestión de dispositivos thin client, donde podremos realizar las tareas más habituales como son las configuraciones remotas de los thin client, reinicios, actualizaciones de firm, control remoto… vamos, lo de siempre. Lo bueno, es que ThinLinX Operating System (TLXOS) es un SO que se puede instalar en la mayoría de equipos, sean PCs o portátiles para reutilizarlos, en Intel NUC,  Raspberry Pi 2 y 3, en los sticks estos de Intel… lo malo… que sale 10 US$ por dispositivo a gestionar 😉 ahora, que cada uno eche sus cuentas, a mí me salen, vamos que si salen…. aún así tenemos 60 días de prueba!

Os recuerdo que en Citrix, con una Raspberry Pi, la resolución predeterminada y óptima será de 1920 x 1080 (1080p), y aceleración gráfica mediante el deco que trae de hardware la Pi de H.264, aprovechando dicho hard, la sesión de Citrix descarga la aceleración multimedia en la Pi, no cargando por tanto el servidor o desktop VDA de Citrix, consiguiendo hasta 60fps, dos palabras: im-presionante.

Separaremos en dos productos, un es el SO que irá en este caso en una SD card y otra el software de gestión ThinLinX Management Software (TMS) que podrá ir tanto en un Windows, como usar una de las Raspberry como servidor de gestión!!! (y así creo recordar q la lic es free…) Es un software muy sencillo de instalar, usar y gestionar.

Os dejo un pequeño video de demo de cómo funcionaría esto:

ThinLinX funciona con casi todos los protocolos de conexión remota, no sólo nos ataremos al mundo Citrix, que funciona con todo esto: Citrix HDX o ICA, Microsoft RemoteFX 8.1, Microsoft RDP, VMWare View, XRDP, VNC, X11, Redhat Spice, NoMachine NX, Chromium local Web Browser, Telnet, X3270 (Mainframe), Digital Signage Mode, ThinLinX Management Software Mode, ThinLinX Connection Manager Mode… por supuesto con uno o múltiples monitores y resoluciones.

No me digáis que no es una solución ideal para colegios, universidades o empresas que quieran optimizar sus recursos centralizando toda la info y ahorrando costes para invertirlos en el datacenter.

 

Instalando TLXOS en una Raspberry Pi,

Lo primero de todo será ir a la web de descargas y descargar la imagen del OS que necesitemos, y luego ya si queremos comprar la licencia:

  • Raspberry Pi 2 y Raspberry Pi 3: 10$ la licencia perpetua y nos da derecho a 3 años de soporte y actualizaciones de firmware. AKI.
  • Intel NUC: 15$ la licencia perpetua y nos da derecho a 3 años de soporte y actualizaciones de firmware. AKI.
  • Stick de Intel: 10$ la licencia perpetua y nos da derecho a 3 años de soporte y actualizaciones de firmware. AKI.
  • Reutilización de PCs viejos: 15$ la licencia perpetua y nos da derecho a 3 años de soporte y actualizaciones de firmware. AKI.

 

thinlinx-21-bujarra

Lo primero que haremos será bajar la imagen de TLXOS que necesitemos, en este caso para una Raspberry, tras descargárnoslo, al ejecutarlo nos indicará que necesitamos una SD card en el equipo para formatearla y volcarle la imagen del SO. Como podremos apreciar en el mismo .exe que bajamos, nos traerá el Win32 Disk Imager totalmente optimizado para que sea supersencillo este proceso. “Si”.

 

thinlinx-22-bujarra

Pulsamos en “Write” y comenzará a escribir la imagen en la SD, ojo con elegir bien el disco! Tardará a penas unos segundos ya que la imagen del OS pesa únicamente 256Mb!!!

 

thinlinx-23-bujarra

Confirmamos “Yes” para sobreescribir la SD,

 

thinlinx-24-bujarra

Esperamos unos segundos mientras vuelca la imagen…

 

thinlinx-25-bujarra

Ok! Listo! En este caso ya podremos meter la SD a la Raspberry & encenderla, tras ello, veremos que cuando arranca solicita que la configuremos. Y aquí tenemos 2 opciones, hacerlo a mano y configurar cualquier detalle delante del puesto, o directamente utilizar el TMS (ThinLinX Management Software) que será una gozada y nos permitirá configurarlo de forma remota & centralizada.

 

thinlinx-19-bujarra

En caso de que nos de por encender la Raspberry Pi, veremos que arranca sin configuración, por defecto la conexión que permite es con RDP, por lo que o lo configuramos a mano o con el TMS.

 

thinlinx-20-bujarra

Si pulsásemos en “Configure”, vemos que nos abre un menú completo para poder configurar este thin client como nos guste, podríamos personalizar individualmente cada configuración y punto, tendriamos el equipo listo. En este pantallazo se ve la posibilidad de convertir una de las Raspberry Pi en servidor TMS.

 

Instalando ThinLinX Management Software,

Bien, como comentaba, este software es de gestión de dispositivos ThinLinX OS, con él podremos realizar cualquier configuración remota de los thin client, podremos hacer un perfil de imagen y distribuirla por la empresa, por departamentos… Podremos instalarlo en un Windows o utilizar uno de los thin client en ese ‘modo’ y por tanto eso que nos ahorramos.

 

thinlinx-01-bujarra

Por tanto, nos descargamos TMS de la web de descargas y comenzamos su instalación, “Next”,

 

thinlinx-02-bujarra

Aceptamos el acuerdo de licencia “I accept the agreement”,

 

thinlinx-03-bujarra

Si queremos crear icono en el escritorio, “Next”,

 

thinlinx-04-bujarra

Confirmamos y pulsamos “Install” para que comience su instalación,

 

thinlinx-05-bujarra

… esperamos unos segundos mientras instala…

 

thinlinx-06-bujarra

Bien una vez que haya instalado podremos abrir por fin el TMS o ThinLinX Management Software.

 

Uso de ThinLinX Management Software,

Software de gestión centralizada de dispositivos con Sistema Operativo ThinLinX.

thinlinx-07-bujarra

La primera vez que lo abramos nos solicitará establecer el puerto SSL, el puerto para el broadcast UDP, la frecuencia y las columnas que queremos ver en la consola. Guardamos los cambios y NO tenemos por qué correr ahora mismo el asistente de configuración. “Save Settings”.

 

thinlinx-08-bujarra

Bien, esta es la consola de TMS, super intuitiva & sencilla. Nos mostrará los dispositivos con ThinLinX OS que haya detectado y sobre ellos de forma individual podremos hacer unas configuraciones o seleccionando varios, o seleccionándolos por grupos (que por defecto trae uno llamado Orphans). Al seleccionar un thin client, podremos pulsar en los iconos verdes y establecer dicha config (cambiarle el nombre al thin client, el protocolo, pantalla, reiniciarle, zona horaria, actualizarle, configuración de red, config. del teclado, des/habilitar el firewall, subirle ficheros o bajarselos…), aún que en este caso sí que usare el asistente o wizard para configurarlo y así nos lo actualizará a último firmware & nos establecerá la config que queramos. Ok.

 

thinlinx-09-bujarra

Tras pulsar al icono de Wizard, nos solicita que seleccionemos todos los thinclient que nos interese actualizar & configurar, damos a “OK”, los seleccionamos y de nuevo pulsamos en “Wizard”. Tendremos en cuenta que abajo a la izquierda, nos vendrá el estado actual de cualquier operación que este realizando el TMS, así como en la columna “Status” pondrá si está haciendo alguna tarea en cada thin client.

 

thinlinx-10-bujarra

Seleccionamos “European Union” para que la descarga del firm nos la haga desde el mirror más próximo, “OK”,

 

thinlinx-11-bujarra

Bien, en el caso que queramos usar almacenamiento dedicado de los dispositivos, por ejemplo si desplegamos el OS por PXE en vez de instalarlo como digamos, es lo tradicional, podremos hacerlo posible, en este caso omitiré esta configuración, ya que cada thin client tiene el OS instalado en su propio disco duro (SD, SATA, IDE, SSD… o lo que sea).

 

thinlinx-12-bujarra

Por lo tanto a esta pregunta del asistente, indicaremos que cada cliente use su dispositivo como él crea conveniente, “OK”,

 

thinlinx-13-bujarra

E indicamos que “NO”, que no vamos a dedicar discos dedicados…

 

thinlinx-14-bujarra

Bien, siguiente cuestión del asistente, deberemos introducir los credenciales de licenciamiento que tengamos para licenciar si fuese necesario los thin client, AKI podremos hacernos una cuenta si es que no la tenemos!

 

thinlinx-15-bujarra

Bien, ya al grano, en esta pantalla configuraremos el o los thin client seleccionados durante el Wizard, lo primero será indicar el protocolo de conexión (en mi caso Citrix HDX), indicaremos también si nos interesa la profundidad de color, la calidad de los gráficos, calidad del audio, si redirigir el audio del cliente, el video, el micrófono, si nos interesa modificar la latencia así como la seguridad del protocolo, tamaño de la ventana… o incluso meter argumentos de línea o además, interesante como pueda ser la URL del portal de aplicaciones corporativas… y si queremos que se autologuee directamente, en caso contrario solicitará al usuario credenciales siempre que arranque el thin client. Como vemos, la gran mayoría de configuraciones incluso desde directivas de Citrix centralizadas podremos configurarlas (Citrix o la alternativa que tengáis, si os deja, claro…).

 

thinlinx-16-bujarra

“OK”, asistente finalizado!

 

thinlinx-17-bujarra

Y bueno, si nos metemos por las opciones del menú “Tools”, veremos que hay bastantes más cosillas que podremos hacer sobre estos thin client, dar por hecho que todo lo que necesitéis se podrá, cualquier gestión sobre estos thin client.

 

thinlinx-18-bujarra

Una última cosa, si queremos utilizar el modo HDX de Citrix y descargar el rendering en el hardware de nuestra Raspberry Pi, tendremos que habilitar SSL y por tanto, tendremos que subir el certificado raíz de nuestra organización al thin client para que confíe en los certificados presentados. Para ello, usaremos el botón “Upload”, seleccionamos que vamos a subir un “SSL certificate” y os recuerdo que el formato del certificado debe ser PEM, por lo que nuestro .cer debe ser convertido a .pem con herramientas del estilo OpenSSL. Además de que cuando configuremos cual es nuestro sitio de Citrix, lo haremos introduciendo la URL del site, no mediante nuestra dirección de email.

 

Citrix-StoreFront-3-10-bujarra

Una vez que hayamos configurado una Raspberry Pi con ThinLinX contra un sitio de Citrix, veremos que la apariencia es esta, no es más que el StoreFront en modo kiosko, podrán pasarse de una app a la otra mediante ALT + TAB, ya que no dispone de una barra de tareas como tal donde se queden minimizadas; y si no, darle un full desktop al user y tendría un Windows para él a full screen, ya sabéis que es mejor darles un Escritorio de server que uno de desktop (mil razones, si tienes dudas pregúntame!).

 

Combinación de teclas:

  • CTR + ALT + C: Lanza tlxconfig.
  • CTR + ALT + T: Abre un terminal.
  • CTR + ALT + D: Cambia al modo de trabajo del escritorio.
  • CTR + ALT + S: Habilita el modo de control remoto con VNC a un thin client.
  • CTR + ALT + V: Saca el control de volumen de ALSA mixer.
  • CTR + ALT + R: Presionándole 2 veces en 2 segundos, se resetea la imagen a modo fábrica.

Si queremos controlar las licencias, bastará con entrar en el servidor de licencias (online) con nuestra cuenta y saldrán los dispositivos que están usándolas!

 

Manuales en PDF interesantes:

 

Pensar lo que cuesta ahora un puesto de trabajo, reducimos costes en: licencia de OS de Windows, licencia de AV, licencia de backup, costes de mantenimiento, renovaciones periódicas del hardware, posibles fallos de hardware… reemplazando al momento el dispositivo por uno nuevo, que esto gasta 5V frente a los 500W de un PC tradicional!!! (ya se que V y W no es lo mismo, pero para comparar vale, 😉 ), descentralización de la información, descontrol de los PCs… Que queremos controlar que sólo se acceda desde nuestro dispositivo corporativo a la oficina… pues más fácil imposible… le ponemos una carcasa corporativa con nuestro Logo… o montaje VESA tras los monitores… un mundo de posibilidades!! Bueno, espero que os haya resultado interesante, a disfrutar!!!

 

The post Uso de Raspberry Pi como cliente ligero soportado en Citrix con ThinLinX appeared first on Tundra IT - Blog Bujarra.com.

Viewing all 58 articles
Browse latest View live