lunes, 26 de septiembre de 2011

Detector de presencia por bluetooth

Esto, más que nada es una vacilada.... pero bueno, tal vez le saquéis provecho.

La idea original es de Javier Perez y el script está algo modificado pero todo el mérito es suyo.
http://javierperez.eu/bloqueo-y-desbloqueo-de-pantalla-por-detector-de-presencia-en-ubuntu-con-bluetooth-aimtooth/
Se trata de bloquear la pantalla (o cualquier cosa que se nos ocurra) cuando nos alejamos del ordenador de manera automática, y volver a desbloquearla cuando nos acercamos sin tocar absolutamente nada.

Necesitamos que nuestro ordenador disponga de bluetooth y de un terminal movil también con bluetooth.

Para ello nos ayudamos de un script que lo que hace es crear continuamente un vínculo con nuestro terminal móvil y comprobar la calidad de la señal, si esta baja de un mínimo, significa que nos estamos alejando, con lo que la pantalla se bloquea, y si nos acercamos, la calidad sube y por tanto la pantalla se desbloquea.

El script es el siguiente:

------------ Copia el texto --------------
#!/bin/bash

export INTERFACE="6H:A8:84:4B:54:F6"

while true; do

hcitool cc ${INTERFACE}

sleep 1

Signal="`hcitool lq ${INTERFACE}`"

echo $Signal

if [ "${Signal##*: }" -lt 240 ]; then
    echo "Baja señal"
    sudo -u scorpyo gnome-screensaver-command --lock

else

    if [ "${Signal##*: }" -gt 240 ]; then
        echo "Conectado"
        sudo -u scorpyo gnome-screensaver-command --deactivate

    else
   
        echo "Desconectado"
        sudo -u scorpyo gnome-screensaver-command --lock
fi
fi

hcitool dc ${INTERFACE}
done
-----------------FIN DE TEXTO---------------

Copiad el texto a un archivo de texto.
Sustituir lo que está en negrita por vuestros datos, scorpyo es mi usuario, vosotros poned el vuestro.

El primer parámetro... el de los numeros y letras separados por ":"  es el identificador de vuestro terminal movil, si queréis saber cual es el vuestro abrid una terminal y teclear:

scorpyo@pc:~$ hcitool scan
Scanning ...
    6H:A8:84:4B:54:F6    Scorpyo
    H6:G5:D2:4S:B1:43    Maria

Como veis, yo puse el número que identifica a mi terminal.

Guardáis el archivo, le dais permisos de ejecución de una de estas dos formas:

-Botón derecho sobre el archivo, Propiedades, luego pincháis en la pestaña "permisos" y por último marcáis la casilla de "permitir ejecutar el archivo como un programa"

O también desde una terminal con el comando:

-scorpyo@pc:~$ sudo chmod +x /ruta/del/archivo

Para ejecutar el archivo debemos hacerlo con poderes de administrador.
Abrimos una terminal y ponemos:

scorpyo@pc:~$ sudo ./ruta/del/archivo

Bien, ahora solo tendréis que comprobar como os va si os alejáis del ordenador y os acercáis..... y modificar si es necesario los valores de calidad del enlace... por si son demasiado exigentes para vuestro movil o demasiado tolerante...

Podéis darle otras utilidades así que dadle vueltas al coco y si se os ocurre modificaciones comentadlas y compartidlas.


---------------------------------------------------

 He trabajado en una modificación del script que lo hace más elegante, mas facil de usar y menos trabajoso, ya que el original te puede bloquear la pantalla por un error tuyo o del bluetooth.

Mejoras:

-No es necesario cambiar nada en el script si se usa Gnome, ya que está preparado para añadir a las variables del programa los datos necesarios para no tener que hacer cambios en él script.

-Integración con el escritorio Gnome mediante Zenity.

-Se instalan paquetes necesarios para poder mandar mensajes al usuario en panatalla (pc)

-Hace un escaneo de los dispositivos y te presenta una lista, así es más fácil elegir el teléfono.

-Se notifica al usuario de los datos y acontecimientos mediantes mensajes con botones

-Se crea un perfil del teléfono para mejor seguimiento.

-Se avisa al usuario del móvil al que está vinculado el programa.

-Controla la presencia del móvil antes de empezar, si este no existe se aborta el arranque del programa.

-Se han introducido mejoras para evitar bloquear la pantalla por un "pico" de baja intensidad.

-No es necesario ejecutarlo desde una ventana de terminal.

-Relanzando el script se activa o desactiva el seguimiento del terminal móvil.

-Crea un acceso directo al escritorio si se desea.

El Script es el siguiente, está claro que no será el mejor, pero cumple con su cometido.
------------------------------------------------------
Bluedetecth-gnome-Scorpyo Megaupload
------------------------------------------------------
Si os sirve espero que comentéis... así sabré que no me puse a trabajar en el para nada.

Un saludo.

No hay comentarios:

Publicar un comentario