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

Send commands to 2 different groups in BLE Multi-link

Hi all,

I am extending the BLE Multi-link example from SDK 15.2.0 in order to have some characteristics as BLE Mesh. I would like to use UUID filter to scan all peripherals around for connecting and then send the different commands to 2 different groups. For example, turn on the LED 3 on the peripherals whose name are listed in the target peripheral name table and turn on LED 4 on all others connected peripherals.

But I still haven't found a solution to do from the examples in BLE SDK.  I see only the function filter scan for selective connection. So, I would like to know how I can realize it.

Could someone help me.
Many thanks in advance.

Parents
  • If you intend to use GATT then you need to create a service that fits your use case.

    Why can't you use Mesh?

  • Hi haakonsh,

    I don't want to use mesh because I need to load many functions on the peripheral devices (for example NFC BLE pairing). So, I would like a solution as simple as possible. On the other hand, it looks like that BLE Mesh will consume much more power than BLE SDK.

  • Mesh networks requires some nodes that are always in radio receive mode, so if you can't use a few devices to relay the information to leaf nodes then mesh is not suitable for you. BLE Mesh networks does use encryption through the provisioning process, where a Provisioner device decides who gets to join the network, this provisioning process can be done OOB like of NFC. 

    If mesh is not a good fit then you need to create a suitable GATT service, and base the UUID filtering on this service's UUID. A control characteristic can be used to assign a group or role to the peripherals, and one or more characteristics can be used to transfer data to the various groups or roles.

  • Hi haakonsh,

    Thank you for your answer

    Could you explain more detail about: "A control characteristic can be used to assign a group or role to the peripherals, and one or more characteristics can be used to transfer data to the various groups or roles."

    In fact, I have an idea to realize my example. I need to get the device name of the peripheral from the advertising report. I have tried some ways (for example, call "sd_ble_gap_device_name_get" or search inside "nrf_ble_scan_on_adv_report") but failed. Could you show me how to do that. Ideally, I would like to get the device name of the '_evt->conn_handle' inside "_EVT_DISCOVERY_COMPLETE".

Reply
  • Hi haakonsh,

    Thank you for your answer

    Could you explain more detail about: "A control characteristic can be used to assign a group or role to the peripherals, and one or more characteristics can be used to transfer data to the various groups or roles."

    In fact, I have an idea to realize my example. I need to get the device name of the peripheral from the advertising report. I have tried some ways (for example, call "sd_ble_gap_device_name_get" or search inside "nrf_ble_scan_on_adv_report") but failed. Could you show me how to do that. Ideally, I would like to get the device name of the '_evt->conn_handle' inside "_EVT_DISCOVERY_COMPLETE".

Children
Related