如何从2个Xbees S1和2个Arduino Uno获得RSSI?

时间:2018-12-19 09:29:54

标签: arduino-uno xbee rssi

我有2个Xbees Series 1,每个都通过Xbee Shield连接到Arduino Uno,并且都连接到PC。两个Xbee均已配置,并且在XCTU上具有相同的Channel和PAN ID,并且两个Xbee均处于API 2模式。

如何让他们彼此交谈以在串行监视器上显示RSSI读数?我一直在尝试这些发件人-收件人代码: 发件人代码:

      #include <XBee.h>

XBee xbee = XBee();

uint8_t payload[] = { 'H', 'i' };

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

Tx16Request tx16 = Tx16Request(addr64, payload, sizeof(payload));

void setup()
{
    xbee.begin(9600);
}

void loop()
{
    xbee.send( tx16 );
    delay(50);
}

接收方代码:

#include <XBee.h>

XBee xbee = XBee();

Rx16Response rx16 = Rx16Response();

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

void loop()
{
    xbee.readPacket(100);
    if (xbee.getResponse().isAvailable())
    {
        if (xbee.getResponse().getApiId() == RX_16_RESPONSE)
        {
            xbee.getResponse().getRx16Response(rx16);
            Serial.print( rx16.getRssi() );
        }
    }
}

但是尝试上载以下任一代码时,我得到了这个奇怪的错误消息:no matching function for call to 'XBee::begin(int)'

此外,我是否从XCTU或正在发送的Arduino的IDE发送消息? ...我是Xbee和Arduino的新手。

任何帮助将不胜感激。

预先感谢

此致

0 个答案:

没有答案