一种基于物联网技术的车辆内部环境监测报警系统设计
2021-01-30刘远仲张海波唐天国谭鹤毅
刘远仲,张海波,杨 嘉,唐天国,谭鹤毅,张 强
(1.南充电子信息产业技术研究院,四川南充637000;2.南充职业技术学院电子信息工程系,四川南充637000)
我国汽车行业已经进入了一个快速发展时期,据相关数据统计,全国汽车保有量已达2.5 亿辆,因此,在一个如此巨大的车辆使用规模中如何保证车辆驾驶人员和乘坐人员在车内的安全显得越来越重要.生活中因种种原因滞留在车内的人员由于车内环境的变化而引发的安全问题也越来越多,特别是夏天小孩或老人滞留在车内时,由于驾驶人员大意关闭了车窗,使得车内环境温度升高、氧气不足以及湿度上升,处于这种环境较长时间将可能造成缺氧、受热、脱水等严重的生理问题,一些身体抵抗力弱、行动不便和有认知障碍的人员更容易引发生命安全问题[1].因此,建立一个监测车内环境安全的系统具有重要的生命安全工程意义.
二十世纪九十年代,车辆内部环境的安全问题就已受到一些车辆制造商的重视,并开始在一些中高端车型安装车内环境安全检测报警系统.2003年,凯迪拉克公司在生产的轿车内安装了移动物体检测器,当车辆停车关闭车窗后,系统如果发现有可移动物体滞留车内时便会通过车身闪灯和发声系统发声提示,但这种报警系统存在报警形式单一的局限,当有人注意到报警存在危险时,很可能无法及时联系到车主进行援救.有报道[2]提及给车辆加装主动施救系统,在车辆出现安全问题时系统会发出指令让控制系统动作,例如检测到车内环境温度过高则打开车内空调通风或打开天窗散热,紧急危险情况时触发车窗升降系统降下车窗施救.但这类方法还是存在不足,因为车辆工作是很多系统的配合,施救系统工作时需与其他控制系统相连接,其连接的许多控制系统都是来源于车辆本身,需要对车辆的电路控制系统进行改装,如果改装操作不当,一会影响其它控制系统的正常工作,二会给车辆安全行驶带来隐患.另外,当检测系统错误地检测到危险而打开车窗可能使车内物品丢失、财物被盗,若有小孩在车内导致小孩被抱走,后果就更加严重,所以这种施救系统也难以得到广泛应用.
车载物联网多层次车辆内部环境监测报警系统不但可以检测车辆内部环境,也可以检测车辆外部环境,既克服了车辆报警形式单一问题,也解决了汽车改装带来更大的危险问题,在下一代汽车监测报警领域有强大的生命力.因此,本文开展了基于车载物联网的多层次车辆内部环境监测报警系统设计,并联机测试,验证设计的实际使用效果.
1 系统总体架构与设计原理
1.1 系统总体框架
系统设计框架采用的模块主要由四部分组成,分别为车载传感模块、移动OneNET 云平台、互联网网络服务器(WebServer)、控制终端(移动终端).设计框架如图1所示.
车载传感模块是实现车载物联网中的基础模块,有三项功能:一是提供各类传感器的采集数据,主要检测车辆内部环境的温度、湿度、含氧量等车内环境指标;二是提供GPS 车辆定位和车内环境监控摄像,方便监控车内危险情况并快速找到危险车辆;三是作为数据与信号的传输源,提供各类数据的无线发射与传输,当危险产生时发出报警信号.OneNET 云平台模块提供无线数据的存储与中转,是各类数据有效送达的重要纽带,一方面通过API接口将数据送到WebServer 进行存储,另一方面通过无线网络实现与移动控制终端进行无线通信数据交互.WebServer 服务器模块是数据存储的重要配置,同时为报警装置提供个性化报警数据服务.移动控制终端是监测报警系统获取危险信息后信号传输的最终控制设备,一方面与OneNET 云平台通信,另一方面通过与WebServer 服务器模块嵌入个性化应用,提供多种监控方式,例如可通过平板或手机进行车辆内部环境监控等.
图1 车辆内部环境监测设计示意图
1.2 系统多层次(AHP)设计原理
有很多评价方法可评判一个系统设计的好坏,本文使用AHP 层次分析法对系统进行建模和评判,为了使系统的设计最优,需对各项指标进行综合考虑.
设系统选取的最优方案用G 表示,评价指标为Si,系统扩展能力为S1,价格指标为S2,系统对数据的管理能力为S3;设选取的备用方案用Pi表示,那么设传统车辆的报警装置方案性能为P1,包含了传统报警后装置并使用第三方网络平台的为P2,含有传统报警装置又具有自主搭建报警平台能力的为P3.根据Saaty 等人提出一致矩阵法,不把所有因素放在一起比较,而是两两相互比较并按其重要性程度评定等级,同等重要量化值为1,稍微重要量化值为2,较强重要量化值为5,强烈重要量化值为7,极端重要为9,两相邻判断的中间值为2、4、6、8.设计时由于需更多考虑系统的可扩展能力,对数据储存可不作过多关注,故将评判矩阵设为A,表示为:
利用AHP 层次分析原理对(1)式矩阵的列进行归一化,并对行进行均值处理,可得权向量w:w=( 0.63 0.26 0.11)T,将A 与w 相 乘 可 得Aw=(1.96 0.8 0.32)T,又根据矩阵最大特征值计算方法可求得(1)式最大特征值为:
为了使系统各层次指标保持一致,减少计算量,暂将评判指标设为3 个,根据矩阵一致性指标( )
CI的计算方法可得:
由AHP 层次分析法的一致性比率计算原理,设计系统各层次一致度满足可变设计范围,即CR=则构建出的三个监测层次的评判矩阵可用Ai( i=1,2,3 )表示:
同理,根据AHP 层次分析计算原理可计算出以上三个矩阵的权值矩阵为:
则总的评判层次权矩阵为:W =wthree×w=(0.22 0.42 0.36)T,通过对总的权值矩阵观察可看出方案2 的权值最大,由此可知以上3 个方案中,P2方案即使用“传统报警装置后+第三方平台”方案最佳,第3 个方案即“传统报警+自搭建报警平台”次之,第1个方案即“传统报警平台”最差.
考虑到实用性、有效性和可扩展性,将得到的最优方案2组建的多层次报警结构如图2所示.
图2 车辆内部环境监测多层次检测报警设计结构图
组建时将第一层次结构设为普通层,当车辆内部环境发生危险情况时,通过危险报警灯闪烁或LCD 显示模块或蜂鸣器提示车辆人;第二层次为利用了第三方监测平台层(OneNET 云平台),使用API 接口,当发生危险后进一步通过个性化的应用或数据管理等方式提供检测报警服务,即使用户量加也因有数据库存在可方便地进行系统扩展;第三层次为移动终端监测查询层,车辆有了危险一方面现场报警,另一方面通过移动无线通信网络将数据传递到车主的移动端显示车辆情况,本文使用App、嵌入式等开发方式实现报警提醒.通过对车辆内部环境进行三层次报警设计,满足了AHP 多层次报警设计需求.
2 系统硬件模块
由于系统既包含了传统报警装置,又要利用第三方协助报警,所以在硬件方面考虑的主要硬件模块有:
(1)硬件开发芯片:Arduino Uno R3.
(2)车辆硬件传感器件:温湿度采集DHT11;气体检测Grove⁃Gas Sensor (O2);人体监测HCSR501;传感器扩展板功能拓展Base Shield V2 Grove.
(3)车辆环境监测显示、数据通信模块:LCD1602、PCF8574IIC/I2C 数据传输模块、LED、SIM900A卡等.
3 系统软件设计
3.1 车载程序初始化设计
程序上电后首先对各种传感器与数据采集系统进行初始化设置,需要初始化的车载装置有:
①主控开发芯片Arduino I/O 口设置,为数据通信做好准备;
②热释电红外传感器HC-SR501 设置,监测车内人员情况,如果有人的情况下用高电平“1”指示;
③车辆内环境的温度采集、湿度采集、气体浓度采集等设置,监测车内环境是否满足安全阈值设置需要,如果超出阈值则通过声光方式报警;
④显示模块LCD1602 与数据通信(GPRS)设置,通过LCD 显示车辆状态,采用GPRS 通信时需对一些通信协议栈和通信参数约定,保证数据传输通畅,功能稳定可靠施行.
3.2 功能平台控制和数据上传通信设计
系统数据初始化完毕后,需要建立车在装置与云平台间的数据通信[12],根据功能平台使用的Rest⁃Ful API接口方式,选择http的POST 通信方式;又由于平台使用嵌入式App 终端监控方式,根据JavaS⁃cript语法子集的开放标准数据交换格式,选用JSON建立温度监测、湿度监测、含氧量监测等车辆内部环境参数监测通信协议格式.在构建子函数调用时,将数据格式统一采用JSON 格式完成数据上下传输,格式标准为:
其中:data_name 表示监测参数的名字(例如是某个温湿度传感器在采集数据某个气体传感器采集数据等),data_value表示传感器具体得到的实测值.
然后编写POST 报文向指定的资源提交需被处理的数据,实现发送主体数据上传,重点部分代码如下:
构建好JSON 数据通信格式并完成POST 报文后,移动终端与PC机之间进行通信连接,即是将AT指令中的CIPSTART、CIPSEND、CIPCLOSE 与主体装置的控制指令共同向上位机传递子函数.通过对系统的调试与指令编译,完成GPRS 无线通信网络建立、与功能平台控制和数据上传通信的设计.
3.3 应用层平台软件设计
3.3.1 应用层平台数据通信
在应用层通信方面,由于使用移动端从车辆获取各种传感器数据,为了实现移动端对车辆的各装置进行监测和数据查询,建立网络通信协议对功能控制平台上传的数据信息进行获取.前面的功能平台使用的是http 的POST 通信,这里使用http 的GET 通信格式,以便获取JSON 数据格式中的各种参数,根据ASP.NET 编程理论,组建URL 请求指令代码,以完成平台间网络通信.代码格式如下:
数据传输时,为了获取车辆内部环境各传感参数,调用了Togetvalue 的子函数.在输出代码output中,变量来自JSON 上传到服务器的数据返回值,由于返回值存在一些冗余和无用信息,将JSON 格式的对象定义成dat⁃ablock.分析数据可发现,在第一层的通信数据“data”代码里包含了所需的参数流信息,但具体需要获取的值在“data”层中数据内层中,即第二层“current_value”中,这样通过对数据的层层解析调用,即可得到车辆内部环境具体传感器的参数值如温度、湿度和含氧量等参数.通过对子函数的代码完善编写,当使用App 监测各参数时就可直接调用各个子线程的Togetvalue 函数并及时更新移动端收集到的数据,完成应用端的数据参数获取功能.
3.3.2 App应用控制端框架设计
设计App 控制界面时,采用人们易于接受并常使用的传统聊天软件布局形式,即底部为导航窗格,上部为对应的显示控制信息.导航窗格主要菜单由“数据参数”“详情展示”“个人相关”组成,“数据参数”方便车主查询车辆内的温度、湿度、含氧量等相关参数信息,“详情展示”为对应传感器数据显示详情,采用二维图形界面显示方式实时提供数据监测,“个人相关”提供了一些与自己相关信息和自己的个习惯偏好记录.
底部导航窗格菜单用Fragment 函数完成,在编写App 主控界面布局时,上层代码分别使用Frame⁃Layout 和LinearLayout 函数组建菜单布局,在Linear⁃Layout 下层使用了三个RelativeLayout 构建相关组件,再在RelativeLayout 下层函数里继续布置一个LinearLayout,在里面嵌入ImageView 和TextView 函数完成数据的细化显示.
三个主菜单的Fragment 函数文件的编写,根据导航窗格各个菜单的相关功能需要,在数据参数菜单Fragment 函数加上LinearLayout,里层安排对应的TextView 函数展示获取到的相关温度、湿度、含氧量等传感器数据,为了可以实时监测数据信息,再安排一个Button 函数及时更新数据.在详情展示功能菜单编写Fragment 函数时需使用前面的Webview功能,下层同样采用LinearLayout,并在LinearLayout的下层嵌入WebView和Button控件.
App 的Java 类的编写,首先是Fragment 的实现类,该类主要包含了数据菜单和详情菜单的数据信息以及Webview 图表查看功能,程序代码实现流程如图3所示.
图3 App框架布局实现代码实现流程
实现思想为:首先使用Fragment 继承Fragment重写onCreateView(),接着使用View view = inflater.Inflate(R.layout.fg3, container, false);加载fg3(这里的fg3为相关栏布局函数).
完成重要子函数的代码设计后,则是编写MainActivity 主控代码对整个系统的功能组建,编译、调试程序后进行系统监控功能运行测试.系统运行调试步骤可概述为:点击导航窗格的功能菜单,则对应显示相关数据信息,当需要查看数据详情时则点击相应的详情显示菜单显示对应的图片与文字,系统可以对当前状态和前一步状态进行相应的重置,图片与文字也可以进行相应转换,当系统无差错运行成功时则完成整个测试功能.
4 系统检测试验
为了检测系统的可靠性与稳定性,需要对系统各功能模块进行实际测试.首先进行系统网络测试,当连网成功后,如果热释电红外检测到车辆有人或移动物体的存在,随即展开各项传感参数的测定,通过温度传感器监测车辆内的温度,湿度传感器检测车辆内的湿度,气体传感器检测车辆内的含氧量等,系统程序每执行一次便发送一次数据到Web⁃Server,以供App 进行数据值回看复查,如果某项指标超过或低于设定参数的阈值,一方面通过LCD 显示模块报告当前车辆的显示数据值,另一方面通过车辆声光报警系统及时通知车主或车辆周围人员施救.
车载平台控制层收到数据后,当需要对返回的结果显示时,便通过系统设定显示方式进行参数显示,显示结果如图4所示.
图4 车载平台显示数据
由此可见,只要之前根据需要安装了相应传感器,便可通过对应的图表显示相应数据,如图例显示了车内当前温度为17 ℃、氧浓度为21.37%等,方便人们直观地看到监测结果,判断车辆内是否有不安全的危险因素存在.
检测的数据还可通过无线通信方式经OneNET云平台提供数据到移动端App 进行远程监测,查询数据显示结果如图5 所示.图中主要观察了车辆的温度、湿度和含氧浓度,如果有指标超出了设定范围,就可及时判断车辆所处的不利环境,以进行危险消除.
图5 App监测数据
5 结语
本文设计的车辆监测系统平台融入了当前比较盛行的物联网技术,结合车载装置、第三方OneNET云平和移动端App建立了多层次的车辆内部环境监测报警系统,通过对车辆内部环境的监测监测,能够最大限度地提供车辆内在有人员的情况下各项数据的准确检测,使检测的的数据更全面,克服了传统车载报警的一些不足,保证了人员在车辆内停留的安全.同时,该平台还兼具扩展功能,可根据需要随时增添监测参数,并通过WebServer 服务器专门管理数据,提供一些更加具有针对性的个性化服务.