版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/8490423.html 做者:窗户 QQ:6679072 E-mail:6679072@qq.com
智能家居是指利用先进的计算机技术、网络通讯技术、综合布线技术,将与家居生活有关的各类子系统有机地结合在一块儿,经过统筹管理,让家居生活更加温馨、安全、有效。随着社会全面的信息化、智能化和网络化,智能家居的日益普及将是一种必然。html
智能家居做为一个新生事物,目前处于只有初步概念,还没有有任何标准的阶段。web
本文为智能家居系统提供一个可能的设计模式以及将来发展的行业方向。算法
智能家居的家庭内部结构,须要包含一个嵌入式的智能网关,做为家庭智能家居的核心存在。围绕着智能网关,智能家居能够扩展性的加入各类方式的节点,用于各类对于家用电器/家庭通讯设备/安防设备/计费仪表/节能设备/家具等进行控制与数据交互。另外,智能网关须要提供一我的机交互的手段。其内部的关系拓扑结构以下:sql
图1 智能家居内部结构shell
Fig.1 The internal structure of the smart home数据库
考虑到小区可能须要必定的管理,好比包括物业信息传达,交纳费用等,智能家居能够再往上扩展,并以Internet为载体,以便于远程访问。如下为可能的小区拓扑结构:设计模式
图2 小区网络结构浏览器
Fig.2 The structure of the community network安全
小区网关对内和小区内全部家庭的智能家居网关在同一个局域网内,能够随时和智能网关进行通讯。小区网关对外接Internet。这样就能够从外部经过Internet访问该小区内任何一个家庭的智能家居。服务器
由上,咱们能够看出,对于单个家庭的智能家居来讲,其智能网关是做为系统正常工做的核心设备存在的,而对于一个小区全部的智能家居来讲,小区网关是做为关联全部智能家居系统,提供Internet服务的核心存在。这样,整个小区的智能家居网络结构成一个树形。最顶层是小区网关,第二层是智能网关,第三层是各类类型的节点。树状拓扑结构清晰,控制路径单一,小区网关也能够分为多层,对低层的智能家居节点也同样能够分为多层,根据实际状况而定,但在普通的状况下,三层是比较广泛的。
智能家居系统中,节点用来控制家庭的各个部分以及反馈各个部分的相关信息,用于家用电器/家庭通讯设备/安防设备/计费仪表/节能设备/家具等。
安防设备中,好比摄像头,通常采用以太网或者WIFI来作为通讯手段,而其余安防设备,好比门禁,通讯数据量并不大,不必定须要较高速率的传输手段。
智能计费仪表有些可能带有各自的无线通讯模块,电表采用电力载波(PLC)传输比较常见。虽然智能网关通常来讲不太会为了和电表通讯而加一个电力载波模块,但能够设计一个电力载波转别的通讯的硬件来做为电表节点使用。
家用电器通常采用红外控制,考虑到红外通讯的传输距离问题,传输距离最大只有十米,而且没法穿越墙壁等障碍,因此智能网关直接使用红外控制并非可选方案,咱们能够用一个家电控制模块去充当节点,而家电控制模块再经过别的方式与智能网关通讯。
而对于其余设备,若是在设计中要被应用到智能家居系统之中,也能够附着其余节点所已经使用的通讯手段来实现。
对于智能家居系统,考虑到家庭装修的美观以及使用的方便,通常不宜采用有线的方式来做为通讯介质,而采用无线的方式来通讯。WIFI能够用于大数据量通讯,适合用于摄像头。尽管WIFI在通讯速率上本能够作为全部节点间的通讯手段,但考虑到WIFI用于TCP/IP的通讯,而使用这样复杂的协议栈对于处理器要求比较高,另外加上功耗比较高,因此在慢速无线通讯的时候,能够采用其余相对简单的无线通讯。除了ISM频段,其余频段须要许可证,用于专用的通讯,因此只能够在ISM频段下选择非WIFI的另一种通讯方式。
目前最经常使用的无线通讯方式除了WIFI外主要有Zigbee/蓝牙等。Zigbee和蓝牙尽管都适合低速率传输,但Zigbee有更增强大的网络拓扑功能,而蓝牙目前最主要用来一对一的通讯。
Zigbee(IEEE802.15.4)技术是2000年以来创建起的一种采用跳频技术和扩频技术来实现的无线通讯技术,采用2.4G频段,该频段属于ISM。
IEEE802.15.4标准只是规定了物理层(PHY)和媒体接入控制层(MAC),但设计PHY和MAC的时候考虑到了以后协议扩展的须要,而zigbee在此基础上再加入了上层协议,包括网络层和应用层。
除了最简单的一对一通讯以外,zigbee实现了各类网络结构,全部的zigbee网络中,都有惟一的一个核心,称之为协调器。除了协调器以外,还有一些其余的成员,根据网络中其余成员与协调器之间关系,能够分为星型网络,以及树型网络,还有最复杂的网格网络。
星型网络:全部的非协调器网络成员只与协调器之间直接通讯,成员之间的通讯经过协调器转发。
树型网络:整个网络拓扑是一个树型,网络中两个网络成员之间通讯可能须要别的成员进行数据转发。由于为树型,任何两个非协调器成员之间的通讯路径单一。
网格网络:网络拓扑是一个连通图,但可能不是树型,因而可能存在两个点的通讯路径不惟一。
对于树型网络和网格网络,称参与通讯数据转发的非协调器成员叫路由器,而不参与通讯数据转发的成员叫节点。
Zigbee的优势主要有以下几点:
低功耗:引入休眠和唤醒机制。
低成本:Zigbee协议栈实现简单,无专利费的门槛。
网络容量大:当采用网格网络组网的时候,整个网络最大的规模能够到60000以上。一个区域内能够同时存在最多可达100个不一样的Zigbee网络
安全性:采用AES 128位对称加密算法保障用户通讯安全,非对称加密计算复杂度底,使用单片机彻底能够完成。
通讯可靠:动态组网,网络拓扑结构可能随时自动调整。
固然Zigbee也有缺点,缺点主要有以下几点:
传输距离小:Zigbee网络有效传输距离通常10米~75米,这个距离使得覆盖面积较小。用功率放大器能够扩大覆盖范围。
数据传输速率低:链路层上的速率只有200Kb/s,在此基础上,还有帧头、应答、重传以及信道竞争等等,因此实际的速率是很低的。
Zigbee的通讯实现简单,协议栈能够在一个主频只有50MHz,RAM只有8k的处理器上运行,对硬件的要求很低。Zigbee动态组网,随时能够加入新的节点到网络,组网方便。Zigbee对于普通不带路由功能的节点通讯采用休眠/唤醒机制,大多数状况下硬件能够处于休眠状态,功耗能够很低,两节5号电池可使用半年之久。
考虑到智能家居系统之中,一些节点可能须要电池去供电,功耗是一个很重要的参考因素。大多数的通讯在于节点状态汇报,网关发出控制指令等,而这些通讯数据量都很低。从而,设计智能家居系统的时候,能够考虑使用zigbee做为智能网关与各个节点之间通讯的手段,采用网格网络比星型网络更有优点。在Zigbee网格网络中,路由器由于随时须要通讯转发,因此没法休眠,耗电量相对较大,设计时能够考虑使用在一些外部供电的节点上,例如电表抄表、智能插座;而不带路由功能的普通节点可使用在一些电池供电的手持设备,例如家电控制模块。整个Zigbee网格网络的协调器由智能网关担当。
如此设计低速无线通讯方案,比较实用、经济。
做为家庭智能家居的核心,智能网关的硬件软件设计上要知足其跟功能性、扩展性的须要。
在处理器的选择上,能够选择基于ARM的处理器芯片,集成视频/音频等处理模块,性价比较高。考虑到网关这里功能复杂,数据处理量比较大,选择支持主频512M以上。
存储上选择512M DDR,256M nandflash,知足处理以及存放系统程序的须要,另外,须要SD卡插槽,能够用来存储图象等大数据量文件。
对于摄像头这样的高速设备,以太网口是最佳的传输方式,由于传输稳定,传输速率高,但考虑到家庭装修的美观以及摄像头所放位置的随意,考虑WIFI来做为传输接口。Internet能够经过家用的WIFI路由器连小区网络。
对于慢速无线,能够选择zigbee做为传输接口。
智能网关能够做为手持设备,须要一个手触屏做为手持人机交互界面。
同时须要音频,包括扬声器和话筒,能够知足远程视频通话、提示音、多媒体以及声控等方面的须要。
电源可使用外接5V适配器供电。
随着信息技术的发展,Linux使用的场合也愈来愈多。
Linux的源代码公开,任何人均可以去下载不一样版本的Linux源码,并能够对源码作任意的修改,又由于Linux是目前对于目前对POSIX支持最完备的操做系统,不少代码能够直接在UNIX和Linux之间移植,因此Linux成为了目前世界上除了PC机领域以外使用最普遍的操做系统之一。作为一种重要的操做系统,Linux已经被移植到约20个不一样的体系结构,至少支持几百种不一样的处理器芯片。服务器领域和嵌入式领域里Linux占据着不可替代的位置。
在嵌入式领域里,不管是高端市场,仍是低端市场,Linux都是做为主流甚至首选通用操做系统而存在。Linux的背后是强大的开源支持,大多数的需求均可以在这些开源支持里找到支持方案。选择Linux还在于其操做系统的强扩展性,新的功能/新的任务能够经过进程的方式临时运行,其镜象只是文件系统上的一组文件,软件升级可能只须要复制几个文件便可。再加上Linux自带的一些强大工具,包括shell/awk/sed等脚本解释工具,以及其余对于网络/文件系统/操做系统设置等方面支持的不少系统的工具,使得项目的设计能够很是灵活。
做为上层的应用来讲,Linux愈来愈成为大型服务器的首选,而世界各大公司的支持使得Linux很是稳定。
对于智能网关,由于其功能多样性,须要一个灵活的操做系统做其核心,再者智能家居所提的服务可扩展性的,任什么时候候均可以加入一个新的设备/新的服务到智能家居系统之中,智能网关在家庭智能家居中充当服务器以及在小区网络中承上启下的角色,使用Linux是适合的。
而其余普遍应用的通用嵌入式操做系统,Andorid主要用于手机这样的终端手持设备,而winCE则要有版权费用,而且开放的资源不如Linux这么多。
智能网关须要提供人机交互界面,让使用者能够控制整个系统。对于一个成熟的家用产品,面向通常客户群体,美观、易用是设计人机界面的时候须要慎重考虑的。
人机界面主要包含LCD屏幕显示控制和网络远程访问。
LCD屏幕显示控制属于图形界面。Linux下对于图形界面的支持比较经常使用的是X架构,但X架构比较庞大,结构比较复杂,资源开销大,不适合嵌入式的开发。通常对于嵌入式的图形界面开发,能够采用挪威TrollTech 公司出品的QT库来进行开发,这是一个跨平台的图形界面库,支持不少种不一样的平台。同时须要考虑多媒体的支持,以知足用户娱乐方面的须要。
远程访问能够采用web方式,而如今,不管PC机/手机/PAD/掌上电脑等,都带有访问web服务用的浏览器。这样远程控制的时候无需自定义应用层协议,更无需为不一样的设备编写不一样的客户端软件,只要设备中有浏览器并能够接入网络,就能够远程访问智能网关提供的服务,使用很方便。Linux下有各类不一样的web服务器能够选择,包括Apache、Boa、Lighttpd等,Apache功能强大,但通常用来作大型网站,Boa是单线程服务器,很轻型,相对Apache来讲更适合做为智能网关的web服务器。内部配置等能够用小型数据库sqlite3,更加适合嵌入式环境。
软件设计的时候能够采用人机交互与具体功能实现逻辑分开。具体功能实现与人机交互程序之间采用进程间通讯(IPC)来交互。这样结构比较清晰,架构容易扩展。
智能网关的软件关系以下:
图3 智能网关软件结构
Fig.3 the structure of intelligent gateway software
人类天然语言是自然的人机交互手段,使用语言做为交互接口可使得人机交互更加方便/人性化。
语音识别从属模式识别,采用信号处理手段实现,通常采用提取高频信号做为语音的特征,而后再进行模糊匹配,获得各个音节等,而后再进行语法分析/文字匹配来取得最终的意思。
目前语音识别技术发展很迅速,技术已经十分红熟,世面上早已存在多款应用于手机的语音识别程序。能够考虑把语音识别系统加入到智能网关中,方便使用。
小区网络的做用是为了用户能够真正意义上经过Interner实现远程访问。
小区架构开篇的时候已经提到,在这里,小区内全部家庭的智能家居都做为一个节点接入到小区网络,这个小区网络构成一个局域网,每一个智能家居都在这个局域网中有一个惟一的IP地址,而小区网关则做为一个链接外部Internet和内部。
考虑到Internet访问,对于以前提到的智能网关的设计里提到智能网关采用web界面,当经过小区网关连上Internet网络,同样能够采用web界面。智能网关在这里为每一个家庭智能家居的IP地址配备一个帐号和密码,当用户输入相应的账号和密码以后,智能网关可使用http代理服务器把web服务转接到相应的智能家居上。
小区网关同时也能够与物业绑定在一块儿,对内支持小区的各类服务,包括电影、电视剧的播放,小区的建设规划提醒,各类费用的电子帐单,以及提供购物、送货等服务。
另外,对于通讯服务,小区网关也能够为小区以内的用户乃至Internet上互相之间视频电话创建桥梁。
智能家居目前在国际上还没有达成一致共识,不存在任何标准性的规定,不一样的公司有本身设计智能家居的思路与实现。换句话说,目前还尚处于智能家居概念造成的时间。
概念造成的过程有其好处,能够逐渐淘汰掉一些对于用户实际需求关系不密切的功能,越到之后,越会贴近用户的实际使用须要。时机成熟的时候,能够制定这一行业的系统标准化。
标准化能够包含以下的几点:
智能家居的概念意义:定义智能家居所涵盖的范围,对于家居生活的实际意义所在。
智能家居实现的系统拓扑架构:制定智能家居用于Internet所使用的系统拓扑,制定拓扑结构中每一层的意义。
智能家居所使用的通讯方式:制定包括各个拓扑层次之间的通讯方式,包括物理层/链路层/网络层。
智能家居通讯中所使用的应用层通讯协议:制定包括智能家居内部节点与网关之间的应用通讯协议。
智能家居所提供的系统配置扩展性要求:制定能够灵活的添加智能家居配置的文件以及添加方式等扩展接口定义。
而包括硬件参数、设备外形、所使用操做系统等则无需作规定,但能够在标准中建议。这样有助于系统实现的灵活性,由于集成电路技术的不断进步,嵌入式操做系统的多样化,若是标准中规定的太死对于智能家居发展不利。
定义标准的好处在于对于全部的智能家居厂商有个行为标准,从而可使得不一样的智能家居产品之间接口兼容,能够灵活替换,在这样的基础之上,智能家居这个大市场能够有更多的选择余地。理想下,小区在智能家居市场中选择智能家居产品能够如同像在电子市场选择不一样的器件那样自由灵活,选构系统中的不一样厂商的不一样配件就能够配套成一个完整的智能家居解决方案。
其中系统配置扩展性的标准化也能够应用于家电厂商,若是家电厂商须要把某个新产品加入到智能家居中应用,也能够按照标准扩展接口定义为该新产品定制一个。天然,对于实现扩展,智能网关须要自带一个扩展接口的解释器,支持动态加载新的家居配置到系统服务中。
智能家居是为了提供给使用者温馨方便的家居服务,易用性、智能化是其核心意义所在。智能家居在系统的实现以后,能够再考虑整合不一样的服务,引入人工智能,根据使用者的习惯而自动选择家居服务,更加方便的知足使用者的须要。神经元网络是目前比较成熟的人工智能模型,能够以此为基础发展出合适的人工智能实现手段。
智能家居系统采用小区网关、智能网关、应用节点三层架构是合理的。小区网关提供Internet接入,可使用PC机、手机、PAD的各类设备从Internet上接入到智能网关提供的web服务。智能网关和节点之间采用WIFI、Zigbee通讯,从而能够控制到各个节电,知足家居的要求。在智能家居发展了一段历程以后,为智能网关制定行业标准可使得此行业更加规范化,并能够灵活的加入任意厂家的家电、通讯设备、家居设备到智能家居系统中来。