APP下载

基于Android 的智能家居终端控制系统

2014-01-25董立岩辛晓华

吉林大学学报(信息科学版) 2014年3期
关键词:服务器端智能家居客户端

董立岩,隋 鹏,辛晓华,田 耕

(吉林大学a.计算机科学与技术学院;b.软件学院,长春 130012)

基于Android 的智能家居终端控制系统

董立岩a,隋 鹏b,辛晓华b,田 耕b

(吉林大学a.计算机科学与技术学院;b.软件学院,长春 130012)

为了更好地满足用户对生活居住需求,给用户提供更好的对智能家用电器的控制体验,提升家居生活质量,基于Android的手机平台和平板电脑,设计了基于Android的智能家居终端控制系统。该系统建立在Android平台上,利用Android系统支持的各种资源建立并实现。用户可以使用智能手机实现对智能家用电器的远程控制。该系统成本低,操作灵活,界面友好,经实际使用获得了很好的用户体验。

智能家居;Android系统;无线网络通信技术;移动通信网络;客户端;Socket编程

0 引言

智能家居以住宅为平台,利用先进计算机技术、网络通讯技术、综合布线技术和无线技术,将与家居生活有关的各种子系统有机结合在一起。目的是使家居生活更加智能化、信息化、人性化和节能化,核心目标是提升家居生活的质量。

智能家居系统的核心部分是智能家居的终端控制部分,结合当前的市场状况,主要有3种解决方法。1)使用传统的红外遥控器,可触摸的显示屏来控制家电。市场上大多数生产厂商均使用该方法。该方法的缺点是无法达到远程控制家电的目标,只能在本地对其进行控制。而且维修时十分不便,需购买指定厂商的控制器。2)使用电脑运行智能家居终端控制软件进行控制,通过网络实现远程对家居系统的控制。采用此种控制方式的缺点和第一种方法类似,该种方法虽然可达到远程控制家电的目标,但只能在固定地点登录控制,电脑不便随身携带导致其不能灵活,快捷地控制智能电器[1]。3)基于Android的手机和平板电脑的广泛应用,可以使用手机或平板电脑作为智能家居的控制终端,使用无线网络(Wifi,GSM(Global System for Mobile Communication)等)对智能家居系统进行控制,可真正实现方便、远程控制家用电器,给住户带来更好的用户体验,以达到提升家居质量目标[2,3]。

智能手机现在已经应用到人们生活的各个领域,所以采用智能手机做为智能家居的终端控制器是非常好的选择,大屏幕智能手机界面可视性直观,为操作带来便捷;触屏功能增加了操作中的娱乐体验;手机系统功能强大,手机上网、手机信号接收效果非常好,所以,笔者实现了基于Android的智能家居终端控制系统。

该控制终端主要特点:1)基于Android系统进行终端控制软件的设计与实现,使用了基于ActivityGroup的更好的应用程序框架,使用SQLite数据库,它是轻量级的开源,具有良好的可拓展性和兼容性,采用图形化界面,直观简单,操作容易,可给用户更好的体验效果;2)手机可通过GSM或Wifi远程控制智能家电。

1 Android智能家居终端控制系统设计

1.1 Android 平台

Android是基于Linux的自由并开放源代码的操作系统,是强大灵活的智能终端平台。主要应用在移动设备上,如智能手机,平板电脑。据IDC(Internet Data Center)的最新数据显示,Android已成为最受欢迎的智能手机平台。该平台由4部分组成,分别为操作系统、中间件、用户界面及应用软件[4,5]。相比于其他移动设备使用的操作系统,其优势也相当明显。

1.2 系统设计目标

该系统基于Android,利用Android操作系统提供的各种资源实现。用户的家中内部定制安装了智能家电,如电视机、窗帘、空调和加湿器等。因此在实现过程中利用反射机制加载控制模块。用户可对显示在手机或平板电脑上的智能电器实施控制,如控制电器的开关,窗帘的升降,空调的温度,电视的选台等功能。用户可通过手机随时随地远程控制家电的状态,高效、灵活。

1.3 系统的设计流程

系统使用Eclipse作为开发环境,使用ADT(Android Development Tools)作为开发插件。基于Android完成以上的系统目标,用户使用触摸屏与系统进行交互。系统开发流程如图1所示。系统通过发送一些设定系统指令,完成对家电的控制。用户可以设置本地客户端的状态,完成清除系统缓存等用户操作。另外,集成了一些新闻,咨询浏览相关功能,功能设计如图2所示。

图2 功能设计Fig.2 Functional design

图1 系统开发流程 Fig.1 System development step

