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

RSSI value reading from peer without making connection

Hi i am having simple doubt.I am using the Nrf51822 as peripheral device and running beacon example from SDK 12.0.0.I am using nrfconnect in my mobile(Central device) to scan the beacon.My doubt is how the nrfconnect app reading the RSSI value from beacon without making connection to it. Is it possible to read the RSSI value without making connection.If it is possible means what are the functions are used.If it is possible means how the nrfconnect app is reading the RSSI value.

Parents
  • Hi,

    The RSSI, received signal strength indicator, can be collected from any radio packet received. It's applied also for advertising packets. So connection is not needed to get the RSSI.

  • @ponlakshmi: Please be specific on which side you want to get the RSSI, on the phone or on the nRF51 ? The phone won't send any advertising packet.

    If you want to get the RSSI of the phone when the nRF51 advertise, you need to catch the scan request packet from the phone. If the phone does active scanning, you can catch that scan request, if the phone does passive scanning, you won't have any packet from the phone and then it's impossible to get RSSI from the phone.

    If you want to get RSSI of the scan request, you need to enable the BLE_GAP_EVT_SCAN_REQ_REPORT event by enabling it using sd_ble_opt_set(). Then in the event you can find the RSSI.

Reply
  • @ponlakshmi: Please be specific on which side you want to get the RSSI, on the phone or on the nRF51 ? The phone won't send any advertising packet.

    If you want to get the RSSI of the phone when the nRF51 advertise, you need to catch the scan request packet from the phone. If the phone does active scanning, you can catch that scan request, if the phone does passive scanning, you won't have any packet from the phone and then it's impossible to get RSSI from the phone.

    If you want to get RSSI of the scan request, you need to enable the BLE_GAP_EVT_SCAN_REQ_REPORT event by enabling it using sd_ble_opt_set(). Then in the event you can find the RSSI.

Children
No Data
Related