基于ZigBee的汽车内环境监测系统设计

2016-05-10 03:27常书林仇成群
电子科技 2016年4期
关键词:监测系统无线通信

常书林,卢 峰,仇成群

(盐城师范学院 物理科学与电子技术学院,江苏 盐城 224051)



基于ZigBee的汽车内环境监测系统设计

常书林,卢峰,仇成群

(盐城师范学院 物理科学与电子技术学院,江苏 盐城224051)

摘要设计了一种汽车内环境监测系统,该系统以ZigBee无线通信技术为核心,采用TI公司的CC2530芯片,通过ZigBee进行数据传输,采用串口连接电脑接收数据,在IAR软件中,使用C语言编写的嵌入式程序进行编译和调试,在上位机程序显示接收的数据值及变化量,通过无线网络智能监测汽车内环境,包括瓦斯苯类气体含量、光照强度和温度。通过试验,验证了该系统可靠,可以较好地满足汽车车内环境监测需求。

关键词ZigBee;无线通信;IAR;监测系统

人体的舒适温度范围是22~27 ℃,光照强度会影响驾驶员的视线,汽车内部空间环境污染会对驾乘者健康造成危害。中国室内装饰协会室内空气监测中心曾对200辆汽车进行了检测,结果发现,参照室内空气质量标准,有近九成的汽车都存在车内空气甲醛或瓦斯苯含量超标问题,而且大部分车辆甲醛超标都在5~6倍以上,其中新车内的空气质量最差,国外研究测试发现,新车出厂后,车内有害气体浓度很高,挥发时间可持续6个月以上,从而使在此期间开车的驾驶员身体不适,甚至酿成车祸,因此,对汽车内环境检测是必要的[1-5]。近年来,4G、WLAN、ZigBee、蓝牙等无线通信技术迅速发展到各行业,ZigBee是基于IEEE802.15.4标准的低功耗局域网协议,是一种便宜且低耗能的短距离无线通信协议,其广阔的适用性正受到业界瞩目。本文设计主要采用ZigBee无线网络,完成对汽车车内环境的监测。

1监测系统架构与硬件设计

本系统采用美国德州仪器的CC2530模块开发板作为解决方案,CC2530支持ZigBee/ZigBee RF4CE应用,能够以低成本建立强大的网络节点,适应超低功耗要求。系统充分利用ZigBee模块组建成一个车内环境监测系统,通过实时监控汽车内部的瓦斯苯类气体含量、光强和温度变化,可以为用户提供车内环境参数变化,方便用户采取相应措施改善车内环境。

1.1ZigBee技术

ZigBee是一种双线无线通信技术,是一组基于IEEE802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。ZigBee协议规范使用了IEEE 802.15.4定义的物理层(PHY)和媒体介质访问层(MAC),并在此基础上定义了网络层(NMK)和应用层(APL)架构。ZigBee协议标准采用分层结构,每一层为上层提供一系列的特殊服务;数据实体提供数据传输服务;管理实体则提供所有其他服务。所有的服务实体都通过服务接入点SAP为上层提供接口,每个SAP都支持一定数量的服务原语来实现所需的功能。ZigBee协议在此基础上定义了网络层(Network Layer,NWK),应用层(Application Layer,APS)架构[4-6]。

1.2CC2530芯片的应用

系统设计主要采用CC2530芯片进行网络节点设计,CC2530结合了一个射频收发器核心和一个8051控制器,能满足ZigBee节点结构设计和以ZigBee为基础的2.4 GHz ISM频段应用的低成本、低功耗要求,CC2530不同模式下的功耗如表1所示[4]。

表1 不同模式下的功耗

CC2530具有宽电源电压范围(2.0~3.6 V),强大的五通道 DMA。以CC2530为芯片组设计的系统实物图如图1所示,系统通过ZigBee技术传输给接收装置,实时测量瓦斯苯类气体含量、温度和光强值。

图1 CC2530实物图

2系统软件平台设计与实现

2.1软件开发环境

IAR Embedded Workbench是一套开发工具,用于对汇编,C和C++编写的嵌入式程序进行编译和调试。IAR Embedded Workbench是一套精密且使用方便的编程开发工具。可以为ARM芯片生成高效的Flash代码[3]。IAR Embedded Workbench软件操作界面如图2所示。

图2 IAR软件操作界面

图3 IAR程序的用户界面

IAR程序的用户界面如图3所示,设计IAR软件时完成对系统的模拟仿真使用方法:(1)通过使用汇编或C语言完成对程序源代码的编译;(2)运行程序,当程序运行过程中出现错误,需要对程序进行相应的调试;(3)当程序成功运行,将生成的二进制文件(·hex)下载到硬件中。

2.2Z-Stack软件架构

