当前位置: 首页 > 范文大全 > 公文范文 >

基于Android的智能家居程序开发与研究

时间:2022-03-24 09:23:55  浏览次数:

摘 要:Android手机应用程序开发需要着眼于它的整个体系构架,文中介绍了Google新近推出的移动设备软件平台Android的基本构成和层次结构,同时给出以EXPLORERF-CC2530系统为基础平台的智能家居终端应用程序的开发方法。

关键词:移动设备;Android;应用程序;EXPLORERF-CC2530

中图分类号:TN929.5 文献标志码:B 文章编号:2095-1302(2014)03-0031-02

0 引 言

在家庭网络中部署的信息终端越来越多,在解决他们之间的物理互联问题之后家庭用户还需要对各个设备进行一些复杂配置才能使用,这对于普通家庭用户来说是难以接受的。加入到家庭网络的设备如何能自动地相互发现并协同配合工作一直是数字家庭领域热烈讨论的问题。目前智能家居系统有了一定的发展并且市场上也开始出现相应的产品。但从总体的发展来看不容乐观,特别是统一标准和权威产品的缺乏严重影响了家居智能化的发展。随着科技的进步,经济的发展,人们的物质生活水平不断提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。智能家居控制器可以为系统提供智能控制方案使住户的控制更便捷、更高效,更能为家庭的日常活动节约不必要的能耗。而且在现在这个注重绿色环保的世界里,智能地为住户控制好空气的湿度、温度等检查分析空气成分,让住户安心入住。同时,智能家居控制器可以根据住户的要求调整方案,加强紧急处理、危机救护等急救控制 [5]。伴随着科学技术的迅速发展和 3G 通信网络的逐步普及,通过便捷的手机终端进行远程家居监控,成为更多忙于工作的职业人、领导以及智能手机用户的迫切需要。Android是由开放手机联盟于2007年11月5日发布的基于Linux内核的开源手机软件设计平台[1],由操作系统、中间件、用户界面和应用软件组成。Android给开发人员提供了为移动设备开发新颖的应用程序的机会[2],正因为 Android操作系统具有很强的扩展性和互联性,以及不存在任何以往阻碍移动产业创新的专有权障碍,得到了手机厂家和运营商的普遍欢迎,凭借其系统的灵活性、开放性以及开放的互联网理念,在操作系统平台的竞争中占据了明显的优势。本文设计的是基于三星S4 智能手机完成的终端智能家居系统。

1 Android软件平台的构成[2]

Android平台整体自底向上由以下4个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用程序层。

1.1 Linux内核层

Android是基于Linux Version 216123内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为虚拟的中间层,该层位于硬件与其他的软件层之间。

1.2 Android运行时库和其他库层

