《远程控制智能家居系统设计-精品文档.docx》由会员分享,可在线阅读,更多相关《远程控制智能家居系统设计-精品文档.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、远程控制智能家居系统设计摘要:基于网络技术的智能家居远程控制系统能够知足用户实时了解家居状况、远程控制家居设备的需求,是智能家居发展的重要方向。为此,设计了一种利用社交网络开放平台作为网络通信媒介的新型远程控制智能家居系统,进而克制了传统远程控制系统需要安装家庭服务器,依靠固定IP地址的弊端,提高系统安全性。关键词:智能家居;远程控制;社交网络在无线通信技术和互联网技术的高速发展不断提升人们的生活质量的同时,人们对舒适便捷的家居生活的需求也越来越高,家庭自动化、家庭信息化、智能家居等不断智能化的设计思想在这种日益突出的需求下相继被提出,实现家居环境的智能化、网络化已成为当今家居产业的主要研究目
2、的。智能家居是人类住宅即将经历的的一场富有意义的革命,它能够为人类带来愈加便捷、安全、高效的当代生活方式,是寓居环境与当代科技融合后的的必然产物。所以,在新兴的研究领域中智能家居系统也逐步重要1。1相关技术介绍1.1Android平台下的应用程序设计Android体系采用的是分层的软件层次架构,它主要由5个部分组成,分别是:Linux内核、Dalvik虚拟机、各种本地运行库、应用程序框架和上层应用程序。本文以Windows系统为开发Android的系统平台,采用第一种开发方式,即基于AndroidSDK的应用程序开发方式,并使用比拟流行的IDE开发工具Eclipse。AndroidSDK安装详
3、细步骤为:从Android开发者官方网站下载安卓SDK压缩文件,文件下载完成后解压到需要保存的工作途径。运行SDK文件中的Setup.exe可执行文件,点击AvailablePackages按钮选择要安装的版本包。然后选择希望安装的SDK及其文档或者其它包,根据安装向导提示依次点击相应按钮开场下载安装,不需要太多版本的话能够只选择需要的版本进行安装,之后假如再需要其他版本时再下载,这是由于该经过比拟耗时。做完以上工作后,最后需要设置环境变量,在PATH变量中添加解压后Android开发包中的tools文件夹的绝对途径2。1.2微博开放平台使用新浪微博开放平台进行应用开发,需要进过下面的的几个步
4、骤:首先注册微博账号,成为开发者。微博提供不同的应用类型,包括移动应用、站内应用、网页应用等,能够根据需要选择应用类型,本设计主要用到移动应用。在认证和受权的经过中涉及的三方包括:1、服务提供方,用户将需要存储在网络上的资源如图片,视频,通信录等存放在服务提供方处,服务提供方负责资源保存与保护以及其他服务;2、用户,第三方应用的使用者、所访问的资源的拥有者和服务提供方提供服务的对象;3、客户端,需要访问服务提供方资源的第三网站方或应用3。微博开放平台提供了众多接口供开发者使用,文档具体描绘了接口的功能、调用地址等。微博接口规定每个用户每个小时以内只能请求一定的次数,用户维度限制如表1。2远程控
5、制系统设计2.1系统功能概述利用Android手机、新浪网络开放平台、ZigBee无线模块设计了一种智能家居远程控制系统,能让用户通过手机对设备进行监控、查询传感器数据等,并能利用社交网络的优越性,共享家居体验。系统包括ZigBee设备无线网络、家庭网关与远程控制端三个部分。本设计在台式计算机平台上实现网关应用的设计,接收ZigBee网络传递的数据进行处理、存储和设备控制,网关应用使用java语言编写,便于跨平台使用。远程控制端采用Android平台手机,为用户提供可视化操作界面。2.2ZigBee内部网设计本设计使用六个ZigBee节点。由于节点本身的组网限制,本设计使用树状拓扑构造进行组网
6、,一个节点用作协调器节点,并负责与网关通过串口进行通信;两个节点用作路由节点,用于模拟两个房间的路由控制;其余三个节点分别接入两个路由节点,模拟位于不一样房间中的设备。2.2.1协调器节点功能及软件设计协调器节点通过九针串口线与家庭网关连接。在ZigBee内部网中,协调器节点主要负责实现建立网络、允许其他节点参加网络、转发信息等网络功能,在本设计中协调器节点还负责实现与网关之间的通信,主要功能有:1新节点参加网络时,获取设备地址、设备Profile等节点设备信息,并将这些信息发送到网关;2接收来自网关的设备控制命令并解析命令,得到要操作的设备地址,向相应设备发送控制命令;3接收设备节点返回的控
7、制结果,并转发给网关;4接收路由节点发送的房间环境信息,并转发给网关。其应用程序流程图如图1所示。2.2.2路由器节点功能及软件设计路由节点主要提供内部网中消息的路由功能,以及允许节点参加网络并为其分配地址。在本设计中,路由节点实现的应用功能有:1负责一个房间子网的划分,一个路由节点负责一个房间子网中设备与协调器节点的通信连接;2路由节点负责房间环境信息的周期性采集,并将采集到的数据发送给协调器节点,路由节点的应用程序流程图如图2所示。2.2.3设备节点功能及软件设计设备节点主要负责网络搜索与参加、发送和接收数据等功能。在本设计中,设备节点实现的应用功能有:1设备节点参加网络时,主动向协调器节
8、点发送设备地址、设备Profile等节点设备信息;2接收控制信息,执行控制操作,并返回操作结果给协调器节点。设备节点的应用程序流程图如图3所示。3家庭网关设计家庭网关主要功能包括通过Internet与外部网络通信、内部网络信息存储和通过串口与ZigBee内部网通信三个部分。硬件平台主要采用台式PC,以后能够考虑采用嵌入式设备,与外部网络连接采用有线方式,通过九针串口线与ZigBee网络协调器节点连接。为便于软件在不同平台间的移植,网关软件的开发采用Java语言,开发环境为Eclipse4。根据家庭网关功能划分,网关软件设计为主要包括四个模块:外部网通信模块、内部网通信模块、数据库和UI界面。系
9、统构造框图如图4所示。3.1ZigBee内部网设计通信模块主要包括外部网通信模块与内部网通信模块。1外部网通信模块启用两个线程实现,一个实现Runnable接口的类WeiboCheckRunnable获取微博消息,挑选命令消息,更新命令;另一个实现Runnable接口的类WeiboSendRunnable接收更新命令,判定命令类型并执行相应操作,返回结果到远程控制端5。实现类流程图如图5。2内部网通信模块采用javaxm包实现异步串口通信,使用Java串口包API进行串口操作的基本步骤如下:a列举出本机所有可用串口CommPortIdentifier,选择需要的端口;b对串口参数进行配置,包括
10、数据位数,输入/输出流控制,波特率,停止位和齐偶校验;c打开串口获取输入输出流,监听串口事件,对串口进行读写6。本设计对串口操作进行封装得到SerialUtil类,本模块对串口的操作主要通过SerialUtil类实现。本模块采用观察者形式接收来自外网通信模块的控制命令,在命令执行后更新控制结果返回命令,同时进行了操作权限检查与操作记录,详细流程图如图6所示。3.2用户界面设计用户界面使用Java用户界面开发工具包Swing。开发人员能够利用Swing各种的功能强大的模块化组件来创立优美的用户界面。用户界面提供的主要交互功能有房间与设备列表显示、微博登录认证、设备信息设置、访问用户权限管理、交互
11、记录查询等。4手机移动端软件设计移动客户端软件采用Android平台2.3版SDK,应用主要包括交互界面、微博交互模块和数据存储操作三个部分,使用BroadcastRecieverz组件进行模块线程之间的通信7。用户界面主要使用AndroidListview组件进行界面设计,Listview是Android中最常用的UI组件之一,能够明晰地展示列表数据,界面简洁,操作简单。本应用主要设计房间列表、设备列表、操作列表等数据,因此选择Listview组件。使用ListView组件关键在于Android提供的适配器类Adapter。客户端微博交互模块主要由发送线程与监听线程构成,应用能够启动多个发送
12、线程,监听线程只要一个,当用户操作发送命令时,启动发送线程,发送命令消息,同时向监听线程注册对应的微博ID进行监听;当监听线程获得返回结果后,发送广播通知;BroadcastReciever接受广播更新界面。数据的存储能够选择SQlite和SharedPreferences,由于应用中使用到的数据较少,实现中选择使用SharedPreferences。实现SharedPreferences存储的步骤如下:1、根据Context获取SharedPreferences对象;2、利用edit()方法获取Editor对象;3、通过Editor对象存储key-value键值对数据;4、通过commit(
13、)方法提交数据8。5系统运行调试调试的主要目的是测试整个系统的功能,比方家庭网络中的节点之间的通信功能、各个节点的功能、通过短信和Web阅读器对家庭网络节点设备进行监控的功能。内网组网与网关调试调试的主要任务是测试家庭网络中的节点之间的通信功能能否通畅、各个节点的功能能否完好、网关各项功能能否正常。详细调试步骤如下:(1)使用九针串口线连接协调器节点与网关计算机,协调器节点上电,开启网络,开启路由节点参加网络;(2)打开网关软件,开启数据库服务,开启设备节点通过路由节点参加网络;(3)验证新节点入网时,网关软件对内网节点信息管理功能正常,能够得到正确的节点信息并进行存储;(4)等待定时环境信息
14、检测,网关软件能正常显示各房间温湿度信息;(5)对已参加网节点进行本地控制操作,验证各节点功能完好,工作正常。远程控制功能调试主要测试客户端通过开放平台控制设备的功能能否实现,由于网关部分远程控制与本地控制使用同一模块,控制部分功能在上一步已经历证。本步调试主要验证网关与客户端通信能否正常、命令解析功能能否正常、用户权限管理功能能否生效。详细调试步骤如下:(1)网关软件登陆微博,设置用户权限;(2)打开移动客户端应用,登录认证,测试各项功能包括获取房间、设备、操作列表,操作设备,获取房间环境信息;(3)修改用户权限,验证权限限制功能能否正常9。6结论本文设计了一种利用社交网络作为网络通信媒介的
15、新型远程控制的智能家居系统。本设计利用社交网络公共开放平台作为交互媒介,解决了传统远程控制系统需要架设家庭服务器,依靠固定IP地址的弊端,不再使用家庭端服务器也使得系统安全性有所提高,此外家庭网关应用能够适应内网拓扑构造的变化,保存网络节点信息,在网络构造变化时及时调整,提高了系统的灵敏性。参考文献 1郑娴,姚铭.智能家庭网络的研究现状与发展趋势J.住宅科技,2006(8):109-112 2薛震南.基于物联网的智能家居研究D.南京:南京大学,2013 3胡向东,韩恺敏,许宏如.智能家居物联网的安全性设计与验证J.重庆邮电大学学报:自然科学版,2014,26(2):171-176 4王丽侠,张湃.基于物联网的智能家居系统的研发J.电气应用,2015,34(14):26-30 5胡柯,郭壮辉,汪镭.无线通信技术ZigBee研究J.电脑知识与技术,2008(6):1049-1051 6邵叶红,张学敏.基于ZigBee技术的无线点菜系统J.电子技术,2010(10):68-70 7宋小倩,周东升.基于Android平台的应用开发研究J.软件导刊,2011,10(2):104-106 8无线龙.ZigBee无线网络原理M.北京:冶金工业出版社,20119范怀宇.Android开发精要M.北京:机械工业出版社,2012