当前位置:首页 > 物联网 > IoT设计分享
[导读]Zigbee是一种流行的无线通信协议,用于以极低的功耗传输少量数据。它被广泛应用于需要在个人空间内的多个节点之间共享数据的应用中,随着物联网(IoT)的出现,Zigbee的应用正在快速增长。它被用于家庭自动化、资产跟踪、远程数据收集等等。如果您已经熟悉Zigbee和Zigbee协议的架构,那么您已经知道两个XBee模块之间的无线通信可以在没有任何额外的微控制器的情况下完成,但在实际应用中,这些模块将始终与微控制器接口以读取和发送数据。让我们进一步了解如何使用Arduino和NodeMCU板建立Zigbee通信。

Zigbee是一种流行的无线通信协议,用于以极低的功耗传输少量数据。它被广泛应用于需要在个人空间内的多个节点之间共享数据的应用中,随着物联网(IoT)的出现,Zigbee的应用正在快速增长。它被用于家庭自动化、资产跟踪、远程数据收集等等。如果您已经熟悉Zigbee和Zigbee协议的架构,那么您已经知道两个XBee模块之间的无线通信可以在没有任何额外的微控制器的情况下完成,但在实际应用中,这些模块将始终与微控制器接口以读取和发送数据。让我们进一步了解如何使用ArduinoNodeMCU板建立Zigbee通信。

Zigbee和XBee的区别

重要的是要在一开始就澄清,XBee是一个模块,一个产品,它支持许多无线通信协议,如ZigBee, Wi-Fi (Wi-Fly模块),802.15.4,868 MHz模块等。而Zigbee是一种用于建立无线网络(Zigbee通信)的标准协议。人们经常交替使用这两个术语,但不应该这样做。为了建立Zigbee通信,我们需要一个接收器(端点)。为此,与Arduino/NodeMCU连接的XBee模块将完成,这将与另一个XBee模块(协调器)进行无线通信,该模块发送数据,将连接到另一个Arduino板。

建立Zigbee通信的硬件要求

•1 x Arduino Nano

•1 * NodeMCU

•2个XBee Pro S2C模块

•1个XBee资源管理板(用于XBee编程)

•USB电缆

•LED(连同一个220欧姆电阻)

•按钮

使用XCTU软件配置XBee模块

基本上,XBee模块可以配置为协调器、路由器或终端设备。为了使它按照我们的期望工作,首先,我们必须使用XCTU软件对它们进行配置。您可以使用给定的链接下载并安装XCTU软件。

使用USB转串口转换器或资源管理器板将XBee模块与PC机或笔记本电脑连接。使用USB线将XBee模块连接到浏览器板和插件。我们将详细介绍如何准确地使用该软件并配置模块,但在此之前,让我们准备好硬件。

XBee与Arduino接口(发射端)

对于连接的这一边,我们使用了Arduino Nano。也可以使用Arduino Uno或NodeMCU板。XBee与Arduino nano接口的完整电路图如下所示。

在上面的Arduino XBee电路图中,我们使用了一个按钮,当按下时,它将传输数据。为此,将按钮一端连接到Arduino的D5,另一端连接到GND。

XBee模块的VCC(引脚1)连接到Arduino Nano的3.3V, XBee模块的GND(引脚10)连接到Arduino Nano的GND。这两个连接为发射端XBee模块供电。Dout(引脚2)连接Arduino Nano的D2, Din(引脚3)连接Arduino Nano的D3。我使用面包板来构建这个电路,我的硬件设置与所有连接如下所示。

XBee与NodeMCU接口(接收端)

为此,我们使用了NodeMCU,但它有一定的限制。您也可以使用Arduino Nano或Arduino Uno。使用Arduino传输数据,NodeMCU接收数据的想法是,它将有一个更实际的应用,如Arduino可以收集一些传感器参数并通过ZigBee发送给NodeMCU,然后NodeMCU可以处理这些数据并根据需要通过互联网共享或采取任何行动。XBee与NodeMCU接口的完整电路图如下所示。

XBee的Gnd(pin10)接至NodeMCU的Gnd, XBee的Vcc (Pin1)接至NodeMCU的3.3V。上述两个连接也为XBee模块供电。然后将XBee的Dout (pin2)连接到NodeMCU的D6引脚上,将XBee的Din (pin3)连接到NodeMCU的D7引脚上接收数据。

作为是否接收到数据的指示,我们使用了LED。为此,将LED阳极连接到NodeMCU的D2上,LED阴极通过NodeMCU的220ohm电阻连接到GND上。同样,我使用面包板来构建这个电路,我的硬件设置与所有连接如下所示。