2 客户端实现

2.1 用户控制

用户控制(客户端)设计主要涉及用户UI界面、Socket通信、线程和SQLite数据库的设计与使用。应用 程 序 使 用 Activity, ActivityGroup, Service,ProcessBar,Handler,ListView等多种组件,每个组件完成相应的任务,采用不同布局方式,如LinearLayour,GridLayout,TableLayout等,完成用户UI界面的显示。该终端控制系统使用流程图如图3所示。

图3 流程图Fig.3 The flowchart

2.2 关键功能

在ActivityGroup中设计了5个子界面,分别为“首页”,“新闻”,“短信”,“更多”和“退出”。进入客户端“首页”时,利用Android反射机制对图片进行加载,显示家里的智能电器,点击相应电器图标,可对相应的电器进行控制。如点击空调图标,进入对空调控制界面,其集成控制空调开关、温度和扫风模式等功能。该客户端还集成了一些娱乐功能,用户可以查看最近的新闻,资讯等。为方便用户的使用,在“短信”页面中,搜集了当前智能家电的状态,可以以短信的形式发送给家里的其他人,以便提醒和确认。在“更多”界面中提供给用户一些可以自定义的功能,如设置客户端的亮度显示模式、白天和夜晚,可以修改登录密码,找回密码等功能。退出界面实现退出客户端程序,并给出是否真的退出本程序的操作提示,防止用户误操作带来不友好的用户体验。提高程序的容错能力。客户端界面如图4所示。

图4 客户端界面Fig.4 The client interface

2.3 数据库

该程序使用的是SQLite数据库,SQLite是一款轻型的数据库,是遵守ACID(Atomicity,Consistency,Isolation Durability)的关联式数据库管理系统,目前已经应用于很多嵌入式产品中。它占用资源非常低并且能支持Windows/Linux/Unix等主流的操作系统,具有很好的可移植性,使用非常方便,同时能与程序语言Java等相结合。由于是轻量级的数据库,所以可以降低管理数据的额外开销。同时SQLite支持基本数据类型,如BLOB、CLOB、BOOLEAN、TEXT等[1]。在Android程序中可以很方便地进行数据库的操作,如其为开发者提供了SQLiteDatabase类,该类对数据的基本操作——添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(简称为CRUD)进行了封装,提供了方便使用的API(Application Programming Interface)。

2.4 Socket编程

Android提供了非常方便的网络编程接口,直接提供了tcp和udp传输封装类,通过创建Socket对象,使用inputstream、outputstream即可完成client与server之间的通信[1,6]。client与server大致通信过程如下(图5):

图5 通信过程Fig.5 The communication process between client and server

1 )服务器端将ServerSocket对象实例化,同时设置监听端口,等待客户端发出的连接请求;

2 )客户端将Socket对象实例化,同时指定将要连接的服务器端ip address与port number,向服务器发出连接请求;

3 )服务器端监听到客户端发来的连接请求,同时对客户端发来的请求给与响应并建立与客户端的通信连接;

4)客户端给服务器发出命令和数据请求;

5 )服务器接受客户端发来的请求,进行相应处理,并将结果返回给客户端;

6 )客户端接收服务器返回的结果,并将结果呈现给用户;

7 )如此反复执行3)~6)步,直至客户端不再发出新的请求;

8 )客户端与服务器端中断连接,并分别回收相应的资源,结束两者之间的通信。

3 电器的交互控制

用户在进入客户端首页中点击家电,跳转到家电的控制界面,在控制界面中用户设置家电的状态,如开关,空调的扫风模式,加湿器的湿度等参数。点击控制界面中的“提交”按钮后,客户端将用户输入的信息进行相应的格式转换后打包发送给服务器端[7,8];服务器端接受客户端发来的请求,解析相应的参数,控制家电使其做出相应的改变,并将响应结果返回给服务器端;服务器端将响应结果返回客户端,客户端将反馈结果呈现给用户[9,10]。用户再根据返回的信息决定下一步的操作,智能家电的交互过程如图6所示。

图6 交互过程Fig.6 The interaction between home appliances

4 结 语

通过安装应用程序,输入合法的用户名和口令后,可完成对智能家用电器的远程控制,随时随地掌控家中的电器状态,实现对家中电器的集中与统一管理。该系统基于目前流行的Android操作系统设计智能家居客户端,一方面可以给用户带来良好的用户体验,以方便用户无需购买其他的终端控制装置,只需下载安装包,即可在手机或平板电脑上安装运行。另外,用户可以使用GSM或Wifi实现远程控制。与其他几种控制方式相比优势明显,而且可移植性好,市场潜力大,易于推广使用,而且硬件成本低,可扩展性好。该系统还有许多待完善的地方,家用电器的种类目前是固定不变的,还需要添加用户自定义功能,动态的增删家用电器,并且用户可以直接与动态添加的家用电器进行交互。

