Low-Level-Bluetooth-Dienstprogramm

16

Was ist ein Bluetooth-Dienstprogramm für Linux, mit dem ich Geräte koppeln und trennen, Nachrichten von einem Gerät anzeigen, Nachrichten an ein Gerät senden (hoffentlich über das Dateisystem!) Und verfügbare Flags setzen kann?

Die Anwendung im Sinn ist, dass ich nur 10 winzige Bluetooth-Tastaturen sagen und jede Taste auf jeder Tastatur zuordnen möchte, um eine MIDI-Nachricht zu senden (offensichtlich ist der Midi-Teil nicht Teil dieses OP).

der Spiegel
quelle
Nett, danke. Aber ich möchte obex push verwenden, um Dateien anstelle von obex ftp zu senden. Gibt es einen Weg?

Antworten:

21

Hier finden Sie eine Liste verschiedener Tools, die sich mit Bluetooth befassen und mit denen Sie mit einem Gerät interagieren können.

hciconfig

hciconfig

  • Gibt Informationen über das Bluetooth-HCI auf Ihrem PC
  • Stellen Sie sicher, dass das Gerät betriebsbereit ist und über die erforderlichen Scanmodi verfügt
  • Laufen hcitool devsollte auch einige dieser Informationen geben

hcitool

hcitool inq und hcitool scan

  • Gibt Informationen über oder identifiziert Bluetooth-Geräte in der Nähe

hcitool info <BTAddr>

  • Hier erhalten Sie Informationen zu Remote-Bluetooth-Geräten

l2ping

l2ping <BTAddr>

  • Ein Weg, um zu sehen, ob wir mit einem entfernten Bluetooth-Gerät kommunizieren können

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Gibt Informationen zu den Diensten, die von einem Remote-Bluetooth-Gerät bereitgestellt werden

obexftp

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

  • Ermöglicht das Senden von Dateien ohne Angabe des Pins auf der Seite des Remote-Geräts
  • Die OPush-Kanalnummer für das Gerät stammt von sdptool oben

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

  • Ermöglicht das Ablegen einer Datei auf dem angegebenen BT-Gerät
  • obexftp kann auch verwendet werden, um die Dateien auf dem BT-Gerät abzurufen oder aufzulisten
  • Außerdem kann man ein nahe gelegenes BT-Gerät identifizieren, indem man einfach die Option -b angibt

Passkey-Agent

passkey-agent –default <Pin>

  • Die hier angegebene PIN ist das, was das Remote-BT-Gerät bereitstellen soll, oder der Benutzer gibt sie auf Anforderung auf diesem Gerät ein.

obexpushd

obexpushd

  • Ermöglicht das Empfangen von Dateien, die von einem Bluetooth-Gerät gesendet wurden.
  • Abhängig davon, wer es gestartet hat, werden die empfangenen Dateien im entsprechenden Ausgangsverzeichnis gespeichert

Paarung

Sie können den Anweisungen auf dieser Site folgen, um ein Gerät über die Befehlszeile mit Ihrer Linux-Box zu koppeln. Der Titel des Artikels lautet: So koppeln Sie ein Bluetooth-Gerät über die Befehlszeile unter Linux .

Beispiel

  1. Finden Sie die MAC-Adresse Ihres Bluetooth-Geräts

    $ hcitool scan
    
    Scanning ...
        11:22:33:44:55:66   device 1
        12:34:56:78:90:12   device 2
    
  2. Richten Sie den Bluetooth-Agenten so ein, dass der erwartete Pairing-Code übergeben wird

    $ bluetooth-agent 0000 &
    
  3. Bearbeiten Sie die rfcomm-Konfigurationsdatei /etc/bluetooth/rfcomm.confund geben Sie die MAC-Adresse von oben ein.

    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.";
    }
    

    ANMERKUNG: Eine wichtige Einschränkung: Wenn Sie Ihr Gerät so konfigurieren, dass es beim Start nicht gebunden wird (bind no;), müssen Sie rfcomm mit diesem Befehl manuell starten, bevor Sie den seriellen Anschluss verwenden (der auch Root-Berechtigungen erfordert).

    $ sudo rfcomm connect rfcomm0
    

Verweise

slm
quelle