Hello,
i’m trying to reduce the transmission distance of iot-lab m3 sensor nodes.(The number of sensor nodes that can communicate directly with each other.)
I have used the solution proposed here https://github.com/iot-lab/iot-lab/wiki/Limit-nodes-connectivity. I could set the transmission power to -17dBm, but I couldn’t find how to set the receiver sensitivity of the node. Is there a way in Riot to reduce the receiver sensitivity, or perhaps other ways to reduce the transmission range between the nodes?
I would also like to measure the energy consumption of nodes while running my application. Does the Riot have an approach like Contiki’s power profiler?
Many thanks in advance!
With kind regards,
Janna
Hi!
The receiver's sensitivity is not always available. However, your link
to the iot lab github wiki has the following headline on it
"RF2XX_RX_RSSI_THRESHOLD". This should do the trick for you, as the
power of signals is reduced with range, and therefore the RSSI should
drop. In the send, setting the sensitivity and the "threshold" should be
equal or even identical.
Best Regards,
Robert
Hello Janna,
another approach (depending on your use case) to limit the number of
sensor nodes that can communicate with each other is to use a link-layer
black-/whitelisting. In RIOT, you can use the l2filter_whitelist, or
l2filter_blacklist module respectively for this.
When you compile these in, then you will get new shell commands to
interact with these lists. You can get a glimpse on the programmatic
usage e.g. here [1]; the doc here [2].
[1] https://github.com/RIOT-OS/RIOT/blob/master/sys/shell/commands/sc_gnrc_netif.c#L943
[2] http://doc.riot-os.org/l2filter_8h.html
Cheers,
Cenk
Hi Janna,
just in case, note that the examples you gave in the iot-lab wiki were written for the iot-lab nodes port for Contiki.
So will not directly apply to RIOT for the macro names.
I understand that you can need both limiting power and increasing the threshold when you want to have a lower connectivity with the hardware deployment in IoT-LAB.
The “set_rssi_threshold” is currently not implemented in RIOT, but you could easily do it yourself (and do a PR maybe :))
The code I wrote in openlab was this one
Thank You all for Your help!
The information was very helpful.
With best regards,
Janna