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

How should RSSI be interpreted in the Sniffer API

Hello all,

I have a pretty simple question that I hope can be answered for me. I'm integrating an nrf52832 development kit (PCA10040) BLE sniffer into a test fixture to be used for automated testing of boards we will be producing. All that it needs to do is listen for a specific beacon and continuously report on the RSSI of the beacon in question. Since it needs to integrate directly with some custom software I can't use the typical wireshark interface and instead am modifying example.py to perform the task I need.

I've managed to get the code more or less working, the only remaining issue is that I'm not sure how to interpret the RSSI figure that is passed in the 'packet' structure of the API. In the spreadsheet included with the sniffer download there's an rssi byte, but no explanation for how it translates to dBm. Do I just slap a negative sign in front of the number? For reference, I've attached the output of my script as it runs. The reported rssi figure in my python script is extracted from the 'packet.payload' array and is printed without modification using this line of code:

        print("{\"MAC\":\""+targetMac+"\",\"rssi\":\""+str(rssi)+"\"}")

Thank you for the help.

Best,

Don

Related