耿黄政 郭雄
摘要:新能源汽车远程监测平台实时采集车辆的相关数据信息。设计开发的新能源汽车远程监测平台主要包括车载终端软硬件,由服务器、数据库、操作系统和服务端程序构成的云平台,由登录模块、车辆管理车机管理模块、数据调用模块组成的管理系统。开发一种新能源汽车远程监测平台,针对新能源汽车的动力特性,采集并土传诸如车辆状态、充电状态、车速、累计里程、总电压、总电流、电池荷电状态等车辆相关数据,实现对新能源汽车的监测和管理。
关键词:新能源汽车;远程监测平台;设计;管理系统
中图分类号:U463.6
文献标识码:A
DOI: 10.15913/j.cnki.kjycx.2019.11.019
1 新能源汽车远程监测平台架构
新能源汽车远程监测平台总体架构如图1所示。
对于新能源汽车,其主要状态可划分为行驶、驻车和驻车充电三种,由于其主要动力来源是动力电池,在行驶和驻车充电场景下的状态数据都需要进行实时监控。车辆相关实时数据主要由车载终端通过车辆的OBD接口进行采集,在车载终端内部完成数据的组包。在网络状况良好的情况下,通过外置的GPRS模块,按照车载终端与远程监测平台间的通信协议.将数据以字段的形式发送到云平台。云平台按照协议对上传的数据字段进行解析,将对应字段转换为可读的车辆数据信息,并交由MySQL数据库存储及管理,为后期大数据挖掘应用提供数据样本。最终利用管理系统,通过云平台的数据库操作接口,直观地将车辆的实时数据提供给管理人员。管理人员同时也能通过管理系统对联网车辆进行状态查询、车辆数据实时监测、发送车辆远程指令等操作。
车载终端与车辆之间的通信,通过与OBD接口的物理连接,从车载CAN总线上获取车辆各个节点上的控制器相关数据及向控制器发送指令。车载终端与远程监测云平台的连接采用的是4G通信技术及TCP/IP协议,车载终端通过外置的GPRS模块与远程监测云平台进行实时信息交互。管理系统通过互联网访问远程监测云平台的数据库获取监测数据,或通过服务器向车辆发送远程指令。
1.1 车载终端
车载终端的主要功能包括数据采集、数据组包、数据包上传、数据包解析、ECU通信、本地存储、GPS定位。汽车上的各个功能及各种电子控制系统都是由诸多电控单元控制的,每个ECU都连接在车载总线上以实现车辆电气组件之间的网联。
CAN总线是最古老的多功能总线规范之一,也是正在运行的最普遍的系统总线之一,典型的配置允许多达1 10个节点和500 m的总线长度,并且能在多种不同的物理层上运行。车载终端通过车辆OBD接口实现与车载CAN总线的物理连接,并通过内置的CAN通信模块与ECU实现实时通信,采集各个ECU上的数据。另外,当管理系统发出远程指令时,车载终端同样通过逆向路径向车辆相关ECU发送指令以实现对车辆的远程控制。
1.1.1 车载终端硬件设计
根据对车载终端设计需求的分析可知,车载终端的硬件模块组成可分为主控芯片、CAN通信模塊、4G通信模块、定位模块、本地存储模块、电源模块、加速识别模块。
主控芯片是车载终端硬件系统中最重要的一部分,其型号的选用需要结合性能、可扩展性、成本等方面进行综合考量。CAN通信模块承担着车内网络数据与外界交换的任务。4G通信模块和定位模块采用的是上海移远通信技术股份有限公司( Quectel)推出的EC20 R2.1模块。
本地存储模块保证车载终端在无线网络阻塞时的采集数据不丢失,鉴于其数据包占用内存体积并不大,采用8G容量的SD卡作为存储介质,与闪存FLASH、磁电存储器RAM共同组成本地存储模块。车载终端从车辆OBD接口汲取电量,电源模块存储电池电量,实现各模块的稳定供电。加速感知模块采用的是MEMS公司推出的型号为GMA301的三轴数字加速度计。
1.1.2 车载终端软件设计
在完成车载终端硬件选型和各主要模块电路设计之后,还需要结合各模块间的通信协议对软件程序进行编写,实现软硬件的结合才能使车载终端的各项功能正常运行。本文在Keil uVision4开发环境下,采用C语言编写及调试与CAN通信模块、4G通信模块、定位模块、本地存储模块相关的软件程序,主要实现数据采集、数据上传、本地存储3部分功能。数据采集部分的功能主要包含对车载CAN总线上承载的车辆相关数据的采集和定位模块生成数据的采集。数据上传部分的程序主要负责将车载终端主控芯片组包好的车辆实时数据和GPS定位数据上传到远程监测系统的云平台。本地存储部分主要功能为数据包的备份与暂存。
1.2 云平台
1.2.1 云平台功能
1.2.1.1 数据解析
云平台按照车载终端采用的TCP/IP传输协议,将上传到平台的数据包对应字段解析还原成可读的车辆相关数据。
1.2.1.2 数据预处理
由于车辆运行环境不断变化,其定位信号和4G信号会出现不稳定的情况,部分实时监测数据将无法做到实时上传,导致数据集出现错误与缺失。平台必须剔除无效数据,并在接收到车载终端的补发数据后,实时整合数据,保证实时数据集在时间轴上的连续性和完整性。
1.2.1.3 数据库管理
监测车辆通过车载终端与云平台连接后,即向云平台不断发送数据,随着时间的积累,大量的上传数据将会在概念上从实时数据转变为历史数据。为了方便调用管理系统,云平台须具有在数据库内部将数据分区域划分存储的功能,例如实时数据和历史数据的区分,车辆数据和车机数据的区分,采集数据和录人数据的区分等。
1.2.1.4 提供操作接口
云平台需要提供数据查询接口给管理平台,实现数据查询及列表导出功能;提供数据库操作接口,实现对车辆信息、车机信息的增删查改功能;提供指令转发接口,实现车辆远程控制指令的发送及反馈功能;提供转发接口,将平台采集数据转发至国家公共平台。
1.2.1.5 云平台扩展接口
为了提高云平台底层代码的复用性,需要前期在云平台的系统架构中预置数据库调用及扩展接口。由于新能源汽车车辆数据的监测与采集是提供远程服务的基础,当需要开发新的车辆大数据应用平台时,仅需将远程监测云平台部分作为提供实时监测数据的源头,在此基础上添加特定应用场景下的功能扩展模块及并行系统。此类以云平台作为应用系统的主干,对外提供扩展接口的方式,将大大提高平台底层代码的复用性,并尽可能减少新平台的开发时间和成本。
1.2.2 云平台总体设计
远程监测平台的整体结构分为操作系统、服务器、数据库及开发语言4个部分。Linux是一套免费开源类Unix操作系统,开源的优点在于可以监控数据运算及流向,因此也具备很高的安全性。同时,对于云平台这种依赖共享资源集群的系统,需要虚拟化技术的支持,目前几款比较出名的虚拟化软件都是以Linux为内核开发的,其优越性也不言而喻。由于云平台的主要功用在于接收实时上传的车辆监测数据,以及向车载终端发送远程指令,同时考虑到大量车载终端接人以及高访问量,独立的单体结构服务器无法满足系统的需求,因此远程监测云平台需要采用分布式的服务器集群来解决其高并发导致的算力不足问题。
考虑到现阶段数据库主要是存储车辆的实时数据及历史数据,运用关系型数据库管理系统可以较好完成数据的高效管理。关系型数据库的存储逻辑是将数据预先进行人为分类,然后保存在不同的表单中,所以其查询速度和应用灵活性得到了保证。得益于其优异的性能,且能与PHP和Apache搭配形成开源条件下的优异开发环境,本文采用在Web应用方面最好的开源关系型数据库管理应用软件MySQL作为远程监测云平台的数据库。
开发语言采用PHP、Go及JavaScript。PHP作为一种创建动态交互性站点的强有力的服务器端脚本语言,十分适合Web开发,且语言简单、易上手,因此选用PHP语言作为云平台及管系统主要架构的编译语言。
1.3 管理系统
1.3.1 管理系统功能介绍
1.3.1.1 监控管理
对所有与云平台连接的监控车辆的定位信息和实时数据监控,在可视化界面中直观展示当前车辆位于地图上的定位,以及典型的新能源汽车实时数据。
1.3.1.2 故障告警
根据国标要求,当车辆出现运行故障时须上报故障信息,包括故障名称、故障起止时间、持续时间等信息。
1.3.1.3 车辆管理
系统可监测车辆及车机在平台上的注册及登录、车辆基本信息的管理,以及与车载终端的绑定操作。
1.3.1.4 车机管理
系统可对车机的绑定状态进行管理,对车载终端软件升级包的管理及发送,以及查询车机的原始数据。
1.3.1.5 数据查询
通过输入车辆车牌号或VIN码,可查询特定时段的车辆行驶记录及充电记录。
1.3.1.6统计报表
将各个车辆的实时数据进行汇总整理,以统计报表的形式呈现在用户界面上,根据一段时间内的里程、充电、故障等内容的统计,对车辆和车机进行宏观管理。
1.3.2 管理系统主要模块开发
1.3.2.1 登录模块
客户端登录模块是整个远程监测平台管理系统的人口,在对平台进行操作前,该模块需要完成对管理人员或用户的身份认证,并提供修改密码功能选项。
1.3.2.2 车辆管理与车机管理模块
车辆管理模块和车机管理模块共同完成对监控车辆身份信息录入以及车载终端与车辆的绑定操作,因此,在此对两模块进行并行设计。其操作逻辑设计如下:在车辆管理模块下点击“添加”按钮到达车辆信息注册界面,录入车辆VIN码、车牌号、车型车款等车辆身份信息,支持信息的增、删、改;在车机管理模块下点击“添加”按钮到达车机信息注册界面,录入车机编号、SIM卡号等车载终端身份信息,支持信息的增、删、改;在未绑定车机模块中,查找新注册的未绑定车机号,点击“绑定车辆”按钮,查找新注册车辆VIN码或车牌号,选定后点击“绑定”即可完成车辆与车载终端的绑定。以上操作的业务逻辑均为:管理系统客户端首先向Server端发送增、删、改及查询的服务请求,后者响应服务请求,更新或检索数据库,最后将结果返回到前端。
1.3.2.3 数据调用模块
作为新能源汽车远程监测平台管理系统,其核心是提供监控车辆的实时数据查询、展示、导出等功能,而实现这些功能的本质就是对数据的调用。在对管理系统的需求分析中,将其功能设计为6个主要的功能,其中车监控管理、故障告警、数据查询、统计报表4个功能模块,承担了对监控车辆实时数据查询和展示的主要任务。鉴于数据调用功能的业务逻辑相同,仅在调用的数据类型及前端呈现方式上有区别,因此,对此4个功能模块进行并行设计与开发。
2 远程监测平台测试
按照系统测试流程对车载终端与新能源汽车远程监测平台的联合功能测试,结果表明车载终端能完成对车辆实时数据的采集,并在内部组包后发送至远程监测平台,同时在存储模块中进行数据的备份;登录模块能完成对登录用户身份信息的验证;车辆管理模块与车机管理模块能够完成设备身份信息的增、删、改、查等操作,并能在模块内完成车辆与车机对应身份信息的绑定;监控管理模块中,能实时显示车辆当前的数据,并按照设置的刷新時限对界面上的数据进行更新,同时其定位数据能以标注的形式在百度地图上显示;故障告警模块能及时显示车辆报警等级,并上传故障发生前后30 s内的故障信息;数据查询模块内能根据筛选条件,准确匹配到车辆的行驶记录或充电记录,且能导出当前的查询数据;统计报表模块能以走势图和柱状图作为媒介,展示车辆以日、月为单位的统计数据。根据现有表现层的测试结果,目前整体系统能稳定运行。
3 结束语
本文设计开发了一套具有通用特性的新能源汽车远程监测平台,该平台可运用于以车辆实时数据监测为基础的新能源汽车服务管理系统,可以提升新能源汽车的监控管理及远程服务水平,不仅能加快提高用户对新能源汽车的接受度,还能为厂商在生产制造及升级技术方面提供重要的指导,逐渐实现汽车产业的“新四化”。