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

Nordic's BLE device matching and binding problems.Android app and Apple app.

The Nordic 52810 that I'm using now for my development project has to do with the pairing of Android and iPhone.Android is available through Bond and Delete Bond in nRF Connect.To achieve binding and unbinding operations.

1. So what should I do if Apple's app is going to be bound and unbound?

2. What API do I call on the BLE side to implement binding and unbinding?

3. In other words, what can I do with my iPhone app on the BLE side to achieve binding and unbinding?

4..pm_peers_delete(); The function is unbinding. What is the binding function?

The project was in a hurry

Thank you very much!

  • Hi

     What project do you have on your nRF52810?

    1/3. Are you not able to pair and perform bonding in the iOS version of the nRFConnect app? You should have a button in the nRFConnect app where you can choose to pair to the device. 

    2. Do you mean on the nRF side or the iOS side? If you check out the ble_app_gls peripheral example, it sends a pairing request to the central device upon connection and checks if the link is authenticated after connection in the pm_evt_handler(). It will trig a disconnect if the central does not use MITM protection.

    4. A peripheral device can't initiate bonding, and only send a security request which usually leads to a pairing request from the central, but in a central application this is generally done by calling pm_conn_secure once service discovery is completed.

    Best regards,

    Simon

  • This project  is watch.  thank yuo,help me!!! Simonr

    1. 

    The NRF connect in Android phones has bond and detete bond information

    Apple mobile phone app, how to cook can achieve binding and unbinding?

     2.  How to do Apple mobile phone and app in Apple mobile phone, just like Android mobile phone, can pair and bind ?

    3 ble_ app_ GLS peripheral device example, can send pairing request, this part of the code where I look, and then add it to ble_ app_ In the template project, to implement the app of iPhone or iPhone,

  • Hi

    1/2. I asked the mobile application devs about this, and due to differences in iOS and Android this functionality is not possible in an iOS app. iOS does not let apps know when a device is bonded or not, and bonding in iOS will be triggered when you (in the application) try reading a protected attribute I.E. a characteristic or descriptor. In order to delete bond information, you have to do delete bond info in Settings -> Bluetooth on the iOS device.

    3. I'm struggling to understand what you mean in this question. Are you trying to implement the pairing request to your ble_app_template project or what?

    Best regards,

    Simon

  • hi,Simonr,

    1. What I mean is, I'm going to implement a pair binding for my iPhone APP.I did.After our Apple APP connects to the BLE device, the APP sends an instruction (private definition) that sends a request to the host (APP) when the BLE device receives the instruction.When the host (APP) receives the request, click the confirm button.BLE device and host (APP),

    2. the completion of pairing and binding.I mean, my project is on the ble_app_tempalete project, and I'm going to add the above iPhone and BLE device bindings to the ble_app_tempalete.

  • Hi

    1. Okay, the only way to do so in an iOS app would be to trig the pairing process by making the iOS app ask to read/write a protected attribute as I explained in my last reply. 

    2. To implement pairing in the ble_app_template project you need to implement the peer manager which is used by applications to manage BLE security. You can check out ble_app_gls or ble_app_hrs examples to see how these projects implement the peer manager to support pairing/bonding.

    Best regards,

    Simon

Related