石 鑫,夏 青
(重慶郵電大學(xué) 光電學(xué)院 自動化學(xué)院,重慶 400065)
基于Android操作系統(tǒng)的實(shí)時系統(tǒng)監(jiān)控研究
石 鑫,夏 青
(重慶郵電大學(xué) 光電學(xué)院 自動化學(xué)院,重慶 400065)
針對大多數(shù)監(jiān)控系統(tǒng)對實(shí)時性、穩(wěn)定性、可操作性等要求,在Android嵌入式操作系統(tǒng)中,集成傳感網(wǎng)模塊,設(shè)計(jì)普通、緊急監(jiān)控模塊,剖析Android內(nèi)核調(diào)度器工作原理等方法,提出了一種新的嵌入式實(shí)時監(jiān)控系統(tǒng)。以體域網(wǎng)系統(tǒng)監(jiān)控為平臺進(jìn)行測試,結(jié)果表明,該方案滿足對網(wǎng)絡(luò)監(jiān)控實(shí)時性、可靠性的要求,方法具有良好的擴(kuò)展性,利于向智能家居、物聯(lián)網(wǎng)等領(lǐng)域中推廣。
安卓系統(tǒng);無線傳感網(wǎng);智能化;體域網(wǎng)
Android操作系統(tǒng)是一種以Linux為基礎(chǔ)的開源操作系統(tǒng)。最初由Andy Rubin開發(fā)并專為支持手機(jī)而設(shè)計(jì)。2005年被Google收購后,作為Google主推的智能手機(jī)操作系統(tǒng),由于其開源性、良好的用戶體驗(yàn)、豐富的應(yīng)用支持,很快成為了最流行和占有量最大的移動終端操作系統(tǒng),現(xiàn)在也逐漸擴(kuò)展到平板電腦機(jī)其他移動設(shè)備上。與此同時,無線傳感器網(wǎng)絡(luò)作為一個新興領(lǐng)域,近年來受到了社會的普遍關(guān)注,以其用來感知客觀物理世界,獲取物理世界的信息量為核心,從而讓無線傳感網(wǎng)去監(jiān)控物理環(huán)境成為了可能。
目前,運(yùn)用Android設(shè)備通過無線傳感器網(wǎng)絡(luò)對設(shè)備進(jìn)行監(jiān)控,已在智能家居、物聯(lián)網(wǎng)、人體醫(yī)療等領(lǐng)域有所發(fā)展,因此實(shí)時性、可靠性逐漸成為監(jiān)控系統(tǒng)的關(guān)鍵要素。文獻(xiàn)[2]提出了基于WINCE的老年健康監(jiān)護(hù)系統(tǒng)設(shè)計(jì),該系統(tǒng)應(yīng)用于老年健康監(jiān)護(hù),將ZigBee模塊集成在嵌入式終端設(shè)備平臺中,能實(shí)時顯示用戶的心率、血氧、脈搏、體溫等數(shù)據(jù),但是其采用的是WINCE系統(tǒng),相比其他嵌入式操作系統(tǒng),操作比較復(fù)雜,界面不夠友好,并沒有考慮到數(shù)據(jù)傳輸?shù)膶?shí)時性和系統(tǒng)應(yīng)用軟件的可靠性等問題。文獻(xiàn)[3]提出了運(yùn)用Android系統(tǒng)對智能家居網(wǎng)絡(luò)進(jìn)行的控制,其界面友好、操作簡單,通過將家居設(shè)備的信息上傳至Internet,嵌入式Android平臺只需要訪問或發(fā)送信息在固定的網(wǎng)絡(luò)地址,就可以對網(wǎng)絡(luò)進(jìn)行相應(yīng)的上行或下行的操作,由于該家居網(wǎng)絡(luò)的信息全部需要從Internet網(wǎng)絡(luò)中獲取,這就大大影響了該系統(tǒng)實(shí)時性。文獻(xiàn)[4]是基于車聯(lián)網(wǎng)的車載智能終端的研究,其無線通信模塊建立了導(dǎo)航系統(tǒng)與交通監(jiān)控中心的連接,并實(shí)現(xiàn)了信息傳輸,但是其網(wǎng)絡(luò)拓補(bǔ)為點(diǎn)到點(diǎn)的連接,沒有考慮到系統(tǒng)耗電量、數(shù)據(jù)發(fā)送接收實(shí)時性等問題。文獻(xiàn)[5-6]分別將Android系統(tǒng)運(yùn)用在IEEE802.11網(wǎng)絡(luò)和醫(yī)療物聯(lián)網(wǎng)之中,其系統(tǒng)運(yùn)行穩(wěn)定,功能豐富,但是可擴(kuò)展性與移植性不足。
本文設(shè)計(jì)和提出了一種基于Android操作系統(tǒng)的實(shí)時系統(tǒng)監(jiān)控平臺,深入研究了Android并結(jié)合了無線傳感網(wǎng)的優(yōu)勢,提出一套行之有效的監(jiān)控體系,保證了整個監(jiān)控過程的實(shí)時性、可靠性,為整個監(jiān)控系統(tǒng)提出完整的技術(shù)解決方案。
1.1 系統(tǒng)架構(gòu)
Android系統(tǒng)作為智能化的嵌入式操作系統(tǒng),現(xiàn)已運(yùn)用在許多終端設(shè)備之中。然而,把Android系統(tǒng)運(yùn)用在實(shí)時監(jiān)控中的實(shí)例還并不多。將搭載Android系統(tǒng)的終端設(shè)備作為監(jiān)控系統(tǒng)的核心,同時保證監(jiān)控的實(shí)時性、可靠性是系統(tǒng)監(jiān)控的關(guān)鍵點(diǎn)。監(jiān)控系統(tǒng)的設(shè)計(jì)如圖1所示,基于Android的實(shí)時監(jiān)控平臺是整個監(jiān)控系統(tǒng)的核心,它可以通過對無線通信模塊的控制,達(dá)到控制周圍傳感器節(jié)點(diǎn)的目的,同時監(jiān)控平臺也可以通過2G/3G網(wǎng)絡(luò)與外界進(jìn)行互聯(lián)報警等操作,從而避免了信息孤島的出現(xiàn)。
圖1 系統(tǒng)總體設(shè)計(jì)框架
為了保證系統(tǒng)監(jiān)控的實(shí)時性,平臺在設(shè)計(jì)中將監(jiān)控模式分為普通監(jiān)控模式和緊急監(jiān)控模式,而平臺判斷數(shù)據(jù)是否緊急,是通過數(shù)據(jù)結(jié)構(gòu)中(如圖2)的報警標(biāo)志位判斷的。這樣既有利于提高監(jiān)控的可操作性,又保證了監(jiān)控的實(shí)時性。
圖2 監(jiān)控數(shù)據(jù)結(jié)構(gòu)
1.2 普通、緊急監(jiān)控模式設(shè)計(jì)
系統(tǒng)在監(jiān)控的過程中,系統(tǒng)的監(jiān)控實(shí)時性是評價系統(tǒng)好壞的有力指標(biāo)。平臺的監(jiān)控模塊分為兩個部分:普通監(jiān)控模塊和緊急監(jiān)控模塊。其中,普通監(jiān)控模塊服務(wù)于日常的監(jiān)控,它對監(jiān)控的實(shí)時性要求不高,但需要很好的可操作性、顯示界面、數(shù)據(jù)分析與存儲等功能。在普通監(jiān)控的過程中,如圖3所示,首先傳感器數(shù)據(jù)通過傳感器節(jié)點(diǎn)采集,然后通過節(jié)點(diǎn)的射頻模塊將數(shù)據(jù)發(fā)送給無線網(wǎng)絡(luò)協(xié)調(diào)器,經(jīng)過相關(guān)處理后,通過RS-232或者USB接口將數(shù)據(jù)上傳至Android監(jiān)控平臺,Android監(jiān)控平臺通過數(shù)據(jù)檢測模塊檢查上傳數(shù)據(jù)報警標(biāo)志位,判斷是進(jìn)入普通模式還是緊急模式,若上傳數(shù)據(jù)中的報警標(biāo)志位為0,則進(jìn)入普通的監(jiān)控進(jìn)程,經(jīng)過Android的framwork共享類以及自身apk方法類的處理,在用戶界面上顯示相應(yīng)的監(jiān)控信息,同時,用戶也可根據(jù)自身的需要通過觸摸等方式去下達(dá)指令,從而達(dá)到控制整個系統(tǒng)的目的。
圖3 普通監(jiān)控模式原理
然而,在緊急狀態(tài)時,平臺也可自行進(jìn)行監(jiān)控的智能化處理,如圖4所示。報警數(shù)據(jù)在傳入Android監(jiān)控平臺后,運(yùn)行在內(nèi)核態(tài)的監(jiān)控模塊檢測到報警標(biāo)志位為1,則立即對數(shù)據(jù)進(jìn)行兩方面處理:一方面調(diào)用報警模塊經(jīng)由2G/3G網(wǎng)絡(luò)向其他終端報警;第二,立即處理信息向協(xié)調(diào)器發(fā)送相應(yīng)下行管理命令,從而達(dá)到監(jiān)控整個系統(tǒng)的目的。
圖4 緊急監(jiān)控模式原理
1.3 系統(tǒng)實(shí)時性實(shí)現(xiàn)
在對系統(tǒng)進(jìn)行監(jiān)控的過程中,影響系統(tǒng)實(shí)時性的因素很多,如硬件處理器速度、內(nèi)核調(diào)度器的調(diào)度策略、軟件自身的運(yùn)行效率等[7]。就Android系統(tǒng)而言,系統(tǒng)的調(diào)度策略依賴于Linux BFS調(diào)度策略,其進(jìn)程劃分為實(shí)時進(jìn)程和普通進(jìn)程[8]。普通進(jìn)程大多時候運(yùn)行在系統(tǒng)用戶態(tài)中,優(yōu)先級較低,實(shí)時性較差,易受其他普通進(jìn)程的干擾,但是可操作性強(qiáng)。實(shí)時進(jìn)程運(yùn)行在系統(tǒng)的內(nèi)核態(tài)中,優(yōu)先級高,實(shí)時性好,不受其他普通進(jìn)程的干擾[9-11],然而可操作性差,用戶不易對進(jìn)程進(jìn)行相應(yīng)的操控。針對以上特點(diǎn),本文設(shè)計(jì)了普通監(jiān)控模式和緊急監(jiān)控模式。普通監(jiān)控模式基于普通進(jìn)程,服務(wù)于普通的監(jiān)控場景;而緊急監(jiān)控模式基于系統(tǒng)進(jìn)程,服務(wù)于在緊急狀態(tài)下監(jiān)控的實(shí)時性需求。
數(shù)據(jù)監(jiān)控模塊嵌入在Android的核心庫中,它的作用是檢測數(shù)據(jù)的報警標(biāo)志位是否1,從而判斷需要創(chuàng)建的進(jìn)程是普通進(jìn)程還是系統(tǒng)進(jìn)程。如圖5所示,RS-232或USB驅(qū)動上傳的數(shù)據(jù)流進(jìn)入數(shù)據(jù)檢測模塊,經(jīng)過數(shù)據(jù)檢測模塊的處理,若為0,則進(jìn)入普通監(jiān)控模塊,由Zygote進(jìn)程創(chuàng)建普通監(jiān)控進(jìn)程;若為1,則進(jìn)入緊急監(jiān)控模塊,由Zygote進(jìn)程創(chuàng)建緊急監(jiān)控進(jìn)程,它與普通進(jìn)程不同的是,它是繼承于System server相關(guān)類的資源,它運(yùn)行在系統(tǒng)內(nèi)核態(tài)中,具有高優(yōu)先級,不易被普通進(jìn)程所干擾,具有較好的實(shí)時性與可靠性,所以當(dāng)數(shù)據(jù)檢測模塊判斷出信息異常后,監(jiān)控進(jìn)入緊急狀態(tài),保證了監(jiān)控的實(shí)時性,可靠性。而普通監(jiān)控進(jìn)程,運(yùn)行于系統(tǒng)用戶態(tài),它可以解析數(shù)據(jù)類型,并分類顯示和存儲,以便用戶進(jìn)一步的處理。
圖5 Android系統(tǒng)中的監(jiān)控流程圖
為了驗(yàn)證本文提出的嵌入式無線網(wǎng)絡(luò)監(jiān)控平臺的實(shí)時性、可靠性,及其基本功能,搭建了硬件以ARM11處理器為核心,軟件以Android平臺為核心的體域網(wǎng)醫(yī)療監(jiān)控系統(tǒng)。體域網(wǎng)是監(jiān)控人體生命體征的無線網(wǎng)絡(luò),由附在人體周圍或嵌入人體內(nèi)部的、小巧的、可通信的傳感器、IEEE802.15.6通信協(xié)議棧和智能終端組成,其中智能終端就相當(dāng)于嵌入式無線網(wǎng)絡(luò)監(jiān)控平臺的角色。
2.1 基本功能測試
為了測試平臺監(jiān)控數(shù)據(jù)的上下行,以及存儲、異常數(shù)據(jù)處理等附加功能,搭建了由4個網(wǎng)絡(luò)傳感器節(jié)點(diǎn)與體域網(wǎng)智能監(jiān)控平臺組成的一個星型網(wǎng)。
圖6所示為人體體征監(jiān)控上下行數(shù)據(jù)的功能測試結(jié)果,圖中左側(cè)為用戶手持體域網(wǎng)監(jiān)控平臺;中間為監(jiān)控平臺顯示用戶的心率、體溫信息,探測到心率數(shù)據(jù)異常報警;右側(cè)為用sniffer抓包軟件獲取的通信數(shù)據(jù)包,圖中反映出當(dāng)發(fā)現(xiàn)異常數(shù)據(jù)時,平臺通過下行命令控制網(wǎng)絡(luò)發(fā)包頻率。
圖6 監(jiān)控平臺上下行功能測試(截圖)
圖7為平臺數(shù)據(jù)管理,報警等附加功能的測試,圖中左側(cè)為運(yùn)用Sqlite數(shù)據(jù)庫對體征數(shù)據(jù)的存儲;中間是對心率監(jiān)控的心率曲線;右邊為對異常數(shù)據(jù)處理后,通過GPRS模塊進(jìn)行的短信報警。
圖7 監(jiān)控平臺附加功能測試(截圖)
2.2 監(jiān)控平臺實(shí)時性測試
為了保證整個體域網(wǎng)監(jiān)控系統(tǒng)的實(shí)時性,由體域網(wǎng)個人監(jiān)控平臺下行管理命令的處理時間應(yīng)小于體域網(wǎng)的超幀周期。超幀的結(jié)構(gòu)(如圖8)可分為3個階段:信標(biāo)幀發(fā)送階段(B),命令幀發(fā)送階段(CAP),數(shù)據(jù)幀發(fā)送階段(CFP)。信標(biāo)幀階段分配1個時隙,CAP階段分配6個時隙,CFP階段分配9個時隙,每個時隙30 ms,所以信標(biāo)幀階段所占時間為 30 ms, CAP階段6×30=180 ms,CFP階段為9×30=270 ms, 于是總的超幀周期為16×30=480 ms。
圖8 體域網(wǎng)超幀周期示意圖
圖9是兩種監(jiān)控模式的測試結(jié)果。圖中兩種方式的所測得到的時間皆小于480 ms,說明系統(tǒng)發(fā)送下行命令所需時間皆在一個超幀周期之內(nèi),基本滿足監(jiān)控實(shí)時性的需要。而在緊急情況下,監(jiān)控平臺的監(jiān)控時間為121 ms<180 ms,說明監(jiān)控平臺在緊急情況下,監(jiān)控命令在一個超幀周期的CAP階段就有很大概率被發(fā)送,這就保證了緊急狀態(tài)處理的實(shí)時性。
圖9 實(shí)時性測試結(jié)果
本文對系統(tǒng)監(jiān)控提出了基于Android系統(tǒng)解決方案,并且針對監(jiān)控系統(tǒng)對實(shí)時性、穩(wěn)定性、可操作性、功能性的需求給出了解決方案。在測試過程中,以ARM11、Android平臺、體域網(wǎng)系統(tǒng)為基礎(chǔ),測試了包括監(jiān)控基本功能、監(jiān)控實(shí)時性等一系列指標(biāo),由結(jié)果可知,監(jiān)控平臺具有穩(wěn)定可靠實(shí)時性高等特點(diǎn),并且其諸多問題的解決方法具有良好的可擴(kuò)展性,利于推廣。
[1] 程國達(dá).嵌入式系統(tǒng)的硬/軟件協(xié)同設(shè)計(jì)研究[D].上海:復(fù)旦大學(xué),2011.
[2] 軒運(yùn)動,趙湛,方震.基于無線體域網(wǎng)技術(shù)的健康監(jiān)護(hù)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)研究發(fā)展,2011(48):356-359.
[3] 呂洪海.基于Android的智能家居無線控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2012.
[4] 夏國平.基于Android的車載智能導(dǎo)航系統(tǒng)的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2011.
[5] 李黎國.Android健康服務(wù)終端無線技術(shù)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2012.
[6] 唐偉.基于Android平臺的11N無線終端研究與實(shí)現(xiàn)[D].蘇州:蘇州大學(xué),2010.
[7] WILLIAM S.操作系統(tǒng)——精髓與設(shè)計(jì)原理[M].陳向群,陳渝,譯.北京:機(jī)械工業(yè)出版社,2010.
[8] 羅升陽.Android系統(tǒng)源代碼情景分析[M].北京:電子工業(yè)出版社,2012.
[9] FEITELSON D G. Perpetual development:a model of the Linux kernel life cycle[J]. The Journal of System and Software,2012,85(15):859-875.
[10] SALAH K,MANEA A,ZEADALLY S. On Linux starvation of CPU-bound processes in the presence of network I/O[J]. Computers and Electrical Engineering,2011,37(23):1090-1105.
[11] CAO Ping,SONG Kezhu,YANG Junfeng. A real-time data transmission method based on Linux for physical experimental readout systems[J]. Fusion Engineering and Design,2012,87(21):1693-1699.
Research on Real-time System Monitor Based on Android System
SHI Xin,XIA Qing
(CollegeofElectroningEngineering,CollegeofAutomation,ChongqingUniversityofPostsandTelecommunication,Chongqing400065,China)
Considering most monitoring system demands in real-time performance,stability and maneuverability,sensor network module is integrated and normal or emergency monitoring module is designed in Android system. Meanwhile,by analyzing the working principle in Android kernel scheduler. A new embedded real-time monitoring system is proposed. The experimental results show the proposed approach meets the requirements of real-time network monitoring and reliability,which also has good expansibility and easily popularized.
Android system;wireless sensor network;intellectualization;body area network
TP277
B
10.16280/j.videoe.2015.16.017
2015-05-21
【本文獻(xiàn)信息】石鑫,夏青.基于Android操作系統(tǒng)的實(shí)時系統(tǒng)監(jiān)控研究[J].電視技術(shù),2015,39(16).
石 鑫(1982— ),碩士,講師,主研無線傳感器網(wǎng)絡(luò)、無線通信、信號處理技術(shù)等。
責(zé)任編輯:時 雯