Jumeler les appareils bluetooth avec Clé de sécurité/Mot de passe en python - RFCOMM (Linux)

Je suis en train de travailler sur un script Python pour rechercher les périphériques bluetooth et connectez-les à l'aide de RFCOMM. Ces dispositifs a Clé/Mot de passe. Je suis à l'aide de PyBlueZ et, autant que je sache, cette bibliothèque ne peut pas gérer Clé/Mot de passe de connexions (Python PyBluez de la connexion de la clé d'authentification appareil protégé).

Je suis en mesure de la découverte de périphériques et de récupérer leurs noms et adresses:

nearby_devices = bluetooth.discover_devices(duration=4,lookup_names=True,
                                                      flush_cache=True, lookup_class=False)

Mais si essayé de se connecter à un périphérique spécifique à l'aide de:

s = bluetooth.BluetoothSocket(bluetooth.RFCOMM) 
s.connect((addr,port)) 

J'obtiens une erreur 'Device or resource busy (16)'.

J'ai essayé quelques commandes bash à l'aide de la hcitool et bluetooth-agent, mais j'ai besoin de faire la connexion par programmation. J'ai été en mesure de se connecter à mon appareil à l'aide de la procédure décrite ici: Comment connecter un périphérique bluetooth à partir de la ligne de commande sur Linux.

Je veux vous demander si quelqu'un s'est connecté à un appareil bluetooth avec Clé de sécurité/Mot de passe à l'aide de Python. Je pense à utiliser les commandes bash en Python à l'aide de subprocess.call(), mais je ne suis pas sûr si c'est une bonne idée.

Merci pour toute aide.

OriginalL'auteur Juan C. Vanegas | 2016-05-26