FZB5000系列通用Zigbee模块产品手册

2015-4-17 17:51| 发布者: admin| 查看: 1793| 评论: 0

摘要: 第一章产品概述1.1产品定位飞比科技FZB5000系列Zigbee模块是基于2.4G频段Zigbee-Pro标准协议栈的无线模块。提供AT命令控制接口,支持透传模式、采集模式、控制模式等多种工作模式,是短距离无线数据传输、构建低功耗 ...

第一章  产品概述

1.1 产品定位

 

飞比科技FZB5000系列Zigbee模块是基于2.4G频段Zigbee-Pro标准协议栈的无线模块。提供AT命令控制接口,支持透传模式、采集模式、控制模式等多种工作模式,是短距离无线数据传输、构建低功耗无线传感网络、短距离无线控制等应用领域的理想系统解决方案;同时可与本公司Zigbee-Ethernet网关配合使用,实现数据远传。其特色功能如下:

      

  • 支持传统“无线串口式”应用方式,像使用串口线一样使用Zigbee模块
  • AT指令方式对模块进行参数设置,简单易用
  • 可对节点信息进行采集,如芯片温度、电池电压、通讯信号质量(RSSI值等
  • 可外接多种类型传感器,如TTL电平输出式、模拟量输出式
  • 可外接精准参考电压源,实现4-20MA电流/0-5V电压等传感器数据的精确采集
  • 支持“IO口透传”功能,实现高低电平的“无线透传”
  • 通过主控节点发送串口指令,可以控制网络内任意节点的某IO口状态
  • 任意节点均可发送“网络扫描”指令,对本节点所在的Zigbee网络的设备进行查询,以获取整个网络中设备的长、短地址,父地址等信息
  • 终端节点可选择支持一般睡眠(PM2)与深度睡眠(PM3)两种模式,最小电流1微安
  • 睡眠节点的唤醒周期1秒钟至5小时,大范围内可设
  • 可与FZB6000C Zigbee-Ethernet网关直接对接,轻松实现互联网监控
  • 传感协议与“飞比云计划”兼容,数据可上行至飞比云平台,然后通过开放的云平台API接口,用户可以用HTML5/Andriod/iOS等平台技术,搭建基于PC、手机、平板电脑等几乎所有智能终端下的应用场景,并可实现 “反向控制”
  • 支持“空中AT指令”,可远程对网络内的任意一个节点的参数进行设置
  • 支持USB接口的FBee Dongle可作为协调器或者路由器使用,与普通模块组网通讯


1.2 产品外形 

 

FZB5000(+)Zigbee模块外形规格,如下表所示:



FZB5000(左)/FZB5000+(右)正面图:



    产品反面图:



    FZB5200/5300 Zigbee模块外形规格,如下表所示:



FZB5200(左)/FZB5300(右)正面图:



   FZB5200(左)/FZB5300(右)产品背面图:


1.3 产品特性


FBZB5000系列Zigbee模块产品特性参数,如下表所示:



第二章  产品电气特性

 

2.1 信号连接器接口

 

2.2.1 FZB5000/FZB5000+ 信号连接器接口

 

模块信号引脚采用2个2*5*2.54mm圆孔金针。模块引脚信号说明如下:


表2.1 模块引脚定义-CN1



表2.2 模块引脚定义-CN2



2.1.2 FZB5200/FZB5300 信号连接器接口

模块信号引脚采用2 个1*10*2.0mm 金针。模块引脚信号说明如下:


表2.3 模块引脚定义-P1



表2.4  模块引脚定义-P2



2.2 天线接口


FZB5000/FZB5200/FZB5000+模块天线接口均采用SMA插座,外接鞭状天线;

FZB5300采用PCB板载天线;

 

2.3 接口极限应用条件

 

FZB5000系列Zigbee模块的极限应用条件,如下表所示:



2.4 接口推荐应用条件 


FZB5000系列Zigbee模块的推荐应用条件,如下表所示:  



2.5 电源特性



第三章  模块性能评估板FB232TDB介绍

 

3.1 FB232TDB简介

 

为方便客户对飞比科技FZB5000系列模块的性能进行简单评估,我们开发了如下的模块性能评估板FB232TDB,对核心模块的引脚进行引出,方便用户进行测试性能。


表3.1   插座引脚定义-CN3



3.1 FB232TB在模块数传模式(TP)下的连接


在模块TP模式下,在CN3的PIN15-PN16,PIN17-PIN18上增加跳线,将模块的UART口与RS232串口接通,就可以通过FB232TB外接串口线进行通信了。



3.1 FB232TB在模块采集模式(CL)下的连接


在模块CL模式下,如需要外接模拟量输入,则通过外接测试线将AD口(CN3的PIN1-PIN3,具体定义请参阅表3.1 插座引脚定义-CN3引出,接在需要采集的传感器模拟量输出上。


注意:电源(VCC+3.3V在CN3的PIN19脚,地(GND)在CN3的PIN20脚。

 

3.2 FB232TB在模块控制模式(CT)下的连接


在模块CT模式下,通过外接测试线将控制口(DIO1-DIO3,通过ATIO指令设为输出模式引出,接在需要控制的模块上。


注意:电源(VCC+3.3V在CN3的PIN19脚,地(GND)在CN3的PIN20脚。



第四章  结构与安装

 

FZB5000与FZB5000+ Zigbee模块具有相同的安装尺寸,如下图所示:



安装示意图:



FZB5200 Zigbee模块结构尺寸如下:

FZB5300 模块结构尺寸如下:



FZB5200与FZB5300安装示意图:


       

第五章  软件功能概况及测试

 

5.1 FBee® 模块功能定位


FBee®  Zigbee模块以“Plug and Play(即插即用)”为总的设计理念,用户无须了解复杂的协议实现过程,只需要了解它能做些什么,怎么实现。短短几天,甚至是几个小时,就可以轻松将Zigbee整合进您的产品中,这就是我们要达到的目标!

 

而且FBee®  系列模块,不但包括FZB5000系列Zigbee模块,同时包括FZB6000C系列Zigbee网关。FBee®  实现的实际上是一个“无线数据链路”,用户仅需要将自己系统中需要进行无线传输的数据,送至FBee模块,模块负责将数据通过Zigbee/GPRS/TCPIP等方式,将数据有效送达。

 

以一个“Zigbee无线抄表应用”为例:

在这种应用中:水、电、气、热表将各自的模拟量转化成一组数据,实现了“感知”;而FBee实现的就是这些数据一级级的上传,最终送至服务器;服务器对这些数据的处理(比如进行扣费等操作),由用户在应用层进行实现。数据处理完成后,比如查到某户欠费,要切断其供应,这个控制数据依然通过FBee提供的数据链路,原路返回,实现对电磁阀门的控制等相应动作。


5.2 Zigbee模块功能简介


下文将重点介绍FZB5000系列Zigbee模块的功能,如下图所示:



产品具备如下四种“工作模块”和一种“设置模式”:


1、透传模式(无线串口)


在Zigbee协议规范内,通过串口,实现点对点,或者点对多点的数据“透明”传输。


2、采集模式


  周期性采集终端节点(或路由器)某AD口的电压模拟量,或者高精度数字传感器数值(通过AT指令进行设置),将数据发送至目标节点(一般为协调器)串口。


3、控制模式


  由控制节点发送指令,对目标节点或全部节点某些IO口的电平进行控制。发送指令的方式,可以是串口“CT指令;也可以是硬件电平,即“IO口透传”。


4、AT模式


上述四种工作模式中的所有参数设置,都是由AT指令来实现的。在上述任何一种模式下,如果需要对其运行参数进行设置,均要先进入AT指令模式进行设置,然后退出AT模式进入正常工作模式。

在某些应用场合中,有些节点无法通过串口进行设置,则可以通过另外的节点(可以是FBee Dongle或者普通节点)通过远程发送“空中AT指令”的方式进行设置。

 

5.3 FBee初探:安装、测试及其上位机FBee® Wizard使用


本节介绍将介绍FZB5000系列模块的基本功能及测试,详细的配置与AT指令的使用将在第六、七章进行介绍。

 

打开产品外包装后,请确认“协调器”、“路由器”及“终端节点”的种类及数量是否与您的定单相符。然后可按如下流程进行功能测试:

 

5.3.1、安装


模块出厂时,默认设置为“透传”模式,请按如下图所示将模块安装到底板上,并设置好串口跳线(CN3的PIN15-PIN16,PIN17-PIN18),为模块装好鞭状天线。如果您没有购买我们的底板,可参考其电路图,与您自己的底板进行对应连接。



5.3.2、简单功能测试


分别为各个模块底板提供5V/1A的电源,将电源开关P10 (左下角)打开(拨至左侧)后,按“S1”键(右上角),此时其“目标设备”底板上的绿色LED灯(D10)将闪烁,每按一次,亮灭变化一次,表示模块间通讯正常。

注:默认设置下,协调器(Coordinator)的目标设备为所有的节点(所有的Router和End Device);而非协调器的目标设备为协调器。

End Device的绿色LED灯指示模块是否在睡眠模式,不作为此测试功能用;但按其S1键仍可控制其目标设备(默认为Coordinator)的绿色LED。

如果上述测试失败,有可能是因为网络结构的变化导致的,请按第七章“7.6 出厂参数重置方法”将模块恢复出厂设置,重新组网测试。


5.3.3、上位机连接


分别将Coordinator和Router通过串口线连接两台电脑,或者同一台电脑的两个串口,将上位机软件FBee Wizard打开:



将模块底板的串口与PC相连,设置好正确的COM口(从设备管理器里可查到),将波特率设置为38400,将Coordinator上电,点击按钮,得到如下信息:



将Router上电,点击按钮,得到如下信息:



最后一行“Short Addr: EF1C”表明终端节点已加入到协调器所建立的网络中,并成功取得短地址。


5.3.4、数据透传测试(以一个协调器+一个路由器为例)


点击协调器透传图标,在弹出的设置界面下可进行模块的一些参数设置,本例保持默认设置:



点击“确定”,进入数据透传界面:



点击路由器透传图标,在弹出的设置界面下保持默认设置:



进入路由器透传界面:



在下面发送窗口输入数据即可开始透传实验:

协调器收到的数据:



路由器收到的数据:



在一个协调与多个节点组网的情况下,若协调器需向指定的目标节点发送透传数据,则可以如下格式实现:

①  @xxxx: 

xxxx表示两个字节的目的短地址,高字节在前

:为英文冒号,冒号后面注意有个空格

 

示例:

@075A: WWW.FEIBIT.COM

表示向短地址为075A的设备发送WWW.FEIBIT.COM数据

  @xxxxxxxxxxxxxxxxx: 

xxxxxxxxxxxxxxxx表示八个字节的目的长地址

:为英文冒号,冒号后面注意有个空格

 

示例:

@00124B0004DECE56: 123456789

表示向长地址为00124B0004DECE56的设备发送123456789数据


5.3.5、片内温度及电池电压采集(仅End Device与Router可实现采集功能)


    下文以一个Coordinator+一个End Device的最小化设备为例介绍:

使用上述3中介绍的连接方法,连接Coordinator,点击“采集(CL)”按钮进入“采集”模式,如下图所示:



将End Device上电后,它将自动寻找网络,加入协调器,然后按一定的时间间隔(可通过ATCP指令进行设置)向协调器发送传感数据。

 

注意:在睡眠状态下,终端节点无法连接上位机!!!

 

如果在睡眠模式下,需要按下终端节点S1键,将其唤醒,绿灯将变为常亮。在FBee Wizard中点击“连接”,成功连接后,终端节点将再次进入睡眠模式,需要再次按下S1键唤醒,然后点击“采集(CL),在弹出的设置界面在作如下设置:

 

采用如下默认设置即可对片内温度及供电电压进行采集:



点击确定,弹出再次确认界面:



点击确定,然后重新启动终端节点,终端节点将按刚才的设置每2秒向协调器发送一次采集数据,并闪烁绿灯指示。

 

此时,返回Coordinator的采集界面下,可看到如下的采集的数据:



另外,也可以通过飞比物联网浏览器(FIT Explorer),进行图形化数据监测,如下图所示:



5.3.6、外部温湿度采集实例


温湿度传感器板与模块的连接方式如下:



与“5.3.5、片内温度及电池电压采集”介绍的方法相似,只需要在FBee Wizard软件中,将End Device的“采集温度源”设置为“外部温湿度”,同时打开“湿度”的显示,即可外接SHT1X温湿度传感器进行采集。其设置界面作如下图:



点击“写入”后确定,然后重新启动终端节点,终端节点将按刚才的设置每2秒向协调器发送一次温湿度数据,并闪烁绿灯指示。

注意:飞比高精度温湿度传感器(SHT1X)与串口不能同时使用,如果“采集温度源”设为“外部温湿度”,并重启之后,串口将不再有数据输出。设置前请谨慎考虑!此后,如果想重新设置,需要进行出厂参数重置,具体方法请参见7.6 出厂参数重置方法

 

此时,将协调器设置进入采集模式,在弹出的界面下可看到采集的温湿度数据:



5.3.7、控制模式――串口指令控制方式测试


由于End Device的使用涉及到睡眠模式,将在第八章进行介绍。下文以一个Coordinator+一个Router的最小化设备为例介绍:

 使用上述3中介绍的连接方法,连接Coordinator,点击“控制(CT)”按钮进入“控制”模式,如下图所示:



按如上设置,点击“写入”后确定,出现控制界面:



和上面相同的操作,将Router DIO1-DIO3分别设为输出模式,如下图:



点击“写入”后确定,此时两个节点均进入控制模式。

在Coordinator的控制界面下,将第一个控制口的状态由“关”改为“开”,如图:



此时Coordinator从空中发送一个“CTO1 01”的指令,作用是“使目标设备的第一个输出口(DIO1)电平置高”。用万用表测量Router上的DIO1端口,即可观察到电平的变化。

相反,用Router也可以控制Coordinator上相应的引脚。默认设置下,协调器(Coordinator)的目标设备为所有的节点(所有的Router和End Device);而非协调器的目标设备为协调器。

 

5.3.8、控制模式――“IO口透传”测试


与5.3.7中介绍的方法相似,只需要打开“IO口透传”相关设置即可,操作步骤如下:

 

在Coordinator端,用跳线帽连接FB232TDB底板CN3的PIN29与PIN30,即将拨码开关3号位设置成了IO口透传控制的输入端,对应的模块引脚为DIO1,将其设为输入端,并同时打开“IO口透传”功能,如下图:



 在Router端,将DIO1设为输出端口:



 完成以上设置后,即实现了如下的控制线路:    

主控节点,拨码开关3(DIO1) ====> 被控节点,输出端口1(DIO1,即CN3第10脚)

 

其中,Coordinator为主控,Router为被控设备。

 

此时,将主控节点的拨码开关打在“ON”的位置上,对应被控节点输出口电平为低;反之则为高。

 

 


5.3.9、“采集+控制”模式――采集的同时,进行反向控制


此功能在某些采集系统中非常实用,比如检测到室内温度过低,关闭空调;检测到火警,打开消防栓等等。本小节介绍如何用FBee Wizard软件,演示此功能:

1、与5.3.5或者5.3.6小节中介绍的方法相同,分别设置协调器与终端节点(或者路由器)进入“采集”模式,在此不再赘述。

 

2、协调器的采集界面如下:



注意其中的反向控制部分:



其中的“目标短地址”即为被控对象,可以从下面的设备列表的“短地址”中获取进行设置,从而达到控制不同设备的目的。点击“写入”后生效。

“测试发送”按钮前的文本框中,可以输入“CT指令”,其意义详见:7.5.3.1,如上例中输入“CTO1 01”,同时“目标短地址”设为5ACE,点“测试发送”后,将把短地址为“5ACE”的节点的“DIO1的电平状态置高。

另外,“报警设置”功能可以设置在采集数据高于/低于设置值时,发送不同的控制指令,执行相应动作。

注:如采集节点打开睡眠模式,控制指令将在定时唤醒后执行!


5.3.10、外部温湿度采集实例


温湿度传感器板与模块的连接方式如下:



第六章  Zigbee基本概念

 

为帮助用户更好地使用Zigbee模块,这一章将重点介绍Zigbee的几个基本概念。由于Zigbee协议的复杂性,暂时只介绍后续功能介绍中使用到的概念。对于一些深入的概念的理解,将在介绍模块的API模式时,再进行补充。

 

6.1 Zigbee基本概念介绍

 

Zigbee是一种基于802.15.4物理层协议、支持自组网、多点中继,可实现网状拓扑的复杂的组网协议,加上其低功耗的特点,使得网络间的设备必须各司其职,有效地协同工作。

 

6.1.1 Zigbee网络的设备类型


在Zigbee网络中,有三种不同类型的设备,分别叫做:协调器(Coordinator)、路由器(Router)和终端节点(End Device),如下图所示:



6.1.1.1 协调器的功能特点


二、选择一个频道和PAN ID,组建网络

三、允许路由和终端节点加入这个网络

四、对网络中的数据进行路由

五、必须常电供电,不能进入睡眠模式

六、可以为睡眠的终端节点保留数据,至其唤醒后获取。


6.1.1.2 路由器的功能特点


在进行数据收发之前,必须首先加入一个Zigbee网络

本身加入网络后,允许路由和终端节点加入

加入网络后,可以对网络中的数据进行路由

必须常电供电,不能进入睡眠模式

可以为睡眠的终端节点保留数据,至其唤醒后获取。

 

6.1.1.3 终端节点的功能特点


在进行数据收发之前,必须首先加入一个Zigbee网络

不能允许其他设备加入

必须通过其父节点收发数据,不能对网络中的数据进行路由

可由电池供电,进入睡眠模式

 

协调器在选择频道和PAN ID组建网络后,其功能将相当于一个路由器。协调器或者路由器均允许其他设备加入网络,并为其路由数据。

 

终端节点通过协调器或者某个路由器加入网络后,便成为其“子节点”;对应的路由器或者协调器即成为“父节点”。由于终端节点可以进入睡眠模式,其父节点便有义务为其保留其他节点发来的数据,直至其醒来,并将此数据取走。

 

6.1.2 PAN ID


PAN的全称为Personal Area Networks,即个域网。每个个域网都有一个独立的ID号,即称为PAN ID。整个个域网中的所有设备共享同一个PAN ID。Zigbee设备的PAN ID可以通过程序预先指定,也可以在设备运行期间,自动加入到一个附近的PAN中。当PAN ID为0xFFFF时,表示该设备可加入环境中存在的任意Zigbee网络中;否则,当PAN ID为任意其它值,如0xF53D,则该设备只能加入PAN ID相同的Zigbee网络.

 

6.1 Zigbee寻址

 

6.2.1 Zigbee设备的地址类型


Zigbee设备有两种不同的地址:16位短地址和64位IEEE地址(下文简称长地址)。

其中64位地址是全球唯一的地址,在设备的整个生命周期内都将保持不变,它由国际IEEE组织分配,在芯片出厂时已经写入芯片中,并且不能修改;而短地址是在设备加入一个Zigbee网络时分配的,它只在这个网络中唯一,用于网络内数据收发时的地址识别。但由于短地址有时并不稳定,由于网络结构的变化会发生改变,所以在某些情况下必须以IEEE地址作为通讯的目标地址,以保证数据有效送达。

 

6.2.2 FBee® Zigbee模块的地址分配方法


FBee® Zigbee模块采用的是最新的Zigbee Pro的协议栈,在此版本的协议栈中:首先,在任何一个PAN中,短地址0x0000都是指协调器。而其他设备的短地址是随机生成的。当一个设备加入网络之后,它从其父节点获取一个随机地址,然后向整个网络广播一个包含其短地址和IEEE地址的“设备声明”(Device Announce),如果另外一个设备收到此广播后,发现与自己地址相同,它将发出一个“地址冲突”(Address Conflict)的广播信息。有地址冲突的设备将全部重新更换地址,然后重复上述过程,直至整个网络中无地址冲突。

 

6.2.3 FBee® Zigbee模块设备的短地址变化说明


注:本小节内容仅针对飞比公司FZB5000系列Zigbee模块。

 

在模块的“透传”、“采集”与“控制”几大功能中,设备目标地址是至关重要的一个参数,只有地址设置正确,通讯才能按照预期进行。在此对地址的使用进行详细的说明。

 

6.2.3.1协调器和路由器的短地址


协调器的短地址为0x0000,不会发生变化。而路由器短地址,是在其第一次上电时,按照上文6.2.2的规则,由其父节点成功分配一次之后,保存在内部flash中,以后无论如何开关机都将保持不变,但可以通过一定的方法对网络参数进行重置,详见第七章。

值得一提的是,正是由于这种简单的网络结构,设备短地址将保证不变,用户可以选择一个协调器+n个路由器的方式来组成一个无“低功耗”需求的网络,进行“无线透传”等应用,使用短地址即可保证数据送达至正确的设备。

 

6.2.3.2 协终端节点的短地址


上述协调器+路由器的方式可以满足部分应用,但无法体现Zigbee自组网与低功耗的优势。这时就要发挥终端节点的特点。FBee终端节点的使用,将在后续章节中详细说明,此处仅介绍其短地址变化规律与长地址的使用。

 

FBee终端节点可实现Zigbee的“自组”、“自愈”功能。每次打开终端节点的电源,它将自动检查其附近的路由器/协调器与其连接的信号质量,选择信号质量最好的路由为其父节点加入网络。在加入网络之后,它将周期性地发送数据请求(MAC data requests),如果其父节点没有对其请求进行响应,并且重试几次后,仍无响应,则判定为父节点丢失,此时终端节点将重复上述过程,重新寻找并加入网络。

 

注:由于FBee遵循的是Zigbee Pro的规范,重新加入新的父节点后,其短地址将保持不变。但在Zigbee 2007协议中,由于采用的是树型的固定地址方式,在更换父地址后,节点短地址会发生变化。

 

6.2.3.3利用节点的长地址进行寻址


由于短地址的可变性,在具备可移动节点(End Device)的网络中,最好使用长地址进行通讯,以确保数据送到正确的设备中。FBee模块可实现设备的长地址寻址,仅需一个简单的ATDL指令即可。具体的操作将在第七章进行介绍。

 

 

6.2 数据发送方式

 

针对FBee模块现有的数据发送方式,我们重点介绍Zigbee的单播和广播两种方式。单播模式下面,数据由一个源设备,发送至一个目标设备;而广播模式,数据是由一个源设备,发送至很多,或者是所有的设备。

 

6.3.1单播方式


单播方式下,数据由源设备发出,直接或者经过几级中转后,发送至目的地址。加入Zigbee网络的所有设备之间都可以进行单播传输,可用16位短地址或者64位长地址进行寻址。具体路由关系由协调器/路由器进行维护、查询。

 

6.3.2 广播方式


广播方式是由一个设备发送信息至整个Zigbee网络的所有设备,其目标短地址使用0xFFFF。另外,0xFFFD与0xFFFC也可作为广播地址。其区别如下:

 

0xFFFF: 广播数据发送至所有设备,包括睡眠节点

0xFFFD: 广播数据发送至正在睡眠的所有设备

0xFFFC: 广播数据发送至所有协调器和路由器

 

不同于传统理解的广播方式:一个设备发送一次“广播数据”,其他设备即可收到此数据; Zigbee的广播更像是“传悄悄话”,一传十、十传百,一点点“蔓延”出去的。

 

举个最简单的例子:

 

一个网络中,有ABC三个设备,A是B的邻居;B是C的邻居;但A和C不是邻居。 

 

          A--------->B-------->C

 

当A要发广播给整个网络的时候,由于距离关系,A无法直接发送给C,那么A首先广播给它的邻居(此例中只有B),B再广播给它的邻居(此例中有A和C),A此时收到B的广播数据,与自己发送的广播数据对比后得知:自己已经将信息广播给了B,且B已经成功中继此广播数据,此时A完成任务,并不再继续接受广播。

 

同理,C收到B的广播后,再广播给它的邻居(此例中只有B),B受到C的广播后,得知C也已经收到了自己的广播信息,且成功中继。

 

以此类推,任何一个数据广播都可以以这种方式,一步步往外蔓延,最终每个节点都成功收到信息,而且保证信息不会无止境地在网络间传播。

 

这种广播方式成功地将通讯范围扩大至整个网络,但由于这种信息在网络间频繁地转发,导致网络负担陡增,所以建议不要过分使用广播方式,每秒钟最多发送三次广播,而且每次广播的数据尽可能少

 

 


第七章  工作模式及操作详解

 


第五章中已经简要介绍了“透传(TP)”、“采集(CL)”、“控制(CT)”及“GPRS(GP)”四种工作模式及一种“AT模式”的基本功能,本文将详细介绍每种模式的具体功能、操作及进入、退出的方法。

 

7.1 AT指令/模式介绍


AT源于英文单词“Attention”,译为“请注意”。在这种上/下位机组成的通讯系统中,上位机告诉下位机:“请注意了,我要给你发控制指令了。听到指令后,要按我说的来做”。

FBee® 采用的就是上述控制方式:当系统在TP/CL/CT/GP的任何一种模式下运行时,接收到上位机的AT指令,马上停下当前工作,等待命令。这些命令中往往包含系统运行的参数,成功接收并设置后,退出AT模式,又回到原来的工作状态。

AT模式,即“停下当前工作,等待命令”的工作模式;AT指令集,即当前设备所支持的所有AT指令的列表。

 

7.2 五种模式的进入、退出


如上图所示:在任何模式下,只要输入“%FBee&AT\r”指令,即进入AT模式。在AT模式下,输入ATTP\r、ATCL\r、ATCT\r、ATGP\r指令,分别进入TP、CL、CT、GP模式;输入ATEX指令,退回至进入前的模式。


注:下文中所有的符号“\r”代表回车符,对应的值为0x0D

 

除此之外,在如下两种情况下,系统将自动退出AT模式:

1)、在进入AT模式后,10秒钟以上没有收到任何正确指令

2)、发送“扫描”指令(ATSC)后,系统退出AT模式

 

7.1 AT指令格式

 

以一个改变目标短地址的AT指令为例:

这条指令的作用是将当前设备的目标短地址设为5382,并且保留在flash中。

 

详细的AT指令说明请参见:[附1]FBee® Zigbee模块 AT指令集

 

7.1 启动信息说明

 

在正确连接硬件、设置波特率之后,重启模块,将以字符形式显示如下内容:

 

-------------------------

Feibit FBee V1.0----------------------------固件版本号

Zigbee Router-------------------------------当前设备为路由器-Router

SYS Mode: TP Mode----------------------系统当前在“透传”(TP)模式

Dest Addr: (Short)0000--------------------发送目标地址

IEEE Addr: 00124B00017AED28-------设备的64IEEE长地址

Short Addr: CB6B--------------------------设备的16位短地址(协调器无此信息)

 

7.2 TP/CL/CT/GP几种模式的功能及操作

 

7.5.1 TP模式――TransParent


“透明传输”模式,即发送端A(PC或其他上位机)的串口发出什么数据,Zigbee模块就通过无线电波将什么数据送到接收端B的串口。A串口到B串口之间是“透明”的,示意如下:

7.5.1.1 默认目标地址及其数据传输方式


如果用户未对模块进行任何设置,则其出厂时默认设置为:

目标地址类型:16位短地址

目标地址:协调器为FFFF(即广播至所有在网节点);

路由器与终端节点为0000(即以协调器为目标节点)

 

在此默认设置下,任何从协调器串口发送的数据,都将以广播方式,送至网络中所有节点;任何从非协调器节点串口发送的数据,都将送至协调器。其示意图如下:


7.5.1.2 目标地址设置


目标地址,即数据传输的目的节点的地址。这个地址有两种类型:16位短地址和64位长地址,其概念请参见第六章“6.2 Zigbee寻址”。在进行“数据透传”之前,需要在AT指令模式下,对目标地址类型,及目标地址进行设置。成功设置后,系统将保存此地址,直至下一次设置。

这种方法的优势在于:在多数应用中,发送的目标地址并不需要频繁变化。这样简化了系统设计,不须要每次都要指定发送地址,浪费其上位系统的CPU资源及网络资源;若须要运行中切换,也仅需三条指令(进入AT/设置/退出),不会增加系统太大的负担。

设置方法如下(比如将目标地址设为长地址寻址,地址为:00124B00017AED28):

  1、按第三章 3.2的介绍连接硬件

  2、打开“串口助手”,设置正确的端口号与波特率(默认为38400)

  3、发送“%FBee&AT”指令,进入AT模式,此时系统返回“FROM TP TO AT”

      4、发送“ATDM 01\r”指令,系统返回“OK 01”,表明设置成功(此步可忽略,第5步将自动设置此值)

5、发送“ATDL 00124B00017AED28\r”指令,系统返回“OK 00124B00017AED28”,表明设置成功

6、发送“ATEX”指令,退出AT模式,设置完成!

 

此后,从本节点口串口收到的任何数据,都将直接送至长地址为00124B00017AED28的节点。如下图所示:


7.5.2 CL模式―― Collect


意为“采集”,即以协调器(Coordinator)为中心节点(Sink),终端设备(End Device)或者路由器(Router)为传感节点,将网络中所有传感器的数据进行收集,由协调器送到上位机进行处理。路由器(Router)在进入数据采集的同时,也可以为其子节点进行数据中转。

 

一个典型的采集方式应用的网络结构如下图所示:


在这种应用中,路由器的位置往往是固定的,且有常电供电,如第六章中指出的,FBee® Zigbee模块在出厂时将保证网络信息在“空白”状态,用户在第一次布网时,放好路由器的相对位置,上电后自动优化网络结构。一旦完成第一次的自组网之后,路由器与协调器之间的网络关系将保存下来,除非对工厂参数进行重置,将不再变化,只有终端节点可以移动,实现自组、自愈功能。

 

目前FBee® Zigbee模块采集模式已经实现的传感器功能:

1)、采集片内温度

2)、采集电池供电电压

3)、采集AD口的电压值(具体AD口位置及显示方式可由AT指令进行设置)

