在码农港湾
做一个实实在在的内行人

基于Android和云服务的智能家居系统设计

随着智能手机、物联网和云服务的快速发展,家庭的智能化已成为了一种发展趋势。基于Android平台、云平台、S5PV210微处理器、ZigBee和多种传感器实现对家庭状况的采集和显示以及对家庭设备的控制。该系统进一步可结合数据挖掘和大数据分析,实现宏观统筹节能环保。还可以将云技术和智能家具结合实现智慧小区,乃至智慧城市。

:Android;云服务;ZigBee;传感器

随着电子、通信、自动控制等技术的快速发展及人们物质精神生活的提高,家用电器、室内环境的检测以及安全防护等的智能化控制代替传统控制已经成为一种大趋势。伴随智能手机的迅速普及和不断提高,网络性能的提高,以及移动互联网的盛行,基于Android平台的智能控制在智能家居控制中扮演了重要角色。由于人们对智能化准确性和性能要求更高,这就需要各种的传感器对家庭信息的采集,并对采集的大量的数据进行存储和可视化的处理,智能家居网关就难以实现对高并发大量数据的存储和可视化。基于以上原因,本文设计了一种基于Android和云服务智能家居系统。在Android平台实现智能家居用户界面,在云服务平台实现对大量数据的存储、分析,智能家居厂商可以在统一的平台实现对变量的组态,方便对变量的添加、修改、更新。在网关部分,采用Android平台,接收和发送由传感器传送的数据,加强了与用户之间的可视化和交互性。即使在所有的Android设备出现故障时,也可以通过网关实现对家里智能设备的管理。

1系统总体设计

智能家居系统总体架构如图1所示,主要包括用户端(Android智能终端)、智能家居云服务、智慧家庭网关(WiFi接入点、ZigBee和各种传感器、设备组成的无线网络终端、显示屏)。

基于Android和云服务的智能家居系统设计

(1)用户端主要负责本地和远程对家里的智能产品、环境等的控制和显示。

(2)智能家居云服务主要负责不同智能家居厂商对自己产品变量的添加、更改、删除、显示等操作,以及与用户、智慧家庭网关的通信和对它们传输的数据的存储、分析等的处理。

(3)智慧家庭网关主要负责接收、解析、发送和显示来自用户端发送给云服务的控制命令,以及接收、解析、发送和显示来自ZigBee和各种传感器、设备组成的无线网络终端传来的数据。

2系统的硬件设计

本系统智慧家庭网关主控芯片选用Samsung公司的32位精简指令集(RISC)微处理器S5PV210。该处理器的内部架构采用64/32位总线架构,CPU采用ARM CortexTM-A8内核,具有运行速度快、运算能力强、硬件编解码功能强大的特点,同时具有完整的通用系统外设、高性能、低功耗等优点,减少了系统的整体成本。该系统采用WiFi模块、4G模块、ZigBee和各种传感器、设备组成的无线网络节点等作为外部扩充,搭建了一个稳定、功能齐全的智慧家庭网关控制系统。智慧家庭网关硬件结构框图如图2所示。

基于Android和云服务的智能家居系统设计

本系统控制终端采用TI 公司的ZigBee芯片CC2530,它以8051微处理器为内核,自身携带的射频发射器实现网络的无线通信。该控制终端由ZigBee无线网络节点组成,包括ZigBee协调器和ZigBee组成的终端设备。ZigBee协调器完成自组网,维持无线网络的正常通信,以及与网关主控芯片之间的通信。ZigBee组成的终端设备完成对家庭的控制和信息数据图3ZigBee组成的终端设备的结构框图的采集。ZigBee组成的终端设备的结构框图如图3所示,实物图如图4。

基于Android和云服务的智能家居系统设计

3系统的软件设计

系统软件设计包括Android客户端、智慧家居云、智慧家庭网关3部分。

3.1Android客户端

根据客户端的需求和软件的特点,客户端软件设计如图5所示。

Android客户端软件设计是在Android平台上开发的,实现对电视、空调、窗帘、门禁、灯等的控制和室内环境状况(温、湿度等)的显示。本客户端由登录界面和控制界面组成,登录界面如图6所示。先调用4G/WiFi网络服务,确保打开WiFi/4G,再通WebService 传入账号和密码进入控制界面,如图7所示。同时需要在Android Mainfest.xml文件中设置获取联网权限,代码如下[1]:

<usespermission android:name”android.permission.INTERNET”/>

基于Android和云服务的智能家居系统设计

智慧家居云(云服务平台)开启端口,等待客户端HttpCliet发送HTTP请求,经过3次TCP/IP握手,双方建立连接,通过Socket实现数据的处理和发送[2]。云服务器接收客户端的控制命令,存储在数据库中,客户端接收云服务器的状态信息,进行显示。云服务平台和客户端的通信框图如图8所示。

基于Android和云服务的智能家居系统设计

3.2智慧家居云

智慧家居云建立在云平台上之上,实现智能家居服务。云平台总架构采用IaaS(Infrastructure as a Service) 和PaaS(Platform as a Service)整合的方式来构建云应用平台[3]。

IaaS为上层应用平台提供存储、网络、操作系统、异常处理和其他一些应用程序。PaaS在IaaS提供的虚拟机群基础上为客户提供Web服务器和数据库等应用。这样,智慧家居云应用就可以在PaaS平台上完成智能家居云服务应用[4]。

基于Android和云服务的智能家居系统设计

