Pairing specific pairs among many

Hello, we're trying to make products using BLE with nRF52840(central) and nRF52833(peripheral).

We did make custom boards and also made a program that once paired(bonded), it won't connect with others.

(eg, once nRF52840 and nRF52833 is paired, it will not connect with others)

We were wondering is there a way to make specific central connect with specific peripheral?

Is there a way to make each central/peripheral unique so that pairing process can be done without interference?

We got concerned that wrongly paired(or bonded) devices might ship out.

At our current stage, pairing wrong central/peripheral is possible.

Other infos.

nRF52840-central has 2 buttons, while nRF52833-peripheral has none

We're using SDK 17.1.0 S140 Segger Studio

has NUS(communication) and BAS(battery check) BLE services

thanks

edit:

extra question: is there a way to write certain unique number/MAC address on flash during flash write and then read it during application?

How do I know which address of flash is used or not?(want to avoid  collision with bonded info)

Is there a download tool beside nRF Connect Programmer?

Parents
  • Hi,

    June20 said:
    with whitelist and filter added, is bonding/pairing necessary? Can I get rid of both? I want to reduce connection time .

    That depends on your goal. With whitelisting, you ensure that only whitelisted peers can be connected. This is not related to pairing/bonding (other than in the cases where the devices use a resolvable address, the peer needs the IRK which it gets when bonding).

    However, the primary point of pairing/bonding is to establish an encryption key that is used to encrypt the link. If you only whitelist, you will not have this, and anyone can listen in on the communication. Also, with bonding, some state information like the services etc. is stored between connections, and this is sometimes useful. If you only want to ensure that two specific devices can connect, and don't care about the other things (most notably encryption), then using only whitelisting is fine.

Reply
  • Hi,

    June20 said:
    with whitelist and filter added, is bonding/pairing necessary? Can I get rid of both? I want to reduce connection time .

    That depends on your goal. With whitelisting, you ensure that only whitelisted peers can be connected. This is not related to pairing/bonding (other than in the cases where the devices use a resolvable address, the peer needs the IRK which it gets when bonding).

    However, the primary point of pairing/bonding is to establish an encryption key that is used to encrypt the link. If you only whitelist, you will not have this, and anyone can listen in on the communication. Also, with bonding, some state information like the services etc. is stored between connections, and this is sometimes useful. If you only want to ensure that two specific devices can connect, and don't care about the other things (most notably encryption), then using only whitelisting is fine.

Children
No Data
Related