This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC2650: Simple_Peripheral, connect only through a specific app

Part Number: CC2650

Tool/software: Code Composer Studio

Hello all!

I am working on a project based on the simple_peripheral. My problem is that I only want users to be able to connect though my own specific app, not in bluetooth settings on your phone or through any other ble apps. Nobody should be able to interrupt when connecting though the specific app.

What would be the best way to achieve this? Filter with whitlist and set a specific adress?

Thanks,

Michael

  • Hi Michael,

    First, you can add some specific advertising information and filter based on that. However, since you are a peripheral, you will have to accept all connect requests by masters per the spec. What you can do is after connecting decide if you wish to disconnect or continue a session with that device based on some data shared over a characteristic or in your application.

    I don't think the whitelist would be useful unless you previously paired and bonded with the phone. Phones use a Resolvable Private Address which changes every 15 minutes. That address is resolvable to an Identity Address using an Identity Resolving Key (IRK) which is distributed after a successful pair/bond.
  • Thanks for the answer.
    I see, but in that case I need to set some value in the app and write it to an characteristic from the client side, right?
    I would try to solve it without interfering with the app, would it be possible somehow?

    /Michael
  • Michael,

    Can you define what you mean by "without interfering with the app?" What do you mean by that?
  • Sorry for that, I mean that I don’t have access to the code so can’t do any changes to it.

    /Michael
  • Hey Michael,

    Typically the way this is done is by using some application level authenication/authorization to tell whether or not the device you've connected to is truly the device you wish to be connected to. However, you clearly need the ability to control both sides of the system. Since you don't have control of the code on the application on the phone, i'm not sure there is much that can be done. At least, nothing is defined in BLE that would help in this case.

    You can only use the whitelist if you've paired and bonded with the device previously, and this would help, but overall, if you don't control both ends of the system, i'm not sure there is much of an option.