4)、采集数字式温湿度传感器数据(SHT1x)

5)、采集数字输入口DIO1-3的电平状态

 

7.5.2.1 采集模式下的设备角色定位 


  在采集模式下,终端节点与路由器均可作为“数据采集节点”,负责将与其连接的传感器数值(或者采集的AD电压值等数据)发送给协调器;协调器充当“数据汇总节点”,负责汇总其管辖网络范围内所有采集节点的数据,而且常常与PC等上位系统通过RS232/RS485等接口进行连接,从而将所有的传感器数据进行汇报。  路由器在采集传感器数据的同时,负责将采集节点的数据进行“中继”,即当终端节点远离协调器,其信号质量不足以进行直接数据通讯的时候,在路由器的帮助下进行“接力式”传输;另外,当协调器直接连接的终端节点超过一定的数量后,增加路由器,可以一定程度上分散协调器负担,优化网络结构。

 

7.5.2.2 协调器的数据输出格式


协调器在采集模式下,可用Feibit Sensor Terminal、FIT Explorer与FBee® Wizard几款PC软件,对传感数据进行监控。其向PC串口发送的数据长度,取决于用户通过ATSO指令打开了“多少种”传感器,详情请参见ATSO指令的使用。传感器数据格式定义如下:

其中,5字节的“必选”数据如下:

