张 敏,孙志刚,高萌萌,程 海,王国涛,2
(1.黑龙江大学 电子工程学院,哈尔滨 150008;2.哈尔滨工业大学 电器与电子可靠性研究所,哈尔滨 150001)
近年来,随着经济的快速发展,普通家用汽车的保有率逐年提高。但是随之而来的有关汽车安全的新闻报道层出不穷,如某新闻报导中,监护人将女童遗忘在车内,最终因夏季温度过高、气压增强而使其缺氧窒息身亡。又如某老人在停车场被家人遗忘在车内,也因呼吸不畅导致昏迷。如果能在现有汽车系统中配备监测包括车内温湿度在内的智能化车载监测系统,能在一定程度上减少此类事件的发生。
目前,我国国内中高档汽车的中控系统已经集成有环境参数检测系统,包括胎压检测、车内温湿度检测和空气质量检测等功能。但这套环境参数检测系统在汽车出厂之前,已经统一安装到整车配件中。该系统通过有线传输方式将检测到的参数数据传输至汽车中控屏幕进行显示。因此,当集成化的车载环境参数检测系统的某个部件发生损坏时,需要前往固定维修地点,不仅维修过程复杂,而且所需维修费用高昂。而对于目前使用范围更广的普通家用汽车、旧款家用汽车以及运送批量货物的面包车来说,都不具备车内环境检测功能。因此,设计一个便携式的可方便装配的车载温湿度检测及报警装置有着重要的现实意义。
在万物互联的时代,信息可以快速、高效地在人与物或者是物与物之间传送。随着物联网的快速发展,近年来的智能家居产品层出不穷,和汽车有关的智能产品也逐渐涌现。文献[3]设计了一套无线温度智能监测系统,系统通过无线传感网络采集温度数据,借助Zigbee网络传输至车载智能终端进行实时监测与处理。文献[4]设计了一套基于车载WSN网络的车载环境监测系统,系统包括基于Zigbee的车载WSN网络组网设计、APU模块设计、云端服务器以及移动APP设计。文献[5]设计了一个特种车辆温控系统的温湿度测量网络,系统设计了一种基于XC164CS单片机和单总线技术相结合的温湿度测量网络,通过单路检测电路完成多个温湿度测点信号的同步测量。文献[6]设计了一套基于信息融合技术的行车安全监测系统,系统由车载监测终端、远程监测管理平台和Android移动终端组成,实现了信息的采集与发送、本地预警判断及远程报警等功能。
本文在总结现有研究基础上,利用成熟的物联网传感器技术,设计了一套基于单片机的便携式车载温湿度监测系统。该系统采用STC89C52 为硬件终端的主控制器,通过其控制DHT11 温湿度检测模块实时采集车内的温湿度参数,并将参数数值显示在本地的LCD液晶模块上。该系统还设计了可远程使用的手机APP软件,它通过HC-05 蓝牙通信模块与主控制器建立通信连接。这样,主控制器将实时采集的温湿度参数通过蓝牙通信链路,及时传输至手机APP软件进行显示。同时,该系统保留本地与远程预警阈值的设定功能。即:一方面,可以在本地通过按键设置温湿度参数的预警阈值;另一方面,还可以在远程通过手机APP软件设置预警阈值,设置完成后传输到主控制器保存。在设置预警阈值后,主控制器在每次实时温湿度参数采集时都会进行一次判断,当采集的温湿度数据超过设置的预警阈值,系统会及时进行本地声光报警。由此可见,本文设计的基于单片机的便携式车载温湿度监测系统可移植性强,能够有机的集成到现有的汽车控制系统中,扩展其功能。同时,该系统信息化程度高,车主在离开车的一定范围内也能通过手机APP软件查看车内的温湿度信息,使车主突破了车内空间的限制。另外,该系统性价比较高,应用场景和使用范围较广。
本文设计的车载温湿度监测系统主要包括车载监测设备、蓝牙通信模块和手机移动端APP软件三部分,涵盖物联网技术的感知层、传输层和应用层。系统的硬件部分主要包括车载监测终端和蓝牙通信模块。车载监测设备主要包括以STC89C52 主控制器为核心的最小控制电路,外接DHT11 温湿度检测模块、LCD1602 液晶模块和基本外围电路。以STC89C52主控制器为核心的最小控制电路与其他硬件模块通过I/O口相连接。其中,DHT11 温湿度检测模块负责实时采集车内的温湿度参数,通过I/O口将温湿度数据传输至最小控制电路,最小控制电路再次通过I/O口将温湿度数据传输至LCD1602 液晶模块显示。蓝牙通信模块同样通过I/O口与车载监测设备连接。它作为车载监测设备与手机APP软件的“中转站”,一方面,将车载监测设备实时采集的温湿度参数发送至手机APP软件;另一方面,将手机APP软件设置的预警阈值及时反馈至车载监测设备保存。需要说明的是,最小控制电路的外围电路包括电源电路、时钟电路和复位电路等,声光报警电路包括LED灯和蜂鸣器等。整个系统的硬件结构框图如图1 所示。
图1 系统硬件结构图
车载监测设备选取STC89C52 型号的芯片为主控制器,它与电源电路、复位电路和时钟电路组成最小控制电路。该芯片具有256 字节的内部数据存储器,8 k字节的程序存储空间,共有32 个I/O口。其中,P0 端口是8 个具有漏级开路的双向I/O口,P1 、P2 和P3 端口都是8 个具有内部上拉电阻的双向I/O口,可直接用串口下载数据及程序。同时,STC89C52 还拥有可编程的存储器Flash,可以借助KEIL软件对其进行程序设计。由此可见,本文选取的以STC89C52 为主控制器的最小控制电路能够有效满足温湿度参数的实时采集、双向蓝牙通信和预警判断的功能需求,其电路原理图如图2 所示。
图2 最小控制电路原理图
车载监测设备选取了结合NTC热敏电阻器和电阻感湿元件为一体的DHT11 温湿度检测模块,用于实时采集车内的温湿度参数。DHT11 温湿度检测模块的每个电阻感应元件都与一个高性能的单片机引脚相连,具有较高的稳定性和可靠性。该检测模块各种模拟串行接口均采用单线制,大大提升了传输效率。DHT11 温湿度传感器的温度测量范围是-20 至70 ℃,湿度测量范围是20% 至90% RH,温度的灵敏度为±1 ℃,湿度灵敏度为±5% RH。通常情况下,车内的温度范围为-20至50 ℃,湿度范围为20% 至70% RH。可以发现,使用该型号的温湿度检测模块能够有效、快速的对车内环境进行测量,其电路原理图如图3 所示。
图3 DHT11温湿度检测模块电路原理图
车载监测设备选取LCD1602 液晶模块作为温湿度数据的本地显示模块。LCD1602 液晶模块的VCC端口连接5 V电压源,VSS端口连接接地端。该模块的寄存器选择引脚是RS,当输入高、低电平时,RS分别选择为数据寄存器和指令寄存器。该模块的读写线为R/W,当输入高、低电平时,R/W分别为读数据和写数据。E为控制端,当E电平发生由高到低的变化时,液晶模块开始执行任务。该模块可直接用引脚与主控制器相连,它的读写操作都可以通过编程来实现。其电路原理图如图4 所示。
图4 LCD1602液晶模块电路原理图
车载监测设备选取HC-05 蓝牙通信模块用于与手机软件进行双向数据通信。HC-05 蓝牙通信模块是可以配对手机、平板电脑等带有蓝牙功能的智能电子产品的蓝牙串口模块。HC-05 支持的波特率范围是4 800 至1 382 400,通信距离为10 m,可支持的工作温度为-25 至75 ℃。该模块默认状态为从机,可随意进行指令切换,实用性强,方便灵活。由此可见,使用该通信模块能够满足在车辆范围内的温湿度数据的快速传输,其电路原理图如图5 所示。
图5 蓝牙通信模块电路原理图
按键模块用来设置本地温湿度预警阈值,采用一排四列的连接方式。STC89C52 主控制器的P1 端口连接着按键控制端,按键按下的瞬间,系统就有了输入信号的信息,根据输入电平的高低决定P1 端口如何执行操作。
声光报警电路在整个系统中起着提示作用,本文选用的是压电式蜂鸣器和LED灯用于组成声光报警电路。当STC89C52 主控制器判断实时采集的温湿度数据超过设定的预警阈值时,蜂鸣器发出报警声且LED灯闪烁提示。
根据前文所述,系统软件设计部分也包括车载监测设备、蓝牙通信模块、手机APP软件3个部分。其中,车载监测设备在KEIL软件中基于C语言环境开发,主要包括温湿度数据的采集与传送、预警阈值的设置和声光报警。蓝牙通信模块集成在车载监测设备的软件程序设计中,并根据设定的蓝牙通信协议完成参数信息的发送、预警阈值的设置等双向数据传输功能。手机APP软件是基于Android技术开发的,主要包括温湿度数据的接收与解析、预警阈值的设定等功能。
2.1.1 车载监测设备的流程设计
车载监测设备上电,系统初始化。初始化过程包括STC89C52 主控制器初始化,外围电路初始化,蓝牙通信模块初始化配对连接,LCD1602 液晶模块初始化。初始化完成后,首先判断使用人员是否使用按键或手机APP软件设置预警阈值。如果有新的预警阈值被设置,将其保存至本地监测设备的存储空间中。如果未有新的预警阈值被设置,则开始一次实时的温湿度参数采集,并将采集的温湿度数据显示到LCD液晶模块。同时,通过蓝牙通信模块将该条温湿度数据远程发送至手机APP软件。车载监测设备对比采集的温湿度数据与设置的预警阈值,判断是否到达报警条件。若采集的温湿度数据到达预警阈值,则进行本地声光报警;若未超过预警阈值,直接进行下一轮温湿度参数采集。整个车载监测设备的软件流程如图6 所示。
图6 车载监测设备的软件流程图
2.1.2 蓝牙通信模块的流程设计
蓝牙通信模块初始化过程中,系统完成车载监测设备与手机APP软件的配对连接,直至配对成功。此时,蓝牙通信模块时刻处于待“命”状态,判断是否有来自车载监测设备或手机APP需要远程传输的数据。如果判断到来自车载监测设备的温湿度数据,则及时转发至手机APP软件;如果判断到来自手机APP软件设置的预警阈值,则及时反馈至车载监测设备进行保存。蓝牙通信模块的软件流程如图7 所示。
图7 蓝牙通信模块的软件流程图
2.1.3 手机APP软件的流程设计
打开手机APP软件进入主界面,在初始化阶段与车载监测设备通过蓝牙通信模块配对成功。手机APP软件实时判断是否接收到来自车载监测设备发送的温湿度数据,在判断接收到温湿度数据后,手机APP软件解析温湿度数据并在主界面进行显示。在此过程中,手机APP软件实时判断使用人员是否在主界面设置预警阈值,若判断设置了新的预警阈值,则及时将设置的预警阈值信息通过蓝牙通信模块反馈至车载监测设备。手机APP软件的软件流程如图8 所示。
图8 手机APP软件的软件流程图
车载监测设备与手机APP软件通过蓝牙通信模块建立通信链路后,进行双向数据通信需要遵守设定的数据通信协议,该协议包括参数传输协议和阈值设定协议。前者是由车载监测设备遵循,根据该协议车载监测设备将采集到的温湿度参数整合成一条数据,经蓝牙通信模块发送至手机APP软件。后者是由手机APP软件遵循,根据该协议将手机APP软件设置的预警阈值整合成一条数据,通过蓝牙通信模块反馈给车载监测设备。两种协议均采用“起始帧+帧间隔+数据帧”的设定形式,如表1 所示。
表1 蓝牙通信协议的设定形式
参数传输协议的数据帧由温湿度参数与参数间隔组成,本文中,参数间隔符号选用英文半角下的“,”。数据帧的组成包括车内温度和车内湿度。一条参数传输协议的信息示例如下:
*HLJUC,25,60
上述数据帧表示当前采集的车内的温度为25 ℃,车内的湿度为60% RH。
阈值设定协议的数据帧由温度上限、温度下限、湿度上限、湿度下限和参数间隔组成。此处的参数间隔符号同样选用英文半角下的“,”。一条阈值设定协议的信息示例如下:
*HLJUC&35,15,70,40
上述数据帧表示当前设定的温度上限为35 ℃,温度下限为15 ℃,湿度上限为70% RH,湿度下限为40% RH。
由于整个系统的硬件核心都在车载监测设备,因此在制作整个系统的实物之前,需要对设计的车载监测电路进行仿真测试。本文选用proteus99 软件进行仿真测试,验证车载监测设备能否正常运行。我们使用按键在本地设置温度和湿度的预警阈值。如图9 所示,此次仿真设置的温度上限为30 ℃,温度下限为10 ℃,湿度上限为50% RH,湿度下限为30% RH。
在仿真过程中,我们手动设置当前温度为22 ℃,湿度为20% RH。此时,温度和湿度都在设定的预警阈值范围内,声光报警电路不工作,如图10 所示。
图9 车载监测设备启动后仿真图
图10 温湿度在预警阈值范围内仿真图
当实时采集的温度或湿度数据超出设置的预警阈值,会触发声光报警电路。声光报警电路控制蜂鸣器发出鸣叫的同时,还会控制对应的LED灯闪烁。声光报警电路中LED灯从左到右依次对应的是温度上限、温度下限、湿度上限和湿度下限。因此,当我们手动将温度和湿度分别设置为35 ℃和45% RH,此时湿度在预警阈值范围内,但湿度超出预警阈值的上限。可以发现的是,仿真图中的左一LED灯亮起,蜂鸣器鸣叫,其仿真效果如图11 所示。
图11 温度超过阈值上限声光报警仿真图
在对车载监测设备成功仿真的基础上,我们制作整个监测系统的实物,并对系统进行整体测试。首先,我们启动车载监测设备,此刻实时采集的温湿度参数为:温度22 ℃,湿度66% RH。我们通过按键设置温湿度参数的预警阈值。其中,我们设置温度上限为36 ℃,温度下限为18 ℃,湿度上限为80% RH,湿度下限为30% RH,如图12 所示。
同时,我们运行手机APP软件,与车载监测设备建立蓝牙配对连接。我们可以发现,手机APP的主界面也实时显示当前采集的温湿度数据。并且,我们通过点击设置按钮和增大减小按钮也能设置温湿度参数的预警阈值,如图13 所示。
图12 按键模块设置阈值图 图13 手机APP软件主界面
为了测试本地声光报警电路,我们人为的将温度下限阈值重新设置为23 ℃,则此时实时检测的温度数据22 ℃低于阈值下限。可以发现,车载监测设备进行声光报警,如图14 所示。
图14 本地声光报警工作图
至此,系统整体测试结束。需要说明的是,在实际测试过程中,因为汽车外壳或温度等因素的影响,多次测试得出,蓝牙通信的有效范围为距离车载监测设备的8.2 m内。另外,在不同的温度区间内,车载监测设备通过蓝牙通信模块向手机APP软件传输温湿度数据存在时间延迟,如表2 所示。
本文设计了一种基于单片机的便捷式车载温湿度监测系统,有效解决了普通家用汽车或小型运输车辆内部温湿度快速监测的问题。系统包含车载监测设备、蓝牙通信模块和手机APP软件三部分。车载监测设备用于实时采集车内的温湿度参数,并及时在本地液晶屏上进行显示。同时,车载监测设备与手机APP软件通过蓝牙通信模块建立双向数据通信。这样,用户同样可以在手机APP软件的主界面查看车内的温湿度数据。用户还可以通过本地按键或远程手机APP软件设置温湿度参数的预警阈值,待设置完成后,车载监测设备会在实时参数采集的同时进行判断,并及时进行本地声光报警。以笔者所在的黑龙江省哈尔滨市为例,经过长时间的测试,本文设计的车载温湿度监测系统在车内温度范围为-18 ℃至32 ℃、湿度范围为50% RH至80% RH的环境中运行正常。经过多次测试,得出蓝牙通信模块的有效传输长度为8.2 m。另外。在-18 ℃至32 ℃对应的大温度区间范围内,车载监测设备与手机APP软件之间参数传输的平均时延为265 ms。
表2 不同温度区间的平均时延
下一步,笔者打算从两个方面对本系统进行改进。一方面,目前本系统设计的车载监测设备还属于测试品,但多次测试表明其功能完备、原理设计可靠。笔者将考虑与科技公司合作,将该系统成品化,进一步增强其实用性。另一方面,本系统选用的蓝牙通信模块的参数传输距离会受车体、温度等因素的影响,具体表现为离开蓝牙通信模块7 m以后,信号开始迅速减弱。当超过8.2 m后,温湿度数据的传输开始不稳定,甚至出现蓝牙中断现象。因此,笔者计划将蓝牙通信模块更换为GSM/GPRS模块。此时,只要保证人和车处于基站覆盖的环境下,温湿度数据就能进行有效传输,真正突破了空间的限制。并且,考虑到每条温湿度数据的字节长度较小,通过设置GSM/GPRS模块的传输频次,能够减少数据通信的流量,降低使用成本。