智慧家居云应用采用JavaWeb进行开发,结合移动服务和JavaEE的标准,采取分层结构模型管理[5]。结构模型如图9所示,按照逻辑结构可分为对象访问层、业务逻辑层、访问控制层、界面显示层、异常处理层、安全认证层。这种分层的模型保证了操作的相对独立性以及数据的安全性和有效性,便于管理和扩展。

云应用软件设计包括智能家居开发者服务软件设计,客户端、智慧家居云和智慧家庭网关通信软件设计。智能家居开发者进入登录界面,如图10所示,打开服务界面,如图11所示,建立不同厂商不同产品变量的数据表,服务界面实现对智能家居产品的组态,即对不同厂商的产品进行查询、添加、更新、删除和显示,并将产品变量存储于数据库中。当客户端带着厂商的ID号(Cid)参数向智慧家居云发生HTTP请求时,云平台接收到请求,查询Cid对应的厂商产品变量表,建立一个新的用户数据表,并把传过来的控制命令和数据进行解析、存储/回传显示。同样,智慧家庭网关带着参数用户ID号(Uid)不断向智慧家居云发生HTTP请求,获取/上传与Uid相对应的数据。

3.3智慧家庭网关

基于Android和云服务的智能家居系统设计

智慧家庭网关软件设计基于Android平台,包括网络部分、控制部分、执行部分3个部分。智慧家庭网关软件设计框图如12所示。

基于Android和云服务的智能家居系统设计

智慧家庭网关作为连接公网(智慧家居云平台)和家庭局域网(ZigBee组成的无线网络)的枢纽,既担负家庭内部对云端的访问和交互,又承担互控用户通过云端对家庭网络的访问和控制,另外还负责家庭内部设备的互联、互控等操作。公网采用4G/WiFi,实现控制部分和控制部分的连接[6]。控制部分采用微处理器加外围控制电路,通过串口和ZigBee实现与执行部分的连接。执行部分由ZigBee协调器、ZigBee终端设备、传感器和执行设备组成[7],采用ZigBee协议进行通信,采用树状结构,如图13所示[8]。

ZigBee协调器完成无线网络的自组网、网络的维护并实现与微处理器的通信,流程图如图14所示。ZigBee终端设备(ZigBee终端工作流程图如图15所示)、传感器、执行设备和外围的控制电路组成ZigBee无线终端设备,实现对室内的灯、窗帘、空调、电视、门禁等的控制[9]。

基于Android和云服务的智能家居系统设计

4系统测试

系统的测试分为客户端和智能家居云之间功能测试、智能家居云和智慧家庭网关之间功能测试。第一部分为准备工作,启动智能家居云服务,连接好网络,智能家居提供商登录云服务器,添加、更改、删除不同厂家的产品变量并完成初始化,生成厂家的变量表。接着,打开网络连接,登录智慧家庭网关,并连接好ZigBee协调器和ZigBee无线终端设备,使其正常工作。第二部分为测试工作,登录vi 客户端Android界面,确保连接上网络,一切连接正常,进行客户端和智能家居云之间功能的测试,分为A组和B组两组进行测试,代表不同厂商AA和BB的产品,通过HTTP请求智能家居云服务,请求的参数Cid不一样,一个Cid=AA,另一个Cid=BB,客户端A对客厅灯、电视机、室内温度进行操作,客户端B对卧室灯、空调、卧室窗帘进行操作。接着智能家居云服务器接收客户端发送来的请求,接收客户端发送来的控制信息并进行显示,如图16所示。最后进行智能家居云和智慧家庭网关之间功能测试,确保连接网络,网关请求智能家居云端,获得客户端相应的控制命令,测试结果如图17所示。经过测试,各项功能都正常实现。

基于Android和云服务的智能家居系统设计

5结论

随着云和智能手机技术不断提高和发展,智能家居云服务已成发展的趋势。本文利用Android平台实现与用户的交互、对家庭智能化设备控制和对家里环境状况的显示,利用云服务实现对智能生活中大数据的存储和数据的组态。进一步可结合数据挖掘和大数据分析,实现宏观统筹节能环保。还可以将云技术和智能家具结合实现智慧小区,乃至智慧城市[10]。

参考文献

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

[2] 李刚. 疯狂Android讲义[M]. 北京:电子工业出版社, 2011.[3] 裴超. 基于云计算的智能家居系统架构研究[J]. 软件导刊, 2014, 13(3):8082.

[4] 徐鹏, 陈思, 苏森. 互联网应用PaaS平台体系结构[J]. 北京邮电大学学报, 2012, 35(1):120124.

[5] 岳敬华. 基于云服务的智能家居系统的研究与设计[D]. 杭州:杭州电子科技大学, 2013.

[6] 徐继宁,张暕,胡敦利,等.基于ZigBee和WiFi的智能家居系统[J].微型机与应用,2015,34(12):5760.

[7] 王权平, 王莉. ZigBee技术及其应用[J]. 现代电信科技, 2004(1):3337.

[8] 安康,张慧熙,王李冬,等.基于ZigBee技术的多节点设备无线物联自组网设计[J].微型机与应用,2014,33(8):5154.

[9] 林铃, 于德海. 自学习红外遥控器的设计与实现[J]. 电脑知识与技术, 2008, 3(24):12571259.

[10] 巫细波, 杨再高. 智慧城市理念与未来城市发展[J]. 城市发展研究, 2010, 17(11):5660.


码农刷题必备工具 VS 码农进阶必读书籍

IT面试宝典宝典書城