打造一款神奇的智能家庭网关,完整系统解决方案
本功能的设计及测试,即能够通过外部网发送控制信息,管理家庭内部终端设备;同时完成家庭网关的自动控制功能,即完成不需人工控制管理的应用,自动协调家庭电器设备的开、关及其他调节。
在完成基本功能后,如有时间,则继续完成扩展功能,包括路由地址转换,操作系统移植,视频点播及共享以及实现无线控制。
要解决的关键问题是要对每个家庭终端设备分配唯一的地址,并实现路由功能,以便使用网关控制不同的设备。
拟采取的研究方法、技术路线及可行性分析
纵观国内外在智能家庭网关领域的发展,有三种技术方案代表着智能网关不同发展时期的技术特点: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数据包数据部分重定义
其中,操作类型占用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"进
- Atheros为家庭网关提供802.11g方案AR2417(03-21)
- USB闪存盘驱动器与PIC微控制器的接口设计(04-04)
- 连结USB闪存盘与PIC微控制器的简单方案(04-05)
- 赛灵思联袂Apical为大批量HDTV市场提供创新的低功耗增强图像处理解决方案(01-12)
- 不用软件工具能开展设计吗?(02-28)
- Microchip收发器缔造完整 ZigBee 协议平台(01-24)