Сервер Гатт не ловит сигналы подключения - PullRequest
0 голосов
/ 14 ноября 2018

Я работаю с примером сервера gatt, поставляемого с BlueZ, и добавил обработчик сигнала для обнаружения соединений и разъединений, например:

bus.add_signal_receiver(PropertiesChangedHandler,                      
                    dbus_interface = "org.freedesktop.DBus.Properties",                          
                    signal_name = "PropertiesChanged",                                           
                    arg0 = "org.bluez.Device1",                                                  
                    path_keyword = "path")

Мой обработчик сигнала просто выводит некоторую информацию:

def PropertiesChangedHandler(interface, changed, invalidated, path):       
    if 'Connected' in changed:                                             
        print("---- Connected Property Changed ----")                      
        print('Interface: ', interface)                                                              
        print('Changed: ', changed['Connected'])                                                     
        print('Path: ', path)                                                                        
    if 'ServicesResolved' in changed:                                                                
        print("---- ServicesResolved Property Changed ----")                                         
        print('Interface: ', interface)                                                              
        print('Changed: ', changed['ServicesResolved'])                                              
        print('Path: ', path)

Однако при запуске сервера я могу только обнаружить отключения. Я никогда не получаю никаких сигналов для соединений. Я добавил «ServicesResolved» к обрабатываемым сигналам, и он, казалось, работал как ожидалось. Мои журналы выглядят примерно так при подключении и отключении:

---- УслугиРазрешенная недвижимость изменена ----
Интерфейс: org.bluez.Device1
Изменено: 1
Путь: / org / bluez / hci0 / dev_42_36_D9_11_CA_4B
---- Связанная недвижимость изменена ----
Интерфейс: org.bluez.Device1
Изменено: 0
Путь: / org / bluez / hci0 / dev_42_36_D9_11_CA_4B
---- УслугиРазрешенная недвижимость изменена ----
Интерфейс: org.bluez.Device1
Изменено: 0
Путь: / org / bluez / hci0 / dev_42_36_D9_11_CA_4B

Какие причины могут быть для этого странного поведения? Я использую BlueZ 5.46, если это имеет значение.

...