17974浏览
查看: 17974|回复: 6

浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》

[复制链接]
花了一个多星期把《例说XBee无线模块开发》大致了研究了一遍,怎么着也算好好看完一本书了,小时候落下的毛病,总觉得该写个读后感之类的东西才算完整,所以趁着新鲜出炉的热劲决定写些什么。
关于XBee模块,书的封皮有介绍:
XBee模块时美国Digi公司的ZigBee模块产品,XBee是系列产品的名称。XBee模块是一种远程低功耗的无线模块,频段包含2.4G、900M、868M三种,同时可兼容802.15.4的协议。XBee模块可用于组建Mesh网络,每个模块都可以作为路由节点、协调器,以及终端节点。XBee模块的配置方式有两种,分别是AP和API命令。XBee模块分为嵌入式和贴片式两种,可即插即用自组网,使用起来非常方便。XBee模块的应用范围非常广泛,包括智能家居、远程控制、无线抄表、传感器、无线检测、资产管理等,同时还有对应的iDigi平台,提供各种常用的接入方式,更加方便远程控制。
下面粗略介绍下一个利用XBee模块进行的组网实验
从官网(http://www.digi.com/support/productdetail?pid=3352&osvid=57&type=utilities)下载了最新版的XBee调试软件:X-CTU5.2.8.6。
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图9
将两个XBee模块贴上标签,XMTR表示发射端,RCVR表示接收端,当然,XBee模块兼具发送和接收信息的功能,作为接收端同时也可以发送信息,这里贴上标签主要为了区分。
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图1
采用DFRobot出品的XBee转USB适配器v2连接到电脑:
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图7浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图2
此时再打开X-CTU软件,对XBee模块进行设置。
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图8浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图11
这里将RCVR和XMTR分别设置为协调器和终端,修改设置如下:
RCVR
XMTR
MY-16-Bit Address
1111
2222
NI-Node Identifier
CASPER
TEDDY
CE-coordinator Enable(协调器使能)
1
0
A1-End Device Association(终端设备关联配置)
----
6-0110B
  
(与任意信道中的协调器配对,并不断尝试与协调器发送配对请求)
A2-Coordinator Association(协调器关联配置)
6-0110B
  
(发现一个未使用的无线信道,并让所有终端设备与协调器配对)
----
AP-API Enable(API使能)
1-API ENABLED
1-API ENABLED
保持RCVR插在USB转XBee适配器上连接电脑。将XMTR经过XBee适配器插到面包板上,电源和地端口连接3.3V电源,DIO5-Associate端口接led和330欧电阻。led在这里作为一个可视化的指标进行测试和调试。
打开面包板电源,给XTMR模块供电,观察led,led点亮并保持4秒左右开始闪烁,说明该终端设备与协调器配对成功。只要配对的终端设备模块有电,它上面的led将一直闪烁。
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图3
打开X-CTU软件Terminal窗口,使用AT指令格式,输入“+++”(注意这里要检查输入法,全角输入的“+++”是无效的),等待来自连接到主机PC上的协调器回复“OK”。输入“ATND[ENTER]”,可以查看所有关联的终端设备模块信息。这里我只设置了一个终端,根据之前的参数设置,在窗口可以看到信息如下:
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图10
结果反映了终端设备XMTR的信息:
  
FFFE
  
MY-16-Bit Address
13A200
SH-Serial Number High
40AACFA7
SL-Serial Number Low
24
DB-Received Signal Strength
TEDDY
NI-Node Identifier
MY-16-Bit Address为0xFFFE,似乎很意外。为什么不是之前设置的0x2222呢?根据digi公司的XBee和Xbee PRO模块手册:
当一个终端设备与一个协调器配对时,它的MY参数设置成0xFFFE来使能64位寻址。模块的的64位地址被存储为SH和SL参数。发送一数据包到指定的模块,发送器的目的地址(DL+DH)必须匹配指定接收器的源地址(SL+SH)。
所以0xFFFE为临时MY值。
用API数据包检查数据响应。清空X-CTU终端窗口,单机“十六进制显示(Show Hex)”按钮,单击“生成数据包(Assemble Packet)”按钮。在“显示(Display)”标签中选择“十六进制(HEX)”,在“发送数据包(Send Packet)”窗口内输入:
7E 00 04 08 52 4E 44 13
这一系列十六进制值代表用来发现XBee模块的API ND命令数据包。
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图4
如图所示在终端窗口观察到终端设备模块XMTR的信息。
关于16进制命令格式的可以参考digi公司的XBee和Xbee PRO模块手册(“XBee/Xbee-PRO RF Modules”下载地址http://ftp1.digi.com/support/documentation/90000982_P.pdf)。
一个被配置作为协调器的模块能通过扫描来发现未使用的信道。XBee模块的非信标网络能够让你快速地“点名”来确定是否有特定终端设备已经配对协调器。
再次清空X-CTU终端窗口,开启十六进制显示。在左侧窗口输入“+++”,等待回复“OK”。接下来输入“ATDN”,紧随其后输入终端模块的名称(NI-Node Identifier信息),这里即“TEDDY”。执行该步骤后,可以观察到:
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图6
发聩的“OK”表明名为“TEDDY”的终端设备模块仍然运行在这个网络中,与我的协调器器RCVR配对。
那么如果协调器或者终端发生断电的情况会有什么变化呢?
先来看终端设备断电后。关掉XTMR模块的供电,等待几秒,这时从X-CTU“终端”窗口发送ATND节点发现命令到协调器,已经看不到终端设备XTMR的信息。给终端设备XTMR重新上电,与开始的时候类似,led点亮后几秒后开始闪烁表明已接入网络。
接下来断开协调器RCVR和USB转XBee适配器的USB数据线,关闭协调器。终端的led继续闪烁了30分钟。所以led在这里仅仅能够用作配对测试,而不能指示忘了的连接情况。重新连接协调器RCVR和USB转XBee适配器的USB数据线,需要重新打开XCU软件检查通讯连接。连接正常后在X-CTU终端窗口发送一条ATND指令给协调器,可是仍然看不到反馈终端设备XTMR的信息,说明设备没有配对。当网络中有带电终端模块,而协调器掉电,它不会自动与终端设备模块配对,此时可以发送给协调器一个RF(强制复位)命令强制重新配对。
在终端窗口输入“+++”并等待回复“OK”,然后输入“ATFR[Enter]”。你应该会看到终端窗口中的“OK”消息,并在十六进制窗口跟随两个数据包:
7E 00 02 8A 01 74  and  7E 00 02 8A 06 6F
浅谈Xbee模块组网,顺带推荐下《例说XBee无线模块开发》图5
表明终端设备已经重新配对。
以上是书中其中一个实验,包含了XBee模块的常用功能,更多精彩还有待小伙伴们亲身实践。
笔者在看完本书和进行了相关XBee的实践之余,不禁参考了当下几种主流无线射频或组网手段的应用情况。
ZigBee
  Zigbee是IEEE 802.15.4协议的代名词,这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。
其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
蓝牙
蓝牙技术联盟(Bluetooth Special Interest Group,SIG)日前宣布正式采纳蓝牙规格4.0版本,并启动对应的认证计划。在3.0+HS版本标准加入高速传输技术的基础上,4.0版本又加入了之前诺基亚力推的Wibree低功耗传输技术。
  至此,蓝牙已经不是当初大家熟悉的只适用于WPAN的“蓝牙”了。而是集IEEE 802.15.1传统蓝牙,IEEE 802.11物理层和MAC层以及Wibree标准的“三合一”的蓝牙。
  低功耗传输部分作为蓝牙4.0版本的重点,沿用了曾经的Wibree标准。采用简单的GFSK调制,拥有极低的运行和待机功耗,使用一粒纽扣电池甚至可连续工作数年之久。
   
  毫无疑问,新的低功耗蓝牙将挑战诸如ZigBee、NFC等技术,低功耗蓝牙的网络拓扑相比ZigBee的星型拓扑简单得多,而传输距离又比NFC有很大优势,尽管是个后来者,但凭借其在手机和音频领域的领先地位,未来发展还是值得期待。
蓝牙技术的缺点和优点一样明显:
   数据传输瓶颈问题。高速跳频使得蓝牙传输安全性极高,同时也限制了蓝牙传输过程中数据包不可能太大,哪怕是在宣传的高保真蓝牙耳机中,它的高低频部分也是被严重压缩的。
WiFi
  WiFi(Wireless Fidelity,无线保真技术)即IEEE 802.11协议,是一种短程无线传输技术,能够在数百英尺范围内支持互联网接人的无线电信号。WiFi的第一个版本发表于1997年,其中定义了介质访问接入控制层(MAC层)和物理层。
覆盖范围广  蓝牙的电波覆盖范围很小,半径大约只有15 m,而WiFi的半径可达100 m,甚至可以覆盖整栋大楼。
   
  WiFi的传输速度很快
   
  最高可达54Mb/s,符合个人和社会信息化的需求。在网络覆盖范围内,允许用户在任何时间、任何地点访问网络,随时随地享受诸如网上证券、视频点播(VOD)、远程教育、远程医疗、视频会议、网络游戏等一系列宽带信息增值服务。并实现移动办公。
   
健康安全
  IEEE 802.11规定的发射功率不可超过100 mW,实际发射功率约60~70 mW,而手机的发射功率约200mW~1 W,手持式对讲机高达5 W。与后者相比,WiFi产品的辐射更小。
在ZigBee和蓝牙的关系上,ZigBee联盟认为ZigBee和蓝牙是互为补充,而不是互相竞争。比较了蓝牙和ZigBee的各项技术指标,将两者相结合具有较好的发展前景。有研究表明两者共存以及相互干扰的特性,证明两者互联工作的方案切实可行。
其他还可以参考以下文章,除本书外可以从网上取得:
《例说XBee无线模块开发》
《XBee/XBee PRO Modules》
《Z​i​g​B​e​e​ ​、​W​i​F​i​ ​、​蓝​牙​等​常​用​2​4​G​h​z​ ​无​线​技​术​的​区​别》
《三种近距离技术ZigBee、蓝牙(Bluetooth)和WiFi介绍》

X-CTU USING.jpg

Stuart  初级技匠

发表于 2014-7-16 16:10:24

如果当初我玩这个的时候有这篇文章多好....:L
回复

使用道具 举报

社区活动向导  管理员

发表于 2014-7-16 16:48:05

Stuart 发表于 2014-7-16 16:10
如果当初我玩这个的时候有这篇文章多好....

你当初玩起来了吗
回复

使用道具 举报

lauren  高级技师 来自手机

发表于 2014-7-23 11:22:53

不明觉厉-_-#
回复

使用道具 举报

12011063csy  学徒

发表于 2014-8-9 16:29:06

我是新新新手。。。现在手上有一对XBEE pro和USB adapter,也下载了X-CTU,但是连接起来以后它说“unable to open com port”,求助是怎么回事?:'(
回复

使用道具 举报

12011063csy  学徒

发表于 2014-8-9 22:35:28

下了个驱动程序,已经解决了~~
回复

使用道具 举报

542592263  学徒

发表于 2014-9-29 12:56:07

你好,我也在读这本书,我在进行的时候,XCTU中xbee的 CH、MY参数不能修改,请问是怎么回事?怎么能解决?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail