- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have CY8CKIT-042-BLE and running PSoc Creator 4.1 release date of 6/12/2017
I wanted to know how to setup pairing one time and after that it does not need to go thru pairing.
I searched the website of examples for
CyBle_GapAddDeviceToWhiteList and
CyBle_GapRemoveDeviceFromWhiteList but the examples are not very clear.
I also looked at the GAP Settings->Peripheral role->Advertisement packet in the PSoC Creator 4.1 GUI under the TopDesign.cysch and see that "Discovery mode: Genera;"
"Adversiting type: Connectable undirected advertising"
"Filter policy: Scan request: Any|Connect request: White List"
"Advertising channel map: All channels"
And under GAP Settings->Security is shown below:
Solved! Go to Solution.
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Yes. Bonding is when it remembers the information needed to resume an encrypted connection with another device (both devices must store/remember it technically). The pairing process is generally seen as the step in which: Encryption of communication is established, authentication is validated/submitted, and the point at which peripheral determines whether or not to stay connected for longer. For the cypress chips, when you have the device set to "bonding required" in the BLE component, then it will always bond with devices that it successfully pairs with. (This is a setting)
- You need to update the components in the example projects (right-click on the project, select "Update Components", and update all of the components to the latest. This should fix your issue.)
- All of the "100 projects" are most likely outdated firmware libraries, thus updating the libraries with "Update Components" should fix them for you to compile/use them.
This website/news article should explain the difference between pairing and bonding pretty well if you are still confused: BLE pairing vs. bonding | Pirate Comm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Pairing is the process of encrypting two devices' communication with each other, and this will happen whenever they reconnect/connect to each other after being unconnected.
Bonding is probably the term you were looking for: It's when the devices save the pairing information with each other so that they can automatically/easily reconnect next time without needing to go through user authentication of the device's connection.
Are you certain you mean pairing? And if so, then no, you will need to pair every time you reconnect the two devices in order for the security/encryption to be established on connecting the two devices.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for the response.
I guess I mean bonding.
So is there an example code that I can use with CY8CKIT-042-ble?
Thanks,
Asha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I was looking at this link below that discusses double pairing. So instead of button, we use another way to do initiate it. The below link talks about "manual entering pairing mode".
https://community.cypress.com/thread/15255?start=0&tstart=0
Is this not pairing?
Thanks,
Asha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are some official examples for pairing and bonding that should help you out:
http://www.cypress.com/blog/100-projects-100-days/project-016-authentication
The 100 projects in 100 days are very useful for looking at specific operational functions or code.
You can enter pairing programmatically, thus any method that you can realistically implement should work.
For example, a certain message sent advertising to cause the next connection to pair, a button/code entered, a specific RSSI value, a specific MAC value, etc.
The thread you refer to discusses how to manually initiate the pairing procedure. Which you can do at any time after connecting with another BLE device.
(The thread name is not necessarily accurate to the material)
Epratt
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for your response.
(1) This thread "https://community.cypress.com/thread/15255?start=0&tstart=0" refers how to prevent manual "pairing" second time (after pairing once). Meaning you paired once and so you need to remember the one you paired with and so need not go thru another pairing process to pair with the same device. So this is what we are trying to do. Is this "bonding"
(2)When I bring up the Day015_Bonding-000.cywrk, I get an error "Cannot find v3.20 of component BLE"
How can I resolve this so that I can understand the bonding procedure?
(3) I get the same error for all projects under 100_Projects_in_100_Days and so it is not helpful so far.
Any help would be very much appreciated.
Thanks,
Asha
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Yes. Bonding is when it remembers the information needed to resume an encrypted connection with another device (both devices must store/remember it technically). The pairing process is generally seen as the step in which: Encryption of communication is established, authentication is validated/submitted, and the point at which peripheral determines whether or not to stay connected for longer. For the cypress chips, when you have the device set to "bonding required" in the BLE component, then it will always bond with devices that it successfully pairs with. (This is a setting)
- You need to update the components in the example projects (right-click on the project, select "Update Components", and update all of the components to the latest. This should fix your issue.)
- All of the "100 projects" are most likely outdated firmware libraries, thus updating the libraries with "Update Components" should fix them for you to compile/use them.
This website/news article should explain the difference between pairing and bonding pretty well if you are still confused: BLE pairing vs. bonding | Pirate Comm
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thank you for your response.
I will update the "Update Components" and go on.
Thanks,
Asha