本站小编为你精心准备了ZigBee数据采集论文参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1外围电路
CC2530射频模块通过外引24个引脚,包括普通IO引脚P00-P24和电源、复位引脚,实现与外围电路的连接。外围电路包括复位电路、开关电路、传感器接口电路、按键指示电路、通信调试电路、电源供电电路。主要电路功能介绍如下:按键指示电路:节点包括Led和蜂鸣器指示电路,用于本节点的指示功能;支持按键功能,进行节点工作模式的转换。开关电路:由三极管电路组成,用于实现传感器供电的通断。通信调试电路:由串口电路和JTAG调试接口组成;串口负责与PC上位机软件的连接,方便修改节点的参数;JTAG接口方便上位机集成环境IAR等调试用。电源供电电路:基本供电由外部USB接口电源5V通过AMS1117转3.3V以及直接电池3.3V供电组成;传感器可由内部3.3V供电,而大于3.3V则由外部电源直接提供。传感器接口电路:包括危化品物流车辆常见的几种信号(0-5V、4-20mA、开关量、数字量)采集电路,可同时接四种类型的传感器。其中数字量主要是DS18B20、DHT11温湿度传感器的输出信号;0-5V主要是气体泄露检测、光敏、真空度传感器的输出信号;4-20mA主要是压力、液位传感器的输出信号;开关量主要是红外、门开关、倾斜传感器的输出信号;信号接入后进行了信号隔离和二极管钳位保护电路。
2节点软件
2.1节点软件架构软件设计部分主要是基于TI公司的Z-stack协议栈进行应用程序的开发。Z-stack协议栈是一款稳定性强的zigbee开发协议栈,是对Zigbee标准的具体实现。协议栈APL(应用层)包含了主要的API函数接口,方便进行应用开发,从而实现对CC2530芯片硬件资源的控制功能。具体软件框架设计如图4所示。应用层软件主要包括节点间数据的接收/发送、节点内应用层与底层的交互。应用层的数据经过应用层数据帧格式进行封装传给底层继续封装并发送出去;接收数据则由底层先进行解释,再由应用层进行解释,然后进行数据的计算、更新参数等步骤。应用层还可通过API控制接口对底层进行控制与信号、参数获取。
2.2数据帧格式Zigbee采集节点和主节点模块的数据传输格式采用字符串形式进行数据的发送/接收。由于是采用字符进行数据传输,所以可以利用上位机现有的字符串处理函数,很容易校验数据正确性,并从数据帧中提取有效信息,避免因帧长度判断引起的错误。另外,基于Zigbee传输速率较低、传感器数据量小、刷新速度慢的需求等特点尽量减小和限制了协议中各数据域的占位宽度,保证传输效率。具体数据格式如表1所示。帧头:本协议节点间的应用层交互主要有命令帧和数据帧。帧头是辨别命令帧和数据帧而设立的。帧头包括:Set、Get、Ack、Data4种。Set指的是主节点对采集节点进行参数设定,为命令帧,是主节点需要对子节点进行参数配置的时候发送的,子节点收到此类型帧后,发回Ack帧,说明参数设置成功与否;Get指的是其他节点需要获取本节点信息,为命令帧,本节点收到此类型帧后,发送数据帧;Ack指的是节点间通信应答状态帧,SUCC为成功、FAIL为失败;Data指的是数据帧,携带节点参数、传感器采集数据。如表2所示。目的地址:目的地址指的是Zigbee网络中的设备唯一标识的网络ID。为十六进制0X0000-0XFFFF之间值。其中有几个地址值有特殊的含义,0XFFFF表示广播地址;0XFFFE表示所有接收功能打开的设备;0XFFFC表示所有路由设备;其余地址为单一设备的网络地址。网络地址的获得过程是:主节点设备启动成功后,自设定为Zigbee网络的主网络ID0X0000,子节点设备在申请加入成功后获得一个网络身份标志ID。帧类型:在帧头为Set、Get、Data时,此帧位置都有意义,分别代表设置、获取、携带相应类型的节点信息。这些类型包括,传感器数据(Sensor)、节点网络地址(NAdr)、节点网络类型(NType)、采集周期(Cycle)、产品信息(Info)、发送方式(SWay)、功率模式(PMode)、信道选择(Channel)、AD参考电压(ADMode)、默认发送地址(DSAdr)。信道数据:DataChannel796F800\r\n(第11(0x0B)无线信号通道)载荷:载荷是整个通信帧中最重要的部分,包括了通信的主要内容。载荷的具体内容需要根据帧类型来确定。描述如下:(1)帧类型为传感器数据:此时载荷部分包括传感器类型、传感器ID、传感器值。传感器类型包括危化品物流车辆常见信号:1.温度、2.门开关、3.真空度、4.液位、5.压力、6.电压、7.湿度、8.气体、9.红外10.光敏、11.倾斜。传感器ID从0开始分配,表示同种类传感器的使用编号。(2)帧类型为非传感器数据:此时载荷部分携带网络地址、采集周期、发送地址等值。结尾符:本协议结尾符为字符“\r\n”,加上字符串结束符‘\0’,固定为3个字节。结尾符是一帧数据的界定符,上位机软件可以根据此结尾符很快能判定帧的长度,避免一些数据长度判读错误的发生。
2.3软件处理流程Z-stack协议栈基于轮询机制,事件是最小处理单元,每个事件都有相应的处理函数,当事件管理数据结构相应的位置位时,协议栈通过轮询机制就能发现并跳入相对应处理函数进行处理步骤,处理完再返回轮询大循环。这里主要设置了3个事件,分别是串口事件、无线事件和采集事件。串口事件主要处理与上位机的通信;包括根据上位机命令修改本节点参数、接收发送数据等;无线事件主要处理数据的无线发送和接收;采集事件主要处理传感器的数据读入、封装、发送或者接收、解析、转发等。处理流程图如图5所示。
2.4上位机配置软件Zigbee设备逻辑类型包括3种,分别是主节点、路由节点、终端节点。对于不同设备类型的具体处理流程,本设计编写了统一的参数配置服务函数,可通过上位机软件方便进行配置。比如,终端节点配置成具有传感器数据的采集功能,可选择无线和串口两种发送方式,而对于路由器或者协调器,基于功耗考虑,则配置成不具有传感器数据采集功能。通过设计节点上位机配置软件ZigConfig来实现参数的配置,简单的界面操作就能通过串口以上述数据格式下载到节点,并烧写到CC2530的flash中永久保存起来,节点下一次启动将以新的参数启动。上位机配置软件介绍如下:(1)配置软件由QtCreator开发。QtCreator是Qt被Nokia收购后推出的一款新的轻量级跨平台集成开发环境(IDE)。支持的系统包括Linux(32位及64位)、MacOSX以及Windows。开发人员能利用该应用程序框架更快速及轻易地完成开发任务。(2)该配置软件完成节点的设备类型、接口采集逻辑、入网参数等的配置。可直接通过串口线与待配置节点连接,也可以通过一个中间节点对待配置节点进行无线配置,中间节点通过串口线与上位机连接。操作界面如图6所示。(3)如图7,图8所示,通过上位机配置软件S1(实物图如图6所示)可方便地对待配置节点S2进行参数配置。对于待配置设备,如果是终端设备,配置前需先按下配置按键,指示灯亮后,装置即进入配置模式;而如果是路由设备或协调器设备则无需此步骤。(4)有线配置如图6所示:上位机通过串口线连接待配置设备,然后配置软件上收到待配置节点S2发送过来的设备信息,并显示在界面上,然后点击配置按钮,即发送配置帧到节点S2,点击读取配置按钮,则将节点S2各项参数显示在界面上,如果节点S2是数据透传模块,则可以直接接收数据或填写目标地址发送数据。配置完后再按一下按键,指示灯不亮,表示配置完成。可以配置设备类型为Zigbee终端设备、路由设备、协调器设备和点对点透传设备;可以配置入网参数,比如PANID值、信道、网络模型、网络层次等;可以配置传感器发送周期,使各传感器通道数据可以同一周期发送,也可以不相同周期发送等。(5)无线配置如图8所示,采用一个节点作为数据中转与上位机有线连接,通过这个节点无线发送指令到待配置节点进行配置,配置过程中的操作步骤与有线时类似。
3节点测试
3.1信号强度RSSI(ReceivedSignalStrengthIndication)是接收端的信号强度指示,可用来判定链接质量。实际应用中,普遍采用简化后的Shadowing模型,即如下公式计算RSSI值。其中Pr(d)为接收端接收信号强度,Pr(d0)为参考处接收端接收信号强度,d为接收端与发送端实际距离,d0为接收端与发送端参考距离,n为路径损耗指数,通常取2~4。取d0=1m,实测得Pr(d0)的值代入,并取n=3代入公式(1)得新的计算公式。实际测试中取两个节点,分别设为协调器节点和终端节点。将协调器节点固定,令终端节点远离,终端节点加入协调器节点网络后,每隔1s发送一次数据到协调器节点。协调器接收到数据包后,从TI协议栈Z-Stack的数据结构afIncom-ingMSGPacket_t中提取RSSI值记录下来。100M范围每隔5M记录一次RSSI值,每次记录100个值,然后取100个中的随机值和平均值分别作为本次终值绘制曲线。
3.1.1空旷环境下测得Pr(d0)=-28dbm,按照公式(2)与实际数据,绘制对比曲线。从图9和图10对比曲线可以看出,随着两节点间距离增大,RSSI值会逐渐衰减,符合一般规律。0-20m范围内,RSSI衰减较快,之后较为平缓。40m后信号质量普遍较理论值平缓,可能是受硬件条件影响,误差增大。图9由于每次记录取的随机值,存在较大误差,图10每次记录取100个数据的平均值,曲线较为平缓。误差因素包括硬件设计、周边环境影响等。
3.1.2危化品物流车辆环境下采用深圳市中集集团液化气罐(空罐)危化品物流车辆进行实地测试,测试车辆长度14m,宽度2.5m。将协调器节点放置在车驾驶座,终端节点自由放置于车厢体内部,加入网络并发送数据到协调器节点。测得Pr(d0)=-44dbm,根据公式(2)和实际数据的结果曲线如下:由图11和图12可以看出,在车辆环境下,节点信号普遍较空旷环境下差,这主要是因为接收节点被放进车辆箱体内部,信号一定程度上受到厢体衰减。大于40m距离后信号变得不稳定,通信断续和重连情况发生频繁,此时RSSI值普遍>82dbm,80m后多次测试接收端均接收不到数据。
3.2数据传输将协调器节点放置在车驾驶座,终端节点自由放置于车辆厢体内部,加入网络并发送数据到协调器节点。在协调器端统计接收数据包个数,并计算丢包情况和最大稳定通信距离(即数据通信情况良好,极少发生重连情况),结果如下。由表3可以看出,主节点在车驾驶室情况下,车正前方和侧面信号要好于车后方信号,节点丢包率较低,通信距离>=25M,满足一般危化品物流车辆要求。另外,通信的最大稳定传输RSSI值是极少断网重连情况发生下的统计值,所以普遍低于信号强度曲线中的极限值。随着距离增大,节点间的网络传输也会变得不稳定,常常发生断网重连,甚至无法重连状况。实际数据包传输受节点间不同阻挡物、不同车型、车体电磁干扰、程序执行等因素影响。
3.3功耗通过万用表、示波器和在程序中设计测试模块的结合进行功耗测试,测试结果如下。从表4的测试结果可以看出,节点满足低功耗要求,休眠情况下,节点功耗低至0.33uA。
4结语
基于Zigbee技术,实现了危化品运输车辆无线传感数据采集节点的软硬件,通过实验证明,此节点信号和数据传输性能满足相关需求,特别是在危化品车辆厢罐体内信号衰减较大环境下,最大稳定通信距离满足要求,并具有丢包率低、稳定性高、低功耗、投资成本低等优点,是将Zigbee技术应用于交通运输行业的典型案例,值得借鉴与推广。
作者:邹建基单位:广东工业大学自动化学院