TI的Z-Stack协议栈是一个基于轮转查询的操作系统,它的main函数一共做了两件事:一是系统初始化;二是开始操作系统实体。任务初始化的部分代码[3-7],当协议栈中有任何事件发生时,可以通过设event_flag来标记有事件发生,以便主循环函数能够及时加以处理,协议栈设计程序流程如图4所示。

图4 协议栈设计程序流程图

设计协议栈时,对请求(Request)、响应(Response)原语可以直接使用函数调用来实现,向目标任务发送消息的这个函数主要用来将原语操作的结果以消息的形式向上层任务发送,并产生一个系统事件来通知调度程序。

2.3ZigBee终端节点程序设计

终端节点包含了温度传感器,光强传感器,气体传感器,LED显示屏等模块。在温度传感器模块设计时,将传感节点将记录的温度值和电压值发送到网关,以便进行分析和处理[8]。

每个设备都有一组能被配置的参数,整个配置参数在代码中已经定义了默认值。协调器将扫描DEFAULT_CHANLIST指定的通道门,通过调用ZDO_StartDevice()函数来启动设备。

只有建立了网络,ZigBee设备才可以传输数据。在温度传感器模块中,采集节点和传感节点首先建立了绑定关系,然后将采集的温度值和电压值发送到采集节点。传感节点向采集节点发送数据的函数为myApp_StartReporting()。

myApp_StartReporting代码:

void myApp_StartReporting(void)

{

myTempReportPeriod=5000;//每5 s发送一次温度数据

osal_start_timerEx(sapi_TaskID,MY_REPORT_TEMP_EVT,myTempReportPeriod);

myBatteryCheckPeriod=21000;//每隔21 s发送电压数据

osal_start_timerEx(sapi_TaskID,MY_REPORT_BATA_EVT,myBatteryCheckPeriod);

HalLedSet(HAL_LED_1,HAL_LED_MODE_ON);

}

在采集节点中,当其接收到传感节点发送的数据后,将触发SYS_EVENT_MSG事件,并对AF_INCOMINF_MSG_CMD信息作出处理,此时调用的是zb_ReceiveData-Indication函数,zb_ReceiveDataIndication函数代码:

void zb_ReceiveDataIndication(uint16 souce,uint16 command,uint16 len,uint8 *pData)

