Bluetooth-Dienstprogramm auf niedriger Ebene

Bluetooth-Dienstprogramm auf niedriger Ebene

Welches Bluetooth-Dienstprogramm für Linux gibt es, mit dem ich Geräte koppeln und entkoppeln, von einem Gerät kommende Nachrichten anzeigen, Nachrichten an ein Gerät senden (hoffentlich über das Dateisystem!) und alle verfügbaren Flags setzen kann?

Bei der Anwendung, an die ich denke, möchte ich beispielsweise nur 10 kleine Bluetooth-Tastaturen haben und jede Taste auf jeder Tastatur so zuordnen, dass eine MIDI-Nachricht gesendet wird (der MIDI-Teil ist offensichtlich nicht Teil dieses OP).

Antwort1

Hier finden Sie eine Liste verschiedener Bluetooth-Tools, die Sie zur Interaktion mit einem Gerät verwenden 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 liefern

Abonnieren

hcitool inqUndhcitool scan

  • Gibt Auskunft über bzw. identifiziert Bluetooth-Geräte in der Nähe

hcitool info <BTAddr>

  • Informationen zum Remote-Bluetooth-Gerät abrufen

l2ping

l2ping <BTAddr>

  • Eine Möglichkeit, um zu sehen, ob wir mit einem Remote-Bluetooth-Gerät kommunizieren können

sdptool

sdptool browse <BTAddr> or sdptool records <BTAddr>

  • Gibt Auskunft über die von einem Remote-Bluetooth-Gerät bereitgestellten Dienste.

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 Remote-Geräteseite
  • Die OPush-Kanalnummer für das Gerät wird vom obigen sdptool abgerufen

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
  • ermöglicht auch die Identifizierung eines nahegelegenen BT-Gerätes durch die Angabe der Option -b

passkey-agent

passkey-agent –default <Pin>

  • Die hier angegebene PIN ist die, die das Remote-BT-Gerät bereitstellen oder deren Benutzer sie auf Anforderung auf dem Gerät eingeben soll.

obexpushd

obexpushd

  • Ermöglicht den Empfang von Dateien, die von einem Bluetooth-Gerät gesendet wurden.
  • Je nachdem wer es gestartet hat, werden die empfangenen Dateien im entsprechenden Home-Verzeichnis 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 Artikel trägt den Titel: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 ein, um den erwarteten Pairing-Code weiterzuleiten.

    $ bluetooth-agent 0000 &
    
  3. Bearbeiten Sie die RFcomm-Konfigurationsdatei /etc/bluetooth/rfcomm.confund geben Sie die oben genannte MAC-Adresse darin 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.";
    }
    

    NOTIZ:Ein wichtiger Vorbehalt: 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 Port verwenden (wofür ebenfalls Root-Berechtigungen erforderlich sind).

    $ sudo rfcomm connect rfcomm0
    

Verweise

verwandte Informationen