标题:
打造一款神奇的智能家庭网关,完整系统解决方案
[打印本页]
作者:
porereading
时间:
2015-9-23 20:47
标题:
打造一款神奇的智能家庭网关,完整系统解决方案
家庭网关是将计算机互联网与自主构建的家庭网络连接在一起的智能网络。它能够实现家庭终端的统一智能化管理,用户只需通过GUI界面进行简单的操作就能实时调取家电的工作状态信息,并能控制家庭终端;同时智能家庭网关还有自动控制功能,能够处理一些无需人工操作的工作。
项目研究目的如下
要实现的基本功能为:
通过外部网访问家庭网关,可以远程控制家庭终端设备。
智能家庭网关有一定的自主处理能力,可以自动控制一些无需人工干预的终端设备的操作。
预期在项目之后可扩展实现的功能为:
制作成功简易低成本的智能家庭网关产品,网关包括嵌入式操作系统,界面友好,可以作为所有外部网接入到家庭网的物理接口。
智能家庭网关为家庭内部的设备分配内部专用的唯一的IP地址,并且具有路由功能和网络地址翻译(NAT)功能。
智能家庭网关可以在家庭网络内部传输音频、视频流,支持视频点播(VOD),视频共享等,营造友好舒适的多媒体环境。
加入无线控制模块,各种终端设备无需使用传输线与网关相连,而是采用无线控制,增强灵活性。
项目研究意义
家庭网关在家庭网络中扮演着重要角色,借助现有的计算机网络技术,将家庭内部各种家电和设备连网,通过网络为人们提供各种丰富、多样化、个性化、方便、舒适、安全和高效的服务。在家电控制方面,用户可以根据自己的需求来配置家电,从而方便地对家电进行远程控制;在视频监控方面,通过远程调取安装在家里的监控设备所拍摄到的视频信息,用户可以及时清楚地了解家里的情况,一旦出现异常情况,及时报警;在多媒体接入方面,通过家庭数字机顶盒,用户不仅可以观看到高清的数字节目,还可以互动点播节目和浏览网页,真正实现多媒体在家庭中的应用;在信息服务方面,通过将智能家庭网络与其他网络系统互连,用户可以及时得到诸如商品售后、健康等方面的服务。家庭网关已成为人们日常生活中不可缺少的一部分,因此,对低成本、安全性好、可靠性高的家庭网关进行研究,具有重要的意义。
项目应用前景和学术价值
随着人们生活质量的提高,家庭内部的电子产品越来越多,采用智能家庭网关进行集中控制管理,将给人们的生活带来极大的方便。因此,家庭网关的应用将会是大量的。以前家庭内部出现的小型网络路由器的功能有限,其应用是在家庭内多个PC同时共享一个宽带网络接入。它只能控制PC终端,对于其他如冰箱、空调等家电就无能为力了。智能家庭网关则不仅能够提供宽带接入,而且可以控制管理家庭内部的各种电器。例如,在网络应用方面,家中的小孩可以接入Web来学习学校的课程,同时另外一个家庭成员可以进行网上购物。多个人可以同时进行网络操作,而不需要等待其他人完成操作;在多媒体应用方面,家庭网关不仅管理高速Internet的接入,而且对日益丰富的多媒体应用,如视频点播(VOD),视频共享,混合视频和音频信息流的可视电话,以及其它交互形式的娱乐服务,如网络游戏等提供更加人性化的管理服务;此外,在家庭电子终端的控制管理方面,家庭网关可以智能化控制家电,视频监控家庭情况,与小区物业联网便于接收即时服务信息,智能化抄写电表、水表等,为日常生活提供极大的便利。因此,其应用前景将是十分广泛的。
智能家庭网关的研究在我国正在逐步走向成熟,但相对国外来说,在这方面还是比较落后。具体体现在技术设备落后,制造成本较高。目前很多家庭网关产品是采用PC机作为服务器或以单片机作为核心芯片的技术方案,功耗及成本较高,而且灵活性不够。通过设计低成本、安全和可靠的智能家庭网关,参与目前家庭网关的研究发展讨论,熟悉和掌握UDP协议内容、数据的加解密算法、网络地址转化(NAT)以及GUI用户交互式界面的设计,真正理解整个家庭网关的工作流程,也可以为其他设计者及厂商提供一些技术借鉴。
现有研究基础、条件
项目研发的技术基础:
①UDP协议是主要传输协议之一。采用改进的UDP协议,一定程度上提高数据传输可靠性,满足智能家庭网关的传输需要;
②数据加解密算法采用RC4算法,可以有效提高数据信息的安全性;
③运用网络地址转化(NAT)可以将内网地址与外网地址进行转化,使得家庭网关成为连接计算机互联网和家庭内部网络的桥梁;
④GUI界面的设计,使得用户操作简单、明了、方便。
(2)项目团队的工作基础
①C、C++语言的熟练掌握,有一定嵌入式的开发经验;
②在UDP传输协议方面有一定的基础。
研究目标
在项目预期时限内,完成智能家庭网关基本功能的设计及测试,即能够通过外部网发送控制信息,管理家庭内部终端设备;同时完成家庭网关的自动控制功能,即完成不需人工控制管理的应用,自动协调家庭电器设备的开、关及其他调节。
在完成基本功能后,如有时间,则继续完成扩展功能,包括路由地址转换,操作系统移植,视频点播及共享以及实现无线控制。
要解决的关键问题是要对每个家庭终端设备分配唯一的地址,并实现路由功能,以便使用网关控制不同的设备。
拟采取的研究方法、技术路线及可行性分析
纵观国内外在智能家庭网关领域的发展,有三种技术方案代表着智能网关不同发展时期的技术特点:PC架构的智能控制系统出现在中国智能家庭网关的萌芽阶段,基本上停留在向使用者展示智能家庭网关的概念阶段,实用性并不强,属于第一代;目前很多国内外智能家庭网关厂商研制的机遇单片机架构的智能控制系统在实用性、易用性和专业性方面有了很大程度上的提高,属于第二代;而基于嵌入式系统的家庭智能系统在国内的发展也处于初级阶段,随着嵌入式技术更加广泛的应用,成本逐步降低,中国的智能家庭网关最终将走向嵌入式。
下表比较显示了不同时期的智能家庭网关系统采用的技术方案。
方案
处理
能力
应用软件
实用性
功耗
系统稳定性
以PC为中心的家庭智能控制系统
强
应用程序
仅仅停留在概念阶段
高
很差,易受病毒攻击,不能长时间稳定工作
基于MODEM或路由器等的传统家庭网关
弱
直接对硬件编程,代码重用率低
适合比较简单的应用,扩展性不强
低
主要采用数模混合的电路设计,相对复杂,稳定性不强
基于物联网的嵌入式智能家庭网关
强
与硬件无关,代码重用率高
适合比较复杂的应用,扩展性强
低
采用数字电路设计,结构简单,稳定性强
本设计采用基于改进UDP协议的智能家庭网关技术方案,采用单片机PIC来控制以太网模块,无需操作系统支持,以适合项目预期及低成本、低功耗、实时性好、扩展性强的要求。
项目基本功能的实现是在两个主要控制芯片PIC单片机和Ethernet网络接口,采用改进的UDP协议,完成大部分的控制信息的传输。
项目硬件设计
单片机PIC主要负责对Etnernet网络接口进行读写及复位控制。Ethernet是一个高度集成的以太网芯片,能简单的实现即插即用并兼容NE2000、掉电等特性。它将封装好的以太网帧进行处理并通过网络接口和双绞线进行传输。Ethernet有复位及读写控制管脚,需要通过相应的地址端口和数据端口对Ethernet中的寄存器进行配置,实现网络数据的发送和接收。在实际硬件连接中,将P0.8-P0.12作为地址端口,P0.16-P0.23作为数据端口,P0.7作为复位引脚对RTL8019进行复位,P0.13作为读引脚控制以太网模块从相应数据端口读数据,P0.14作为写引脚控制以太网模块往相应数据端口写数据。
项目软件设计
软件的设计是在Agilent公司的ADS1.2开发环境下进行的。最重要的部分就是完成UDP包的发送、处理及接收。由于采用UDP数据包的内容作为控制信息,因此需要对数据包的数据部分进行重新定义。定义如下:
图2 UDP数据包数据部分重定义
图2 UDP数据包数据部分重定义
其中,操作类型占用1个字节,00h代表初始化建立握手请求,01h代表初始化建立握手应答,02h代表发送请求,03h代表发送响应,其他值默认保留。操作对象占用2个字节,在服务器端,它接收到的UDP数据报内容中的操作对象即为对应客户端的端口号;在客户端,它接收到的UDP数据报内容中的操作对象则为自身的端口号。操作内容即为具体的实现操作,占用40个字节。
针对数据内容的安全性问题,采用了RC4算法对数据内容进行加密解密。它是一个可变密钥长度、面向字节操作的流密码,其基本思想为:首先初始化一个长度为256的S数组:依次对S[0],S[1],…,S[255]赋0到255的8位数值,输入可变长度密钥,根据密钥内容及长度建立临时数组T。然后根据数组T的内容置换S数组;最后将S数组按一定的方式转化成密钥流q。在发送端,依据密钥流q对原始数据“data”进行异或,即加密。在接收端,输入与发送端一样的密钥,运用和发送端同样的算法生成相同的密钥流对已加密的数据“datam”进行异或,即完成数据解密。
数据包的封装过程如图所示。图3中,层(1)表示UDP数据报。需要给每个终端设定不同的端口号作为源端口号,目标端口号都固定为服务器的端口号,消息长度为数据长度加UDP报头长度,校验和是伪IP头和从UDP头和数据得来的校验之和,数据为加密后的数据。层(2)表示为UDP数据报经过一次封装后转化成IP数据报,其中需要为每个终端分配一个IP地址,协议类型设置为UDP协议,长度为IP报头长度加UDP数据报长度。层(3)表示为IP数据报再经过最后一次封装转化为以太网帧。
图3 连接建立时握手数据包的封装
图3 连接建立时握手数据包的封装
数据包的解析过程是封装的逆过程,系统接收到以太网数据帧后,首先检验它的校验和,如果校验和出现错误就丢弃该数据包,命令发送方重新发送。否则继续判断数据包的类型,确定是IP数据报后,根据数据报的格式进行进一步检验,最后再经过一次拆包获取UDP数据报的内容来决定下一步的工作,并发送一个确认数据包。
项目的软件整体设计流程如图4所示。其中,发送端应用层数据处理部分是从终端采集的数据按规定的数据格式进行处理后再加密。数据封装部分定义了put_ether(),put_ip(),put_udp()三个函数,功能分别是封装以太网帧、IP数据报和UDP数据报。网络驱动部分需要通过单片机PIC控制Ethernet以太网模块来完成,将以太网帧发送到接收端。接收端接收到以太网帧后,进行数据拆包。数据拆包部分分别定义了get_ether(),get_ip(),get_udp()三个函数,实现了检验和解析以太网帧、IP数据报、UDP数据报的功能。最后再将数据在应用层进行解密,来控制终端。
图4 软件整体设计流程
图4 软件整体设计流程
项目可行性分析
本项目采用当前最新的智能家庭网关技术方案,并对方案适当裁剪,以减小复杂性和成本。如项目的硬件平台采用单片机PIC和Ethernet以太网模块,价格低,功耗小且完全可以满足系统处理需要;软件设计是对UDP协议进行改进,避免使用复杂的TCP协议,数据加密、封装及拆包流程清晰简单,且使用UDP协议增加了信令及数据信息传输的实时性。
项目的创新之处
本项目的创新之处在于对UDP协议进行了改进,使其更适合于传输信令信息。并采用RC4算法对数据进行加密,一定程度保障了数据传输的安全。最后得出了低成本、低功耗、低复杂性、高安全性的控制方案,设计出的家庭网关适合用于普通家庭住宅。具体说来,将UDP包的数据部分进一步划分,定义不同的数据格式、类型以控制不同的终端设备。同时,网关还有自动控制功能,能够自动、及时处理一些不需要人工干预的操作,增加了易用性。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0