Utilidad bluetooth de bajo nivel

16

¿Qué es una utilidad bluetooth para Linux que me permitirá vincular y desvincular dispositivos, mostrar mensajes provenientes de un dispositivo, enviar mensajes a un dispositivo (ojalá se haga usando el sistema de archivos!) Y establecer cualquier indicador disponible?

La aplicación en mente es que solo quiero decir 10 pequeños teclados bluetooth y asignar cada tecla en cada teclado para enviar un mensaje MIDI (obviamente, la parte midi no es parte de este OP).

el espejo
fuente
Genial gracias. Pero me gustaría usar obex push para enviar archivos en lugar de obex ftp. ¿Hay alguna manera?

Respuestas:

21

Aquí hay una lista de varias herramientas relacionadas con Bluetooth que puede usar para interactuar con un dispositivo.

hciconfig

hciconfig

  • Da información sobre el bluetooth hci en tu pc
  • Asegúrese de que el dispositivo esté en funcionamiento y tenga los modos de escaneo necesarios
  • Correr hcitool devtambién debería dar algo de esta información

hcitool

hcitool inq y hcitool scan

  • Da información sobre dispositivos bluetooth cercanos o más bien los identifica

hcitool info <BTAddr>

  • Obtenga información sobre el dispositivo bluetooth remoto

l2ping

l2ping <BTAddr>

  • Una forma de ver si podemos comunicarnos con un dispositivo bluetooth remoto

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Proporciona información sobre los servicios prestados por un dispositivo bluetooth remoto

obexftp

obexftp –nopath –noconn –uuid none –bluetooth <BTAddr> –channel <OPUSHChann elNo> –put <FileToPut>

  • Le permite a uno enviar archivos sin especificar el pin en el lado del dispositivo remoto
  • El número de canal OPush para el dispositivo se obtiene de sdptool arriba

obexftp -b <BTAddr> -v -p <FileToPut>

  • Permite colocar un archivo en el dispositivo BT especificado
  • obexftp también podría usarse para obtener o enumerar los archivos en el dispositivo BT
  • También permite identificar un dispositivo BT cercano simplemente dando la opción -b

agente clave

passkey-agent –default <Pin>

  • El pin especificado aquí es lo que debe proporcionar el dispositivo BT remoto o que su usuario ingrese en ese dispositivo cuando se le solicite.

obexpushd

obexpushd

  • Le permite a uno recibir archivos enviados desde un dispositivo bluetooth.
  • Dependiendo de quién lo inició, los archivos recibidos se almacenarán en el directorio de inicio correspondiente.

Emparejamiento

Puede seguir las instrucciones de este sitio para emparejar un dispositivo con su caja de Linux a través de la línea de comando. El título se titula: Cómo emparejar un dispositivo bluetooth desde la línea de comandos en Linux .

Ejemplo

  1. Encuentra la dirección mac de tu dispositivo bluetooth

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. Configurar bluetooth-agent para pasar el código de emparejamiento esperado

    $ bluetooth-agent 0000 &
    
  3. Edite el archivo de configuración rfcomm /etc/bluetooth/rfcomm.confy coloque la dirección MAC desde arriba, en él.

    rfcomm0 {
      # Automatically bind the device at startup
      bind no;
      # Bluetooth address of the device
      device 11:22:33:44:55:66;
      # RFCOMM channel for the connection
      channel 3;
      # Description of the connection
      comment "This is Device 1's serial port.";
    }
    

    NOTA: Una advertencia importante, si configura su dispositivo para que no se vincule al inicio (bind no;) deberá girar manualmente rfcomm con este comando antes de usar el puerto serie (que también requiere permisos de root).

    $ sudo rfcomm connect rfcomm0
    

Referencias

slm
fuente