{

……

if(command==SENSOR_REPORT_CMD_ID)

{

sensorReading=pData[1];//接收数据

//数据写入串口

tmLen=(uint8)osal_strlen((char*)strDevice);

pBuf=osal_memcpy(buf,strDevice,tmLen);

_ltoa(souce,pBuf,16);

pBuf+=4;

pBuf++=‘’;

if(pData[0]==BATTERY_REPORT)

{

tmLen=(uint8)osal_strlen((char*)strBattery);

pBuf=osal_memcpy(pBuf,strBattery,tmLen);

*pBuf++=(sensorReading/10)+0;//高位转换

*pBuf++=‘’;//进制

*pBuf++=(sensorReading%10)+0;//低位转换

*pBuf++=‘’;

*pBuf++=‘’;

}

……

#if defined(MT_TASK)

debug_str((uint8 *)buf);

#endif

最后调用debug_str函数,将收集到的温度值发送到串口。采集节点中,当其接收到节点发送的数据后,将触发SYS_EVENT_MSG事件,并对AF_INCOMINF_MSG_CMD信息作出处理,此时调用的是zb_ReceiveData-Indication函数。

其它模块的设计与温度传感器模块设计类似。为验证本系统的可行性,需要在上位机上面进行数据监测,观察整个系统的运行状态。通信是通过主从方式实现的,为避免双方发送数据产生矛盾,主机采用查询方式接收发送数据,从机采用中断方式接收发送数据,通信过程均由上位机发起,下位机应答。协议规定了上位机与下位机的通讯要求,并规定了通讯协议的基本数据和参数格式。协议采用异步串口通讯方式,串口通信协议格式如表2所示。

表2 串口通信协议格式

3系统监控试验

3.1试验过程

确定系统无线组网方式后,根据系统要求选择CC2530芯片作为系统开发的主要芯片,并在此基础上对网络协调器、路由器、终端设备以及遥控器进行设计。系统采用CC2530芯片,通过ZigBee协议进行数据采集与接收,数据接收模块通过串口连接到上位机程序,以实现对数据的采集和传输,并使最终的结果显示在上位机程序中,系统核心程序的流程如图5所示,系统试验选择上海大众帕萨特2.0T作为测试车辆,室外为1.0标准大气压。

图5 系统核心程序的流程图

3.2试验结果分析

苯类气体对空气的相对密度是0.554,在标准状态下密度为0.716 kg,渗透能力是空气的1.6倍,难溶于水,不助燃也不能维持呼吸,达到一定浓度时,能使人因缺氧而窒息,也可能发生燃烧或爆炸[3]。汽车内饰当中特别在新车中含有一定量的苯类气体,会对人体造成一定的危害,所以对汽车内的瓦斯苯类气体含量测试是必要的。上位机程序如图6所示,显示了实测的气体含量变化。

图6 上机位程序界面

实测的光强变化图如图7所示。光照强度是指单位面积上所接受可见光的能量,简称照度,用于指示光照的强弱和物体表面积被照明程度的量。照度E=dΦ/dS。被光均匀照射的物体,在1 m2面积上所得的光通量是1流明时,它的照度是1勒克斯,可通过照度计来测量[3]。

图7 光强测试变化图

系统实测的温度变化图如图8所示,为更加有效的对比出实时系统测量温度变化的可信度,试验中,通过采用创新仪器仪表有限公司的科舰HTC-1型温度计测量车内温度参考值对比系统测量温度值。系统测量值与电子温度计测量参考值的结果绘制成的数据统计表如表3所示。系统测试出的温度曲线在第1组~第4组数据时间段是平稳过渡的,温度保持为22.0 ℃,进行到第5组时,温度变为23.0 ℃,然后在第5组~第10组数据时间段内继续平稳过渡,温度保持不变,持续保持约在23.0 ℃,各时刻的温度随着时间有不同的改变,通过数据对比可以得出,受温度传感器精度、零漂、累积误差等影响,监测系统存在一定的误差,相对误差为-4.4%~2.2%,但系统测量的温度变化符合实际温度变化过程,且相对误差较小,可以作为汽车监测系统使用。

图8 温度变化图

数据采集组别系统测量值/℃电子温度计参考值/℃相对误差/%122.021.90.5222.022.5-2.2322.022.4-1.8422.023.0-4.4523.023.00.0623.023.4-1.7723.023.6-2.5823.022.90.4923.023.2-0.91023.022.52.2

根据汽车相关的国家标准,如果本系统通过增加传感器模块,还可以测试汽车上的车速里程表、水温表、机油压力表、电流表、燃油表、气压表等各种仪表和信号装置,可以监测到汽车各项运行状态。在汽车领域,利用ZigBee技术实现传感器传递各种信息,可以推动汽车的智能化和低成本化发展,可以作为决策辅助安全系统的重要组成部分。

4结束语

对汽车内环境系统和ZigBee技术进行了相关研究,设计的监测系统具有良好性能。该设计在需求分析和软件搭建做了相关研究工作,进行了基于ZigBee技术的对汽车内部温度、光强、瓦斯苯类气体含量的检测,给出了程序总体框图,并分析了部分功能的具体程序实现,通过试验,验证了本次设计的可行性。

参考文献

[1]任秀丽,于海斌.ZigBee技术的无线传感器网络的安全性研究[J].仪器仪表学报,2007,28(12):2132-2137.

[2]钱茜,王玉秋.关注车内空气质量防范车内环境污染[J].解放军健康,2013(4):19.

[3]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2013.

[4]许灵军.基于ZigBee 网络原理与应用开发[M].北京:北京航空航天大学出版社,2012.

[5]王磊磊,孙万蓉,魏雪松,等.通用物联网监测系统软件设计[J].电子科技,2015,28(5):143-146.

[6]Pan M S,Tsai C H,Tseng Y C.The orphan problem in ZigBee wireless networks[J].IEEE Transactions on Mobile Computing,2009,8(11):1573-1584.

[7]Wheeler A.Commercial applications of wireless sensor networks using ZigBee[J].IEEE Communications Magazine,2007,45(4):70-77.

[8]陈继海,魏晓慧.基于ZigBee 无线网络的气体监测报警系统设计[J].电子科技,2012,25(10):29-31,35.

Design of Vehicle Interior Environment Monitoring System Based on ZigBee

CHANG Shulin,LU Feng,QIU Chengqun

(School of Physics and Electronic Technology,Yancheng Teachers University,Yancheng 224051,China)

AbstractA vehicle interior environment monitoring system based on ZigBee is designed.The monitoring system is established on the wireless communication technology to set up a wireless communication network.The CC2530’s TI chip data transmit through the IAR software.The C language program compiled and debugged on IAR displays the received data value and quantity for intelligent monitoring of the vehicle interior environment,such as the real-time light intensity and temperature on wireless network.The experiment indicates that the design system reduces the error effectively with rapid response.

KeywordsZigBee;wireless communication;IAR;monitoring system

中图分类号TP277.2

文献标识码A

文章编号1007-7820(2016)04-066-05

doi:10.16180/j.cnki.issn1007-7820.2016.04.018

通讯作者:仇成群(1980—),男,博士,讲师。研究方向:智能检测与控制,汽车电子技术应用。

基金项目:江苏省大学生创新创业计划省级重点基金资助项目(201510324001Z)

收稿日期:2015- 09- 16

猜你喜欢
监测系统无线通信
基于数据融合的掘进机截齿磨损状态监测
基于ZigBee的舱内人员巡检系统的应用研究
基于广播模式的数据实时采集与处理系统
GIS设备局部放电监测系统的研究