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