基于zigBee无线网络的温度采集系统设计
0 引言 在粮库温控系统、冷库温控系统、智能化建筑控制系统、中央空调系统等众多应用系统中,都需要多点分布式温度测量系统。传统的多点分布式温度测量系统多采用有线传输方式,需要在现场进行大量布线,这给系统的布设、维护和更新升级带来诸多不便。本文设计的仓库温度监控系统采用ZigBee技术的无线通信网络来对仓库各点温度进行连续24 h的监控,从而使管理者可以在控制室随时了解仓库现场的温度信息。
1 ZigBee无线网络
ZigBee是一种新兴的短距离、低速率无线网络技术,它是一种介于无线标记和蓝牙之间的无线技术方案。ZigBee的基础是IEEE 802. 15.4,它规定了ZigBee的物理层和媒体接人控制层。ZigBee的工作频段分别为868 MHz、915 MHz、2.4GHz三个频段,其中频段868 MHz定义了1个频道:频段915 MHz定义了 10个频道;频段2.4 GHz定义了16个频道。ZigBee技术采用CSMA-CA的信道接入方式,可有效避免通信的冲突。ZigBee网络层协议由ZigBee联盟制定,其设备可以构造成星型网络或点对点的网络,连接地址分为16位短地址和64位长地址。因而具有较大网络容量。它的应用层可根据用户的需要进行开发利用。其ZigBee协议栈结构如图l所示。
ZigBee技术具备强大的设备联网功能,它支持星型结构、网状结构和树形结构等三种主要的自组织无线网络类型。特别是网状结构,它具有很强的网络健壮性和系统可靠性。本设计就是采用树形结构来扩大通信区域。
2 分布式温度采集系统原理
本系统由三类节点组成:ZigBee协调器节点、路由器节点、传感器节点。图2所示是其组成示意图,其中ZigBee协调器是分布式处理中心,即汇聚节点。多个传感器节点置于不同的监测区域,每个传感器节点会先把数据传给汇聚节点,然后汇聚节点把数据通过串口传给上位机做进一步处理并显示给用户。协调器节点可以与多个传感器节点通信,这样可以使本系统同时监测多个区域,何时检测哪个区域通常由用户通过协调器节点来控制。当被检测区域的障碍物较多或者协调器节点距离传感器节点较远时,可以通过增加路由器节点来增强网络的稳定性。当用户没有数据请求时,传感器节点只进行低功耗的信道扫描。
3 节点的硬件设计
3.1 ZigBee无线收发器CC2430
无线模块可选用无线收发器CC2430来实现。CC2430是挪威Chipcon公司的一款真正符合IEEE802.15.4标准的片上ZigBee产品。CC2430采
用Chipcon公司最新的SmaitRF03技术和0.18μmCMOS工艺制造,采用7×7 mm QLP48封装。该芯片除了包括RF收发器外,还集成了加强型805lMCU、32/64/128 KB的Flash内存、8 KB的RAM、ADC、DMA和看门狗等。CC2430工作在2.4GHz频段,采用低电压(2.O~3.6 V)供电,且功耗很低(接收数据时为27 mA,发送数据时为25 mA)、灵敏度高(-97 dBm)、最大输出为24dBm、最大传送速率为250 kb/s。CC2430的外围元件数目很少,它使用非平衡天线,因为连接非平衡变压器可使天线性能更好。CC2430无线单片机在待机时的电流消耗仅0.2μA,在32 kHz晶体时钟下运行时的电流消耗小于1 μA。因此,使用小型电池寿命可以长达10年。
3.2 ZigBee协调器节点的硬件设计
ZigBee协调器节点硬件设计如图3所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。RF的输入/输出是高阻和差动的,用于RF口最合适的差动负载是(115+j180)Ω。当使用不平衡天线(例如单极天线)时,为了优化性能,应当使用不平衡变压器。不平衡变压器可以运行在使用低成本的单独电感器和电容器的场合。电源模块用于CC2430的数字I/O和部分模拟I/O的供电,供电电压为2.0~3.6 V。CC2430可以同时接32 MHz和32.768kHz的两种频率的晶振电路,以满足不同的要求。串口电路用于CC2430将接收到的数据传送给上位工控机,由于上位工控机与CC2430的电平不一致,所以需要一个MAX232电平转换电路。
3.3 路由器节点的硬件设计
路由器节点的主要任务是将不同区域的数据从传感器节点路由到协调器节点,因此,该电路比较简单,该节点由无线收发器CC2430、射频天线RF、电源模块和晶振电路组成。
3.4 传感器节点的硬件设计
传感器节点和硬件设计如图4所示,该节点由无线收发器CC2430、射频天线RF、电源模块、晶振电路和串口电路组成。电路中DSl8820与CC2430的连接非常简单,仅需一根接口线,接口十分方便。由于每片DSl8820均有唯一的产品序列号,所以允许在单总线上挂接数十至上百片数字式传感器,并可以非常方便地构成多路温度测量系统。DSl8820内部有9个字节的暂存器,开始最高有效位元(Most Significant Bit,MSB)和最低有效位元(Least Significant Bit,LsB)这2个单元可存放当前的温度值,以16位补码形式表示12位温度读数,高位是温度值的符号位。当CC2430发出温度转换命令后,DSl8820将测得的温度值保存在MSB(高8位)、LSB(低8位1 2个单元中,以供CC2430读取。
4 系统软件设计
本系统所用的开发环境是IAR7,采用的协议栈为TI的Z-STACK。由于本系统采用树形结构,所以,ZigBee协调器必须知道每个传感器节点的网络地址,这就需要每个传感器在加入网络后,都要把网络地址发送给协调器,协调器收到传感器的网络地址后,便可建立地址表并存储起来,以便用户要求采集温度数据时,依据地址表来采集每个传感器的数据。图5所示是其程序流程图,图中的左边是协调器节点的软件设计程序流程图,右边是传感器节点的软件设计程序流程图。
5 结束语
基于ZigBee技术的温度采集系统可同时对多个区域进行监测,而且开发成本较低、性价比高,安装维护简单,且只需安装二次就可以进行长期的监测工作,因而具有传统温度监测系统所不具备的优势,能较好地解决传统温度监测系统中存在的布线、搬迁等问题。非常适用于环境的监测应用。(国外电子元器件 作者:邓 磊,王子敬,范玲俐 西南交通大学)
楼主有终端发送到协调器的程序代码吗?基于cc2430的,谢谢了。601765796@qq。com
我也需要这方面的资料 谢谢大神………………853798060@qq.com
可以参考CC2530的zstack的simpleapp或者sensorDemo,这两个例程都是温度采集的。
学习了
楼主可以共享一下这个工程的所有程序吗?参考一下啊。万分感谢了哈!劳烦发到1138700462@qq.com:rose:
同求啊,楼主。毕业设计要做这个,如果能参考参考就谢谢了。314356703@qq.com
正在学习中,谢谢分享思路!
楼主,求分享谢谢了,不要论文,要例程呵呵麻烦您了yunluoyongheng@163.com
我做了100个节点的温度、湿度、光敏无线网络传感器系统
感觉还算稳定
用最新zstack-2.5.0做的
好受欢迎哦.zstack或simpleapp的相关资料我有哦!
楼主,最近一直在做这个,能分享代码吗?qq :1023090687 ,谢谢啊
楼主,求分享代码 谢谢啦 qq:1023090687
楼主,最近在做这个项目,之前都没接触过zigbee,好迷茫,能加个好友指导指导我么,979423181O(∩_∩)O谢谢啦
现在正在做一个基于CC2530的 能发下例程参考下么??谢谢了
有些启发。呵呵
不错
可以给我发下程序吗?万分感谢楼主!1163753946@qq. com
可以给我发一份程序吗? 664786882@163.com
给我发一份吧
楼主,您好!在下菜鸟一只,最近在做和你相似的东西,可以把你写的代码,给我参考一下吗?万分感激963937359@qq.com
大神 想问一下 您有实现温度控制的程序么
学习了
楼主可以共享一下这个工程的所有程序吗?参考一下啊。万分感谢!邮箱 1055323168@qq.com
我这里有,需要的联系邮箱,gfy5216@126.com