下载并安装XCTU软件

设置、配置和测试XBee设备。您需要XCTU软件。它是一个易于使用的,免费的,多平台的RF XBee模块应用程序。在这里下载XCTU软件,它也会指导您安装它。之后,打开应用程序并确保XBee模块已正确连接。在设备管理器中检查资源管理板的COM口。

安装XBee模块固件

固件应该首先安装在两个XBee模块中,因为我们正在使用XBee开发板。

第一步:打开XCTU软件,点击“发现板”。

第二步:选择XBee模块连接的COM端口,点击“下一步”。

第三步:保持默认设置,点击“完成”。

第四步:现在,在弹出的窗口中,点击“Add Selected Devices”。

第5步:现在,XBee模块将出现在窗口的左侧。单击它来更新用户界面。

第六步:更新固件,点击“更新”,在功能集中选择“802.15.4 TH”,在固件版本中选择最新的固件,点击更新。在此之后,将出现一个弹出窗口。点击YES。

第七步:输入任意4位数字作为PAN ID。PAN ID是PAN (personal area network)的标识符。每个网络必须有一个唯一的ID。确保两个XBee模块都输入了相同的PAN ID。这表明两个XBee模块在同一个网络中。

第八步:输入任意4位数字作为目的地址。对于其他XBee模块,必须输入相同的数字作为源地址。

步骤9:输入任意4位数字作为源地址。必须输入相同的数字作为另一个XBee模块的Destination Address。

步骤10:将一台设备设置为“坐标[1]”,另一台设备设置为“终端设备[0]”。

现在,单击顶部栏中的Write。在此成功之后,符号从“E”变为“C”(End Device to Coordinator),正如我们所设置的。对于另一个XBee模块,它应该是“E”)。

注意:正如步骤中提到的,必须对两个XBee模块执行此操作。两者之间的唯一区别是终端设备和协调器的源地址和目的地址相反,必须选择一个作为终端设备,另一个作为“协调器”。在“Coordinator Enable”下拉列表中,确保两个XBee模块都被赋予相同的PAN ID。

COM 5为接收端nodeMCU, COM 14为发送端Arduino nano。

将XBee引脚焊接到Arduino和NodeMCU

XBee模块的引脚与面包板不兼容。因此,从XBee模块引脚焊接4根电线到头引脚,并使用它连接到面包板,如下图所示。或者,如果你想避免焊接工作,你也可以使用母头到公头连接器电线。

在概述中,使用两个XBee模块建立ZigBee通信。Arduino Nano和NodeMCU用于在两个XBee设备之间进行通信。XBee模块的编码是这样的,当在发送端按下一个按钮时,LED在接收端点亮。这表明在源端传输的数据在目的端被正确接收。

ZigBee通信程序Arduino

Zigbee通信的完整Arduino代码可以在本页底部找到。代码解释如下:

本部分模拟了引脚2 (Rx)和引脚3 (Tx)的串行通信。

Pin 5是Arduino Nano上连接按钮的地方,这是发送信息所需要的。

要跟踪按钮是否被单击,可以使用语句。如果按下按钮一次,它会打开LED,如果再按一次,它会关闭LED。为了跟踪这一点,使用了切换。

该程序从一个空设置开始,并设置串行监视器的波特率。

初始化按钮引脚以读取输入。

这部分代码片段使用软件串行开始XBee和Arduino之间的连接。9600是XBee模块的默认通信速度。

这部分是检查按钮是否按下。如果按下,则引脚读取LOW并记录此操作。它还检查之前是否单击了按钮。

这部分是将消息打印到串行监视器上

重置之前的单击,以便它可以再次检测到单击。当开关为假时,LED处于关闭状态。

把消息发给XBee

延迟1秒是为了等待消息被传递

这个位检查按钮是否被点击

在串行监视器上打印消息

设置到之前的点击状态,关闭LED

把消息发给XBee

创建一秒钟延迟来等待消息的传递

ZigBee通信程序NodeMCU

Zigbee通信的完整NodeMCU代码可以在本页底部找到。代码解释如下:

代码的Receiver部分与Arduino代码几乎相同

本部分模拟了引脚13 (Rx)和引脚12 (Tx)的串行通信。

将LED设为引脚2

存储从XBee接收到的数据

初始化串行监视器并以默认波特率9600连接到XBee模块

初始化LED作为输出

将数据存储在接收到的变量中

检查接收数据是否为0

然后打印信息并关闭LED

如果接收到的数据为1,则打印消息并打开LED。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