技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國(guó)傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 基于Android車載虛擬儀表人機(jī)界面設(shè)計(jì)

基于Android車載虛擬儀表人機(jī)界面設(shè)計(jì)

時(shí)間:2018-01-26 10:48:44來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語(yǔ):?車載虛擬儀表人機(jī)界面,是駕駛員獲取汽車工況數(shù)據(jù)的主要界面,便于駕駛員實(shí)時(shí)全面地掌握汽車工作狀態(tài),有效地與汽車進(jìn)行人機(jī)交互,對(duì)保障汽車安全穩(wěn)定的行駛有著重要意義

車載虛擬儀表人機(jī)界面,是駕駛員獲取汽車工況數(shù)據(jù)的主要界面,便于駕駛員實(shí)時(shí)全面地掌握汽車工作狀態(tài),有效地與汽車進(jìn)行人機(jī)交互,對(duì)保障汽車安全穩(wěn)定的行駛有著重要意義,目前普遍使用的是WindowsCE和Linux操作系統(tǒng)。WindowsCE操作系統(tǒng)功能穩(wěn)定,有完善的技術(shù)支持,但價(jià)格昂貴、源代碼封閉、網(wǎng)絡(luò)可利用資源較少;Linux操作系統(tǒng)的最大優(yōu)勢(shì)在于免費(fèi)和開(kāi)源,是車載信息顯示系統(tǒng)的主流操作系統(tǒng),但其并不是基于移動(dòng)設(shè)備開(kāi)發(fā)的,不能完全滿足移動(dòng)設(shè)備的需求。

Android是Google開(kāi)發(fā)的一款基于開(kāi)源操作系統(tǒng)Linux的開(kāi)放、開(kāi)源移動(dòng)平臺(tái),對(duì)于目前主流的嵌入式平臺(tái)支持良好,Android系統(tǒng)的優(yōu)越性能己在多款移動(dòng)設(shè)備上得到驗(yàn)證。它包括操作系統(tǒng)用戶界面和應(yīng)用程序而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。文中提出利用Android作為車載虛擬儀表軟件開(kāi)發(fā)平臺(tái),在Android提供的應(yīng)用程序框架上來(lái)實(shí)現(xiàn)虛擬儀表的人機(jī)界面。

1系統(tǒng)硬件體系

雖然Android是作為一款手機(jī)軟件平臺(tái)進(jìn)行開(kāi)發(fā)的應(yīng)用程序框架和應(yīng)用程序但其本質(zhì)是一個(gè)嵌入式軟件開(kāi)發(fā)平臺(tái)。若將Android用于車載虛擬儀表系統(tǒng)的開(kāi)發(fā),需要對(duì)儀表系統(tǒng)應(yīng)用的特點(diǎn)進(jìn)行調(diào)整,系統(tǒng)采用的硬件平臺(tái)是REAL210,CPU處理速度600MHz~1GHz,基于Cortex-A8架構(gòu)。系統(tǒng)中主要的硬件模塊有音頻模塊、CAN模塊、液晶顯示模塊、串口和以太網(wǎng)通信模塊。

2Android軟件系統(tǒng)的定制

由于Android最初是基于手機(jī)軟件開(kāi)發(fā)平臺(tái)進(jìn)行設(shè)計(jì)的,而且其中大部分模塊都是為手機(jī)通信所設(shè)計(jì),為節(jié)約開(kāi)發(fā)板資源,需要將Android系統(tǒng)中不必要的組件剪裁掉,保留必要的最小系統(tǒng)。因此必須對(duì)框架進(jìn)行修改,將與電話、短信等相關(guān)的模塊移除。僅留下必需的Android的核心模塊,包括PackageManager、SystemService、InputService、HardwareSerVice和SystemServer等。通過(guò)修改SystemServer的加載過(guò)程可以去掉不需要的服務(wù)和模塊,另外還要實(shí)現(xiàn)底層硬件的驅(qū)動(dòng)程序,重新交叉編譯Linux2.6內(nèi)核,并在驅(qū)動(dòng)程序?qū)崿F(xiàn)的基礎(chǔ)上封裝函數(shù)庫(kù),以便Android的應(yīng)用程序通過(guò)JNI的方式訪問(wèn)底層驅(qū)動(dòng)。

車載虛擬儀表人機(jī)界面的應(yīng)用程序需要進(jìn)行重新開(kāi)發(fā),主要是界面模塊、CAN模塊、數(shù)據(jù)訪問(wèn)模塊和告警模塊。其中CAN模塊設(shè)計(jì)成Service的方式。數(shù)據(jù)訪問(wèn)模塊設(shè)計(jì)為ContentProvider.告警模塊采用的通知方式為BroadcastReceiver和Notifica.系統(tǒng)通電后,在Android的SystemServer中首先啟動(dòng)CAN模塊,然后啟動(dòng)主界面的程序。

3應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)

應(yīng)用程序的系統(tǒng)架構(gòu)。通過(guò)PackageManager提供的各個(gè)APK的信息以菜單方式對(duì)各個(gè)功能模塊進(jìn)行調(diào)用。