第1字节:“帧头”固定为FB;

第2字节:长度为“可选数据”总长度,即【】内的数据长度;

第3、4字节:节点短地址:此数据包的发起节点的16位Zigbee短地址

最后1字节:CRC“异或”校验

 

数据类型的高四位,共有0-15,16个数字,代表意义如下表:


低四位值的意义与数据类型有关:

 

1)、当数据为“开关量(0/1)”,即高四位为0时,代表后续数据“共有几个开关量”,所以一个数据包中最多可以支持24=16个开关量;

 

2)、当数据为“非开关量”,即高四位大于0时,代表后续模拟数据的“序号”,同上,一个数据包中最多可以支持24=16个非开关量

 

其具体内容定义如下(0-5为“飞比云”系统定义,6-BFBee模块定义):


按如上定义,在FZB5000系列模块中,共有如下不同类型的数据:



注:1、对“1字节有符号数”的处理方式:以rssi值23 C0为例,代表rssi值为0xC0-0xFF=-64dbm

2、“2字节有符号数”的处理方式:以电压值58 01 32为例,代表电压为1+50/256=1.195V

3、“开关量”的处理方式:以03 06为例,代表共有三个开关量(从BIT0开始计算)06代表二进制0000 0110,即三个开关量分别为1/1/0

 

