【Android论文栏目提醒】:网学会员在Android论文频道为大家收集整理了“基于Android的智能家居系统的研究与实现 - 硕士论文“提供大家参考,希望对大家有所帮助!
第22卷第6期 计算机技术与发展 V01.22 No.6 2012年6月 COMPUTER TECHNOLOGY AND DEVELOPMENT June 2012 基于Android的智能家居系统的研究与实现 王朝华1,陈德艳2,黄国宏1,童怀1 (1.广东工业大学信息工程学院,广东广州510006; 2.广东省嵌入式软件公共技术中心,广东广州510006) 摘要:针对家庭内部的应用环境,对智能家居控制系统进行分析和研究,提出一种低成本、易扩展,适用于家庭应用的家 居控制系统。
基于Android手机平台或平板电脑设计了一套智能家居控制系统,利用Android提供的各种资源建立智能家 居控制终端软件,并利用单片机建立一个智能家居控制网关。
该系统既可用于普通的住宅家庭用户,也可用于酒店等子 系统.实现了家用电器的远程控制和本地控制相结合。
结果表明:该系统硬件设备简单、成本较低、系统可靠、易于扩展。
关键词:Android;WIFl;智能家居;控制网关; 中田分类号:TP39 文献标识码:A 文章编号:1673—629x(2012)06—0225—04 Research and Implementation of Smart Home Based on Android Platform WANG Chao—hual,CHEN De—yah2,HUANG Guo—hong‘,TONG Huail (I.Institute of Information Engineering.Guangdong University of Technology,Guangzhou 51{3006,China; 2.Embedded Software Public Technology Center of Guangdong Province,Guangzl帕u 510006,China) Al喇xtmt:According to the family indoor appfieation environments.a kind of low-cost.easy tO cxpand and family-oriented SIllart home w牡dc!搴i州for home the
android mobile plafform.a砸n舭llc嘶control mi删troller. controller appliance.Based On symem is designed by applying various鲫岫托髓provided by Android to design i协control mftware for terminals and tO design a home control gateway by Tk sy蛔n not only c柚be used for normal residential home us盯.but also can bc used for hotel and other subsystems.The system IIxlli- z鹤the聪mo把contml of appliances combine locality contr01.The results show that the system hardws_r。
is simple,lower COSt,veliabil埘 and easy to expalld. K町words:Android;WIFI;Ⅻl哑home;control gateway0引 言 第一种方案,采用键盘、红外遥控器、触摸平板和 智能家居是这样定义的:它是以用户住宅为平台, LCD显示器等设备对家电进行控制H。
5 3当前智能家居利用各种新技术,如通信技术、自动控制技术等,把生 控制系统大都采用此种控制终端,使用此种方式需要活息息相关的各种家电、安防等设施集成,组成住宅设 分别对控制终端的软件与硬件进行设计,设计复杂,成施管理系统,造就一个安全、便利、舒适、环保的家居生 本高。
用户必须购买厂家的控制器以及随后产生维修活环境。
目前智能家居正朝着具备无线远程和近程控 升级等问题。
此外,使用此种控制终端只能进行本地制相结合、多媒体,游戏娱乐功能于一身、快速便利的 控制,不能实现远程控制。
家电控制等功能的方向发展,其核心技术为扩展性强 第二种方案,采用家庭或者办公电脑作为智能家的智能家居控制器和满足信息传输快而准需要的家庭 居控制系统的控制终端呻1。
随着家居智能控制网关技网络i“…。
术和高速宽带进入等技术发展和应用,使得电脑能够 在智能家居控制系统中,核心设备是家居智能控 通过intemet对家居系统、安防设备的控制方式成为了制终端,综合目前的研究现状,主要有以下几种方案: 可能。
但是,使用这种控制方式缺点也是显而易见的, 那就是只能固定点对家居进行控制,控制终端不能移收稿日期:2011—1I-lI:惨国日期:2012—02—14 动造成此控制方式不够方便、便捷。
基金项目:广东省重大科技专项计划项目(20110807);顺德区信息化与T业化融合专项项目 第三种方案,采用手机作为控制终端,例如文献作者筒介:王朝华(t98s-),男.硕士研究生,研究方向为嵌人式及智 〔2〕和文献〔5〕,使用手机通过无线网络(Ⅵn,蓝能家居;童怀。
教授.研究方向为电机及其控制。
牙”驯。
GSM¨01等)对家居系统进行控制,可以真正做 万方数据 ·226· 计算机技术与发展 第22卷到方便、快捷、触手可及。
但目前采用这种方式的智能 智能手机或平板通过WIFI连接到家庭网络,控制家居系统还不是很多,而且大部分操作繁琐,没有良好 网关通过以太网连接到家庭网络,家庭网络中的无线的用户体验。
路由器同时连接WIFI和以太网。
当用户在智能手机 随着智能手机的日益普及,手机成为智能家居的 或平板上进行操作后,操作指令通过无线路由器发送一部分是智能家居系统未来的发展趋势。
本研究针对 到控制网关。
控制网关接收操作指令后,将操作指令手机控制方式,提出一种更为合理和便捷的方案。
转发到家居设备。
家居设备接收操作指令,执行相关 本设计主要特点如下: 功能,并将设备状态信息返回到控制网关。
控制网关 1)基于当前广泛流行的开放的Android系统进行 收到设备状态信息后,通过无线路由器将状态信息转控制终端设计,使用支持组件重用和替换的应用框架, 发到智能手机或平板,从而实现智能手机或平板对家使用开源的SQLite结构数据库,具有良好的兼容性和 居设备的操作控制。
可拓展性。
同时采用图形界面交互,界面直观美观,所见即所得,具有良好的用户体验效果。
2 Android客户端软件设计 2)本设计取消智能家居系统专用控制器,使用用 Android的客户端控制系统设计主要包括用户界户的Android手机或平板就能实现对家居设备的操作 面UI、Socket通信、SQLite数据库的设计。
Android应和控制,减少硬件设计的复杂度,同时也减少了用户的 用程序由一个或多个组件构成,组件包括activities、使用成本。
services、content providers、broadcast receivers等,每个组 3)在家庭内部通过本地局域网,无需通过连接In. 件在应用程序中完成不同的任务,每个组件可以单独ternet即可实现家庭内部的家居控制。
被激活,或由其他应用程序激活。
2.1 Android客户端用户界面1系统总体设计 Android手机控制程序主界面如图2所示。
图中, 文中设计的智能家居控制系统主要包括Android 左侧为房间按钮栏,可以选择要进行控制的房间;中间客户端和控制网关两部分。
智能手机或者平板控制终端,安装控制程序以后,就可以通过触屏和用户进行交互。
控制网关则负责将手机或平板的操作指令转发到家居设备,并将家居设备的状态信息转发到手机或平板上。
手机或平板与控制网关通过家里的无线路由器连接。
系统的总体结构示意图如图1所示。
图2客户端主界面图 A。
掬扳祭 控制|旬9关 徊≤囊 各 接 口 空a曼mas渭s 空气加湿器—■ 丽 图1 无线智能家庭网路示意图 万方数据 第6期 王朝华等:基于Android的智能家居系统的研究与实现 ·227·为电器按钮,可以选择要进行控制的电器;右侧为模式 (1)建立Serversocket对象,初始化服务器,等待客按钮栏,可以通过点击快速设置相关模式;右上角为设 户端发出的连接请求;置按钮与返回按钮,点击设置按钮进入设置页面,可以 (2)建立Socket对象,初始化客户端,向服务器发进行房间设置和电器设置;点击返回按钮,则退出应用 出连接请求;程序。
(3)服务器响应客户端并且实现服务器与客户端 房间设置界面和空调设置界面如图3所示。
可以 的连接;对房间和电器进行增、删、改、查等操作。
成功设置的 (4)客户端发出命令和相应数据给服务器;房间和电器,相应的操作按键就会出现在主界面上。
(5)服务器响应客户端的请求; (6)服务器返回并处理从客户端 所得到的结果; (7)客户端接收服务器返回的结 果; (8)重复(4)至(7)步,直至客户 端结束对话; (9)中断连接,结束通信。
2.3数据库 由于智能家居各种家居信息量较 小.时期短,无需较大的数据库,所以 本应用程序使用了Android的平台内 图3房间设置界面和电器设置界面 置的SQLite数据库。
SQLite以减少 在主界面中选择房间,则房间中所有电器就出现 应用程序管理数据的开销,SQLite支持NULL、INTE— GER、REAL、TEXT、BLOB等数据类型,它可移植性好、在电器按钮栏,选择需要操作的电器,就会弹出该电器 很容易使用,很小,高效而且可靠性高。
的操作界面,如:空调控制界面如图4所示,可以对空 对于SQLite的操作,Android提供了SQLiteDam—调进行工作模式调整、控制风速和风向、调节温度等。
base和SQLiteOpenHelper两个类。
SQLiteOpenHelper 类提供两个方法onCreat()和onUpgrade()对SQLite数 据库进行创建和更新,提供getWritableDatabase()或 getReadableDatabase()方法来获得数据库对象。
SQLiteDatabase类则提供一些方法,可以创建、删除、执 行SQL指令、完成常规的数据库管理任务,如execSQL ()可以执行SQL语句,insert()可以插入表项,update ()可以更新表项等。
数据库主要存储如下信息:房问号,家用电器设备 类型,各个设备的信息状态(开关,温度,湿度)。
图4空调控制界面 3控制网关2.2基于Socket通信 本系统设计的控制网关采用Microchip Technology 在网络编程方面,Android提供了非常好的支 公司的PICl8F66J60单片机来实现。
针对嵌入式系统持¨“。
针对TCP传输,Android提供Socket类和Set- Intemet接人应用而开发的PICl8F66J60单片机,内部verSocket类。
针对UDP传输,Android提供Datagram- 集成以太网控制芯片,具有良好的计算能力,时钟最高Socket类和DatagramPackage类。
Socket编程是比较底 可达41..667MHz,并为应用程序提供了充足的64K代层的网络编程方式,是建立其他应用协议的基础。
通 码空间和3808字节数据空间。
过创建Socket对象,就可以通过打开输入输出流来进 控制网关原理框图如图5所示。
PICl8F66J60单行通信。
片机可以从以太网口接收数据,把来自以太网的控制 客户端和服务器之间通信的实现一般需要下面九 指令转发到家居设备接口,或把家居设备接口接收的个基本步骤¨”: 数据发送到家居设备接口,或把家居设备接口接收的 万方数据 228· 计算机技术与发展 第22卷数据发送到以太网。
Eth—APP—ARP—RESOLVE:此状态接受远端主机 发出地址解析包,设置远端主机的网络地址。
Eth_APP_UDP_SOCKE:建立UDP连接。
Eth—APP_UDP:进行UDP连接模式下的数 据接收和发送。
Eth—APP TCP._CIJENT_SOCKET:建立TCP _CUENT模式.并进行TCP连接向主机发送连 接请求。
Em_APP TCP_CHENT:在TCP—CLIENT连 接模式下进行数据的接收和发送。
图5控制网关系统原理框图 控制网关实现了TCP/IP协议族的ARP、IP、IC- 4结束语MP、TCP、UDP、DHCP协议,能够支持TCP—SERVER、 将完成的手机应用软件成功安装,经反复测试,可TCP_CLIENT和UDP三种不同的网络连接模式。
以通过家庭内部网络实现对家居设备的无线控制,也 在TCP_SERVER模式下,控制网关等待客户端请 .