石 鑫,夏 青
(重庆邮电大学 光电学院 自动化学院,重庆 400065)
基于Android操作系统的实时系统监控研究
石 鑫,夏 青
(重庆邮电大学 光电学院 自动化学院,重庆 400065)
针对大多数监控系统对实时性、稳定性、可操作性等要求,在Android嵌入式操作系统中,集成传感网模块,设计普通、紧急监控模块,剖析Android内核调度器工作原理等方法,提出了一种新的嵌入式实时监控系统。以体域网系统监控为平台进行测试,结果表明,该方案满足对网络监控实时性、可靠性的要求,方法具有良好的扩展性,利于向智能家居、物联网等领域中推广。
安卓系统;无线传感网;智能化;体域网
Android操作系统是一种以Linux为基础的开源操作系统。最初由Andy Rubin开发并专为支持手机而设计。2005年被Google收购后,作为Google主推的智能手机操作系统,由于其开源性、良好的用户体验、丰富的应用支持,很快成为了最流行和占有量最大的移动终端操作系统,现在也逐渐扩展到平板电脑机其他移动设备上。与此同时,无线传感器网络作为一个新兴领域,近年来受到了社会的普遍关注,以其用来感知客观物理世界,获取物理世界的信息量为核心,从而让无线传感网去监控物理环境成为了可能。
目前,运用Android设备通过无线传感器网络对设备进行监控,已在智能家居、物联网、人体医疗等领域有所发展,因此实时性、可靠性逐渐成为监控系统的关键要素。文献[2]提出了基于WINCE的老年健康监护系统设计,该系统应用于老年健康监护,将ZigBee模块集成在嵌入式终端设备平台中,能实时显示用户的心率、血氧、脉搏、体温等数据,但是其采用的是WINCE系统,相比其他嵌入式操作系统,操作比较复杂,界面不够友好,并没有考虑到数据传输的实时性和系统应用软件的可靠性等问题。文献[3]提出了运用Android系统对智能家居网络进行的控制,其界面友好、操作简单,通过将家居设备的信息上传至Internet,嵌入式Android平台只需要访问或发送信息在固定的网络地址,就可以对网络进行相应的上行或下行的操作,由于该家居网络的信息全部需要从Internet网络中获取,这就大大影响了该系统实时性。文献[4]是基于车联网的车载智能终端的研究,其无线通信模块建立了导航系统与交通监控中心的连接,并实现了信息传输,但是其网络拓补为点到点的连接,没有考虑到系统耗电量、数据发送接收实时性等问题。文献[5-6]分别将Android系统运用在IEEE802.11网络和医疗物联网之中,其系统运行稳定,功能丰富,但是可扩展性与移植性不足。
本文设计和提出了一种基于Android操作系统的实时系统监控平台,深入研究了Android并结合了无线传感网的优势,提出一套行之有效的监控体系,保证了整个监控过程的实时性、可靠性,为整个监控系统提出完整的技术解决方案。
1.1 系统架构
Android系统作为智能化的嵌入式操作系统,现已运用在许多终端设备之中。然而,把Android系统运用在实时监控中的实例还并不多。将搭载Android系统的终端设备作为监控系统的核心,同时保证监控的实时性、可靠性是系统监控的关键点。监控系统的设计如图1所示,基于Android的实时监控平台是整个监控系统的核心,它可以通过对无线通信模块的控制,达到控制周围传感器节点的目的,同时监控平台也可以通过2G/3G网络与外界进行互联报警等操作,从而避免了信息孤岛的出现。
图1 系统总体设计框架
为了保证系统监控的实时性,平台在设计中将监控模式分为普通监控模式和紧急监控模式,而平台判断数据是否紧急,是通过数据结构中(如图2)的报警标志位判断的。这样既有利于提高监控的可操作性,又保证了监控的实时性。
图2 监控数据结构
1.2 普通、紧急监控模式设计
系统在监控的过程中,系统的监控实时性是评价系统好坏的有力指标。平台的监控模块分为两个部分:普通监控模块和紧急监控模块。其中,普通监控模块服务于日常的监控,它对监控的实时性要求不高,但需要很好的可操作性、显示界面、数据分析与存储等功能。在普通监控的过程中,如图3所示,首先传感器数据通过传感器节点采集,然后通过节点的射频模块将数据发送给无线网络协调器,经过相关处理后,通过RS-232或者USB接口将数据上传至Android监控平台,Android监控平台通过数据检测模块检查上传数据报警标志位,判断是进入普通模式还是紧急模式,若上传数据中的报警标志位为0,则进入普通的监控进程,经过Android的framwork共享类以及自身apk方法类的处理,在用户界面上显示相应的监控信息,同时,用户也可根据自身的需要通过触摸等方式去下达指令,从而达到控制整个系统的目的。
图3 普通监控模式原理
然而,在紧急状态时,平台也可自行进行监控的智能化处理,如图4所示。报警数据在传入Android监控平台后,运行在内核态的监控模块检测到报警标志位为1,则立即对数据进行两方面处理:一方面调用报警模块经由2G/3G网络向其他终端报警;第二,立即处理信息向协调器发送相应下行管理命令,从而达到监控整个系统的目的。
图4 紧急监控模式原理
1.3 系统实时性实现
在对系统进行监控的过程中,影响系统实时性的因素很多,如硬件处理器速度、内核调度器的调度策略、软件自身的运行效率等[7]。就Android系统而言,系统的调度策略依赖于Linux BFS调度策略,其进程划分为实时进程和普通进程[8]。普通进程大多时候运行在系统用户态中,优先级较低,实时性较差,易受其他普通进程的干扰,但是可操作性强。实时进程运行在系统的内核态中,优先级高,实时性好,不受其他普通进程的干扰[9-11],然而可操作性差,用户不易对进程进行相应的操控。针对以上特点,本文设计了普通监控模式和紧急监控模式。普通监控模式基于普通进程,服务于普通的监控场景;而紧急监控模式基于系统进程,服务于在紧急状态下监控的实时性需求。
数据监控模块嵌入在Android的核心库中,它的作用是检测数据的报警标志位是否1,从而判断需要创建的进程是普通进程还是系统进程。如图5所示,RS-232或USB驱动上传的数据流进入数据检测模块,经过数据检测模块的处理,若为0,则进入普通监控模块,由Zygote进程创建普通监控进程;若为1,则进入紧急监控模块,由Zygote进程创建紧急监控进程,它与普通进程不同的是,它是继承于System server相关类的资源,它运行在系统内核态中,具有高优先级,不易被普通进程所干扰,具有较好的实时性与可靠性,所以当数据检测模块判断出信息异常后,监控进入紧急状态,保证了监控的实时性,可靠性。而普通监控进程,运行于系统用户态,它可以解析数据类型,并分类显示和存储,以便用户进一步的处理。
图5 Android系统中的监控流程图
为了验证本文提出的嵌入式无线网络监控平台的实时性、可靠性,及其基本功能,搭建了硬件以ARM11处理器为核心,软件以Android平台为核心的体域网医疗监控系统。体域网是监控人体生命体征的无线网络,由附在人体周围或嵌入人体内部的、小巧的、可通信的传感器、IEEE802.15.6通信协议栈和智能终端组成,其中智能终端就相当于嵌入式无线网络监控平台的角色。
2.1 基本功能测试
为了测试平台监控数据的上下行,以及存储、异常数据处理等附加功能,搭建了由4个网络传感器节点与体域网智能监控平台组成的一个星型网。
图6所示为人体体征监控上下行数据的功能测试结果,图中左侧为用户手持体域网监控平台;中间为监控平台显示用户的心率、体温信息,探测到心率数据异常报警;右侧为用sniffer抓包软件获取的通信数据包,图中反映出当发现异常数据时,平台通过下行命令控制网络发包频率。
图6 监控平台上下行功能测试(截图)
图7为平台数据管理,报警等附加功能的测试,图中左侧为运用Sqlite数据库对体征数据的存储;中间是对心率监控的心率曲线;右边为对异常数据处理后,通过GPRS模块进行的短信报警。
图7 监控平台附加功能测试(截图)
2.2 监控平台实时性测试
为了保证整个体域网监控系统的实时性,由体域网个人监控平台下行管理命令的处理时间应小于体域网的超帧周期。超帧的结构(如图8)可分为3个阶段:信标帧发送阶段(B),命令帧发送阶段(CAP),数据帧发送阶段(CFP)。信标帧阶段分配1个时隙,CAP阶段分配6个时隙,CFP阶段分配9个时隙,每个时隙30 ms,所以信标帧阶段所占时间为 30 ms, CAP阶段6×30=180 ms,CFP阶段为9×30=270 ms, 于是总的超帧周期为16×30=480 ms。
图8 体域网超帧周期示意图
图9是两种监控模式的测试结果。图中两种方式的所测得到的时间皆小于480 ms,说明系统发送下行命令所需时间皆在一个超帧周期之内,基本满足监控实时性的需要。而在紧急情况下,监控平台的监控时间为121 ms<180 ms,说明监控平台在紧急情况下,监控命令在一个超帧周期的CAP阶段就有很大概率被发送,这就保证了紧急状态处理的实时性。
图9 实时性测试结果
本文对系统监控提出了基于Android系统解决方案,并且针对监控系统对实时性、稳定性、可操作性、功能性的需求给出了解决方案。在测试过程中,以ARM11、Android平台、体域网系统为基础,测试了包括监控基本功能、监控实时性等一系列指标,由结果可知,监控平台具有稳定可靠实时性高等特点,并且其诸多问题的解决方法具有良好的可扩展性,利于推广。
[1] 程国达.嵌入式系统的硬/软件协同设计研究[D].上海:复旦大学,2011.
[2] 轩运动,赵湛,方震.基于无线体域网技术的健康监护系统设计[J].计算机研究发展,2011(48):356-359.
[3] 吕洪海.基于Android的智能家居无线控制系统的设计与实现[D].成都:电子科技大学,2012.
[4] 夏国平.基于Android的车载智能导航系统的研究与设计[D].成都:电子科技大学,2011.
[5] 李黎国.Android健康服务终端无线技术设计与实现[D].西安:西安电子科技大学,2012.
[6] 唐伟.基于Android平台的11N无线终端研究与实现[D].苏州:苏州大学,2010.
[7] WILLIAM S.操作系统——精髓与设计原理[M].陈向群,陈渝,译.北京:机械工业出版社,2010.
[8] 罗升阳.Android系统源代码情景分析[M].北京:电子工业出版社,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
【本文献信息】石鑫,夏青.基于Android操作系统的实时系统监控研究[J].电视技术,2015,39(16).
石 鑫(1982— ),硕士,讲师,主研无线传感器网络、无线通信、信号处理技术等。
责任编辑:时 雯