用户可按上述格式,自行编写上位机软件,接收此数据,并进行相应解码及进一步处理。


7.5.2.3 采集模式的几个重要参数   

  

 注:此处仅介绍参数的意义,具体的指令格式请参见:附一、AT指令集

 

1、采集时间间隔(对应的AT指令为ATCP)


FBee模块的采集模式采用“定时主动上报”的采集方式,即采集节点每隔一定的时间(即为“采集时间间隔”。比如设为5秒钟),进行一次传感数据汇报。汇报完成后,如设置为低功耗模式,即可进入睡眠模式。关于低功耗模式的详情请参见第八章。

 

  2、温度信号来源(对应的AT指令为ATTS)


采集温度可以设为以下两种中的一种:一是主控芯片内部温度,二是“飞比高精度温湿度传感器(SHT1X)”。设为二时,将同时采集湿度数据。

 

  3、AD采集源设置(对应的AT指令为ATCC)


采集电压可以从如下几种中任选:主控芯片内部供电电压VDD,或者模拟量输入端口ADIN1-ADIN3。ATCC指令对应的8位数据分别使能不同AD口:

Bit0: 芯片内供电电压(VDD);  Bit1:AD1;  Bit2: AD2;  Bit3: AD3

 

4、参考电压设置(对应的AT指令为ATCR)


