Die Bluetooth-Kopplung in C blueZ unter Linux
Kann ich nicht finden, jede Bezugnahme auf, wie so koppeln Sie ein bluetooth-Gerät unter linux in ein Programm geschrieben in C unter Verwendung der BlueZ Bluetooth-Bibliotheken. Ich habe bereits geschafft einen HCI-Ebene-Abfrage zu bekommen-Geräten zusammen mit dem RSSI-Pegel (während der device discovery), aber momentan komme ich nicht weiter mit diesem. Ich sah einen Vorschlag, die DBUS-api für die blueZ-simple-agent - aber gibt es eine Möglichkeit, dies zu vermeiden und benutzen Sie einfach einige C-level-Methoden von BlueZ?
verwenden bluetoothctl , die aus Bluez5 ab, das machen nur agent auf
Eine ähnliche Frage beantwortet, hier: stackoverflow.com/questions/29767053/bluez-programming Es könnte dir helfen!
Eine ähnliche Frage beantwortet, hier: stackoverflow.com/questions/29767053/bluez-programming Es könnte dir helfen!
InformationsquelleAutor okipol | 2013-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein wirklich cooles Buch, das ich hier gefunden, half mir in diesem Bereich:
http://people.csail.mit.edu/rudolph/Teaching/Articles/BTBook.pdf
Es hat Beispiele in c und python einrichten, koppeln usw. Ich wollte versuchen, und verwenden Sie es zum starten der bluetooth-classic (spp) - Verbindung auf dem ipad, aber glaube nicht, dass der kernel die Sachen, die ich brauche.
InformationsquelleAutor
Authentication code von
hcitool
(original-source-code sehen kann http://git.kernel.org/cgit/bluetooth/bluez.git/tree/tools/hcitool.c)Und einrichten der PIN
InformationsquelleAutor
Laden Sie die neueste version der source-code hier: http://www.bluez.org/
Es ist das tool "btmgmt" und auch der bluez-simple-agent, der verwendet werden kann für die Paarung. Der code ist alles in den Quellen, und es gibt auch einige Dokumentationen (in docs folder). Vielleicht können Sie code verwenden, der einem diese tools für Ihre Wünsche oder vielleicht hilft es Euch, zu verstehen, die Paarung.
Möchte ich-pair-Mädchen, 2-Geräte mit der bluez-bluetooth Bibliothek an Erster Stelle, aber ich passiert, finden Sie hilfreiche code in der Quelle für die bluez-tools.
Gibt es die Datei "btmgmt.c" und einige Dateien enthalten, die die Verwirklichung der Paarung.
Für mich ist es leider nicht funktioniert und ich kann nicht verstehen, warum. Aber vielleicht hast du mehr Erfolg. Hier ist, wie können Sie es testen.
Wenn Sie nicht bereits haben, laden Sie die neueste version der source-code hier: http://www.bluez.org/
Entpacken Sie es und öffnen Sie ein terminal in der bluez-Ordner.
Dann führen Sie den folgenden in das terminal:
Ich erinnere mich nicht, alle Pakete, die Sie installieren müssen, aber Sie können diesen Befehl ausführen, und überprüfen, warum es fehlschlägt, installieren Sie dann das Paket, und es erneut, bis es funktioniert. Fragen Sie google, wenn Sie nicht wissen, welches Paket Sie installieren müssen.
Danach:
Können Sie nun wechseln Sie in den Ordner tools von terminal und geben Sie ./btmgmt, um zu sehen, wie es zu benutzen.
Sie können auch installieren Sie es in der Lage sein, es zu benutzen nur durch Eingabe von "btmgmt" unabhängig von Ihrem Standort.
Brauchen Sie sudo Rechte, es zu benutzen.
InformationsquelleAutor
Diese dbus-Befehl kann verwendet werden, zu initiieren Sie die Kopplung
Hier 1301 ist die Prozess-id des bluetoothd
/org/bluez/agent_1317 ist die bluetooth-pairing-agent.Die bluezagent, kommt als agent.c in bluez/test-kann für diesen Zweck verwendet werden.
InformationsquelleAutor