Koppeln von bluetooth-Geräten mit Zugangsschlüssel/Kennwort in python - RFCOMM (Linux)
Arbeite ich an einem Python-Skript zur Suche nach bluetooth-Geräten und verbinden Sie diese mit RFCOMM. Diese Geräte hat Zugangsschlüssel/Kennwort. Ich bin mit PyBlueZ und, soweit ich weiß, ist diese Bibliothek nicht in den Griff Zugangsschlüssel/Kennwort-verbindungen (Python PyBluez Anschluss an Hauptschlüssel geschütztes Gerät).
Ich bin in der Lage zu entdecken, die Geräte und abrufen von Namen und Adressen:
nearby_devices = bluetooth.discover_devices(duration=4,lookup_names=True,
flush_cache=True, lookup_class=False)
Aber wenn versucht, eine Verbindung zu einem bestimmten Gerät mit:
s = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
s.connect((addr,port))
Bekomme ich eine Fehlermeldung 'Device or resource busy (16)'
.
Ich habe versucht, einige bash-Befehle verwenden, die hcitool und bluetooth-agent, aber ich brauche die Verbindung programmgesteuert. Ich war in der Lage, eine Verbindung zu meinem Gerät mithilfe der Schritte hier beschrieben: Wie zu koppeln eines bluetooth-Geräts von der Kommandozeile unter Linux.
Möchte ich Fragen, ob jemand die Verbindung zu einem bluetooth-Gerät mit Zugangsschlüssel/Kennwort mit Python. Ich bin am überlegen über die Verwendung der bash-Kommandos in Python mit subprocess.call()
, aber ich bin nicht sicher, ob es eine gute Idee ist.
Vielen Dank für jede Hilfe.
InformationsquelleAutor Juan C. Vanegas | 2016-05-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich bin ich in der Lage, eine Verbindung zu einem Gerät mit PyBlueZ. Ich hoffe, diese Antwort hilft anderen in der Zukunft. Ich habe versucht, die folgenden:
Importieren Sie zuerst die Module und entdecken Sie die Geräte.
Wenn Sie entdecken, daß das Gerät, das Sie verbinden möchten, müssen Sie wissen-port, die Adresse und den Zugangsschlüssel. Mit diesen Informationen tun, die nächste:
Nun, Sie sind verbunden!! Sie können Ihre socket-für die Aufgabe benötigen Sie:
Offizielle PyBlueZ Dokumentation ist verfügbar hier
bluetooth-agent
? Ist es ein Linux-Befehl?Hi Yahya. Ja, es ist ein Befehl.
bluetooth-agent
ist ein tool zum verwalten der pairing-code. Lesen Sie mehr über: askubuntu.com/questions/763939/... wiki.debian.org/BluetoothUser#Pairing_using_CLIOkay, danke, also ist es im Grunde:
your bluetooth agent
zum Beispielbluetoothctl
Ja. Sie können
bluetoothctl
wenn Sie nichtbluetooth-agent
Alle von der Weg für zukünftige Leser, die nicht alle Debian dists haben
bluetooth-agent
ist es ganz klar erwähnt, dass: "Wennbluetooth-agent
ist nicht verfügbar, versuchen Siebluetoothctl
"InformationsquelleAutor Juan C. Vanegas