AD标准参考电压可以通过ATCR指令设置为片内1.15V或者片外3V基准电压,当设为片内1.15V时,其电压采集范围为0~1.15V

 

5、电压数据模式(对应的AT指令为ATCM)


采集的电压值的结果,可以表示为两种形式:不经转换的16位二进制数据,或者转换为以V为单位的电压值,详见“7.5.2.2 协调器的数据输出格式

 

6、传感量使能设置(对应的AT指令为ATSO)


通过ATSO指令可以打开或关闭传感量,具体的使用请参见“7.5.2.2 协调器的数据输出格式”或者“AT指令集”

 

7.5.3 CT模式―― Control


即为控制模式。与采集模式相反,控制模式的应用经常是由上而下的,即通过向协调器串口发送一组指令的方法,控制其下属的任意节点的三个IO口的高低电平状态。比如检测到室内温度过高后,打开空调;检测到房门被撬,打开报警装置;检测到用户没交电费,对其远程断电等等情况,均可用此模式实现。

除了上述的“自上而下”的应用方式外,实际上模块提供任意两个节点间的控制与广播式控制,与前文TP模式的目标地址设置方法完全相同,在指定目标地址后,任意两个Zigbee节点间均可以互相控制,如下图所示:



7.5.3.1 两种控制方法


