def gatt_server_main(mainloop, bus, adapter_name): adapter = adapters.find_adapter(bus, GATT_MANAGER_IFACE, adapter_name) if not adapter: raise Exception('GattManager1 interface not found') service_manager = dbus.Interface( bus.get_object(BLUEZ_SERVICE_NAME, adapter), GATT_MANAGER_IFACE) app = Application(bus) print('Registering GATT application...') service_manager.RegisterApplication(app.get_path(), {}, reply_handler=register_app_cb, error_handler=functools.partial(register_app_error_cb, mainloop))
def advertising_main(mainloop, bus, adapter_name): adapter = adapters.find_adapter(bus, LE_ADVERTISING_MANAGER_IFACE, adapter_name) print('adapter: %s' % (adapter,)) if not adapter: raise Exception('LEAdvertisingManager1 interface not found') adapter_props = dbus.Interface(bus.get_object(BLUEZ_SERVICE_NAME, adapter), "org.freedesktop.DBus.Properties") print('powering on') adapter_props.Set("org.bluez.Adapter1", "Powered", dbus.Boolean(1)) print('powered on') ad_manager = dbus.Interface(bus.get_object(BLUEZ_SERVICE_NAME, adapter), LE_ADVERTISING_MANAGER_IFACE) test_advertisement = TestAdvertisement(bus, 0) ad_manager.RegisterAdvertisement(test_advertisement.get_path(), {}, reply_handler=register_ad_cb, error_handler=functools.partial(register_ad_error_cb, mainloop))
def start_ad(mainloop, bus, adapter_name, service_assigned_number_list): adapter = adapters.find_adapter(bus, advertising.LE_ADVERTISING_MANAGER_IFACE, adapter_name) print('adapter: %s' % (adapter, )) if not adapter: raise Exception('LEAdvertisingManager1 interface not found') adapter_props = dbus.Interface( bus.get_object(advertising.BLUEZ_SERVICE_NAME, adapter), "org.freedesktop.DBus.Properties") adapter_props.Set("org.bluez.Adapter1", "Powered", dbus.Boolean(1)) ad_manager = dbus.Interface( bus.get_object(advertising.BLUEZ_SERVICE_NAME, adapter), advertising.LE_ADVERTISING_MANAGER_IFACE) ad = AdTemplate(bus, 0, service_assigned_number_list) ad_manager.RegisterAdvertisement(ad.get_path(), {}, reply_handler=register_ad_cb, error_handler=functools.partial( register_ad_error_cb, mainloop))