Skip to content

Instantly share code, notes, and snippets.

@ikcaro
Created July 27, 2010 02:17
Show Gist options
  • Save ikcaro/491611 to your computer and use it in GitHub Desktop.
Save ikcaro/491611 to your computer and use it in GitHub Desktop.
un poco del diente azul y como obtener el nivel de señal
#primero averiguamos cual es nuestro dispositivo bluetooth
hcitool dev
#lo que da como salida
# Devices:
# hci0 00:1C:26:DE:96:B6 #nombre del device y su mac
#ahora scaneamos en busca de dispositivos cercanos
hcitool -i hci0 scan
#esto nos dará una lista de dispositivos cercanos al nuestro
#con su nombre y su mac
#ahora hacemos un descubrimiento, con esto obtendremos un conjunto de
#bits que definen la clase del dispositivo(telefono, laptop, pc, etc)
hcitool -i hci0 inq
#la salida es la mac, el offset del reloj y los bits que definen
#la clase, todos en hexadecimal :
#elegimos un dispositivo(mac) de la lista y procedemos a
#descubrir sus servicios, para conocer los canale rfcomm
#con los que cuenta
sdptool -i hci0 browse 24:21:AB:56:23:D0
#esto nos dará una salida con la descripción de todos
#los servicios con los que cuenta el dispositivo remoto
#para filtrar solo los RFCOMM entonces se hace lo siguiente
sdptool -i hci0 browse 24:21:AB:56:23:D0 | grep "RFCOMM\|Channel"
#nos mostrara solo la lista de canales RFCOMM del dispositivo
#seleccionamos un canal, en mi caso el 1 y procedemos
#establecer una conexión con el dispositivo remoto
#como root o con permisos de administrador(su, sudo)
rfcomm connect hci0 24:21:AB:56:23:D0 1
#esto establecerá una conexión entre nuestra pc/lap
#y el dispositivo remoto(celular, pc/lap, etc)
#en otra terminal procederemos a obtener el nivel
#o fuerza de la señal que detectamos del dispositivo
hcitool rssi 24:21:AB:56:23:D0
#esto da como salida un numero <= 0
# 0 indica el 100% de señal
# valores negativos indican perdida en la calidad
#esto se puede interpretar como una distancia
#determinada por la cual la señal decae o
#también como interferencia
#mientras mas lejos el valor es "mas" negativo XD
#específicamente blueProximity utiliza esta linea
hcitool rssi 24:21:AB:56:23:D0 2>/dev/null
#hace basicamente lo mismo, solo que aquí
#se evita la salida de errores(2) direccionándola
#al black hole de linux /dev/null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment