劉敏,陳晨,顧今今
一種汽車空調控制器數據處理系統的設計
劉敏,陳晨,顧今今
(泛亞汽車技術中心有限公司,上海 201201)
針對汽車空調控制器穩定性分析的需求,開發了一種空調控制器數據處理系統,使用Python語言對空調出風口溫度性能曲線進行趨勢提取以及數據分析,并通過Laravel框架搭建Web應用網站,實現對Python腳本的調用。工程師只需要通過網站上傳測試數據,即可準確快速地得到可視化的圖表結果,提升了空調控制器數據處理的效率。
汽車空調控制器;數據處理系統;Laravel;Python
目前汽車已經成為大眾的交通工具,人們對乘車的舒適度也有了更高的追求。車內的空調系統通過對空氣的溫度、濕度、純凈度、氣流速度等方面進行控制,維持車內的舒適環境。為了保證空調控制器的控制穩定性和提高控制精度,工程師需要在不同的工況下進行空調算法標定試驗。然而如圖1的空調出風口溫度性能曲線走勢圖所示,空調在達到穩定的溫度前,會出現升溫、降溫、溫度過調等過程,此外,用戶開窗、調溫等行為都會破壞已經穩定的空調溫度曲線。
目前工程師需要利用數據采集軟件通過人工的方式提取溫度數據片段進行穩定性分析。然而通過肉眼觀察的方式進行數據提取,不僅效率低下,且對于同一數據可能出現千人千式的局面,從而導致分析結果存在偏差。

圖1 空調出風口溫度性能曲線
因此針對空調控制器開發專門的數據處理系統具有實際的工程意義。本文提出一種汽車空調控制器數據處理系統,工程師只需將得到的試驗數據導入該數據處理系統,點擊相應操作按鈕就可自動獲取分析結果,能夠有效地縮短數據處理周期,解決了空調控制器穩定性分析中實時性、高效性和交互性較差的問題。
Python是一種非常流行的跨平臺的計算機程序設計語言,具有代碼簡潔、功能強大、開源免費、可移植等特點,被廣泛應用于數學計算、機器學習和多種數據科學應用[1,2]。由于Python提供了豐富的第三方科學計算庫,可以高效率地實現開發,因而本系統采用Python語言開發數據分析程序,實現控制器性能有效數據提取和不同參數條件下的性能穩定性分析。
Laravel框架是一種在Web應用中廣泛使用的PHP語言框架,它遵循MVC(Model View Controller)[3]設計模式,以Composer進行代碼包的管理,易于跨平臺移植,可以大大簡化系統的代碼實現流程[4]。因而本文采用了Laravel框架搭建數據處理系統的Web網站,設計可視化操作界面,實現了用戶注冊、用戶登錄、數據上傳、文件儲存、調用Python腳本、數據可視化展示等功能;
具體業務執行流程如圖2所示,用戶登錄網站后,上傳測試數據,生成數據分析任務傳遞給基于Python的數據處理模塊進行性能穩定性分析,再將分析結果通過前端頁面進行綜合、實時的展現。

圖2 數據處理系統業務執行流程
為了對溫度性能曲線的數據片段進行準確、高效的提取,本程序使用Python語言進行數據處理,首先采用了Savitzky- Golay平滑算法對數據進行平滑處理,通過Douglas- Peucker算法進一步對數據進行抽稀處理,以少量的點描述溫度曲線波動的趨勢,提取出所需數據進行穩定性分析,最后將結果傳遞給前端界面進行展示。
Savitzky-Golay[5]濾波器被廣泛運用于數據的平滑除噪,是一種在時域內通過多項式實現滑動窗內的最小二乘擬合的濾波方法。
圖3為空調出風口溫度性能曲線經過Savitzky-Golay數據平滑后的結果,原始的曲線存在大量的輕微波動,經過平滑處理后,基本的升溫、降溫和恒溫的趨勢保持不變,僅將數據中的波動進行了平滑,減少在后續數據處理時將輕微的噪音波動作為正常的趨勢數據提取的可能性。

圖3 空調出風口溫度性能曲線數據平滑后的結果
Douglas-Peucker[6]算法是一種經典的數據抽稀算法,在對曲線保持原有的形狀的基礎上使用少量有限的點來描述曲線的形態,實現曲線的壓縮表示。
圖4為空調出風口溫度性能曲線在Savitzky-Golay濾波后,再經過Douglas-Peucker算法進行數據抽稀后的結果,可以看出,曲線經過濾波、抽稀處理后,溫度性能曲線由原本的8890個點減少到由114個點表征曲線的基本形態,而曲線的整體趨勢得到了保留。通過去除曲線上的冗余點,用少量的點描述曲線的趨勢,顯著提高了后續數據處理的速度,同時保證了程序的準確性。

圖4 空調出風口溫度性能曲線數據抽稀后的結果
在經過數據平滑和濾波后,基于數據截取的需求對空調出風口溫度性能曲線進行數據分段,將曲線劃分為升溫過程、降溫過程以及恒溫過程,記錄不同趨勢數據的起始、終止坐標位置,將結果代入原始曲線,提取所需數據片段做進一步的分析。

圖5 空調出風口溫度性能曲線趨勢提取后的結果
圖5為曲線趨勢提取后的結果,從圖中可以看出,曲線已經被分為恒溫區域和升/降溫區域,成功提取出3 段恒溫區域數據,符合數據提取的要求。
基于提取的數據片段,通過均值、方差等統計分析變量對空調控制器的穩定性進行評價,并結合車速、溫度、濕度、氣流速度等環境條件進行分析,為進一步尋找影響穩定性的主要因素提供了基礎。
本系統開發了一個基于Web服務的網站,可以為用戶提供圖形化的交互界面,用戶訪問網站后,可以上傳測試數據,提交待分析的需求并接收數據處理返回的結果,以表格、折線圖等多種形式查看和下載分析結果。
本系統基于Laravel 5.5框架開發,以LNMP(Linux+ Nginx+ MySQL+PHP)架構搭建網站服務系統。其中,使用開源免費的Ubuntu作為開發和運行的環境,Nginx作為代理服務器,MySQL作為數據庫管理系統,采用PHP語言作為內容動態解析語言。
為了使系統能夠根據用戶設備的屏幕大小進行自適應調節,本系統采用Javascript、HTML5、CSS3以及Bootstrap作為前端框架設計用戶注冊、用戶登錄、數據上傳等Web前端界面,保證用戶在手機、平板或電腦等設備上都能獲得較好的用戶體驗。

圖6 數據分析系統Web端界面
Bootstrap-Table是基于Bootstrap的表格插件,通過簡單的設置就可以開發一個功能完備的表格。ECharts是一款基于JavaScript的可視化插件,具備豐富的圖表類型,支持深度的交互數據探索功能。本系統采用Bootstrap-Table框架設計表格界面,Echarts框架設計動態圖表,將數據處理模塊返回的結果以圖表的形式呈現給用戶。圖6為經過可視化圖表展示的結果。
本文設計了一種汽車空調控制器數據處理系統,主要講解了系統的總體設計、基于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.
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 )
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.
Vehicle air-conditioning controller; Data processing system; Laravel; Python
10.16638/j.cnki.1671-7988.2021.07.015
U463.85+1
A
1671-7988(2021)07-42-03
U463.85+1
A
1671-7988(2021)07-42-03
劉敏,碩士,高級工程師,就職于泛亞汽車技術中心有限公司,研究方向:電子架構、車輛大數據分析。