3.1CAN模塊

CAN模塊用于數(shù)據(jù)的采集和處理,CAN模塊接到數(shù)據(jù)后,要對(duì)數(shù)據(jù)進(jìn)行解析,判斷出接收到的數(shù)據(jù)類型。最終得到所需要的值。計(jì)算方法為根據(jù)參數(shù)所在數(shù)據(jù)域的字節(jié)位置提取其對(duì)應(yīng)的原始數(shù),再根據(jù)該參數(shù)對(duì)應(yīng)的分辨率和偏移量得到參數(shù)值,其參數(shù)值的計(jì)算方法為:參數(shù)值=參數(shù)原始數(shù)×分辨率+偏移量。通過(guò)編程計(jì)算出數(shù)據(jù)代表的實(shí)際發(fā)動(dòng)機(jī)狀態(tài)值,即可準(zhǔn)確地在車輛實(shí)時(shí)功能模塊中顯示當(dāng)前的車輛狀態(tài)。

3.2數(shù)據(jù)訪問(wèn)模塊

程序的數(shù)據(jù)訪問(wèn)模塊,采用Android系統(tǒng)內(nèi)置的SQLite數(shù)據(jù)庫(kù),對(duì)一些重要車況信息自動(dòng)記憶存儲(chǔ),便于分析和維修,起到汽車“黑匣子”的作用。存儲(chǔ)的車況信息可以通過(guò)點(diǎn)擊回放按鈕直接在儀表界面上回放,真實(shí)再現(xiàn)汽車行進(jìn)過(guò)程中的狀況。

首先調(diào)用。openOrCreateDatabase()創(chuàng)建vehicle_database.db數(shù)據(jù)庫(kù),然后配置SQLite數(shù)據(jù)庫(kù)屬性通過(guò)。創(chuàng)建一個(gè)數(shù)據(jù)表分別定義:行駛?cè)掌?、出廠信息、車速、轉(zhuǎn)速信號(hào)、啟動(dòng)、停止時(shí)刻、行使里程、報(bào)警信息等。將黑匣子接收到的數(shù)據(jù)對(duì)應(yīng)數(shù)據(jù)表定義的格式通過(guò)。insert()向數(shù)據(jù)表中插入數(shù)據(jù),通過(guò)。delete()指定日期來(lái)刪除過(guò)期的數(shù)據(jù)。顯示歷史數(shù)據(jù)需要先通過(guò)DatePicker獲取用戶輸入的年、月、日,并將具體日期數(shù)值提取出來(lái),將條件放入SQL查詢語(yǔ)句。query()中來(lái)查詢,定義一個(gè)Cursor返回結(jié)果,然后創(chuàng)建一個(gè)數(shù)據(jù)適配器將Cursor的結(jié)果直接映射到ListView中的對(duì)應(yīng)的TextView上。

3.3功能模塊

功能模塊用于測(cè)控車輛的速度、發(fā)動(dòng)機(jī)轉(zhuǎn)速、水溫和燃油、告警事件的顯示。

3.4告警模塊

告警模塊本身是一個(gè)BroadcastReceiver,它負(fù)責(zé)接收其他模塊的告警事件,超速、油量、水溫、油壓等,并將這些信息寫(xiě)入數(shù)據(jù)庫(kù),同時(shí)調(diào)用告警顯示界面顯示對(duì)應(yīng)的信息或以Notification的方式在狀態(tài)欄進(jìn)行提示。在Android系統(tǒng)中,所有的應(yīng)用程序之間都通過(guò)Binder進(jìn)行通信,這種IPC機(jī)制是基于Linux底層驅(qū)動(dòng)實(shí)現(xiàn)的,與傳統(tǒng)的進(jìn)程間通信機(jī)制相比,它的執(zhí)行具有更高的效率和更好的擴(kuò)展性。

4結(jié)束語(yǔ)

利用Android作為人機(jī)界面所開(kāi)發(fā)的框架通過(guò)對(duì)各個(gè)功能模塊的細(xì)化,可以使系統(tǒng)設(shè)計(jì)更合理,模塊結(jié)構(gòu)更獨(dú)立,容易進(jìn)行軟件維護(hù)和代碼二次開(kāi)發(fā),基于Android應(yīng)用程序框架設(shè)計(jì)的各個(gè)模塊,可以進(jìn)行自由修改和替換,提高了系統(tǒng)的可定制性,雖然Android是手機(jī)軟件開(kāi)發(fā)平臺(tái),但憑借其優(yōu)秀的系統(tǒng)架構(gòu)設(shè)計(jì)和理念,會(huì)有越來(lái)越多的車載虛擬儀表采用Android作為開(kāi)發(fā)平臺(tái)。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:緊扣工業(yè)自動(dòng)化脈搏的網(wǎng)絡(luò)傳感器

下一篇:人機(jī)界面在塔吊領(lǐng)域應(yīng)用案例

中國(guó)傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:中國(guó)傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國(guó)傳動(dòng)網(wǎng)(u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“中國(guó)傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見(jiàn)反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購(gòu)咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)