李麗蘭
(南京理工大學(xué) 自動(dòng)化學(xué)院,南京 210094)
?
基于CC2540的手機(jī)APP車輛監(jiān)控系統(tǒng)
李麗蘭
(南京理工大學(xué) 自動(dòng)化學(xué)院,南京 210094)
設(shè)計(jì)了一種基于TI公司CC2540芯片的車輛監(jiān)控系統(tǒng),給出了該系統(tǒng)的硬件設(shè)計(jì)和軟件流程。該系統(tǒng)可以通過上位機(jī)的手機(jī)監(jiān)控APP靈活配置車輛協(xié)議,并實(shí)現(xiàn)對(duì)車輛的里程、油耗等CAN總線數(shù)據(jù)和GPS數(shù)據(jù)的監(jiān)測(cè)。實(shí)踐證明,該系統(tǒng)具有易于使用、功能完備、耗電量低、可配置性強(qiáng)等優(yōu)點(diǎn),在車輛管理方案中具有一定的實(shí)用價(jià)值。
車輛監(jiān)測(cè)終端;藍(lán)牙;CAN;車輛總線協(xié)議
近年來,公車私用的情況時(shí)有發(fā)生,為了方便進(jìn)行車輛的管理,需要獲取車輛的油耗、行程以及位置信息。如果要監(jiān)測(cè)某一輛車的使用情況,可在取車的時(shí)候讀取出車輛的油耗以及行程進(jìn)行記錄,然后在車輛使用完成進(jìn)行交接時(shí),再次讀取這兩個(gè)數(shù)據(jù),用車人員根據(jù)油耗信息進(jìn)行油費(fèi)的報(bào)銷,從而有效地防止工作人員多報(bào)油費(fèi)的情況發(fā)生。診斷終端還可對(duì)GPS數(shù)據(jù)進(jìn)行存儲(chǔ),通過對(duì)車輛軌跡的查詢即可監(jiān)測(cè)到車輛的使用情況,防止公車私用的情況發(fā)生。
本系統(tǒng)中終端通過上位機(jī)安卓APP的配置獲取車輛總線數(shù)據(jù),進(jìn)行篩選后,一方面將數(shù)據(jù)存入SD卡,另一方面將需要的數(shù)據(jù)通過藍(lán)牙發(fā)送給上位機(jī)。上位機(jī)獲取數(shù)據(jù)以后根據(jù)協(xié)議進(jìn)行解析,將解析出的數(shù)據(jù)以圖表等形式直觀地展現(xiàn)給用戶。
車輛監(jiān)控系統(tǒng)分為上位機(jī)的手機(jī)監(jiān)控APP、藍(lán)牙通信和下位機(jī)的監(jiān)控終端,系統(tǒng)框圖如圖1所示。監(jiān)控終端主要包括CAN總線模塊、GPS模塊、SD卡和藍(lán)牙通信模塊。手機(jī)監(jiān)控APP主要包括協(xié)議錄入及初始化模塊、CAN數(shù)據(jù)監(jiān)測(cè)模塊和GPS數(shù)據(jù)監(jiān)測(cè)模塊。
圖1 系統(tǒng)框圖
監(jiān)控終端硬件組成如圖2所示,以TI公司的藍(lán)牙芯片CC2540[1-3]為核心,外圍電路包括電源電路、電源監(jiān)測(cè)模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)模塊和藍(lán)牙通信模塊。
硬件主要功能如下:
① 兩路SPI通信:CC2540與CAN控制器MCP2515通過SPI通信,采集車輛CAN總線數(shù)據(jù)[4-8];CC2540與SD卡通過SPI通信,實(shí)現(xiàn)SD卡數(shù)據(jù)的存取。
② 串口通信:CC2540與GPS模塊通過串口通信,獲取定位數(shù)據(jù)。
③ 藍(lán)牙通信:實(shí)現(xiàn)終端與手機(jī)的交互功能。
④ 電源電路:采用降壓穩(wěn)壓器TPS54260,將輸入的車輛蓄電池的電壓轉(zhuǎn)換為相對(duì)穩(wěn)定的5 V電壓,一方面可以給USB接口進(jìn)行供電,另一方面通過SPX3819M5進(jìn)一步轉(zhuǎn)換為3.3 V的電壓給微控制器、SD卡和MCP2515等部件進(jìn)行供電。
圖2 監(jiān)控終端組成框圖
監(jiān)控終端的功能主要包括4個(gè)部分:初始化配置、數(shù)據(jù)采集、數(shù)據(jù)存儲(chǔ)、歷史數(shù)據(jù)上傳。數(shù)據(jù)采集存儲(chǔ)的軟件設(shè)計(jì)流程如圖3所示。
圖3 數(shù)據(jù)采集存儲(chǔ)流程
3.1初始化配置
在初始化階段,終端完成硬件寄存器初始化配置及藍(lán)牙參數(shù)配置;接收上位機(jī)配置的待監(jiān)測(cè)CAN總線數(shù)據(jù)ID及其監(jiān)測(cè)周期;根據(jù)上位機(jī)配置的時(shí)間完成系統(tǒng)校時(shí)。
以一定的周期監(jiān)測(cè)CAN總線的數(shù)據(jù),接收到CAN總線的數(shù)據(jù)以后根據(jù)監(jiān)測(cè)ID進(jìn)行篩選。
3.2數(shù)據(jù)的采集
數(shù)據(jù)采集包括CAN總線數(shù)據(jù)和GPS數(shù)據(jù)采集。利用SPI通信讀寫MCP2515的寄存器,獲取CAN數(shù)據(jù),根據(jù)相應(yīng)車輛總線協(xié)議進(jìn)行解析并篩選,將上位機(jī)需監(jiān)控的數(shù)據(jù)進(jìn)行存儲(chǔ)。通過串口接收GPS數(shù)據(jù),根據(jù)NMEA格式進(jìn)行解析,獲取有效的經(jīng)緯度信息并存儲(chǔ)[9]。如果上位機(jī)配置實(shí)時(shí)查詢命令,就將采集的相應(yīng)數(shù)據(jù)實(shí)時(shí)上傳。
3.3數(shù)據(jù)的存儲(chǔ)
系統(tǒng)數(shù)據(jù)采集的實(shí)時(shí)性要求較高,因此數(shù)據(jù)量較大,為了方便用戶查詢,系統(tǒng)采用SD卡文件系統(tǒng)[10]。
數(shù)據(jù)在SD卡中按照日期進(jìn)行存儲(chǔ),即每天的數(shù)據(jù)存入一個(gè)dat文件中,同時(shí)獲取當(dāng)前日期作為該dat文件名,例如20151010.dat。當(dāng)需要查詢歷史數(shù)據(jù)時(shí),可精確地定位到相應(yīng)文件。
3.4歷史數(shù)據(jù)上傳
圖4 監(jiān)控終端歷史查詢流程圖
上位機(jī)配置歷史查詢命令時(shí),首先根據(jù)查詢?nèi)掌谧x取SD卡中的相應(yīng)文件進(jìn)行解析,通過藍(lán)牙發(fā)送給上位機(jī)。由于CC2540采用的是藍(lán)牙4.0模式,藍(lán)牙數(shù)據(jù)只能通過小包發(fā)送[11]。一個(gè)數(shù)據(jù)包最多只能包含20個(gè)字節(jié),所以數(shù)據(jù)需要分包發(fā)送。數(shù)據(jù)的發(fā)送速度受到連接間隔的影響,每個(gè)連接間隔理論上可以發(fā)送4個(gè)數(shù)據(jù)包,但是實(shí)際上是達(dá)不到的,所以必須嚴(yán)格控制數(shù)據(jù)發(fā)送速度從而避免過多丟包,本文設(shè)計(jì)每個(gè)連接間隔發(fā)送1或2個(gè)數(shù)據(jù)包。監(jiān)控終端歷史查詢的操作流程如圖4所示。
手機(jī)監(jiān)控APP主要包括兩大模塊:初始化設(shè)置模塊和車輛信息監(jiān)控模塊,其工作流程如圖5所示。手機(jī)掃描設(shè)備并與監(jiān)控終端建立藍(lán)牙連接,讀取監(jiān)控終端的車輛類型標(biāo)志。此時(shí)若監(jiān)控終端還未初始化,或者終端已存車輛類型與APP待監(jiān)控車輛類型不匹配,則APP跳轉(zhuǎn)到初始化界面對(duì)終端進(jìn)行初始化設(shè)置,最后APP跳轉(zhuǎn)到數(shù)據(jù)監(jiān)控界面。
圖5 APP操作流程圖
4.1初始化設(shè)置模塊
選擇相應(yīng)的監(jiān)測(cè)車型,進(jìn)入監(jiān)測(cè)數(shù)據(jù)選擇界面,從數(shù)據(jù)庫中取出該車型的相關(guān)數(shù)據(jù)類型(比如里程、油耗、速度等)供用戶選擇。初始化界面如圖6所示。
圖6 初始化界面
由于不同類型的車輛的總線協(xié)議不同,為了適應(yīng)不同類型的車輛,初始化模塊還提供了一個(gè)協(xié)議錄入模板,向用戶提供協(xié)議錄入接口,用戶可以手動(dòng)錄入車輛協(xié)議,或者刪除修改數(shù)據(jù)庫中已存的車輛協(xié)議。
4.2車輛信息監(jiān)控模塊
車輛信息監(jiān)控模塊又分為GPS數(shù)據(jù)監(jiān)控模塊和CAN總線數(shù)據(jù)監(jiān)控模塊,并且可以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù)的查詢。其中歷史數(shù)據(jù)通過讀取終端SD卡內(nèi)已存的信息進(jìn)行查詢,由于藍(lán)牙數(shù)據(jù)按小包形式傳輸,數(shù)據(jù)傳輸速度受到限制,所以系統(tǒng)中規(guī)定單次歷史數(shù)據(jù)查詢時(shí)間不超過3天,數(shù)據(jù)查詢類型不超過3種。如果需要查詢多種數(shù)據(jù)或者多天的數(shù)據(jù),用戶需要分多次查詢。車輛監(jiān)控流程如圖7所示。
圖7 車輛監(jiān)控流程圖
選擇GPS數(shù)據(jù)監(jiān)控或者CAN總線數(shù)據(jù)監(jiān)控。GPS數(shù)據(jù)監(jiān)控模塊分為實(shí)時(shí)監(jiān)控和歷史查詢。實(shí)時(shí)監(jiān)控:向終端發(fā)送查詢命令即可接收終端返回的GPS數(shù)據(jù),從中解析出經(jīng)緯度信息,在地圖中進(jìn)行顯示。歷史查詢:選擇待查詢的時(shí)間范圍,并把該時(shí)間范圍下發(fā)給監(jiān)控終端,接收終端返回的數(shù)據(jù)并解析存儲(chǔ),直至接收到結(jié)束標(biāo)志,再將已存儲(chǔ)的數(shù)據(jù)在地圖上以車輛軌跡的形式進(jìn)行顯示。
CAN總線數(shù)據(jù)監(jiān)控模塊同樣分為實(shí)時(shí)監(jiān)控和歷史查詢。實(shí)時(shí)監(jiān)控:該模塊從數(shù)據(jù)庫中讀取出該車輛類型可以監(jiān)控的數(shù)據(jù)類型供用戶選擇,用戶可根據(jù)實(shí)際需要選擇數(shù)據(jù)類型,即可根據(jù)終端返回的數(shù)據(jù)進(jìn)行實(shí)時(shí)動(dòng)態(tài)顯示。歷史查詢:選擇待查詢時(shí)間范圍,進(jìn)入數(shù)據(jù)類型選擇界面,類型選定后即可接收CAN數(shù)據(jù),解析存儲(chǔ)并以折線圖的形式進(jìn)行顯示,如圖8所示。
圖8 歷史數(shù)據(jù)監(jiān)測(cè)圖
系統(tǒng)使用CC2540作為微控制器,其中內(nèi)置藍(lán)牙模塊,通過藍(lán)牙協(xié)議棧實(shí)現(xiàn)藍(lán)牙通信。使用安卓手機(jī)APP作為上位機(jī),通過藍(lán)牙通信向監(jiān)控終端發(fā)送命令并接收監(jiān)控終端返回的數(shù)據(jù)。車輛監(jiān)控系統(tǒng)實(shí)現(xiàn)了對(duì)車輛里程、油耗等數(shù)據(jù)和GPS數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)和歷史查詢功能,為了擴(kuò)大使用范圍還制作了協(xié)議錄入模版,提供了錄入接口,具有易于使用、功能完備、耗電量低、可配置性強(qiáng)等優(yōu)點(diǎn)。
[1] 曹青春,劉輝.基于CC2540的藍(lán)牙射頻模塊設(shè)計(jì)[J]. 海南師范大學(xué)學(xué)報(bào):自然科學(xué)版, 2013(2).
[2] TI.2.4 GHz Bluetooth low energy System-on-Chip[EB/OL].[2015-11].http://www.ci.com.cn/produce/cn/CC2540.
[3] 陳燦峰.低功耗藍(lán)牙技術(shù)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2013.
[4] 梁金芝.CAN總線協(xié)議在嵌入式系統(tǒng)中的應(yīng)用[J].電腦知識(shí)與技術(shù), 2011(20).
[5] 羅峰, 孫澤昌.汽車CAN總線系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2010.
[6] 江浩斌.車輛檢測(cè)與診斷技術(shù)[M].南京:東南大學(xué)出版社,2009.
[7] 牛躍聽,周立功,方丹.CAN總線嵌入式開發(fā):從入門到實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2012.
[8] 劉同法.單片機(jī)外圍接口電路與工程實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2009.
[9] 錢德俊,張哲,胡晨.NMEA0183 協(xié)議解析[J].電子器件,2007(30).
[10] 楊明極,陳方縣,吳學(xué)君.嵌入式系統(tǒng)中 SD 卡的FAT32文件系統(tǒng)的設(shè)計(jì)[J].器件與電路,2010(34).
[11] 歐陽駿,陳子龍,黃寧淋.藍(lán)牙4.0 BLE開發(fā)完全手冊(cè):物聯(lián)網(wǎng)開發(fā)技術(shù)實(shí)戰(zhàn)[M].北京:化學(xué)工業(yè)出版社,2013.
(責(zé)任編輯:楊迪娜收修改稿日期:2015-11-17)
42線報(bào)警、失電報(bào)警和防拆卸功能。本文在對(duì)營門持槍?shí)徤谒媾R的安全隱患和崗哨行為特征分析的基礎(chǔ)上,形成了崗哨、應(yīng)急值班室、指揮中心三點(diǎn)聯(lián)動(dòng)的槍支定位報(bào)警方案,為提高部隊(duì)處理營門突發(fā)事件提供了一種新的技術(shù)手段。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
參考文獻(xiàn)
[1] 李俊.GSM系統(tǒng)中的移動(dòng)定位技術(shù)研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2002.
[2] 手機(jī)互連/業(yè)務(wù)介紹[EB/OL].[2015-11].http://www.chinaok.com.
[3] 李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信[M].北京:北京航空航天大學(xué)出版社,2005.
[4] 劉杭.無線技術(shù)綜述[J].微型機(jī)與應(yīng)用,2003,22(3):4-6.
[5] 馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1999.
[6] 何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,1998.
[7] 劉春平.單片機(jī)抗干擾設(shè)計(jì)[J].電腦開發(fā)與應(yīng)用,2006,19(5):42-43.
[8] 吉小軍.基于噪聲信號(hào)的聲源檢測(cè)與故障診斷[J].計(jì)算機(jī)測(cè)量與控制,2003,12(11):918-920.
[9] 翟國富,劉茂愷.一種實(shí)時(shí)高精度的機(jī)器人用超聲波測(cè)距處理方法[J].應(yīng)用聲學(xué),1990(1):17-24.
[10] 曹世華,趙芳.低頻喚醒技術(shù)在微功耗主動(dòng)式RFID中的應(yīng)用研究[J].微計(jì)算機(jī)信息,2008,24(2):230-231,234.
劉芳(講師),研究方向?yàn)闄z測(cè)技術(shù)、無線傳感器網(wǎng)絡(luò);許剛(講師),研究方向?yàn)榍度胧较到y(tǒng)、無線定位應(yīng)用;陳向春(講師),研究方向?yàn)檠b備測(cè)試及軍事計(jì)量技術(shù);劉偉(工程師),主要從事東風(fēng)系列機(jī)車車檢研究工作。
Vehicle Monitoring System of Phone APP Based on CC2540
Li Lilan
(Department of Automation,Nanjing University of Science and Technology,Nanjing 210094,China)
In the paper,a vehicle monitoring system based on TI’s Bluetooth chip CC2540 is designed,and the hardware design and software flow of the system are given.With the monitor APP,the vehicle protocol can be configured flexibly,and the system can realize the monitor of CAN bus data such as mileage,fuel consumption and GPS data of the vehicle.It has been proved that the system has the advantages of easy-to-use,full-featured,low power consumption,high configurable and so on.It has practical value in the vehicle management plan.
vehicle monitoring terminal;Bluetooth;CAN;vehicle bus protocol
TP216.1
A
(責(zé)任編輯:薛士然2015-11-06)