FBee®系列Zigbee可以通过两种方法,对被控节点的IO口进行控制:一是通过主控节点的串口发送“CT”指令;二是采用“IO口透传”的方式。分别介绍如下:

 

1、串口CT指令方式


如上图7.7所示,在主控节点的串口发送“CTO1 01\r”指令,即可将被控节点1号输出端口的电平置高,操作非常简单!

CT指令格式说明如下:

不带目标地址的CT指令(控制本节点的默认目标设备):



          带目标地址的CT指令(HHLL代表被控节点的短地址):



说明:1、其中命令O1(英文字母O,非数字0)代表要控制被控对象的DIO1端口;

电平状态01,表示要将此端口“置1”,若为00,则表示“清0”

2、执行CTO1 HHLL0X指令之后,系统目标地址将随之发生改变,但不保存。下次上电后,恢复为原来ATDS指令设置的地址。

3、CT指令发送成功后,本节点会返回“Send OK\r\n”,远程被控节点,成功收到指令并执行动作后,返回“Output1 set OK\r\n”或者“Output1 clear OK\r\n”的回复数据

 

目前CT指令共有五条,如下表(HHLL代表被控节点地址,为可选参数)



2、IO口透传方式


如下图7.8所示,主控节点的输入端口电平产生变化时,自动发出CT指令,将被控节点相应的输出端口设为与主控节点输入端口相同的电平,即实现了“IO口透传”功能。



