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

Can I "listen" to the data between two devices (under my control) using a third device to get rssi?

What I am trying to accomplish is to establish a connection between an iPhone (device 1) and an NRF52 (device 2), then sniff the data sent between them from a third device (also NRF52, device 3) to get an RSSI. I have the connection part working just fine and I can get RSSI between device 1 and device 2. What I need is RSSI to device 3 without using advertisements or connections (thanks to the limitations of iOS). I can freely exchange any data I need to between device 2 and device 3 (using some wired or wireless connection). Can I somehow sniff the connection and get an RSSI measurement of the signal from device 1 on device 3?

Parents
  • Little confusing to me but when it comes to RSSI: it's Relative Signal Strength Indication which you can measure on any radio receiver which supports it on PHY level and provides API to it. So your device 3 can listen to any packet and measure its signal strength at its antenna. Now the question is if this is what you want;) If you want to know what is RSSI at some device which don't support propagation of this to upper layers through some API then you are obviously out of luck, you cannot assume by other device what are radio properties of another device at different position. You can imagine it like sound: if you hear some sound with certain intensity you can assume if the source was loud or not but you can only guess if I hear it because you don't know how sensitive my ears are and what is blocking the sound on way to my ear. And while with sound waves it might be possible to predict just based on look on the place topology 2.4GHz radio is much less intuitive in terms of reflections and interference. So don't assume anything like this...

  • Unfortunately there is no API available to do what you want. It is indeed possible to do what you want, In a fairly simple manner but it has not been wrapped into an API. If you can talk about your usecase , by private message, I can look at a simple module over TimeSlot API or directly over the radio. This module would pretty much do what endnode and run_ar suggest, i.e. capture the connection request and get the channel map updates so that the receiver can see the packets in the connection and get the RSSI. It would not handle crypto so it will be a simple library (comparative to the sniffer).

Reply
  • Unfortunately there is no API available to do what you want. It is indeed possible to do what you want, In a fairly simple manner but it has not been wrapped into an API. If you can talk about your usecase , by private message, I can look at a simple module over TimeSlot API or directly over the radio. This module would pretty much do what endnode and run_ar suggest, i.e. capture the connection request and get the channel map updates so that the receiver can see the packets in the connection and get the RSSI. It would not handle crypto so it will be a simple library (comparative to the sniffer).

Children
No Data
Related