Go Down

Topic: No recibo el valor RSSI de XBee Serie 1 (Read 547 times) previous topic - next topic

andresfm

Hola,

Tengo un problema y no sé que pasa con los XBee.
Actualmente tengo dos XBee-Pro Serie 1 de Digi. Uno lo tengo como coordinador y otro como end-point, ambos con el modo API habilitado.
El problema es que quiero obtener el RSSI y no soy capaz, os pego aquí el código fuente de sendos Arduinos UNO.
Además estoy utilizando la librería 0.5 de XBee-Arduino (la más reciente hasta la fecha).

Para el coordinador:

Code: [Select]

#include <SoftwareSerial.h>
#include <XBee.h>

#define ssRX 0
#define ssTX 1
SoftwareSerial nss(ssRX, ssTX);

XBee xbee = XBee();

uint8_t payload[] = {'a','b','c','d','e'};

XBeeAddress64 addr64 = XBeeAddress64(0x0013a200, 0x403e0f30);

Tx64Request tx64 = Tx64Request(addr64, payload, sizeof(payload));

void setup()
{
  Serial.begin(9600);
  nss.begin(9600);
  xbee.setSerial(nss);
}

void loop()
{
  xbee.send(tx64);
  delay(1000);
}



Para el end-point:


Code: [Select]

#include <SoftwareSerial.h>
#include <XBee.h>

#define ssRX 0
#define ssTX 1
SoftwareSerial nss(ssRX, ssTX);

XBee xbee = XBee();

Rx64Response rx64 = Rx64Response();

void setup()
{
  Serial.begin(9600);
  nss.begin(9600);
  xbee.setSerial(nss);
}

void loop()
{
  xbee.readPacket(1000);
  Serial.println(xbee.readPacket(1000));
  if (xbee.getResponse().isAvailable())
  {
    if (xbee.getResponse().getApiId() == RX_64_RESPONSE)
    {
      xbee.getResponse().getRx64Response(rx64);
      Serial.print(rx64.getRssi());
    }
  }
  else
  {
    Serial.println("No responde");
  }
}



El end-point lo tengo conectado al PC, y por el puerto Serial recibo:


Code: [Select]

No responde
0
No responde
0
No responde
0
No responde
.
.
.



¿Alguien sabe cuál puede ser mi problema?

Un saludo y muchas gracias.

Go Up