Detect and measure iPhone’s BLE RSSI level while advertising, not actually connected – Possible with the nRF52840?

Sorry if this might be a stupid question, but I’m totally new to the nRF and BLE party...

I’d like to create a simple door lock which at the touch of the button unlocks a door if a person with one out of several previously specified iPhones in his or hers pocket is standing close to the door (the working limit should be let’s say 3 meters). The Dev Board I have in mind, which is supposed to act as BLE Central device and detect the close-by iPhone is the Seeed Studio XIAO nRF52840

My idea is to measure the RSSI level, although I’m not sure if that the signal is

  1. equally strong across various iPhones (same models, let’s assume) at the same distance and
  2. whether the RSSI levels resolution is defined enough to distinguish whether someone is less than 3 or actually 15 meters away (I understand that it is an RF signal in the end, so influenced by the environmental circumstances, but I have no idea how much of an effect those circumstances have in my particular, desired application).

Furthermore it needs to work reliably every time and without the iPhone’s Bluetooth fully connecting to the XIAO board first (in a sense that it says „Connected“ in iPhone’s BT settings). Not an expert on this, but I think this is called BLE advertising.

Questions:

  1. Technically feasible/possible?
  2. How secure is this? As I understand each BLE device has a Unique ID which also gets advertised. Can that be recorded/cloned/mimicked?
  • Hi.

    There is no stupid questions. I'll be happy to assist.

    RSSI -  (Received Signal Strength Indicator) is a measure that represents the relative quality level of a Bluetooth signal received on a device. The RSSI measurements for every seen device are provided by a the radio anytime the device scans for devices. The RSSI values are on a logarithmic scale, negative, and measured in decibels (dBm).

    equally strong across various iPhones (same models, let’s assume) at the same distance and

    That is no guarantee. There will be different HW layouts, antennas, sensitivity etc. across different models of phones that will affect this. If you measure the RSSI of a device, you will see that it can often fluctuate a lot. It's affected by interference from other sources, physical obstacles etc.

    whether the RSSI levels resolution is defined enough to distinguish whether someone is less than 3 or actually 15 meters away (I understand that it is an RF signal in the end, so influenced by the environmental circumstances, but I have no idea how much of an effect those circumstances have in my particular, desired application).

    RSSI isn't great for accurate distance measurement. But you could be able to use it to determine approximately how close the device is, and act accordingly.

    BR,
    Joakim

  • Thanks for your reply, Joakim.

    Regarding RSSI and the reliability when using it for proximity purposes, I came across this article which suggest to decide based on the trend of the signal strength.

    The general unanswered question is whether the nRF52840 can act as BLE central, so where the nRF52840 is not the beacon but a BLE scanner, looking out for the advertised signal of a particular/known iPhone UUIDs?

  • Wookbert said:
    The general unanswered question is whether the nRF52840 can act as BLE central,

    The answer to this is yes. The nRF52840 can act as a central. We have several central samples in our SDK that you could take a look at.

    Br,
    Joakim

Related