42
10.16638/jki.1671-7988.2021.07.015
一种汽车空调控制器数据处理系统的设计
刘敏,陈晨,顾今今
(泛亚汽车技术中心有限公司,上海 201201)
摘 要:针对汽车空调控制器稳定性分析的需求,开发了一种空调控制器数据处理系统,使用Python 语言对空调出风口温度性能曲线进行趋势提取以及数据分析,并通过Laravel 框架搭建Web 应用网站,实现对Python 脚本的调用。工程师只需要通过网站上传测试数据,即可准确快速地得到可视化的图表结果,提升了空调控制器数据处理的效率。
关键词:汽车空调控制器;数据处理系统;Laravel ;Python
中图分类号:U463.85+1  文献标识码:A  文章编号:1671-7988(2021)07-42-03
Design of Data Processing System for Vehicle Air-conditioning Controller
Liu Min, Chen Chen, Gu Jinjin
( Pan Asia Technical Automotive Center Co., Ltd., Shanghai 201201 )
Abstract: A data processing system is designed for stability analysis of vehicle air-conditioning controller. It uses Python to perform trend extraction and data analysis of air-conditioning outlet temperature performance curves, and builds a website using Laravel framework, which can execute python scripts. Engineers only need to upload the test data to the website to accurately access the visualization results, which improves the efficiency of data processing for the air conditioner controller. Keywords: Vehicle air-conditioning controller; Data processing system; Laravel; Python CLC NO.: U463.85+1  Document Code: A  Article ID: 1671-7988(2021)07-42-03
前言
目前汽车已经成为大众的交通工具,人们对乘车的舒适度也有了更高的追求。车内的空调系统通过对空气的温度、湿度、纯净度、气流速度等方面进行控制,维持车内的舒适环境。为了保证空调控制器的控制稳定性和提高控制精度,工程师需要在不同的工况下进行空调算法标定试验。然而如图1的空调出风口温度性能曲线走势图所示,空调在达到稳定的温度前,会出现升温、降温、温度过调等过程,此外,用户开窗、调温等行为都会破坏已经稳定的空调温度曲线。
目前工程师需要利用数据采集软件通过人工的方式提取温度数据片段进行稳定性分析。然而通过肉眼观察的方式进
行数据提取,不仅效率低下,且对于同一数据可能出现千人
千式的局面,从而导致分析结果存在偏差。
图1  空调出风口温度性能曲线
因此针对空调控制器开发专门的数据处理系统具有实际的工程意义。本文提出一种汽车空调控制器数据处理系统,工程师只需将得到的试验数据导入该数据处理系统,点击相应操作按钮就可自动获取分析结果,能够有效地缩短数据处理周期,解决了空调控制器稳定性分析中实时性、高效性和交互性较差的问题。
作者简介:刘敏,硕士,高级工程师,就职于泛亚汽车技术中心有限公司,研究方向:电子架构、车辆大数据分析。
刘敏 等:一种汽车空调控制器数据处理系统的设计
43
1 系统总体结构设计
Python 是一种非常流行的跨平台的计算机程序设计语言,具有代码简洁、功能强大、开源免费、可移植等特点,被广泛应用于数学计算、机器学习和多种数据科学应用[1,2]。由于Python 提供了丰富的第
三方科学计算库,可以高效率地实现开发,因而本系统采用Python 语言开发数据分析程序,实现控制器性能有效数据提取和不同参数条件下的性能稳定性分析。
Laravel 框架是一种在Web 应用中广泛使用的PHP 语言框架,它遵循MVC (Model View Controller )[3]
设计模式,以Composer 进行代码包的管理,易于跨平台移植,可以大大简化系统的代码实现流程[4]。因而本文采用了Laravel 框架搭建数据处理系统的Web 网站,设计可视化操作界面,实现了用户注册、用户登录、数据上传、文件储存、调用Python 脚本、数据可视化展示等功能;
具体业务执行流程如图2所示,用户登录网站后,上传测试数据,生成数据分析任务传递给基于Python 的数据处理模块进行性能稳定性分析,再将分析结果通过前端页面进行综合、实时的展现。
图2  数据处理系统业务执行流程
2 数据分析程序开发
为了对温度性能曲线的数据片段进行准确、高效的提取,本程序使用Python 语言进行数据处理,首先采用了Savitzky- Golay 平滑算法对数据进行平滑处理,通过Douglas- Peucker 算法进一步对数据进行抽稀处理,以少量的点描述温度曲线波动的趋势,提取出所需数据进行稳定性分析,最后将结果传递
给前端界面进行展示。 2.1 数据平滑处理
Savitzky-Golay [5]滤波器被广泛运用于数据的平滑除噪,是一种在时域内通过多项式实现滑动窗内的最小二乘拟合的滤波方法。
图3为空调出风口温度性能曲线经过Savitzky-Golay 数据平滑后的结果,原始的曲线存在大量的轻微波动,经过平
滑处理后,基本的升温、降温和恒温的趋势保持不变,仅将数据中的波动进行了平滑,减少在后续数据处理时将轻微的噪音波动作为正常的趋势数据提取的可能性。
图3  空调出风口温度性能曲线数据平滑后的结果
2.2 数据抽稀处理
Douglas-Peucker [6]算法是一种经典的数据抽稀算法,在对曲线保持原有的形状的基础上使用少量有限的点来描述曲线的形态,实现曲线的压缩表示。
图4为空调出风口温度性能曲线在Savitzky-Golay 滤波后,再经过Douglas-Peucker 算法进行数据抽稀后的结果,可以看出,曲线经过滤波、抽稀处理后,温度性能曲线由原本的8890个点减少到由114个
点表征曲线的基本形态,而曲线的整体趋势得到了保留。通过去除曲线上的冗余点,用少量的点描述曲线的趋势,显著提高了后续数据处理的速度,同时保证了程序的准确性。
图4  空调出风口温度性能曲线数据抽稀后的结果
2.3 曲线趋势提取
在经过数据平滑和滤波后,基于数据截取的需求对空调出风口温度性能曲线进行数据分段,将曲线划分为升温过程、降温过程以及恒温过程,记录不同趋势数据的起始、终止坐标位置,将结果代入原始曲线,提取所需数据片段做进一步的分析。
图5  空调出风口温度性能曲线趋势提取后的结果
图5为曲线趋势提取后的结果,从图中可以看出,曲线已经被分为恒温区域和升/降温区域,成功提取出  3 段恒温
汽车实用技术
44 区域数据,符合数据提取的要求。 2.4 稳定性分析
基于提取的数据片段,通过均值、方差等统计分析变量对空调控制器的稳定性进行评价,并结合车速、温度、湿度、气流速度等环境条件进行分析,为进一步寻影响稳定性的主要因素提供了基础。
3 网站搭建
本系统开发了一个基于Web 服务的网站,可以为用户提供图形化的交互界面,用户访问网站后,可以上传测试数据,提交待分析的需求并接收数据处理返回的结果,以表格、折线图等多种形式查看和下载分析结果。 3.1 后台架构设计
本系统基于Laravel 5.5框架开发,以LNMP (Linux+ Nginx+ MySQL+PHP )架构搭建网站服务系统。其中,使用开源免费的Ubuntu 作为开发和运行的环境,Nginx 作为代理服务器,MySQL 作为数据库管理系统,采用PHP 语言作为内容动态解析语言。 3.2 前端界面设计
为了使系统能够根据用户设备的屏幕大小进行自适应调节,本系统采用Javascript 、HTML5、CSS3以及Bootstrap 作为前端框架设计用户注册、用户登录、数据上传等Web 前端界面,保证用户在手机、平板或电脑等设备上都能获得较好的用户体验。
图6  数据分析系统Web 端界面
Bootstrap-Table 是基于Bootstrap 的表格插件,通过简单的设置就可以开发一个功能完备的表格。ECharts 是一款基于
JavaScript 的可视化插件,具备丰富的图表类型,支持深度的交互数据探索功能。本系统采用Bootstrap-Table 框架设计表格界面,Echarts 框架设计动态图表,将数据处理模块返回的结果以图表的形式呈现给用户。图6为经过可视化图表展示的结果。
4 结束语
本文设计了一种汽车空调控制器数据处理系统,主要讲解了系统的总体设计、基于Python 语言的数据分析程序开发、基于Laravel 框架的网站搭建。用户可以登录网站上传测试数据,调用Python 脚本对空调出风口温度性能曲线进行趋势提取以及稳定性分析,通过前端页面以图表的方式查看结果,使用流程简单便捷,分析结果可靠有效,缩短了数据处理周期。后续可以结合环境条件进行分析,探索环境因素对稳定性的影响,进一步完善和实现系统的功能。
参考文献
[1] Oliphant T E.Python for scientific computing[J].Computing in Scie
-nce & Engineering, 2007,9(3):10-20.
[2] Pedregosa F,Varoquaux G , Gramfort A, et al. Scikit-learn: Machine
learning in Python[J].the Journal of machine Learning research, 2011,12:2825-2830.
[3] Leff A,Rayfield J T.Web-application development using the model/
view/controller design pattern[C]//Proceedings fifth ieee interna -tional enterprise distributed object computing conference. IEEE, 2001:118-127.
[4] 阮卫华,何正焱.基于laravel 框架的新闻发布系统的设计[J].软件,
2019,40(08):59-61+65.
[5] Savitzky A, Golay M J E. Smoothing and differentiation of data by
simplified least squares procedures[J]. Analytical chemistry, 1964, 36(8): 1627-1639.
[6] Douglas D H,Peucker T K.Algorithms for the reduction of the num-
ber of points required to represent a digitized line or its caricature[J]. Cartographica: the international journal for geographic information and geovisualization,1973,10(2):112-122.
>汽车降温