刘易鑫,刘会衡
(湖北文理学院 物理与电子工程学院,湖北襄阳,441053)
0 引言
随着社会经济的发展,汽车数量不断增多,汽车事故发生率日益增加,攀升的事故发生率也逐渐成了限制汽车行业可持续发展的重要因素[1]。因此汽车的行驶安全也成了行业和社会关注的焦点[2]。在现代车辆管理中,结合移动互联网与GPS 等技术,通过智能车载设备的运用,可以实现对车辆智能化的实时追踪和管理,达到车辆监控的目的。实时、便捷的车辆监控系统不仅可以提高车辆的动态管理效率,而且具备报警功能,进而能够提升汽车在行驶期间的安全系数,同时可以降低因汽车故障造成的财产损失和人员伤亡。因此,本文设计了一种车辆实时监控系统,通过GPS 定位模块和车载传感器可以采集车辆行驶的状态数据,并通过蓝牙将数据传给近端,如车辆用户的手机;同时还可通过4G无线通信模块将数据传送给云端的服务器,进而实现车辆行驶状态的远程监控功能,方便管理者监控各车辆行驶数据。
1 系统整体方案设计
车辆远程监控系统总体框架如图1 所示。该系统主要由汽车数据采集模块、数据处理模块、车载诊断(on board diagnostics, OBD)模块、蓝牙模块、通信模块以及远程监控平台构成。其中,数据采集和处理模块负责收集和处理车辆的数据,再通过蓝牙模块实现手机端的实时监控,并通过通信模块与远程管理平台进行信息交互,实现远程人机互动。此外,远程监控平台还可把收到的数据做分类存入数据库,以达到对所有车辆的一体化管理、监控和报警功能。其中OBD 模块使用蓝牙通信协议模块进行数据传输;防盗模块采用ZigBee 技术,将ZigBee 模块安装在汽车的窗户和门上以获取门窗的开关数据;GPS 定位模块主要利用北斗卫星实现车辆的位置信息采集。
图1 系统总体框架图
2 系统硬件设计
车辆实时监控系统的基本原理如图2 所示。该系统以STM32 单片机为主控芯片,由OBD 协议转换模块(ELM327)、GPS 模块、4G 通信模块、蓝牙模块、电源模块及Flash 数据缓存模块组成。
图2 车辆远程监控系统原理框图
■2.1 OBD 协议转换模块
如图3 所示,OBD 协议转换模块利用了ELM327 芯片,将OBD 协议数据转换成RS232 输出,从而准确地把车辆信息传送到CPU[3]。
图3 ELM327 电路图
目前 OBD 系统的标准由国际标准化组织(ISO)颁布的 OBD-II 标准推动,OBD-II 标准规定了故障码的格式、数据的通信协议等,以确保不同品牌和型号的车辆都能使用相同的诊断工具。本设计中,OBD-II 协议是汽车电子控制单元(Electronic Control Unit,ECU)与车载终端通信的基础[4]。车载设备利用多个外置传感器获取数据,借助ECU 进行处理,并利用CAN 总线进行信息传输。CAN 总线还用于轮胎压力监测系统、GPS、安全带警示设备及车速监控器等各种信息的传输。
■2.2 GPS 定位模块
NEO-6M 模块属于GPS定位模块中的一种,它以TTL 电平作为输出方式,可通过串行接口与监控系统连接,并能对不同参数的串口进行设置。该模块不仅有着高效和低能耗的优点,同时还具有较好的兼容性[5]。该GPS 定位模块的电路如图4所示。
图4 GPS 定位模块电路图
■2.3 蓝牙模块
本设计采用的是 HC-05 蓝牙模块,其电路如图5 所示,它主要由蓝牙芯片和外部电路组成。蓝牙芯片是模块核心部件,它负责处理蓝牙通信的各种协议。HC-05 是一款符合蓝牙2.0 规格的串行通信模块,它有能力通过串行端口与微控制器交互,从而实现微控制器与蓝牙设备之间的无线数据传输。此外,HC-05 蓝牙模块采用了蓝牙从机模式,可以与主机设备(如手机、电脑等)进行蓝牙通信。当蓝牙模块接收到蓝牙信号后,便以串口的形式向主控芯片发送消息。
图5 蓝牙模块电路图
■2.4 电源模块
电源模块采用的芯片是ME6210A30PG。ME6210 系列属于线性调压器类别,特征为低静止和低耗损,能应对最高18V 的工作电压。特别是ME6210A30PG 型号,它的输出电路能够释放出高达500mA的电流,其稳定的输出电压为3.3V,并且能够有效地为各个模块供电,详细电路设计如图6 所示。
图6 电源电路图
3 系统软件设计
本文所设计的车辆远程监控系统软件,基于 OBD 协议,主要分为 OBD 终端监控程序和监测界面设计两部分。OBD终端监测程序通过运用定位模块和车辆数据收集模块,获取车辆位置的经纬度信息。此后,它会与手机和云端服务器建立联系,向手机和远程管理平台传送数据。在数据上传至手机和远程管理平台之前,车载终端会遵照预先设置的数据规格格式化和包装数据,然后通过使用 JT/T808 协议将其发送至服务器。一旦手机和远程管理平台接收数据,会开始对数据的解析工作。最终通过手机APP 和Web 网页端来呈现车辆运行数据信息,软件整体流程如图7 所示。
图7 软件整体流程图
■3.1 OBD 检测程序设计
本文所设计系统利用 EST327 协议转换芯片实现与汽车ECU 的交流,借由 JT/T808 协议使车载终端与控制平台进行通信。在OBD 监控系统的程序中,首先是对系统 I/O 接口、传输功能以及应用功能的初始化;然后用 AT 命令进行对 EST327的读取与写入,读完车辆内部 ECU 的实时数据后,将其转化为统一的 OBD 数据,再通过CAN 总线方式将其发送至车辆各个ECU, 并在此过程中对数据进行是否正常的判断。如果数据正常,就将其上传至服务器;假如数据出现异常,就解析异常数据的错误编码,产生错误编码储存后上传至服务器。其程序流程如图8 所示。
图8 OBD 检测程序流程图
■3.2 JT/T808 通信协议
车载终端与本地手机和远程监控平台的通信标准由交通部发布的 JT/T808 协议设定,它基于TCP 或UDP 进行数据传输,且每个数据包都包含标志位、消息头、消息体和校验码。为了使系统数据近距离传输时更加高效安全,手机数据通过蓝牙模块进行传输。蓝牙模块会整理收到的数据,并以数据包的方式将其发送到手机。手机接收数据并对数据进行处理和保存,同时立即将接收到的数据进行显示。这样用户就可以随时登录手机APP 数据管理平台实时了解当前汽车的状态以及位置等相关信息。
蓝牙模块程序设计流图如图9 所示。为了让系统的蓝牙模块能够无阻碍地传输数据,首先必须对蓝牙模块进行初始化,紧接着启动主控制单元。接下来,主设备会开始搜寻周围的蓝牙设备,一旦找到相关设备,会立即释放构建连接的命令以便建立起链接。链接成功后,就可以开始数据传递。此类通信完成后,主设备和配套设备都能发布切断连接的命令。在搜寻周边蓝牙设备的过程中,可能会无法获取查询结果,因此上述步骤仅为常规模式的流程。如果在发送任何一次指令包时,接收到错误的事件包,那么这条指令就需要不断地重复发送,直到成功为止。
图9 蓝牙模块数据传输流程图
远程监控平台的数据传输则主要通过4G 无线模块实现。其他模块向4G 无线通信模块发送的所有数据,在向远程监控管理平台发送前都需要经过JT/T808 协议进行定义封装,然后经由TCP/IP 协议,最终到达远程监控管理平台。由于远程监控管理平台接收到的数据信息是由JT/T808 协议封装过的,所以其他模块对接收到的数据要经由JT/T808 协议解析才能最终返回结果。
4 系统测试分析
所设计的车辆实时监控系统如图10 所示。通过将整个OBD 检测装置连接到车辆的DLC 接口,启动小车,就能获取相关的车辆数据。
图10 系统实物测试数据图
测试过程中,近端车辆使用用户的手机会收到车辆行驶的实时数据,并通过设计手机端APP 界面进行数据显示,如图11 所示,可以正常显示车辆的剩余油量、续驶里程、总里程、油压、门锁开关等基本信息,同时通过车况查询、车辆定位等菜单还可进一步显示车辆的其他行驶数据。
图11 近端手机APP 人机交互界面
在远程的云端服务器,也可同步接收到车辆的实时行驶数据,如图12 所示。这里选择的是阿里云服务器,从图中看出,远端可以同样监测到车辆的燃油状况、车辆速度、汽车胎压等各种车辆状态信息。
图12 远程Web 人机交互界面
5 结束语
本文采用模块化设计,提出了一种基于STM32 单片机的车辆实时监控系统,通过建立硬件电路,监测与收集车辆引擎ECU 相关的参数,成功地将信息实时发送至手机和服务器。该系统可以有效地获取车辆信息和故障代码,通过手机APP 或网页端查看动态数据,实现了对车辆的实时监控和故障检测,为车主提供了车辆引擎健康状况和汽车维护需求的数据依据,满足了系统设计的终极目标。