Я пытаюсь перечислить все находящиеся поблизости/обнаруживаемые устройства Bluetooth, в том числе уже подключенные, используя Python для Linux.
Я знаю, как перечислить сервисы для устройства, использующего его адрес, и успешно подключиться:
services = bluetooth.find_service(address='...')
Чтение документов PyBluez, я ожидал бы, что какое-нибудь соседнее устройство появится, если я не укажу никаких критериев:
"Если критерии не указаны, то возвращается список всех обнаруженных поблизости сервисов".
"Единственное", что мне сейчас нужно, это иметь возможность перечислить уже сопряженные устройства, независимо от того, включены они, выключены или нет. Очень похоже на список, который я получаю во всех настройках → Bluetooth в Ubuntu/Unity.
Btw, следующее не отображает уже сопряженные устройства на моей машине, даже если они включены/рядом. Возможно, потому что они не могут быть обнаружены после спаривания:
import bluetooth
for d in bluetooth.discover_devices(flush_cache=True):
print d
Любые идеи...?
Изменить: Я нашел и установил "bluez-tools".
bt-device --list
... дает мне необходимую мне информацию, то есть адреса добавленных устройств.
Я проверил источник C, выяснил, что это может быть не так просто, как я думал.
По-прежнему не знаю, как это сделать в Python...
Изменить: Я думаю, что DBUS может быть тем, что я должен читать. Кажется достаточно сложным. Если у кого-то есть код для обмена, я был бы действительно счастлив.:)