本文主要介绍ZigBee网络的基本结构,三种组成ZigBee网络的基本节点:协调器(coordinator)、路由器(router)、终端(end device),如何使用XCTU对XBee进行基本参数的配置,使XBee成为ZigBee网络中的一个节点。

ZigBee网络中定义了三种不同类型的设备:

协调器(coordinator)

每个ZigBee网络中只允许有一个协调器,它是整个网络的开始,协调器首先选择一个信道(channel)和网络标识(PAN ID)来启动一个ZigBee网络,然后允许路由器和终端加入这个网络。协调器在建立ZigBee网络之后,其功能相当于路由器,可以进行数据的路由转发,可以为它的终端子设备缓存数据包,协调器本身不能休眠。

路由器(router)

路由器首先必须加入到一个ZigBee网络中,然后路由器也是允许其他路由器和终端加入这个网络,进行数据的路由转发,为它的终端子设备缓存数据包,同样路由器也不能休眠。

终端(end device)

终端也必须加入到一个ZIgBee网络中才能工作,但它不支持其他设备加入ZigBee网络,也不能进行数据的路由转发,终端数据的收发必须通过其父设备进行转发。终端可以休眠进入低功耗的模式,一般可以采用电池进行供电。

ZigBee网络的基本拓扑结构如下图所示:

一个XBee模块只能选择成为以上三种设备类型的其中一种,对于老的硬件XBee S2或Xbee S2B来说,需要给XBee模块升级不同的固件来改变设备类型和操作方式(API或Transparent),固件版本对应类型如下:

20xx - Coordinator - AT/Transparent Operation
21xx - Coordinator - API Operation
22xx - Router - AT/Transparent Operation
23xx - Router - API Operation
28xx - End Device - AT/Transparent Operation
29xx - End Device - API Operation

而对于新的XBee S2C(固件版本为40xx)来说,只需要通过配置XBee参数就可以改变设备类型或操作方式,下面仅以XBee S2C模块为例进行说明。

在默认参数的情况下,XBee模块为路由器transparent模式,通过AT指令设置CE为1可以将XBee设置为协调器,设置SM为一个非零值可以将XBee设置为终端。注意:作为协调器时SM必须设置为0,作为终端时CE必须设置为0,CE和SM同时为0则为路由器。此外,设置AP为0为transparent模式,设置AP为1或2则为API模式。

将XBee模块通过串口与PC相连,使用XCTU对模块进行测试、修改参数,首先搜索与PC连接的XBee模块,默认波特率为9600,如下图:

成功添加XBee模块后选中XBee模块可以获取到该模块对应的配置参数并进行修改,如下图:

通过修改CE、SM和AP的值可以改变XBee模块的ZigBee设备类型和操作方式。当然,也可以手动向XBee模块的串口发送AT指令来修改参数,如下图:

在配置完XBee模块的参数后,我们进行XBee模块的组网通信,以两个XBee模块为例,一个设置为协调器,一个设置为路由器,都为transparent操作模式,设置DH和DL的值为目的地址(接收数据的XBee模块的MAC地址,即SH和SL的值),如果发送的目的地址为协调器,也可以设置DH和DL为0。上电后XBee模块会按照配置的参数自动完成ZigBee的组网。使用XCTU分别打开协调器和路由器的串口连接,向路由器串口发送数据,可以在协调器的串口观察到路由器发送过来的数据,说明组网通信成功,如下图所示:

当然,可以使用更多的XBee模块,组成一个多跳的ZigBee网络,网络中的XBee节点只要配置目的地址为任何一个在ZigBee网络中存在节点的64位MAC地址,就可以将数据通过ZigBee网络送达,组网和多跳路由的功能将由XBee模块自动完成。需要注意的是,如果一个XBee路由器节点之前已经接入过其他的ZigBee网络,那么他的PAN ID将始终保存,这样就无法再加入其他ZigBee网络,即使断电重启也不会改变,需要使用ATNR0命令来退出之前ZigBee网络,之后就可以自动搜索加入新的ZigBee网络了。

我们可以看到,在采用transparent操作方式下,如果需要将数据发送给网络中的多个节点,需要首先进入AT命令模式修改DH和DL的值,再发送数据,非常繁琐。而采用API操作方式可以指定发送的目的地址,非常方便,API操作方式将在以后进行介绍。

