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.

Connection between CC2541 keyfob and iPhone

Other Parts Discussed in Thread: CC2541
Hi there,
 
I got a question about the BLE connection between TI keyfob and iPhone app.
The use case is:
When user connects the keyfob with his/her iPhone at the first time, the user need to follow a special one time process. After that, the keyfob can directly connect to his/her iPhone without going through the one time process again. If the user want to use another iPhone to connect to the keyfob, he/she need to do the one time process on the new iPhone again.
 
The main problem is that iPhone is using random address and will change it every 15 minutes. I've searched the TI forum and it seems we cannot use merely white list to achieve this use case. 
One possible solution is to use 
I wonder what is the most suitable way to achieve this use case? Could you guys provide me some information?
 
Many thanks!
Arthur Chen
 
  • You are correct that because of the changing private resolvable address that is used by iOS devices, it is not possible to use the whitelist. We are working on a method to get around this issue in the future, but for now oon CC2541 the only way to really handle this is to not use the whitelist and allow a connection from a peer device. Our bond-manager will automatically resolve the address after connection. At the application layer if the resolved address does not match the "desired address", then you can force a disconnect.

    Unfortuantely this is the best workaround that we have for now.

  • Hi Sandeep,

    Thanks a lots for the response.
    Does it mean that an iPhone and the CC2541 have to go through paring and bonding procedure only when they make a connection at the first time? For future connections, does CC2541 use long term key stored during bonding procedure to resolve iPhone's random address?

    I wonder if there are documents or sample codes for the procedure? If not, could you please let me know what functions should I call?

    Thank you very much for the help.

    Best Regards,
    Arthur