当前位置:首页 > 嵌入式 > 嵌入式软件

摘 要: 在深入分析Android的系统架构及其应用程序组成的基础上,设计和实现了一款基于Android的智能家居终端。终端主要包括主控制模块、信号处理模块、网络管理模块、媒体流管理模块及信息存取模块等功能模块。较好地融合了Android与智能家居终端,具有较强的实用价值和开发指导意义。
关键词: 智能家居;Android系统;家居安防;可视对讲;智能终端

自2007年Google推出开源手机操作系统Android以来,Android的应用开发一时间风靡全球,各高科技领域应用都在向Android进军。Android的盛行取决于其独特的优势。首先,Android是一款基于Linux内核的开源系统,它具有操作系统、中间件和关键应用程序。对第三方应用开发完全开放、人员具有较大的自由度[1]。其次,Android应用程序的开发采用Java语言,通过应用框架层提供的API,开发简单、周期短。第三,Android具有很强的开放性和灵活性。虽然现在市场上已经出现各种各样的智能家居终端,但Android的出现及其广泛应用,使得很多智能家居厂商正投入很大的人力物力进行研究开发基于Android的智能家居终端。
1 Android系统
1.1 Android架构
Android是一个包括操作系统、中间件和关键应用程序的移动设备软件堆。其作为一个开发式的系统平台,包含了众多的功能和庞大的基于Linux的代码,在用户空间又分为本地代码(C/C++)和Java代码。Android系统可以分为以下各层次:
自底向上依次为Linux操作系统及其驱动层、本地代码框架和Java虚拟机层、Java框架层和Java应用程序层[2]。在各层之间存在相应的分界线接口。如图1所示。

作为开放式的系统,Android提供了丰富的组件和视图控件。大部分的开发只需要调用Android应用框架层提供的API就可以方便地完成,并且在Android的SDK中提供了丰富的实例供参考学习,使得应用开发简单易行。Android各层次的功能如表1所示。

1.2 Android应用程序的组成
一个程序可以调用另外一个程序的程序片段。这是Android程序框架的基本设计理念。例如,在Windows操作系统中,资源管理器可以浏览图片文件,当浏览到这个图片文件时,双击该图片文件,便启动图片浏览软件。Android的程序理念便是如此,所不同的是,在Windows中,打开图片会启动图片浏览软件的全部功能,虽然实际上只是需要查看图片;Android中是把一个程序的功能分为各种不同的程序片段,每个程序片段都能单独启动。
  Android应用程序由Activity、Service、Broadcast Receiver和Content Provider四大组件构成。这四大组件也称为Android的四种类型的程序片段,且每种类型都可以独立运行。
  Activity在四大组件中最复杂。从视觉上看,一个Activity占据当前的窗口,响应所有窗口事件,具有控件、菜单等界面元素,为用户提供一个与界面交互的平台。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的工作,还需要妥善管理生命周期和一些转跳逻辑。
  Service就是剥离了界面的Activity,都是封装有一个完整的功能逻辑实现,只不过Service不抛头露脸,默默提供后台服务。举例,当用户处理其他问题时,服务可以播放背景音乐,或者可以从网上获取数据、计算、提高,提供给活动所需要的结果。
Broadcast Receiver只能接收广播,一个广播可以有很多广播接收器对它认为重要的通知作出反应。Android系统提供了一个sendBroadcast()方法,Application Framework内部调用该方法发送广播,比如有新短信息、有来电等广播消息,Broadcast Receiver会响应这些系统消息的独立执行单元[4]。
Content Provider提供了一套特殊的可供其他应用使用的数据。这些数据可以存储在文件系统中、SQLite数据库中或者其他有意义的形式。实现了一套标准的允许其他用户检索、储存数据的方法。通过使用ContentProvider的实例,调用它的方法。
Intent是Android中一个特殊的类,组件之间的通讯,由Intent协助完成。Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用。Intent在这里起着实现调用者与被调用者之间的解耦作用,如图2所示。

