The additional data is unrelated to wifi config but can only be passed to the device while POP (proof of possession) is established.
Easy enough the endpoints are visible when you use something like gatttool:
Code: Select all
[Codebox=bash file=Untitled.bsh]sudo gatttool -i hci0 -b 3X:XX:XX:XX:XX:XX -m 48 --interactive
[3X:XX:XX:XX:XX:XX][LE]> connect
Attempting to connect to 3X:XX:XX:XX:XX:XX
Connection successful
[3X:XX:XX:XX:XX:XX][LE]> primary
attr handle: 0x0001, end grp handle: 0x0005 uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0014, end grp handle: 0x001c uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x0028, end grp handle: 0xffff uuid: 0000ffff-0000-1000-8000-00805f9b34fb
[3X:XX:XX:XX:XX:XX][LE]> characteristics 0x0028 0xffff
handle: 0x0029, char properties: 0x0a, char value handle: 0x002a, uuid: 0000ff51-0000-1000-8000-00805f9b34fb
handle: 0x002b, char properties: 0x0a, char value handle: 0x002c, uuid: 0000ff52-0000-1000-8000-00805f9b34fb
handle: 0x002d, char properties: 0x0a, char value handle: 0x002e, uuid: 0000ff53-0000-1000-8000-00805f9b34fb
handle: 0x002f, char properties: 0x0a, char value handle: 0x0030, uuid: 0000ff54-0000-1000-8000-00805f9b34fb
handle: 0x0031, char properties: 0x0a, char value handle: 0x0032, uuid: 0000ff55-0000-1000-8000-00805f9b34fb
[3X:XX:XX:XX:XX:XX][LE]>
[/Codebox]
it turns out the added endpoints are not enumerated in ble_cli.py. Even a dump of the dbus object does not contain them:
Code: Select all
[Codebox=python file=ble_cli.py] def _get_services_(self):
bus = dbus.SystemBus()
manager = dbus.Interface(bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager")
objects = manager.GetManagedObjects()
print ("objects: " + str(objects) + " ")
[/Codebox]
Is there step that I have missed?