一种基于Android平台智能家居客户端的制作方法
【技术领域】
[0001]本发明属于智能家居领域,具体地是一种基于Android平台智能家居客户端。
【背景技术】
[0002]智能家居是以住宅为平台,通过网络技术、自动控制技术、计算机技术将家居生活环境中的各种设备连接起来,实现家居生活环境的智能化控制,提供一个更加人性和智能化的居住环境。客户端是系统中与用户直接交互的部分,是智能家居系统整体状况的最直接的体现,受到了广泛的关注。
[0003]目前,国内外很多学者和机构在研究智能家居相关技术。实现了一个智能家居整体解决方案,包括家庭网关、家庭ZigBee无线网络和传感器功能模块,重点放在各个部分直接的通信和硬件设计上,对客户端和控制方式关注较少。以An-droid手持终端作为智能家居的客户端,研究客户端与家庭网关之间的通信协议以及Android应用层对底层的JNI调用。实现了通过CDMA蜂窝网和In-ternet控制家居中的设备,即用户可以通过笔记本电脑与手持终端多种客户端设备进行控制;但是这些家居客户端还存在着不够便捷问题。
【发明内容】
[0004]本发明就是针对智能家居系统中功能实现的便捷性问题,对智能家居系统控制实现的通信模块、数据库和消息通信格式等方面进行了分析与实现,提供一种基于Android平台智能家居客户端;本发明能够方便、快捷地实现各功能并符合预期要求。
[0005]为实现本发明的上述目的,本发明采用如下技术方案。
[0006]本发明一种基于Android平台智能家居客户端实现框架,其中包括xml资源文件、Android控件、自定义或重写的控件、Xml布局文件、Activity、事件监听和更新接口、通信模块、家庭关网;所述Activity包括学习等待框、控制等带框、网络连接提示框,还包括监听事件和数据源,所述听事件和数据源由更新事件、控制事件、无线学习事件;所述通信模块包括Socket模块和HTTP模块。
[0007]作为本发明的一种优选方案,所述Activity作为Android的四大组件之一,除了将视图部分进行显示外,还承载着控制层的所有入口,在其不同的生命周期函数中,完成与功能模块的各种交互。
[0008]进一步地,所述Activity连接着视图部分和底层的模块功能部分,从View中获取数据然后把数据传给Model层进行处理,最后再显示处理结果。
[0009]作为本发明的另一种优选方案,所述通信模块包括Socket模块和HTTP模块,所述Socket模块与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理。
[0010]本发明的有益效果是。
[0011]本发明针对智能家居系统中功能实现的便捷性问题,对智能家居系统控制实现的通信模块、数据库和消息通信格式等方面进行了分析与实现,从而设计了智能家居系统客户端。首先基于Android平台将客户端设计分为View视图、Activity控制层和逻辑功能部分;其次自定义客户端与嵌入式网关之间的数据消息格式,从而采用格式化的消息交互格式提高了系统的可扩展性和网络传输的可靠性;设计并实现了客户端的数据库,以便保存用户设置数据及传感器历史数据;对客户端与网关交互的Socket通信和HTTP协议通信进行了设计与实现。最后结合网关和无线传感网络节点对客户端功能进行了测试。研究结果表明,该客户端能够方便、快捷地实现各功能,符合预期要求。
[0012]本发明设计基于Android的智能家居客户端,对客户端的整体框架和各个功能模块进行实现,自定义与家庭网关之间的消息格式,并设计客户端数据库,使客户端功能更加丰富。主要从客户端总体框架的设计、通信模块的设计与实现、自定义与网关之间交互的数据格式和数据库的设计方面对基于Android平台的客户端进行设计与实现。
【附图说明】
[0013]图1是本发明一种基于Android平台智能家居客户端的架构图。
【具体实施方式】
[0014]如图1所示,为本发明一种基于Android平台智能家居客户端的架构图;其中包括xml资源文件、Android控件、自定义或重写的控件、Xml布局文件、Activity、事件监听和更新接口、通信模块、家庭关网;所述Activity包括学习等待框、控制等带框、网络连接提示框,还包括监听事件和数据源,所述听事件和数据源由更新事件、控制事件、无线学习事件;所述通信模块包括Socket模块和HTTP模块。
[0015]本发明智能家居客户端系统总体可分为3部分:基于Android平台的客户端、嵌入式Linux网关和无线传感网络节点。所有功能的执行首先由客户端发送相应命令至网关,在网关处对接收的命令进行分析和处理,然后将处理后的命令经过协调器传输至无线传感网络节点,最后由节点对家居设备进行控制。
[0016]本发明客户端与嵌入式网关之间通过W1-Fi采用基于TCP/IP协议的Socket通信或HTTP通信实现交互,网关中部署Appweb服务器、SQLite3数据库和php脚本语言等,以便更好地实现各功能。无线传感网络节点采用CC2530芯片,通过Zigbee通信实现与网关协调器之间的数据的相互传输。智能家居系统主要实现对各种家电的控制、定时功能、联动报警控制、情景模式控制、环境监测和传感器历史数据查询等功能。
[0017]本发明在Android平台的客户端上建立Socket通信与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理。而Socket通信属于耗时操作,如果将发送和接收过程放在同一个线程中运行,可能会导致程序崩溃。因此,将另起一个线程来专门负责接收网关返回的数据,这样发送和接收就在不同的线程中处理,并对每一次数据发送设置对应的接收时间限制,防止发送线程和接收线程的混淆。在Android平台的客户端建立Socket通信的详细过程如下:
(I)创建Socket对象:
Socket ClientSocket=new Socket ();
(2 )绑定本地的IP地址和端口号,本地的端口号要与服务端端口号相同,并且同时对Socket对象设置了连接时间限制:
InterSocketAddress isa=new InterSocketAddress(IP, PORT);
(3)建立Socket连接并设置连接超时:
ClientSocket.connect(isa, TIMEOUT);
(4)建立数据流通道并将数据通过流通道发送至服务端,此处用到了 JAVA数据流的相关知识:
DataOutputStream out=new DadaOutputStream(ClientSocket.getOutputStream O);
out.write (字节数据); out.flush O ;
(5)本研究另起一个线程来专门用来接收服务端返回的数据,在线程中同样需要建立接收流管道,接收完成后关闭Socket连接并将数据广播出去: class MyThread extends Thread { // 建立线程 ◎override
public void run() { // 重写 run 方法...//接收数据
ClientSocket.close O ;// 接收完成,关闭 Socket 连接
}}
//启动线程
MyThread mThread=new MyThread();mThread.start O。
[0018]本发明所述Activity作为Android的四大组件之一,除了将视图部分进行显示夕卜,还承载着控制层的所有入口,在其不同的生命周期函数中,完成与功能模块的各种交互。所述Activity连接着视图部分和底层的模块功能部分,从View中获取数据然后把数据传给Model层进行处理,最后再显示处理结果。所述通信模块包括Socket模块和HTTP模块,所述Socket模块与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理。
【主权项】
1.一种基于Android平台智能家居客户端,其特征在于:包括xml资源文件、Android控件、自定义或重写的控件、Xml布局文件、Activity、事件监听和更新接口、通信模块、家庭关网;所述Activity包括学习等待框、控制等带框、网络连接提示框,还包括监听事件和数据源,所述听事件和数据源由更新事件、控制事件、无线学习事件;所述通信模块包括Socket模块和HTTP模块。2.根据权利要求1所述的一种基于Android平台智能家居客户端,其特征在于:所述Activity作为Android的四大组件之一,除了将视图部分进行显示外,还承载着控制层的所有入口,在其不同的生命周期函数中,完成与功能模块的各种交互。3.根据权利要求1所述的一种基于Android平台智能家居客户端,其特征在于:所述Activity连接着视图部分和底层的模块功能部分,从View中获取数据然后把数据传给Model层进行处理,最后再显示处理结果。4.根据权利要求1所述的一种基于Android平台智能家居客户端,其特征在于:所述通信模块包括Socket模块和HTTP模块,所述Socket模块与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理与网关服务器进行连接并发送字节数据,同时设置连接时长和异常处理。
【专利摘要】一种基于Android平台智能家居客户端。本发明具有能够方便、快捷地实现各功能,并符合预期要求。其中包括xml资源文件、Android控件、自定义或重写的控件、Xml布局文件、Activity、事件监听和更新接口、通信模块、家庭关网;所述Activity包括学习等待框、控制等带框、网络连接提示框,还包括监听事件和数据源,所述听事件和数据源由更新事件、控制事件、无线学习事件;所述通信模块包括Socket模块和HTTP模块;所述Activity作为Android的四大组件之一,除了将视图部分进行显示外,还承载着控制层的所有入口,在其不同的生命周期函数中,完成与功能模块的各种交互,所述Activity连接着视图部分和底层的模块功能部分,从View中获取数据然后把数据传给Model层进行处理,最后再显示处理结果。
【IPC分类】H04L12/28, H04L29/08
【公开号】CN105530150
【申请号】CN201410567206
【发明人】张学一
【申请人】张学一
【公开日】2016年4月27日
【申请日】2014年10月22日