支持异构外设接入的智能家居系统

来源 :软件 | 被引量 : 0次 | 上传用户:fangzhang004
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:物联网技术的发展与成熟,促进了智能家居产业的迅猛发展,但由于各大厂商之间的利益博弈,各个系统产品之间存在不兼容性。针对于此,本文提出了一种支持异构外设接入的智能家居系统设计方案。文中给出了该智能家居系统的总体设计框架,详细描述了其家居网关部分的软件设计思想。经过测试,该系统运行稳定,可扩展性强,很好地支持了异构外设的接入。
  关键字:物联网;智能家居;网关
  中图分类号:TP273 文献标识码:B DOI:10.3969/j.issn.1003-6970.2013.08.006
  本文著录格式:[1]孙维,孙岩.支持异构外设接入的智能家居系统[J].软件,2013,34(8):16-19
  0 引言
  随着科学技术的发展和居民生活水平的提高,人们对住宅的要求不再仅仅局限于一个可供休息、居住的场所。能够提供安全、舒适、智能、通讯与信息服务的“智能家居”正成为人们追求的居住目标和技术研究的热点[1]。智能家居作为家庭信息化的实现方式,已成为社会信息化发展的重要组成部分。从个人、公共服务以及政府需求来看,凸显出发展智能家居产业的迫切性,智能家居系统的开发和建设势必成为未来国家经济发展的必然趋势[2]。
  市场上已经涌现出很多优秀的智能家居系统产品,但各个公司的智能家居系统一般都局限于不同的应用场景,几乎没有任何一家公司能够在智能家居领域的多个方面如电器控制、安防监控、可视对讲等都做到最好[3],如果用户想要同时使用多套智能家居系统的产品,就需要购买多个智能家居厂商的整套系统和对应设备,对用户而言这样不仅浪费经济而且很不方便。目前智能家居系统各个厂商产品之所以不兼容,主要是因为没有统一的行业标准[4][5],导致各个厂商的传输协议和接口标准互相之间不通用,由于各个厂商利益的博弈,这种局面在相当长的一段时间内还将持续。
  为了解决各个厂商产品不兼容的问题,本文提出了一种支持异构外设接入的智能家居系统设计方案,首先描述了此智能家居系统的总体架构,然后对其中针对异构外设接入的网关部分进行了详细设计,进而对各部分功能进行了测试和验证,最后对本文进行了总结。
  1 系统总体架构
  本文中设计的支持异构外设接入的智能家居系统由设备层、网关层、Web管理层、Android终端控制层构成,如图1所示。以下是对四层的简要介绍:
  设备层:设备层是整个智能家居系统框架的最下层,主要由两类设备组成。一是本系统自带的一些传感器和控制设备节点;二是从第三方厂家购买的一些家居设备,系统提供了基于IP和Zigbee的接入方式,可以很方便地嵌入以此为通信协议的第三方设备。
  网关层:家居网关是整个智能家居系统的核心,网关通过IP或Zigbee与智能节点设备进行通信,实现对环境参数(温度、湿度、光照、CO2浓度等)的监控和电器设备的控制。网关是实现多种异构外设接入的核心层。
  Web管理层:通过身份验证,用户登录智能家居管理网站后,可以查看当前已有的各种设备及其工作状态。如果要加入一个新的自身系统设备,只需选择对应的系统驱动即可;如果要加入一个第三方设备,则可以通过开放的接口按照指定的驱动文件格式编写针对新设备的驱动处理文件,就可以动态地加入到系统当中,而不需要更改系统已有的代码。
  Android客户端:随着智能手机的日益普及,手机成为智能家居的一部分是智能家居系统未来的发展趋势。因此,本系统除了通过Web管理之后,还开发了基于Android的控制终端,通过让用户使用Android手机或者平板就能实现对家居设备的操作和控制,极大地方便了用户也减少了用户的经济成本。智能手机或平板通过无线网络比如WIFI或者3G联网之后,当用户智能手机或平板上进行控制操作后,控制命令通过网络传到智能家居控制网关进而控制相应的家居设备。
  2 家居网关的设计
  之所以能够比较方便地加入第三方的设备,具有开放能力的家居网关起到了关键的作用。本系统中的家居网关主要由连接管理模块、消息处理模块、驱动文件管理模块、数据库模块、规则处理模块组成。各模块间的组织关系如图2所示,下面详细介绍下各模块的功能:
  2.1 连接管理模块
  连接管理模块为设备提供了接入智能家居系统的通道,鉴于当前智能家居设备大多采用的是Wifi或者Zigbee通信协议,网关目前支持IP和Zigbee的设备接入,以后将逐步支持红外和串口的设备。如果是IP设备,增加节点时网关通过对外建立一个TCP的网络连接与设备进行数据通信;如果是Zigbee设备,只要设备和网关的Zigbee网络信道相同,便可以接入系统。在设备加入系统之后,连接管理模块便负责设备的数据接收上传,同时负责下发网关对设备的控制命令
  同时,网关一直监听Socket的指定端口,当有来自Web服务器或者Android客户端的连接时,接收其中的数据并且进行解析,看是否是系统支持的操作,如果是的话,则将其进行封装发送至消息处理模块进行处理,不是的话则直接丢弃。
  2.2 消息处理模块
  消息处理模块是此家居网关的核心模块。消息处理模块维持了一个线程安全的消息队列,接收来自其他模块的消息,不断地进行轮询处理。消息处理模块类似于生产者消费者模型中的消费者,而其他与之交互的模块则相当于生产者。消息队列体系结构提供了松耦合通信的编程结构,这样设备之间彼此是透明的。借助于此,当有一个第三方设备要加入系统时,只需编写对应的驱动处理文件,驱动通过预定义的接口与消息处理模块进行交互,而由于驱动采用的是Lua脚本,这样便可以不更改系统代码而动态地嵌入系统当中,而且不影响其它设备的工作。消息处理模块的设计如图3所示:
  2.3 驱动文件管理模块
  驱动文件管理模块是负责具体与对应设备进行数据逻辑交互的模块。在增加一个新的设备节点时,只需写好其对应的驱动文件即可。驱动文件是一个XML格式描述的文档,主要包括了事件部分、命令部分和Lua脚本部分。这里对实际设备进行了抽象:一个设备其实最终只有两方面的属性,一是接收外部的控制命令之后自身能做什么,比如电灯可以对其进行打开和关闭,这即是驱动文件的命令部分;二是自身的状态变化要能够通知到外部,比如电灯每次控制之后的亮度状态变化,这即是驱动文件的事件部分。借助于Lua语言良好的嵌入能力,网关把与具体设备进行通信的逻辑部分预先写到Lua脚本之中,通过网关开放的接口与网关进行交互。这样,当有一个新的设备时,无须改动系统本身,只需要编写对应的Lua处理脚本即可,然后动态地加载设备对应的驱动文件到网关,以此可以方便地实现对于异构设备的接入。驱动文件的格式如图4所示:   2.4 数据库操作模块
  数据库操作模块负责存储设备节点数据以及Web页面对节点的配置信息,包括节点名称、IP地址、MAC地址、当前状态值信息以及用户配置的控制规则等。Web页面和Android客户端上信息展示需要的数据也都通过数据库操作模块读取数据库。本系统使用的数据库是Sqlite,这是一种嵌入式、轻量级、跨平台的关系型数据库。
  2.5 规则处理模块
  智能家居最方便的地方就是可以根据环境的状态值或者用户预先设定的一些条件进行自动化的控制。该模块就是用来处理用户配置好的包括定期、周期以及条件触发型控制规则,当触发条件满足的时候,该模块会发送一个对应的条件满足消息到消息队列中,消息队列根据预先定义的规则执行相应的动作。
  3 测试结果
  针对上述设计,基于Friendly ARM开发板实现了家居网关和Web管理系统,基于Android 2.3版本在三星Tab P7510平板电脑上实现了移动控制客户端。系统接入了一些自身的设备包括顶灯、音响、空调等,同时为了检测对于异构外设的接入,系统接入了一款基于Wifi通信的第三方可调光灯设备。结果表明,整个系统运行稳定,达到了预期设想的结果。Web服务器端运行界面如图5所示,Android客户端运行界面如图6所示:
  4 总结
  本文给出了一种支持异构外设接入的智能家居系统的设计,系统主要是基于IP和Zigbee通信协议,借助于嵌入式脚本语言Lua的强大能力,比较好地实现第三方设备的灵活接入。随着物联网技术的成熟和相关示范应用的落地,在不久的将来,智能家居系统会进驻到每一个家庭之中,让人人都可以享受科技发展为人们的生活带来的方便。
  参考文献
  [1] 钟建国. 基于Internet的智能家居控制终端的设计与实现[J]. 现代电子技术,2008,31(16):109-115.
  ZHONG J G. Design and Implementation of Internet-based Smart Home Control Terminal[J]. Modern Electronics Technique,2008,31(16):109-115.(in Chinese)
  [2] 童晓渝,房秉毅,张云勇. 物联网智能家居发展分析[J]. 移动通信,2010,34(9):16-20.
  TONG X Y,FANG B Y,ZHANG Y Y. IOT Smart Home Development Analysis. Mobile Communications,2010,34(9):16-20.(in Chinese)
  [3] 刘兵. 智能家居系统互联互通的设计与实现[D]. 北京:北京邮电大学,2013.
  LIU B. The Design and Implementation of the Interconnection of Smart Home Systems[D]. Beijing:Beijing University of Posts and Telecommunications,2013.(in Chinese)
  [4] 张云勇,房秉毅. 基于物联网的智能家居技术标准化现状及发展建议[J]. 移动通信,2010,34(15):25-29.
  ZHANG Y Y,FANG B Y. The Standardization Present Situation and Development Proposal of Smart Home Technique Based on IOT[J]. Mobile Communications,2010,34(15):25-29.(in Chinese)
  [5] 赵瑞芬. 关于物联网智能家居的初探[J]. 科技信息,2010(22):199-199.
  ZHAO R F. Research on IOT Smart Home . Science & Technology Information,2010(22):199-199.(in Chinese)
