This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[Whitelist for S120] Dropping Beacons or peripherals without bonding

Hi, I'm using

  • IAR EWARM 7.20

  • PCA10001 V 2.0.0 (Changed the MCU to QFAAH00 Revision 3)

(I replaced the MCU to a QFAAH00 (0x0072) with a heat gun)

  • SDK 10.0

  • SoftDevice S120 2.1

  • J-Link Edu

/**********************************************************************/

As the ble_app_hrs_c example shows, it uses whitelist at scan_start function.

The IRK and address count won't increment before bonding with a peripheral.

I was wondering 2 cases.

/**********************************************************************/

Case 1:

Suppose I have a peripheral that uses the following:

"ble_app_hids_keyboard" example from SDK 10.0
SoftDevice S110 8.0
nRF51822 Revision 3 Chip

using a central that uses ble_app_hrs_c, it will store the IRK and the address of the

keyboard peripheral after bonding with each other. (I'm meaning the public address.)

addr

But I want a scenario like this:

The central stores the keyboard peripheral's IRK and public address without bonding together.

I want to see keyboard peripheral's IRK and address (I'm not sure there's a way for this)

and type them at a terminal program to send the data to the central via UART.

In short, I want to send peripherals' IRK and address via UART to the central before bonding.

Is this possible?

Case 2:

In this case, I'm curious whether beacons (iBeacon and EddyStone Beacon) can be filtered.

To be sure, beacons cannot be bonded with centrals and

it has values to distinguish each others (such as Major Minor values and Eddystone-UID's instance).

I'm curious that before using these values, is it possible to filter out beacons using whitelist?

-Best Regards, Mango

Parents
  • Case 1. Use sd_ble_gap_address_get to get the device address. You can use the options API to get the IRK. sd_ble_opt_get -> ble_gap_opt_privacy_t.

    Case 2: Unfortunately it's not possible to blacklist devices, but as long as you know the address or IRK (if applicable) of the device(s) you are scanning for you can use the whitelist to only get event for these devices.

  • Thanks for your reply.

    1. If I use sd_ble_opt_get, it shows a which of the following address;

    public address (MAC Address) / static random address / Random resolvable address ?

    2-1) In case one, I used a peripheral using nRF51822. Is there a function that can get the

    IRK value from the peripheral?

    2-2) If I use smart phones (iPhone or Nexus 5, etc) as peripherals, is there a way to get the the IRK

    and the address of the phone? As far as I know, iOS devices uses resolvable random address.

Reply
  • Thanks for your reply.

    1. If I use sd_ble_opt_get, it shows a which of the following address;

    public address (MAC Address) / static random address / Random resolvable address ?

    2-1) In case one, I used a peripheral using nRF51822. Is there a function that can get the

    IRK value from the peripheral?

    2-2) If I use smart phones (iPhone or Nexus 5, etc) as peripherals, is there a way to get the the IRK

    and the address of the phone? As far as I know, iOS devices uses resolvable random address.

Children
No Data
Related