基于Android平台的智能家居系统设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于Android平台的智能家居系统设计.doc》由会员分享,可在线阅读,更多相关《基于Android平台的智能家居系统设计.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Android平台的智能家居系统设计摘 要: 为了实现家居生活智能、方便等目的,提出一种基于Android平台的智能家居系统。采用内外网通信方式,使得当家庭宽带不可用时仍能通过内网实现对家居设备的控制。将用户配置信息、设备信息存在网关使得不同客户端能信息共享,实现动态添加、删除动作。采用推送而不是轮询,实时性好。客户端APP功能齐全,云计算的使用实现了外网控制,同时便于未来的系统扩展。关键词: 智能家居;Android;信息推送;云计算;远程控制0 引言智能家居通过物联网技术将家居子系统有机结合在一起形成高度智能化的智慧家庭1。物联网、云概念的提出加速了智能家居的发展,Android智能手
2、机和网络技术的发展也给智能家居带来了新的思路2。本文提出一个基于Android平台的智能家居系统设计方案。以Android手机作为家居控制终端,通过云平台转发消息,真正实现远程控制,将用户信息、设备信息存在网关使不同客户端能实现信息共享,实现动态添加、删除动作。结合推送技术获得良好的实时性。1. 系统总体框架图系统由客户端、云计算中心、网关和家庭设备组成。系统框架。客户端实现对底层设备的控制方式包括:(1)内网控制:客户端使用家庭网络与网关直接通信,由网关控制底层设备;(2)外网控制:客户端与网关不在同一网段内,客户端指令由云服务器转发给对应的网关,再由网关控制底层设备。采用内外网的通信方式,
3、使得家庭宽带网络在不可使用的情况下,仍能通过内网通信实现对设备的控制,同时节省用户数据流量3。每次运行客户端软件,会自动获取网关处的配置信息、设备信息。网关同步底层设备状态,当发生改变时由网关转发给客户端,使用户能及时获知底层设备的最新状态。2. 客户端设计与实现2.1 客户端功能说明Android客户端功能模块。设备管理是核心模块,包括自定义房间和设备。可添加、删除、修改房间,房间下可添加设备。点击设备管理,通过后台获取当前用户下的所有房间并以JSON格式返回,客户端完成解析并显示在界面上,点击添加图标进入添加房间界面,填写房间名称并将用户ID与房间名称发往网关并保存至数据库。通过长按房间界
4、面实现删除与修改动作。点击房间会显示该房间下的所有设备,可添加设备,长按删除设备,不提供修改设备动作。可以控制单个设备或区域内的所有设备,也可以对某个情景模式关联的设备进行联动控制。2.2 客户端框架在Eclipse开发环境下,采用java语言,基于MVC模式对客户端进行设计。视图层View负责生成用户界面,接收输入并显示结果。控制层Controller用于监听用户操作并作出反应。模型层Model定义了各种功能模块,包括通信模块、数据库模块、数据格式的封装和解析模块等4,其中通信模块是核心。2.3 通信模块通信模块负责客户端和服务器或网关间的消息通信和链路维护。通信方式有:TCP/UDP、Ht
5、tp、MQTT推送。系统的通信协议。2.4 通信模块实现2.4.1 Http通信外网通信方式下,用户登录、获取设备信息等由客户端采用Http建立主动连接,服务器将结果以JSON格式返回。模块中的Http请求用Android-Async-Http网络请求库实现,它是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,不阻塞UI操作,通过回调方法处理请求结果。Android-Async-Http使用简单,通过核心类AsyncHttp-Client的实例就可以执行网络请求,提供put、post等方法。登陆过程如下:(1)创建AsyncHtt
6、pClient的实例AsyncHttpClient client = new AsyncHttpClient();(2)创建请求参数的封装对象RequestParams params = new RequestParams();params.put("username", userName);params.put("userpass", userPass);(3)执行post方法client.post(url, params,new AsyncHttpResponseHandler ()public void onSuccess(int statusCo
7、de, Header headers,byte responseBody)if(statusCode = 200)/成功Toast.makeText(this,new String(responseBody) ).show();Public void onFailure(int statusCode, Header headers,byte responseBody Throwable error)error.printStackTrace();/失败);new AsyncHttpResponseHandler()这个实例用于接收请求结果,一般重写onSuccess()和onFailure()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 智能家居 系统 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内