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

How can I measure the advertising intervals of a peripheral?

I would like to know how frequently my peripheral is sending advertising and data packets. I've tried using ble-sniffer-osx but it doesn't actually reveal any device names for some reason, so it's not trivial to use. Is it possible to do this using Xcode's Bluetooth Explorer utility to do this?

Parents
  • BLE devices are normally identified by 6-byte Adv. Address (MAC). By using good sniffer you can easily follow advertisers and deltas between packets they send (note that BLE broadcasting has some mandatory jitter from specification so you will wither "tip" the actual adv. interval or you will need some larger statistics to be "almost sure"). If you have problems to identify MAC address of your target (e.g. because it changes it to be pseudo-anonymous or because you have too many devices in the field) then moving to quieter place and using RSSI indication to see which is the closest device or at least which is moving when you move with your target should solve it.

    Update

    Some screenshots from nRF Connect mobile app (note that this applies only to Android version, iOS seems lacking this indication according to Petter). As you see beside graph view it computes delta between ADV events in list view for each advertiser (152ms in this case, I would guess real value is 150ms exactly):

    image description

    image description

  • Yes, pretty much any BLE Peripheral examples do it, e.g. there is examples\ble_peripheral\ble_app_beacon (but runs only on PCA10040 aka nRF52 DK, otherwise you need to do small modifications)

Reply Children
No Data
Related