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...

  • @Daniel. As Endnode says you will have to capture the connection request and also channel map updates if you want to sniff the connection in the "traditional way. However, since you have a "backchannel" between Device2 and Device3, you might be able to read the radio parameters on Device2 and send them to Device3 using the backchannel (provided this is wired and using a clocked protocol such as TWI or SPI). This way device 2 could instruct device3 when to start listening on a given channel. I guess the main challenge would be to get the channel over to device 3 in time for it to listen on the correct channel. But as long as the HFXO us shut down between connection events, the startup time of this is 1.5ms, However device 3 would need to run HFXO all the time to shorten the startup time to be able to be in RX mode on time. This would also require some work though.

Reply
  • @Daniel. As Endnode says you will have to capture the connection request and also channel map updates if you want to sniff the connection in the "traditional way. However, since you have a "backchannel" between Device2 and Device3, you might be able to read the radio parameters on Device2 and send them to Device3 using the backchannel (provided this is wired and using a clocked protocol such as TWI or SPI). This way device 2 could instruct device3 when to start listening on a given channel. I guess the main challenge would be to get the channel over to device 3 in time for it to listen on the correct channel. But as long as the HFXO us shut down between connection events, the startup time of this is 1.5ms, However device 3 would need to run HFXO all the time to shorten the startup time to be able to be in RX mode on time. This would also require some work though.

Children
No Data
Related