Was ist ein Bluetooth-Dienstprogramm für Linux, mit dem ich Geräte koppeln und entkoppeln, Nachrichten anzeigen kann, die von einem Gerät kommen, Nachrichten an ein Gerät senden (hoffentlich mithilfe des Dateisystems!) und alle verfügbaren Flags setzen können?
Die Anwendung im Sinn ist, dass ich nur 10 winzige Bluetooth-Tastaturen haben und jede Taste auf jeder Tastatur zuordnen möchte, um eine MIDI-Nachricht zu senden (offensichtlich ist der Midi-Teil nicht Teil dieses OP).
Akzeptierte Antwort:
Hier ist eine Liste mehrerer Tools, die sich mit Bluetooth befassen, die Sie verwenden können, um mit einem Gerät zu interagieren.
hciconfig
hciconfig
- Informiert über das Bluetooth HCI auf Ihrem PC
- Stellen Sie sicher, dass das Gerät betriebsbereit ist und über die erforderlichen Scanmodi verfügt
- Ausführen von
hcitool dev
sollte auch einige dieser Informationen geben
hcitool
hcitool inq
und hcitool scan
- Gibt Informationen über Bluetooth-Geräte in der Nähe bzw. identifiziert diese in der Nähe
hcitool info <BTAddr>
- Informationen über entferntes Bluetooth-Gerät erhalten
l2ping
l2ping <BTAddr>
- Eine Möglichkeit zu sehen, ob wir mit einem entfernten Bluetooth-Gerät kommunizieren können
sdptool
sdptool browse <BTAddr> or sdptool records <BTAddr>
- Informiert über die Dienste, die von einem Remote-Bluetooth-Gerät bereitgestellt werden
obexftp
obexftp –nopath –noconn –uuid none –bluetooth <BTAddr> –channel <OPUSHChann
elNo> –put <FileToPut>
- Erlaubt das Senden einer Datei ohne Angabe der PIN auf der Seite des entfernten Geräts
- Die OPush-Kanalnummer für das Gerät wird von sdptool oben abgerufen
obexftp -b <BTAddr> -v -p <FileToPut>
- Erlaubt es einem, eine Datei auf das angegebene BT-Gerät zu legen
- obexftp könnte auch verwendet werden, um die Dateien auf dem BT-Gerät abzurufen oder aufzulisten
- erlaubt es einem auch, ein BT-Gerät in der Nähe zu identifizieren, indem man einfach die Option -b angibt
Passkey-Agent
passkey-agent –default <Pin>
- Die hier angegebene PIN ist das, was das entfernte BT-Gerät bereitstellen sollte
oder der Benutzer auf diesem Gerät eingeben sollte, wenn er dazu aufgefordert wird.
obexpushd
obexpushd
- Ermöglicht den Empfang von Dateien, die von einem Bluetooth-Gerät gesendet werden.
- Je nachdem, wer es gestartet hat, werden die empfangenen Dateien im entsprechenden Home-Verzeichnis abgelegt
Koppeln
Sie können den Anweisungen auf dieser Seite folgen, um ein Gerät über die Befehlszeile mit Ihrer Linux-Box zu koppeln. Der Artikel trägt den Titel:How to pair a bluetooth device from command line on Linux.
Beispiel
-
Suchen 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
-
Richten Sie den Bluetooth-Agent ein, um den erwarteten Kopplungscode zu übergeben
$ bluetooth-agent 0000 &
-
Bearbeiten Sie die rfcomm-Konfigurationsdatei
/etc/bluetooth/rfcomm.conf
, und 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."; }
HINWEIS: 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 hochfahren, bevor Sie den seriellen Anschluss verwenden (der auch Root-Berechtigungen erfordert).
$ sudo rfcomm connect rfcomm0
Referenzen
- Kurzes und einfaches Befehlszeilen-Bluetooth in allen neuen Linux-Distributionen