[1]王朝华,陈德艳,黄国宏,等.基于Android的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):226-228.

WANG Chaohua,CHEN Deyan,HUANG Guohong,et al.Research and Implementation of Smart Home Based on Android Platform[J].Computer Technology and Development,2012,22(6):226-228.

[2]彭建盛.基于Symbian平台智能家居控制系统的设计与实现[J].天津师范大学学报:自然科学版,2011,31(2):56-58.

PENG Jiansheng.Designing and Realization of a Smart Home Control System Based on Symbian Platform [J].Journal of Tianjin Normal University:Natural Science Edition,2011,31(2):56-58.

[3]邵鹏飞,王喆,张宝儒.面向移动互联网的智能家居系统研究[J].计算机测量与控制,2012,20(2):474-476.

SHAO Pengfei,WANG Zhe,ZHANG Baoru.Mobile Internet Oriented Smart Home Systems[J].Computer Measurement &Control,2012,20(2):474-476.

[4]YU M C,SHIN D,SHIN D K,et al.Fundamentals and Design of Smart Home Middleware[C]∥CSO 2009:International Joint Conference on Computational Sciences and Optimization.Washington,DC:IEEE,2009:647-650.

[5]原林,于伸.嵌入式技术在智能家居控制系统中的应用[J].自动化技术与应用,2006,25(1):72-74.

YUAN Lin,YU Shen.The Embedded Technology in Smart Home[J].Techniques of Automation and Application,2006,25(1):72-74.

[6]汪宇,吕卫,杨博菲,等.基于Android平台的智能家居监控系统[J].电视技术,2012,36(2):37-38.

WANG Yu,LÜ Wei,YANG Bofei,et al.Smart Domestic Surveillance System Based on Android Platform [J].Video Engineering,2012,36(2):37-38.

[7]陈桥云,贾金玲.基于智能手机与PC机的智能家居系统设计[J].电子设计工程,2009,17(9):25-26.

CHEN Qiaoyun,JIA Jinling.Design of Smart Home System Based on Intelligent Mobile and Computer[J].Electronic Design Engineering,2009,17(9):25-26.

[8]YEO L K,WEON C J.Remote-Controlled Home Automation System via Bluetooth Home Network[C]∥Proc of SICE 2003 Annum Conference.Tokyo:Soc of Instrum and Control Eng,2008:2824-2829.

[9]王挥,吴小祥.基于Android的校园客户端的设计与实现[J].计算机科学与应用,2013,3(7):313-319.

WANG Hui,WU Xiaoxiang.Design and Implementation of Campus Client Based on Android [J].Computer Science and Application,2013,3(7):313-319.

[10]宋小青,周东升.基于Android平台的应用开发研究[J].软件导刊,2011,10(2):104-106.

SONG Xiaoqing,ZHOU Dongsheng.Development and Research of Application Based on Android Platform [J].Software Guide,2011,10(2) :104-106.

Implementation of Smart Home Terminal Control System Based on Android Platform

DONG Liyana,SUIPengb,XIN Xiaohuab,TIAN Gengb

(a.College of Computer Science and Technology;b.College of Software,Jilin University,Changchun 130012,China)

The smart home terminal control system based on Android is designed for greatly satisfying the user's requirement to living,providing better control experience of smart household appliances to the users.The terminal control system has the features of low cost,flexible operation and friendly interface which are supported by all kinds resources of Android,it can realize the remote control to the smart household appliances.

smart home;Android System;Wifi;global system for mobile communication(GSM);client;Socket program

TP319

A

1671-5896(2014)03-0303-05

2013-09-15

董立岩(1966— ),男,长春人,吉林大学教授,博士,硕士生导师,主要从事数据挖掘研究,(Tel)86-18604315166(E-mail)dongly@jlu.edu.cn;通讯作者:辛晓华(1988— ),男,河南林州人,吉林大学硕士研究生,主要从事数据库文件、物联网研究,(Tel)86-18843112539(E-mail)877352463@qq.com。

张洁)

猜你喜欢

服务器端智能家居客户端
Linux环境下基于Socket的数据传输软件设计
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Zigbee的无线通信技术在智能家居中的应用
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
关于智能家居真正需求的探讨
智能家居更贴心
基于LD3320的智能家居控制