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

  • First of all, thanks for taking the time to help. Maybe I can clarify my question. I want to listen in on the transmission from device 1 (iPhone) to device 2 (nrf) with device 3. I want to get the rssi value at device 3. Then I can pass this value (via some back channel or whatever) back to the iOS device using the wireless connection of device 2 (the connected NRF).

    So basically in short iOS transmits, and both nrf devices read the rssi of one packet.

    My hangup is how to sniff a packet, determine its source and destination (I could read a data identifier or something I'm sure) and then get rssi using the NRF board. Is there a way for the NRF52 chip to listen to all data even for unconnected devices (monitor mode I guess it might be called), not just advertisements and pass it to my code via the api?

Reply
  • First of all, thanks for taking the time to help. Maybe I can clarify my question. I want to listen in on the transmission from device 1 (iPhone) to device 2 (nrf) with device 3. I want to get the rssi value at device 3. Then I can pass this value (via some back channel or whatever) back to the iOS device using the wireless connection of device 2 (the connected NRF).

    So basically in short iOS transmits, and both nrf devices read the rssi of one packet.

    My hangup is how to sniff a packet, determine its source and destination (I could read a data identifier or something I'm sure) and then get rssi using the NRF board. Is there a way for the NRF52 chip to listen to all data even for unconnected devices (monitor mode I guess it might be called), not just advertisements and pass it to my code via the api?

Children
No Data
Related