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

RSSI measurement in OpenThread?

Hi, how to measure RSSI in OpenThread? I have 2 nodes, what is correct state that I have to assign to each node to do transmit/receive test, is it leader and router? or router and child? I need to send from one node and measure the RSSI at receiver side(the other node). please your advice.

  • Hello,

    Please note that the Thread stack is a self healing network, meaning that it will always optimize the routing for the paths with the lowest cost. I'll answer your question, but please read the info below as well.

    There are some structs that holds the RSSI of the neighbors. E.g. these three:

    otNeighborInfo Struct Reference

    otChildInfo Struct Reference

    otThreadParentResponseInfo Struct Reference

    If you look into e.g. otNeighborInfo, you can use the function otThreadGetNextNeighborInfo() described in thread.h on line 569 in the Thread and Zigbee SDK v4.0.0 to populate the otNeighborInfo struct.

    Now, I don't know what you will use the RSSI projec for, but based on the question, I suspect some sort of positioning. Please note that RSSI is not a measure for distance. It is too much noise in that measurement, based on the environment, walls, reflections, antennas receivers, orientation, etc. A person entering a room can change the RSSI on all the devices in the room. 

    Best regards,

    Edvin

Related