This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

pc-ble-driver-py : how to enable notifications on characteristics without cccd

Hi everyone, 

this is my first question in this blog.

I am trying to use the library pc-ble-driver-py in order to interact with a DevKit (in which an example code is implemented: ble_app_cli as a peripheral) 

Thanks to the examples, I managed to scan and get connected to the DevKit, however, right after the service discovery, the enable_notification fails on every characteristic that doesn't have the descriptor cccd is not . (the error cccd not found occures)

In this case I can't read the device name, the preferred connection parameters etc. Should I modify the library to be able to enable notifications on these characteristics or am I doing something wrong

Thanks in advance, Imen

  • Hi Imen

    Please check out this thread (and the following GitHub fork), which shows how you can read characteristics, etc. using the pc-ble-driver-py bindings to interface with a BLE peripheral.

    Best regards,

    Simon

  • Hi again, 

    Thank you for your reply, but I already based my work on that example. I actually have the same problem indicated at the end of the thread. I am able to discover the services and enable notifications but only on characteristics with a CCCD. As I mentioned before my peripheral is a devkit with the BLE_APP_CLI example that has different services with different characteristics. How should I do to read the device name for example? I also added "self.adapter.driver.ble_vs_uuid_add(MyClass.BASE_UUID)" just after enabling the ble driver. I don't know if I'm missing something.

  • Hi

    Sorry, but nothing comes to mind as to what you may have missed. Can you check out this case, and if that doesn't help either, could you try sniffing your connection using, for example, the nRF Sniffer and posting the sniffer trace here so I can take a look at the connection in detail?

    Best regards,

    Simon