CY8CKIT-042-BLE: How to setup pairing

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

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:

pastedImage_0.png

0 Likes
1 Solution
Anonymous
Not applicable
  1. 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)
  2. 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.)
  3. 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

UpdateComponentsExample.PNG

View solution in original post

0 Likes
7 Replies
Anonymous
Not applicable

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.

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable

There are some official examples for pairing and bonding that should help you out:

PSoC-4-BLE/100_Projects_in_100_Days/Day015_Bonding at master · cypresssemiconductorco/PSoC-4-BLE · G...

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

0 Likes
Anonymous
Not applicable

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

0 Likes
Anonymous
Not applicable
  1. 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)
  2. 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.)
  3. 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

UpdateComponentsExample.PNG

0 Likes
Anonymous
Not applicable

Hi,

Thank you for your response.

I will update the "Update Components" and go on.

Thanks,

Asha

0 Likes