7.5.3.2 控制模式的参数设置


在进行控制之前,首先要明确主控与被控节点,将主控节点的“目标地址”设为被控节点的地址,其概念及设置方法与TP模式下完全相同,在此不再赘述。除此之外,还需要设置以下参数:


1、DIO1-DIO3端口的输入/输出状态


模块上有DIO1,DIO2,DIO3三个可设置IO口,均可通过ATIO指令设置为输入或者输出状态,当对“被控节点”某IO口进行控制时,需要将该被控节点IO口设为输出模式;当需要进行“IO口透传”操作时,事先要将“主控节点IO”设为输入模式,被控节点IO设为输出模式。


2、打开、关闭“IO透传”功能


当DIO1-DIO3(以DIO1为例)设为输入模式时,并同时打开“IO口透传”功能时,如果该节点DIO1电平状态发生变化时,将从空中发送“CT”指令,控制目标节点的DIO1的输出状态发生相同的变化。详情参见“AT指令集”中的ATIO指令的使用。


7.6 出厂参数重置方法(重新组网)

 

在上述的介绍中,提到过有时需要将参数恢复到出厂时的设置,比如将网络信息清空,进行重新组网;重新设置各模式的参数等等。下文介绍如何操作:

 

用户使用的是FB232TDB底板

 

按住S1键的同时,按一下S5键(即reset键),然后S5松开,绿灯闪烁两次后S1键松开,此时系统将重置所有的参数至出厂状态,并重新组网,组网成功的同时,协调器和终端上的绿灯会同时闪烁几秒种的时间。

 

重新组网是否成功测试:

(路由器和协调器)

按下FB232TDB低板的S1键,可以发现当前的FB232TDB板上的绿灯闪烁,同时,协调器端的绿灯也在闪烁

 

  (终端和协调器)

