Usar bluetooth para identificarse en Ubuntu

publicado a la‎(s)‎ 5 ene. 2015 19:32 por Juan Jose Ramirez Lama   [ actualizado el 14 oct. 2015 4:36 ]

Usar bluetooth para identificarse en Linux


Aprovechando la funcionalidad de hcitool (herramienta para configurar conexiones bluetooth) crearemos una conexión con alguno de nuestros dispositivos bluetooth (por ejemplo un celular), una vez hecha la conexión, nuestro script estará funcionando dentro de un bucle monitorizando la calidad de la conexión con nuestro dispositivo bluethooth y nuestra computadora, cuando el dispositivo se aleje, es decir cuando la calidad de la conexión disminuya, se bloquerá la pantalla automáticamente, cuando el dispositivo se acerca, la pantalla de desbloquea, todo esto sin necesidad de ingresar nuestro password, de igual manera cuando la conexión entre nuestro dispositivo y nuestra computadora se cierre se bloquerá la pantalla.


hcitool requiere permisos de root para funcionar, por lo que si no ejecutas el script en modo root éste no funcionará. Ademas requiere que uno ejecute el programa cada vez que encienda la pc. Pero por supuesto se puede configurar el archivo SUDOERS para que no nos este pidiendo clave de root y se puede poner la aplicacion para que se autoarranque con cada inicio de sesion. Aunque esas cosas ya quedan a cargo de ustedes.

#!/bin/bash


export INTERFACE="A0:07:98:A7:D5:3C"

prom="Link quality: 255"

while true; do

hcitool cc ${INTERFACE}

sleep 1

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

#Signal="Link quality: 254"

echo $Signal

#if [ "${Signal##*: }" -lt 300 ]; then

if [ "$Signal" \< "$prom" ]; then

echo "Baja señal"

sudo -u Usuario gnome-screensaver-command --lock

else

if [ "${Signal##*: }" -gt 220 ]; then

echo "Conectado"

sudo -u Usuario gnome-screensaver-command --deactivate

else

echo "Desconectado"

sudo -u Usuario gnome-screensaver-command --lock

fi

fi

hcitool dc ${INTERFACE}

done


Debes copiar ese texto y cambiar 2 cosas. En donde dice usuario poner tu nombre de usuario y en donde dice Export INTERFACE=”A0:07:98:A7:D5:3C” debes poner el identificador de tu dispositivo bluetooth. Lo puedes obtener con el siguiente comando:


# hcitool scan


luego guardas el archivo y lo nombras por ej. blueconexion.sh y le das permisos de ejecucion (chmod +x) y lo ejecutas.


$ ./blueconexion.sh


Luego lo puedes mover a la carpeta /bin para que este siempre disponible, etc etc. Es un script sencillo que se puede mejorar.


Visto en ubuntizados

Comments