2 智能家居终端
2.1 终端主要功能
智能家居终端的主要功能如下[5]:
(1)可视对讲。室内机与门口机进行可视对讲;室内机可以监视门口情况;访客留影;两个或多个室内机进行视频对话。
(2)家居安防。防区设定:对室内和室外安装的监视器进行独立的设定;报警:监视器侦测到异常发出报警;家居安防模式设定:外出、在家、就寝等。
(3)家居控制。灯光控制;窗帘控制;空调控制;电源控制;燃气阀控制;电梯控制。
(4)生活资讯。天气预报;万年历;常用电话;物业服务。
(5)系统管理。常用设置;使用说明;安防设置;家居设置。
系统结构功能如图3所示。


2.2 软件系统架构
 整个软件系统架构分为四个层次,每个层次的功能分别如下:
(1)操作系统层。对下为各种硬件设备提供外围设备驱动,控制硬件工作,如音视频的采集播放设备、各类传感器、摄像头等;对上为库函数提供各种设备的驱动接口,以使得上层可以调用设备。
(2)库和接口层。该主要提供给应用框架层一些基本的类库和接口,包括Android的C/C++库、RTP/RTCP库和多媒体的处理接口。
(3)应用框架层。该层采用模块化开发方法,通过使用其下层的函数库提供的接口,将实现相同或相似功能的封装成为一个模块进而供应用层来开发使用。
(4)应用层。通过与应用框架层提供的模块相互交互、资源分配等,基于Android的四大组件及其他相关视图控件完成界面设计,为用户提供一个可视的界面平台。在该软件架构下,涉及到的功能模块有信号处理模块、网络管理模块、媒体流管理模块以及信息存取模块。
2.3 功能模块的实现
2.3.1 主控制模块
最上层为主控制模块,是系统的主要模块,通过使用Android的各种组件和控件,在应用层实现系统的主要功能。一方面,通过 Android的资源文件如布局、菜单、视图等提供的各种类和方法来完成系统的GUI设计,提供给用户一个统一的图形化接口给用户。另一方面,通过使用应用框架中的信号处理、网络管理、媒体流管理、信息存储等功能模块接口,分别实现门磁控制、家居安防、家居控制、生活资讯、可视对讲及系统管理的功能。在此模块中的门磁控制可以直接控制房门的开关[6]。
所有的功能都聚集在主模块中,这就需要一个合理的布局才能使系统使用起来比较协调。由于每个Activity中包含一个Window,每个Window中包含一个View Group,而每个View Group中包含更多的View和View Group。在主模块中的布局如图4所示。

2.3.3 网络管理模块
网络管理模块主要为生活资讯提供服务。此模块提供服务的分为两种。一种为局域网服务,如物业服务。这里实现起来比较简单,用户根据系统所提供的设备名称向中心管理机报备需要服务的设备。例如:点击某个设备,终端向中心管理机发送一条“智能设备需要服务”指令。物业收到该指令后,会主动联系该用户。另一种为Intenet服务,需要提供各种信息的Web服务,如天气。
2.3.4 媒体流管理模块
媒体流管理模块是为可视对讲提供服务的。在系统中通过调用Android的OpenCORE接口来实现音视频的编解码。OpenCORE是Android多媒体框架的核心,所有Android平台的音频、视频的采集以及播放等操作都是通过它来实现的。它主要包含了两个大方面的内容:
PVPlayer:提供媒体播放器的功能,完成各种音频、视频流的回放功能。
PVAuthor:提供媒体流记录的功能,完成各种音频、视频流以及静态图像的捕获功能。
当门口机需与室内机请求对讲时,室内机只需要对门口机传输过来的音视频进行解码播放,即Android调用MediaPlayer类用来播放音频、视频。
当两个室内机进行视频对讲时,双方机器要同时进行音视频的编码解码。这时就要同时调用MediaPlayer类和MediaRecorder类。MediaRecorder类用来进行媒体采样,包括音频和视频。
2.3.5 信息存取模块
信息存取模块主要为系统管理提供开发接口以实现对系统的管理。如智能家居系统的终端系统管理模块主要提供本机设置、安防设置、家居设置、使用帮助等功能。本机设置包括本机的网络设置、楼栋单元号房间号设置、密码设置等;安防设置可以对室内的各个安防设备进行布防和撤防设置;家居设置则可以调整家用电器的断电或启动时间;使用帮助则是关于本机的使用说明。设置的一般过程为先通过相应的get方法获得要设置的状态,然后通过set方法保存设置。
2.4 模块封装

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