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

Beacon and Scanner to measure Distance

Hi,

I am developing the board to act as Broadcaster and also Observer

I am using SDK_16 with SEGGER EMBEDDED . nRF52

board wants to do Broadcast the signal (non-connectable) and observer. it has to match the

UUID and read the RSSI and broadcasting data (Battery level).

From RSSI need to find the distance and taking action when it not in preferred distance.

I found the formula for distance.

Distance =  pow(10d, ((double) Measured RSSI - rssi) / (10 * N));

Measured RSSI = RSSI @ 1m. and it is -61dBm. (value taken from the beacon data)

Problem:

1.  what is measured RSSI and how can I judge it is -61dBm. because i measured the Beacon in DK1 and scanner code in DK2 . I received nearly -51 to -59 dBm . sometimes -63dBm.

2. what will be the N : in formula says its a factor that can be 2 if device is indoor

3. the Distance value are not achieved properly . required to measure the distance upto 20 feet and it should be precious and it also not in LOS(Line of sight)

4. how to send the Battery level in the advertising data

5. i have seen the Beacon code . in that i am not able to provide the device name . how to provide the beacon name.

6. In Scanner mode . what is scan_addr_filter . is it filter of advertising data or some other

7. how to provide the custom UUID for the beacon mode. and i need to do uuid filter during scan and read the RSSI value

is it possible to have Broadcaster, Observer, Central and Peripheral in one device. do you have any example code related to this.

Parents
  • Unfortunately, RSSI is a poor measurement for distance, since it will vary depending on interference, reflections, fading, antenna pattern, line of sight etc. I am not surprised if it vary with 10-20dB.

    For your questions regarding advertisment, device name and UUID I suggest you to refer the the ble_app_blinky central and peripheral example in nRF5 SDK. It show how to add UUID to the advertisment, and how to discover proprietary services after connection.

    Best regards,
    Kenneth

  • Hi,

    Thank you for your reply,

    I am using ble_app_beacon (Beacon model)

    only advertising

    in that example code.

    1. I can't able to create the device name.

    2. on advertising data. will i able to send the Battery level along with the advertising data

    (i.e) dynamic data can able to broadcast continuously

Reply Children
Related