XBee 产品评测及组网应用

ZigBee是一种低功耗、短距离无线标准,在家用自动化设备和工业控制等领域有着广泛应用前景。ZigBee原是依据于IEEE 802.15.4标准,并且采用与Wi-Fi同一频带(2.4GHz),它有16个分开的频道,换言之在单一位置上可提供多达16个网络而不会互相干扰。最大数据传输速率为250Kb/s (在100米范围内)。

MaxStream是一家非常有名的无线通信元件制造商,现在已经归于DIGI公司旗下,在其ZigBee产品上加了一个很贴切的名称 XBee,XBee小型但却是一个功能完善的ZigBee收发器(即接收器/发射器),它是双向操作,在意义上来讲它可交替地发射或接收数据(半双工式)。

XBee实测特性:(XBee/XBee-PRO)

XBee功能强大,同时与其他RF无线通行模块相比,其设置和应用却又更为简单易学。XBee具备诸多功能特性,其单点覆盖距离跟据其版本不同,输出功率不同而不同,从1mw~50mw不等距离从0~1600m。具备自动网络扩展功能,联网时间短,仅30ms即可完成。下面小编简单的介绍一下如何使用XBee组网使用。

小编建立了一个简单的网络关系

(其中com5、com7工作于End device模式(CE=0),com3、com8工作于coordinator模式(CE=1)。com5指定传输目标位com7的工作地址(DH+DL=(COM7的MYADDRESS)),com7工作于可向组网传输数据的终端工作模式(A1=4)。com3和com8工作于组网互传数据模式(A2=7)。其他设置包括PAN ID、channel等都保持默认未作修改。

工作模式通过AT指令进行设定,操作较为简单易学,用户可以通过自身项目需要建立相应的网络数据传输关系。)

实际数据传输情况

实物图

(每个串口各发了一条信息,并同时通过串口监视各个com端接受的情况。蓝色字体即表示发送的数据,红色字体即表示接收到的数据。)

用户可以根据自己的需要,通过AT指令对XBee的工作状态进行设置,AT指令名包括:

(1) ID(PAN ID):读取和修改区域网络ID

(2) CH(channel):读取和修改RF模块接发数据的频段。

(3) DH(destination address high):64位目标地址的高32位地址设置,与DL组合定义数据的目标地址。

(4) DL(destination address low):64位目标地址的低32位地址设置,与DH组合定义数据的目标地址。

(5) MY(16位源地址):可读写RF模块16位源地址。

(6) CE(Coordinator Enable):设置为0时,XBee工作于End Device模式,设置为1时,工作于Coordinator模式、组网模式。

(7) A1(End Devcie Assocation):终端通信模式选项设置

(8) A2(Coordinator Assocation):组网通讯模式选项设置

等等其他详细功能设定,其中有睡眠模式设置,频段跳选详细设定,节点设定,串口速率等功能可供选择。(详细内容可参见XBee™/XBee- PRO™ OEM RF Modules手册。)

简单的AT指令格式(单行指令发送):(// 系统反馈)

+++                                         // OK<CR>

ATDL<Enter>                            // {当前目标地址低位值}<CR>

ATDL1A0D <Enter>                   // OK <CR>(编辑目标地址低位值)

ATWR <Enter>                         // OK <CR>(将设定写入记忆模块)

ATCN <Enter>                         // OK <CR>(退出XBee工况设定模式)

在通过串口对XBee工作状态进行设定的时候,有如下几个注意事项:

(1) 要对XBee模块的工作模式进行设置时先要输入“+++”从而使XBee模块进入AT指令接收状态,同时需要等待XBee反馈的 “OK<CR>”是才能继续输入AT指令进行设定。

(2) 当输入“+++”并得到系统反馈后,必须要在Guard Times所设定的时间内,输入设定的AT指令,如果超出Command Mode Timeout则XBee模块会自动跳出AT设置模式,回到串口发送工作状态。用户在通过串口尝试对XBee模块进行参数设定时,可以通过ATCT的设定 来修改进入指令设置模式的等待时长。(通过修改ATGT可以设定进入设置模式的时间,较长的Guard Times能够防止数据传输过程中误入AT指令设置模式。)