按住S1键的同时,按一下S5键(即reset键),然后S5松开,绿灯闪烁两次后S1键松开,此时系统将重置所有的参数至出厂状态,并重新组网,组网成功的同时,协调器和终端上的绿灯会同时闪烁几秒种的时间。

用户使用的是自行设计的底板请将KEYIN脚,即P2.0,保留为按键输入脚,同样可实现此功能



KEYINRESET的控制时序图:



第八章 睡眠模式介绍

 


FBee® Zigbee模块的终端节点(End Device),具备低功耗睡眠模式。路由器及协调器无低功耗模式。终端节点的睡眠模式介绍如下:

 

1、睡眠功能的打开、关闭与唤醒周期设置:ATCP指令设置的值与ATXP值的乘积即为唤醒周期;而如果ATCP设置为0,则取消睡眠功能,非0时可以进入睡眠。如果取消睡眠功能,则下述“3”中IO口控制睡眠的方式将失效。

 

2、睡眠模式分(PM2)一般睡眠模式与(PM3)深度睡眠模式两种。在PM2模式下,定时器仍然工作,系统将按ATCP*ATXP指令设置的唤醒时间,间隔性唤醒,唤醒后,如果终端节点无任务(比如:进行数据透传、采集、控制等),则重新进入睡眠模式;在PM3模式下,模块定时器关闭,唯一的唤醒方法就是外部中断,即将Sleep_CTL(CN1_9口设为低电平即可

 

3、睡眠控制口的使用:当Sleep_CTL口为低电平时,系统不会进入睡眠模式;为高电平时,如果系统空闲,则自动进入睡眠模式。FB232TDB底板在默认设置下,Sleep_CTL口为高电平,即睡眠模式。如需关闭睡眠模式,可将P70_1与地短接,或者直接通过ATCP设为0来取消睡眠功能。

 

4、PM3模式的设置:如果ATXP设置为0,则睡眠模式为深度睡眠(PM3),否则为一般睡眠PM2

 

5、节点在睡眠状态时,无法接收来自于串口的数据。如果需要向睡眠节点串口发送数据时,须通过外部中断源进行触发,即将Sleep_CTL(CN1_9口设为低电平。实际应用中,触发唤醒后,最好通过下面“6”的方法重复确认过之后,再进行数据收发,以避免“唤醒失败”的情况发生。

 

6、 End Device的绿色LED(STATUS口),显示当前节点是否在睡眠模式,灯亮(高电平)代表正常工作,灯灭(低电平)表示睡眠模式。此外,当终端节点断网时,此LED闪烁(输出方波),可用此方法确认节点是否连网。

 

7、关于“无线唤醒”:如果某远程节点要对睡眠节点发送数据,则数据先由睡眠节点的“父节点”(路由器或者协调器)进行保存。当它定时唤醒时,发现父节点处有未处理的数据,则自动退出睡眠模式,从软件上实现有一定延迟的“无线唤醒”。

 

8、在终端节点睡眠期间,其父节点将为其保存信息(如透传数据,控制指令,ATSC扫描指令等),保存时间为10S,若用户设置的睡眠时间大于10S,则会出现信息无法送至睡眠节点的情况。请用户在使用中加以注意。

 

9、关于断网重连:终端节点在出现断网情况时,将自动退出睡眠模式,并在30秒内持续寻找网络,如果仍然无法组网,则自动进入长睡眠状态;以后每8分钟后自动唤醒一次并重新寻找网络,直到组网成功后,又进入正常的工作状态。

 


[附1]FBee® Zigbee模块 AT指令集

注:1、表中xx代表一个字节16进制数字

2、全局出错信息:

1)CMD ERRO:命令字符错误

2)MEM ERRO:内存读取失败

3)erro: out of range:设置数值超出范围



[附2] FBee模块固件升级方法

 

FBee Update Tool 软件,可以对FBee V1.10及以上版本的Zigbee模块,通过串口进行程序升级。  使用方法如下:

 

1. 通过串口线连接FZB5000系列Zigbee模块与电脑

 

2. 设置正确的串口号,点击连接前,先按一下s5 ,然后再点击连接,出现如下界面:



3. 选择正确的bin文件



 4. 点击“直接写入”,出现写入进度条



5. 完成后显示:



 此时重启模块后,即已运行新的程序,用户须按照手册中的“工厂参数重置”方法,恢复默认值。

 


[附3]、空中AT指令使用方法

 

由于实际应用中,某些节点可以由于外壳限制等各方面原因,无法连接串口对其进行参数配置,所以FZB5000系列模块中增加了“空中AT指令”的设置方式,即通过一个可以连接串口的节点(可以是FBee Dongle,或者是普通节点)向远程节点发送空中数据的方法,对其进行配置,方法如下:

 

以将短地址为5A10的被控节点的目标地址设为协调器(ATDS 0000)为例:

 

1、 首先,确认被控节点的地址(该地址可以通过发送ATSC指令获取;或者当该节点组网成功后,可以从协调器的串口数据中读出,两者格式相同,详见ATSC指令说明)

2、 通过如下指令,将主控节点设为CT模式
%FBee&AT
ATCT

3、 发送空中AT指令:CTAT 5A1009ATDS 0000

4、 如果串口收到“OK 0000”信息,表明收到被控节点回馈信息、指令发送成功, 

 

 


附:

1、飞比“免费数”介绍:http://bbs.feibit.com/thread-3679-1-1.html

2FBee Update Tool下载地址: http://bbs.feibit.com/thread-3712-1-1.html

3FBee V2.0固件程序及FBee Wizard软件下载:

http://bbs.feibit.com/thread-5936-1-1.html据航空业务





路过

雷人

握手

鲜花

鸡蛋
返回顶部