1 of 1 people found this helpful
1. In order to connect only one particular central device to the peripheral, Add the central device address to the whitelist of the peripheral device and in the "Advertisement settings" change the Filter policy to "Scan request: Any | Connect request: White list" which allows the link layer to process connection requests only from devices in the whitelist.
Most of the smart phones use RPA(Random Private Address) as their Bluetooth device address. So, adding the smartphone device address in the White list only, will not resolve this issue and you have to use the Resolving List as well. That means, you have to add the central device address to the Resolving list as well as to the White list in your peripheral device. Please refer the PSoC Creator Code Example 'BLE_4.2_Datalength_Security_Privacy' ( PSoC Creator-> File-> Code Example) for more information on this.
2. Or, if you want to allow only one central device to bond with the peripheral then before storing the bonding data check for the bonded devices count. If the count is 0 then store that central device keys else don't store the bonding data (in this case only first device bonding data will be stored).
Please let me know if I'm missing anything.
Thanks. I think I understand. We'll see when I try it.