Zigbee 2mW, RSSI, & Point-to-Multipoint

Hei Guys,

I’m using 3 xbee s2 and 1 arduino. Xbee A as coordinator API, Xbee B&C as router AT. they communicate point to multipoint. I want to get the rssi from coordinator & i’m using this code:

rssi = pulseIn(digitalPin, LOW, 200);
Serial.println(rssi);

my arduino serial monitor will show values. its value will be greater if my router move away from coordinatoor.

question 1: what unit of these value on my serial monitor? dB, dBm or still hex value?

question 2: I want to know the RSSI value of each xbee B and xbee C when communicating(point-multipoint) with the coordinator??

can anyone help me?
thanks before…
*sorry if my english not good,hope you understand :slight_smile:

1 Like

I don’t know what pin you are connected to but why don’t you just query the DB command?

i’m using pin 6 xbee connected to one digital pin arduino.

mvut…can you please explain to me about these DB command??
i’m using arduino because the value of rssi that i got will used to turn on my buzzer.

Thanks.

The DB command is an AT command used on the XBee module to read the RSSI level of the last packet received.

If I have two end-devices which send packets to Coordinator, how to know which RSSI value belongs to which end-device? I can parse an API frame to find the source of the received packet and intermediatly read pin6 (or use DB command) to get RSSI but it seems my technique is NOT good enough to conclude the read RSSI really belongs to that data frame.

The DB command and RSSI value only report the value for the last packet received. Unless the End devices are directly associated with your Coordinator, the value you will get will be the value of the Parent router sending the data to the Coordinator.

In my case, MULTIPLE end-devices are directly associated with Coordinator, so it’s OK to use DB command to get RSSI. But how do I know the reported RSSI value comes from which end-devices?

You are going to need to use either API mode which gives you the 64 bit address of who sent the data or you will need to add some sort of address to your payload indicating who sent it.