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
  • Thanks for the reply

    I will be using nRF52840 and nRF52833 so I don't think I will use IRK.

    peripheral/ble_app_hids_keyboard has case BLE_ADV_EVT_WHITELIST_REQUEST: and pm_whitelist_get, but not pm_whitelist_set. pm_whitelist_set has weird parameter which is pm_peer_id_t also uint16_t. I don't think the parameter has to do with ble address (48bit or 6byte + BLE_GAP_ADDR_TYPE_RANDOM_STATIC).

    I did stumble upon sd_ble_gap_whitelist_set() but it did not affect pm_whitelist_get().

    Can you tell me how to add whitelist manually using address?

    EDITS:

    sample of code will be very nice, I can't really pull much from s140 hids keyboard BLE_ADV_EVT_WHITELIST_REQUEST.

Reply
  • Thanks for the reply

    I will be using nRF52840 and nRF52833 so I don't think I will use IRK.

    peripheral/ble_app_hids_keyboard has case BLE_ADV_EVT_WHITELIST_REQUEST: and pm_whitelist_get, but not pm_whitelist_set. pm_whitelist_set has weird parameter which is pm_peer_id_t also uint16_t. I don't think the parameter has to do with ble address (48bit or 6byte + BLE_GAP_ADDR_TYPE_RANDOM_STATIC).

    I did stumble upon sd_ble_gap_whitelist_set() but it did not affect pm_whitelist_get().

    Can you tell me how to add whitelist manually using address?

    EDITS:

    sample of code will be very nice, I can't really pull much from s140 hids keyboard BLE_ADV_EVT_WHITELIST_REQUEST.

Children
No Data
Related