Adding Extra Protocomm Endpints to ble_prov example for BLE provosioning
Posted: Fri Feb 22, 2019 12:10 am
I've following the example in the protocomm documentation https://docs.espressif.com/projects/esp ... ocomm.html and added two extra endpoints (0xFF54 and 0xFF55).
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:
I tried modifying ble_prov.py (and ble_cli.py) to allow for additional endpoints and received "xyz" endpoint not found.
it turns out the added endpoints are not enumerated in ble_cli.py. Even a dump of the dbus object does not contain them:
However, ff51, ff52,ff53 are listed in the dump.
Is there step that I have missed?
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?