基于XBee进行ZigBee组网(二)——ZigBee网络与XCTU的使用相关推荐

  1. xbee模块和单片机_基于XBee进行ZigBee组网

    该文章转帖自:http://blog.csdn.net/u012261135/article/details/48594419 文章简单地介绍了XBee模块.应用组合和2种通讯方式,还有XCTU的基本 ...

  2. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(二)-使用gateway-management-ui

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

  3. 基于STM32+ZIGBEE组网的防火防潮预警系统

    百度网盘下载地址(941):点击下载 ZIGBEE组网,终端数据上传协调器,协调器把数据上传到机智云,通过手机APP查看.项目始于B站某位UP主的zigbee组网开源项目,整体在源代码上更改了zigb ...

  4. [Arduino] 基于Xbee Pro和网络技术的智能公交系统设计

    转自:http://www.21ic.com/app/rf/201112/99474.htm 引言 公共交通具有个体交通无法比拟的强大优势,优先发展城市公共交通系统是解决大.中城市交通问题的最佳途径. ...

  5. ZigBee组网机制以及数据的发送和接收

    Zigbee是一种新型的短距离无线通信技术.其特点是低功耗,低成本,组网灵活.Zigbee协议由zigbee联盟指定,包括应用层,和网络层,其下层采用IEEE802.15.4协议. 无论是学习zigb ...

  6. ZigBee无线温度传感网络设计

    0 引言 随着信息化时代的到来,ZigBee无线模块广泛应用在军事.智能家居.医疗监护环境监测和远程工业控制领域.事实证明,无论是工厂.办公楼还是家居都需要无线传感网络的支持.为了满足社会对无线传感器 ...

  7. ZigBee组网从未如此简单!

    想用ZigBee,想组网,不想看复杂的组网协议怎么办?看完这一篇就够了! ZigBee的前身是1998年由INTEL.lBM等产业巨头发起的"Homer flite"技术,随着我国 ...

  8. ZigBee组网原理分析

                                                                           ZigBee组网原理分析 原文链接:https://blo ...

  9. 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用

    相关系列文章 基于芯科Host-NCP解决方案的Zigbee 3.0 Gateway技术研究(-)-Z3GatewayHost应用搭建 基于芯科Host-NCP解决方案的Zigbee 3.0 Gate ...

最新文章

  1. 如何使用Leangoo自动生成燃尽图
  2. mysql 配置文件绑定ip_(三)设置mysql允许外部IP连接的解决方法及遇到的坑说明...
  3. 7-7 12-24小时制 (C语言)
  4. DL之R-CNN:R-CNN算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. WCF Security userName/Password
  6. Pytorch常用总结(持续更新...)
  7. 【ShoppingWebCrawler】-C#开发的基于Webkit内核开源爬虫蜘蛛引擎
  8. Python 学习笔记 - 协程
  9. C语言-第5课 - const和volatile分析
  10. SpringBoot整合jsp的使用
  11. keli调试变量出现负值
  12. Spring Data Jpa使用篇
  13. ZUC算法的Python实现
  14. C# 将方形图片剪切为圆形(winForm)
  15. 计算机老师一句话,写给老师的一句话短句 感谢老师的简单一句话
  16. c语言 请编程序将 China 译成密码,分别用putchar和printf函数输出这5个字符
  17. 台达PLC伺服追剪程序,电子凸轮,全部源代码,PLC程序和触 摸屏程序,DVP15MC。
  18. 用友安装时显示加密服务器,用友云主机指向加密服务器
  19. 一欧拉函数(Euler‘s totient function)
  20. html中事件监听的使用,Vue.JS入门篇--事件监听

热门文章

  1. PANDA 下载及安装
  2. Visual Studio Codec#
  3. pytorch 网络可视化(五):netron
  4. C#根据IP地址查询所属地区(调用免费的IP查询接口)
  5. C/C++时间字符串和时间戳的相互转化
  6. 接口测试(二)接口测试用例设计
  7. ubuntu中pycharm没有启动图标
  8. numpy.floor()函数的使用
  9. kali-linux-2018.2-i386.iso
  10. nginx(项目部署)linux版