通信网络
在本教程中,我们将 XBee 模块与 Arduino Uno 板连接。与 Arduino 板连接的 XBee 将充当接收器,它将与使用 Explorer Board 与笔记本电脑串行连接的其他 XBee 模块进行无线通信。因此,让我们进一步探索使用 XBee 进行 Arduino 无线通信。
硬件要求
1 x Arduino Uno
2 x XBee Pro S2C 模块(可以使用任何其他型号)
1 x Xbee 浏览器板(可选)
1 x Xbee 分线板(可选)
USB 电缆
发光二极管
使用 XCTU 配置 XBee 模块
正如我们在之前的教程中了解到的,XBee 模块可以充当协调器、路由器或终端设备,但需要将其配置为在所需模式下工作。因此,在将XBee 模块与 Arduino 一起使用之前,我们必须使用 XCTU 软件配置这些模块。
要将 XBee 模块与笔记本电脑连接,需要使用 USB 转串口转换器或专门设计的资源管理器板。只需将 XBee 模块连接到 Explorer 板,然后使用 USB 电缆将其插入笔记本电脑。
如果您没有任何转换器或资源管理器板,则可以将 Arduino 板用作 USB 转串口设备,可以轻松与 XBee 和笔记本电脑通信。只需在 Arduino 板上上传空白草图,现在它就可以像 USB 转串口转换器一样工作了。
电路图中显示了将ZigBee 模块与 Arduino连接的连接。
连接:
XBee 的 Tx (pin2) -》 Arduino 板的 Tx
Xbee 的 Rx(pin3) -》 Arduino 板的 Rx
Xbee 的 Gnd(pin10) -》 Arduino 板的 GND
Xbee 的 Vcc (Pin1) -》 Arduino 板的 3.3v
在本教程中,Explorer board 用于配置 XBee 模块。
从此链接下载 XCTU 软件并安装。下载并安装 XCTU 软件后,打开它并确保您的 XBee 模块连接正确。在设备管理器中检查 Arduino 板的 COM 端口。
第 1 步:-现在,单击搜索按钮。这将向您显示与您的笔记本电脑连接的所有射频设备。在我们的例子中,它将只显示一个 XBee 模块。
第 2 步:- 选择 Explorer 板/Arduino 板的串行端口,然后单击下一步。
第 3 步:- 在下一个窗口中,设置 USB 端口参数,如下所示,然后单击完成。
第 4 步:- 选择发现的设备,然后单击添加所选设备。此过程会将您的 XBee 模块添加到 XCTU 仪表板。
第 5 步:- 现在,您可以在此窗口中配置您的 XBee 模块。使用 AT 命令或手动输入数据。如您所见,左侧面板上显示 R 表示 Xbee 处于路由器模式。我们必须使它成为发送器部分的协调器。
首先,通过单击更新固件来更新固件。
第 6 步:- 选择 XBee 模块背面提供的设备产品系列。选择下面突出显示的功能集和固件版本,然后单击更新。
第 7 步:- 现在,您必须提供 ID、MY 和 DL 数据才能与其他 XBee 建立连接。两个模块的 ID 保持不变。只有 MY 和 DL 数据交换,即接收器 XBee 的 MY 变为发送器 XBee(协调器)的 DL,接收器 XBee 的 DL 变为发送器 XBee 的 MY。将 CE 设为Coordinator,然后点击Write按钮。如下所示。
步骤8:- 将上述数据写入发射器部分后,将其从探索板中拔出并插入第二个XBee模块。重复与上述相同的过程,仅更改 DL、MY 和 CE。因为我们将第二个 XBee 作为终端设备,所以在 CE 下拉菜单中,选择终端设备并点击写入按钮。
第 9 步:- 现在,我们的 XBee 模块已准备好与 Arduino 板连接。我们将使用 Arduino 板将发射器 XBee 连接到笔记本电脑和接收器 XBee。然后使用笔记本电脑向接收器部分发出命令。
接收器部分的电路图:
连接:
XBee 的 Tx (pin2) -》 Arduino 板的 Rx
Xbee 的 Rx(pin3) -》 Arduino 板的 Tx
Xbee 的 Gnd(pin10) -》 Arduino 板的 GND
Xbee 的 Vcc (Pin1) -》 Arduino 板的 3.3v
如果您使用 Arduino 板将发射器 ZigBee 与笔记本电脑连接,则连接将与编程 ZigBee 相同。
使用 Arduino 编程和测试 XBee 通信
现在,我们将为接收器 Arduino 编写一个代码,以在接收器部分接收到“a”时打开 LED,并在接收到“b”时闪烁 LED,对于其他字符 LED 将保持关闭。
代码简单易懂。我们将使用Serial.available()函数检查传入的字符,并使用 Serial.read() 将该字符存储在变量中;函数并将其与“a”和“b”匹配。如果匹配正确,则执行条件中指定的任务。最后给出了Receiver部分的完整代码。上传接收器部分 Arduino 中的代码。上传前移除 XBee 的 Tx 和 Rx 线。
现在,我们都准备好测试我们的发射器和接收器了。为了向发射器部分发出命令,我们将使用 XCTU 的控制台终端。单击设置选项附近的控制台图标。然后,单击打开按钮将 XBee 连接到笔记本电脑。
在控制台日志中输入“a”。您会看到 LED 将亮起 2 秒钟,然后输入“b”以使 LED 闪烁 5 次。
您还可以将发射器 XBee 连接到 Arduino 板,只需稍微更改接收器代码。代替 Serial.read() 函数,使用 Serial.println() 函数发送字符。
国际领导= 13;
收到的int = 0;
诠释我;
无效设置(){
序列.开始(9600);
pinMode(LED,输出);
}
void loop() {
if (Serial.available() > 0) {
收到 = Serial.read();
if (received == 'a'){
digitalWrite(led, HIGH);
延迟(2000);
数字写入(领导,低);
}
else if (received == 'b'){
for(i=0;i<5;i++){
digitalWrite(led, HIGH);
延迟(1000);
数字写入(领导,低);
延迟(1000);
}
}
}
}
全部0条评论
快来发表一下你的评论吧 !