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 dev
sollte auch einige dieser Informationen liefern
Abonnieren
hcitool inq
Undhcitool 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
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
Richten Sie den Bluetooth-Agenten ein, um den erwarteten Pairing-Code weiterzuleiten.
$ bluetooth-agent 0000 &
Bearbeiten Sie die RFcomm-Konfigurationsdatei
/etc/bluetooth/rfcomm.conf
und 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