智能家居是利用先进的计算机技术、网络通讯技术、综合布线技术、依照人体工程学原理,融合个性需求,将与家居生活有关的各个子系统如安防、灯光控制、窗帘控制、煤气阀控制、信息家电、场景联动、地板采暖等有机地结合在一起,通过网络化综合智能控制和管理,实现“以人为本”的全新家居生活体验。

但近年来随着信息技术的发展,其安全性引起了人们的广泛关注,为此我们设计了一个具有加密功能的智能家居安全控制系统,用户数据和信息码通过随机的6字节时间偏移量进行加密,采用32或64字节数据包处理并打包传输,通过稳定的数据编码格式(格雷码)进行编码,并且提供可选择的用户确认机制,保证了数据信息的安全性和稳定性。

一、基于时间序列加密的智能家居安全控制系统结构

基于时间序列加密的智能家居安全控制系统主要由计算机上位机,加密盾连接设备,被控制对象和用户GSM通信设备组成,如图1所示。

系统上位机采用了C#编写,C#是为NET Framework量身订做的程序语言,作为第一个组件导向(Component-oriented)的程序语言,采用面向对象的编程语言,具有良好的便利性和易用性。通过基于UART的底层通信模式,自定义上层的通信数据包,对数据包进行自定义的编码和解码操作,通过RS232接口进行通信。从而达到获墩传感器数据和控制家庭设备的功能。

加密盾设备作为数据传输的中间设备,主要目的是对智能家居系统中的各种传感器数据密码的解码以及与计算机上位机通信的编码和解码操作,类似于网络通信中的链接设备,如:无线网卡,其目的是把通信和连入网络中的数据进行编码和加密。实现数据的安全传输和加密。系统采用的是FT232的USB转UART模块来保证数据通信的稳定性,编码解码部分采用的是宏晶科技的TC12LESA60S2单片机,通信部分采用了TI公司的CC2500无线RF射频收发模块。

控制终端主要负责智能家居系统整个传感网络的数据采集以及对控制设备的智能化操作,并且控制显示设备和输入设备与用户进行简单的实际控制的人机交互,同时采用GSM网络与用户手机进行远程人机交互。其功能包括对室内温度、湿度、光线强度的采样以及对节能LED等的自动调节等。控制终端作为智能家居系统的传感网络部分,需要处理更多数据,系统采用了Atmel公司的高端AVR单片机Atmega128作为控制中心,用于传感器的采样和系统控制,并负责GSM的远程人机交互和CC2500的射频通信,而本地的人机交互系统采用STC12CSA60S2来控制OCM240128液晶显示,并通过XPT2046触摸屏控制器控制触摸屏来实现人机交互的输入;ATmega128和STC12C5A60S2之间通过RS485通信协议,以保证数据通信的稳定性和安全性。

用户GSM通信设备在设定了用户验证的模式下,用于对获取数据进行确认验证,使得数据的安全性得到可靠保证,同时可以实现远程的数据监测和控制功能从而实现远程人机交互。具体的系统工作过程如下:首先在系统上电初始化后,上位机将要求用户插入加密盾设备,并输入对应的账户和密码,控制终端将通过账号和码进行匹配。匹配成功后进入控制模式对智能家居设备进行控制。在控制中心通信的数据中通过编码和时间加密算法进行加密。其中也包括了随机的验证信息,一旦验证信息错误,通信将会立即中断,以保障用户隐私。

二、基于时间序列加密的智能家居安全控制系统的硬件设计

基于时间序列加密的智能家居安全控制系统硬件部分以Atmega128单片机作为控制终端的核心,通过4线电阻式触摸屏和OCM240128作为近距离入机交互,同时通过GSM通信和电脑上位机进行远程人机交互。通过CC2500射频通信模块与加密盾设备实现数据加密和个人隐私安全保护,采用AM2303等传感器采样家居中的环境,以实现全自动化的智能家居系统,并可随时人为操控。因此系统硬件部分电路主要由以下四个部分构成。

(1)加密盾电路

加密盾电路部分的主要功能是完成上位机到控制台之间的数据通信沟通桥梁和通信数据转换与加密功能,其电路图如图2所示。系统通过UART协议与上位机进行通信,考虑到目前最常用的为USB接口,采用了FT232的USB转UART模块实现加密盾部分与上位机的计算机进行通信。同时加密盾部分与控制终端的通信采用了CC2500无线射频通信模块,并通过SPI总线与STC12LESA60SZ单片机相连。

 

(2)液晶及触摸屏电路

液晶电路部分的主要功能是实现智能家居系统的近距离人机交互,液晶及触摸屏电路如图3所示。显示部分采用了OCM240128,由于电路相对耗能较大,采用了PNP三极管对液晶的背光进行控制,在没有用户使用的情况下可以自动关闭显示达到节能的目的。触摸屏控制器XPT2046通过SPI与单片机相连实现触摸功能。

 

(3)SIM900A GSM模块电路

SIM900A GSM模块的主要功能是用于用户验证和实现远程人机交互,电路如图4所示。系统采用了电源管理芯片MIC29302作为SIM900A的供电模块、PESD5VOL4UW怍为GSM模块的ESD保护电路确保GSM横块可靠工作。

(4)控制台电路

如图5为控制台电路。控制台电路主要负责传感器数据的采集,家电设备的控制操作,以及实现与加密盾设备、液晶与触摸屏部分和用户GSM设备部分的通信功能

三、基于时间序列加密的智能家居安全控制系统的软件设计

系统软件设计主要包括数据编码与加密、无线通信和AT指令短信通信三大部分。

(1)数据的编码与加密

整个系统的编码和加密部分程序流程如图6所示。

由于格雷码具有循环、单步特性消除了随机取数时出现蘑大误差的可能,反射、自补特性使得求反非常方便,属于可靠性编码,是一种错误最小化的编码方式;此外,系统采用了便宜和相对简单的微控制器,因此,运算相对简单但是错误最小的格雷码编码成为本系统编码的首选。

加密部分系统通过设定了一个基于6字节随机时间偏移量的逻辑函数来实现,通过底层的UART协议自定义上层的数据包,数据包为单字节,32字节或64字节几种形式,基本的传输模式有1字节、32字节、2*32字节、1+32字节、1+2*32字节、l+32+2*32字节等几种。单字节的数据包主要用于简单的握手协议,在多字节的数据包中,我们对其进行编码和加密,分为起始码,数据包长度,应答信号,数据位置定义,随机时间偏移值,对应的数据(包括账号,密码以及监控系统中的温度、湿度,光线强度等各种传感数值以及家电的控制状况),接收数据判断码和截止码等部分构成,且对应数据所在的数据包中的位置通过数据位置定义变量进行定义,数据包的空字节可以填人随机数,且整体数据全部加上随机时间的偏移值‘(通过加减乘除等数学运算进行数据的偏移),并最后进行数据打包,加上对应数据校验码之后进行传输,最后通过监控软件来判断数据的加密效果。

(2)CC2500无线射频通信

CC2500无线通信程序流程图如图7所示。

(3)GSM的AT指令短信通信

SIM900AlyjGSM模块的AT指令基本与标准AT指令相同,设计采用PDU的数据格式进行发送和接收数据,AT指令短信通信发送部分程序流程图如图8所示。

小知识之格雷码

格雷码,因1953年公开的弗兰克·格雷专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。法国电讯工程师波特在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。格雷码(Gray code)曾用过Grey Code、葛莱码、葛兰码、格莱码、戈莱码、循环码、二进制反射码、最小差错码等名字,它们有的是错误的,有的易与其它名称混淆,建议不再使用它们。