Liste proximité/détectable par les appareils bluetooth, y compris déjà jumelé, en Python, sur Linux
Je suis en train de répertorier tous à proximité/détectable par les appareils bluetooth, y compris ceux déjà jumelé, à l'aide de Python sous Linux.
Je sais comment lister les services d'un périphérique à l'aide de son adresse, et peut se connecter avec succès:
services = bluetooth.find_service(address='...')
La lecture de la PyBluez docs je m'attends tout à proximité de l'appareil pour afficher si je ne spécifiez pas un de ces critères:
"Si aucun critère n'est spécifié, retourne une liste de tous les services à proximité détecté."
La "seule" chose dont j'ai besoin maintenant est d'être capable de liste déjà des appareils appariés, si ils sont sur on, off, à proximité ou non. Un peu comme la liste, je suis arriver dans Tous les Paramètres --> Bluetooth dans Ubuntu/Unity.
Btw, le suivant ne pas liste déjà des appareils reliés sur ma machine, même s'ils sont sur/à proximité. Probablement parce qu'ils ne sont pas détectables une fois jumelé:
import bluetooth
for d in bluetooth.discover_devices(flush_cache=True):
print d
Des idées ...?
Edit: j'ai trouvé et installé "bluez-outils".
bt-device --list
... donne-moi l'information dont j'ai besoin, c'est à dire les adresses des périphériques ajoutés.
J'ai vérifié le code source en C, a trouvé que ce serait peut-être pas aussi facile que je le pensais.
Ne sais toujours pas comment le faire en Python ...
Edit: je pense que DBUS peut-être ce que je devrais être à la lecture sur. Semble assez compliqué. Si quelqu'un a un code à part, je serais vraiment heureux. 🙂
J'y ai pensé aussi, et commencé à le faire, mais c'est vraiment de l'emballage autour
dbus
...
OriginalL'auteur Micke | 2013-01-10
Vous devez vous connecter pour publier un commentaire.
Depuis l'adoption de la version 5 de l'API Bluetooth la plupart des fonctions utilisées dans le @Micke solutions ont été abandonnées et de l'interaction
avec le bus, prendre place à travers le ObjectManager.GetManagedObjects [1]
Dans le
bt_device
liste, il y a des dictionnaires avec les données souhaitées:ie
par exemple
De référence:
[1] http://www.bluez.org/bluez-5-api-introduction-and-porting-guide/
OriginalL'auteur Eineki
J'ai réussi à résoudre le problème moi-même. L'extrait suivant des listes d'adresses pour tous les appareils reliés, par défaut de mon adaptateur bluetooth:
Depuis l'adoption de la bluez 5 de l'API le soutien personnalisé de l'enquête de périphérique bluetooth a été abandonné. Vous devez revenir à bluez 4 ou utiliser l'autre version que j'ai posté
OriginalL'auteur Micke
Vous pouvez toujours exécuter une commande shell et de lire de quoi il en retourne:
Maintenant
data
comprennent une liste de toutes les lignes de sortie qui vous permet de formater et de jouer comme vous le souhaitez.OriginalL'auteur Richard
un peu long mais en fait le tour en une seule ligne
OriginalL'auteur Guy