Android运行时库包含一组核心库(提供了Java语言核心库内的大部分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开源代码,如采用的数据库为SQLite。Android选择它作为移动终端的嵌入式数据库有以下优点:它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整的数据库,体积只有250 KB但支持数据库大小至2 TB,提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快。

1.3 应用框架层

在应用框架,Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。

1.4 应用程序层

Android本身会附带一些核心的应用程序,包括E -mail客户端、短信程序、日历、地图、浏览器、通信录等,目前所有的应用程序都是由Java语言开发的。

2 面向Web服务的智能家居控制系统软件设计

面向Web服务的智能家居控制系统以EXPLORERF-CC2530系统为基础,将对单一用户的家居设备控制上升到对整个建筑甚至建筑群的集中控制和管理,将建筑物或建筑群的所有信息存储在服务器的数据库中,Android手机或者平板电脑通过网络(3G/Internet/GPRS等)从服务器获取实时数据,服务器通过以太网与EXPLORERF-CC2530系统的网关进行通信,房间控制器与室内的家居设备相对应的模块通过无线的方式进行通信,从而实现了远程控制家居设备的功能。系统省去了室内控制器等硬件设计的复杂度,不必破坏隔墙,不必购买新的电气设备,系统可以简单安装,减少了用户的使用成本;系统可以只与照明设备或常用的电气设备连接,将来也可以与其他设备连接,以适应新的智能生活需要,具有良好的可扩展性。本章首先介绍了Android远程数据库的几种方法并且选取了其中一种,然后实现了Android客户端对远程服务器的访问,最后对客户端界面做了个性化设计。

2.1 Android与远程数据库通信的方法

近年来,随着智能移动设备的快速发展和3G网络的逐渐普及,以及Android系统凭借其开放性、多样性等优势越来越受到开发人员的推崇,如腾讯、淘宝等知名网站都推出了Android客户端版本,同时很多Window桌面的数据库应用程序都延伸到移动设备上。由于移动设备的内存及性能很难比得上PC机或笔记本电脑,所以桌面的客户端访问数据库的方法也不可能在Android设备上使用。MFC/Swing等C/S模式的程序设计可以通过IP地址直接访问远程数据库,但是Android平台并没有提供直接调用远程数据库的接口,所以Android客户端不能直接访问远程数据库[7]。而是在Android客户端与远程数据库中加入Web服务器来实现Android访问远程数据库的功能,而且在访问数据库的过程中可以把频繁仿问的数据内容缓存在Web服务器中,不同的客户端不需要访问远程数据库便可以获取相同的数据,减少了访问远程数据的次数和数据库的压力,提高了访问数据库的效率[6]。本系统Android客户端访问远程数据库采用基于SOAP的Web服务实现远程访问数据库Android中并没有直接调用Web Service的库,借助ksoap2-Android这个第三方工具来实现Web Service的访问,这个软件可以封装KSOAP2请求,以SOAP的格式调用Web Service,并以将返回的SOAP格式的数据解析为SoapObject对象。

2.2 Web Service 技术

Web Service是计算机领域一种新兴的分布式技术,是基于可编程的Web的应用程序,具有发布、定位、调用的功能,Web Service在被访问时可以不考虑相关服务如何被实现便可以被任何系统、在任何地方被动态访问。与传统的模式相比,实现服务的访问依赖于协议和数据格式,而不用像其他模式一样依赖特定对象模型协议;而且Web Service可以整合不同平台、不同语言、不同开发技术的应用[8],具有良好的封装性、高度集成性、平台独立性等优点。Web Service的关键技术包括 HTTP、XML、SOAP、WDSL、UDDI,这些技术通过独立于特定编程语言、操作系统、硬件平台的方式进行通信[8]。

3 项目源程序开发

智能家居源程序主要功能模块框架如图1所示。

图1 系统功能框架图

3.1 登录与注册功能的界面设计

当用户拥有智能家居远程控制系统中的相关硬件,如环境模块、房间控制器、设备模块等,各模块上标示有唯一的ID,用户可以根据ID进行注册,注册成功后便可以登录此系统对相关设备进行控制。若用户已经注册,则可以直接登录认证,登录系统认证的大致流程图如图2所示。

图2 系统登录功能详细设计流程图

若用户登录成功,则系统直接跳转到系统主界面;系统的主界面如图3所示。若用户名或密码错误,则弹出错误提示框,图4所示是系统给出的错误提示框图。

图3 系统主界面图 图 4 登陆界面

3.2 代码的运行

完成工程的创建和源代码的编译后就开始运行程序。在Eclipse平台中选择Run>Open Run Dialog选项,打开运行对话框。然后,在对话框左边的type filter text下选择Android Application>contactnote,再点击对话框中的Run按钮,应用程序就会被加载到仿真器上并开始运行。

4 结 语

Android手机应用程序开发需要着眼于它的整个体系构架,是一项复杂的工程。本文分析了Android体系的层次架构,并在此基础上介绍了Android应用程序开发的相关技术和基本的开发流程。Android平台具有极大的开放性和兼容性,相信广大开发者可以借助Android SDK提供的强大技术支持,开发出丰富多彩、极具个性的移动应用。

参 考 文 献

[1]陈昱,江兰帆.基于Google Android平台的应用程序开发和研究[J].福建电脑,2008(11):156-157.

[2]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.

[3]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008(11):110-111.

[4]姚昱旻,刘卫国.Android与J2ME平台间即时通信的研究与实现[J].计算机系统应用,2008(12):118-120.

[5]公磊,周聪.基于Android 的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):86-89.

[6]差沙,地狱男爵.用Android 开发手机应用[J].程序员,2008(1):25-27.

[7]叶达峰.Eclipse编程技术与实例[M].北京:人民邮电出版社, 2006.

[8]张超,王阿川,王智.基于J2ME和J2EE的手机软件的研究[J].黑龙江科技信息,2007(3):21,201.

[9]刘向辉.基于Java的移动终端中间件的研究与设计[D].上海:华东师范大学硕士学位论文,2005.

推荐访问: 程序开发 智能家居 研究 Android