Arduino Xbee 检查是否连接到协调器

Arduino Xbee Check if Connected to Coordinator

我有两个 Arduino,上面都有一个 Xbee。一个作为协调器,一个作为路由器。 路由器将交换机的状态发送给协调器。

启动时,我会将开关的初始状态发送给协调器。但是状态没有连接,我的初始状态丢失了。

检查连接何时正常然后发送初始数据的最佳方法是什么?

我的测试代码:

#define switchPin 2
int oldVal = 0;

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

  pinMode(switchPin,INPUT_PULLUP);

  // Initial state
  Serial.write(digitalRead(switchPin));
}

void loop() {
  int val = digitalRead(switchPin);
  if (val != oldVal) {
    Serial.write(val);
    oldVal = val;
  }
}

您可以让协调器向路由器发送请求,让它重新发送当前状态。

您可以让路由器每分钟发送一次当前状态,无论是否有变化。

您可以在 API 模式下使用 XBee 无线电模块并检查 ATAI 设置以查看路由器是否关联到网络。