其他文献
目的 研究探讨孕期健康教育在妇产护理中的临床价值。方法 抽取2013年6月—2016年12月我院收治的800名孕产妇,随机将孕产妇划分为观察组和对照组,每组400名。对照组产妇采用
ue*M#’#dkB4##8#”专利申请号:00109“7公开号:1278062申请日:00.06.23公开日:00.12.27申请人地址:(100084川C京市海淀区清华园申请人:清华大学发明人:隋森芳文摘:本发明属于生物技
目的分析正畸固定矫治过程中牙釉质脱矿的影响因素。方法将2014年2月-2015年10月于我院治疗的96例正畸固定矫治患者作为研究对象,其中牙釉质脱矿患者为45例,脱矿率为46.88%,
带钢表面质量的优劣将直接影响到最终产品的性能和质量。本文研究了一种基于图像处理和模式识别的带钢表面缺陷检测系统,它采用了特殊的软件设计结构和模块化设计的理念,实验表
造林的成活率在造林过程中占有重要作用,直接保障植树造林的顺利进行,本文将对造林成活率提高措施进行详细探讨。
目的通过非球面人工晶状体植入术后视功能的变化,观察治疗效果,提出治疗建议,客观评价非球面人工晶状体的临床作用。方法从眼球面像差的特性,非球面人工晶状体的设计及矫正目
随着可穿戴设备的迅速发展与广泛普及,由各式各样的穿戴设备产生的运动监测数据、睡眠记录数据、血氧血压血糖等个人健康数据量也越来越大。而数据挖掘及可视化技术的发展,也
目的探讨早期康复护理对老年脑出血患者生活质量的影响。方法将我院近三年收录的老年脑出血患者进行统计,从中抽取60例作为本次探讨对象,利用双色球法将其分为对照组和分析组
目的观察加味逍遥汤在肝郁血虚脾弱型月经不调治疗中的效果。方法收集肝郁血虚脾弱型的月经不调患者93例,随机分两组,对照组46例选用雌孕激素周期疗法治疗,而观察组47例患者则加
地方各级人大常委会是本级人民代表大会的常设机关。常委会组成人员名额须经法定程序确定,组成人员须是本级人大代表并经本级人民代表大会选举产生,这是地方组织法对各级人大