基于WLAN技术的智能家居控制系统设计*
2013-03-11潘志鹏王希朝
程 鹏,潘志鹏,王希朝,吴 斌
(中国科学院微电子研究所,北京100029)
随着计算机技术、网络通信技术、自动控制技术等高科技手段的飞速发展,智能家居(Smart Home)正不断地渗透到传统家电产业中,逐渐改变着人们的日常生活,并由此掀开了家庭信息化和智能化的新篇章[1]。按照智能家居的普遍定义[2],是将家居中各种与信息相关的通信设备、家用电器和家庭安保装置等,通过一种专用技术连接到一个家庭可用的智能系统上,可以实现集中或异地的监视、控制和家庭事务性管理等功能。基于系统组网的简易性考虑,选择无线技术作为各设备之间相互通信的方式将是一种必然的发展趋势。如今,比较流行的无线技术主要有:WiFi、Bluetooth(蓝牙)、ZigBee、RFID以及一些简单专用无线通信协议(如CC1100、NRF905、Si4432等)。本文提出了一种智能家居的无线控制系统,其中客户端通过WLAN技术与中心网关进行信息交互,而中心网关通过工作在433 MHz免费频段下的CC1100模块与家庭中的各种终端设备进行命令交互,前者是基于WLAN技术的普遍应用性考虑的,而后者是基于系统的成本控制选择此低成本、低复杂度的通信手段。
1 智能家居概述
1.1 解决方案选择
智能家居通常需要具备一个中心控制器,也称家庭网关,主要的职能是接收用户的控制指令和控制并管理网络中的各设备,根据其实现方式的不同,智能家居控制系统有3种解决方案[3]:基于PC机、采用单片机和基于嵌入式架构系统。
分析比较3种解决方案,采用专门设计的嵌入式主控制器作为智能家居网络控制平台,以其结构简单、稳定性强、扩展性好等特点成为智能家居控制器的首要选择。通过该嵌入式主控制器可以很好地实现一个家居系统的管理和控制功能,无论是与客户端,还是与底层家电设备之间的数据交换,基于嵌入式平台的开发将大大降低系统的复杂性。
1.2 WLAN技术简介
WLAN[4]技术是一种无线局域网技术,现已广泛应用于各类电子设备中,从笔记本电脑到个人多媒体播放器,再到移动电话,几乎随处可见。WLAN是基于IEEE 802.11无线标准研制开发的,只涉及OSI/RM模型中的数据链路层与物理层协议,网络结构相对简单。由于WLAN技术的快速发展和广泛普及,使得协议标准进行不断的更新与改进,现已有的协议有:IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n等。WLAN所具有的独特优势也使得基于该技术的智能家居系统具有良好的通用性和可扩展性。
2 系统架构
本系统由3部分组成,分别为终端设备,中心控制器和用户控制台。智能家居控制系统架构如图1所示。
图1 智能家居控制系统架构
在整个智能家居控制系统中,中心控制器处于核心地位,作为用户控制台和设备终端信息交互的桥梁。终端设备面向的是家庭中的家电设备等,通过家电设备中内嵌的CC1100无线通信模块和中心控制器端的无线模块进行信息交互,从而达到控制家电设备的作用。
家电设备和中心控制器之间通常只传输控制信息,数据量小,但稳定性要求较高,CC1100模块是工作在ISM频段专为低功耗无线应用设计的无线收发模块,能够满足本设计的需求。用户控制台与中心控制器之间通信,是通过目前较为流行的WiFi技术来实现的,控制台利用WiFi远程接入中心控制器,实现对远端设备的访问和控制。中心控制器上集成的WiFi模块,实现远端数据的无线收发,同时进行协议转换,完成控制台和终端设备的信息交互。因此中心控制器在整个智能家居控制系统中起着至关重要的作用。
2.1 中心控制器硬件结构
中心控制器的硬件结构示意图如图2所示,核心处理器选用飞思卡尔公司基于ARM926-EJ-S核心的MCIMX27控制器,该芯片工作频率达400 MHz,集成了嵌入式系统设计时所需的大部分外部接口,适用于设计便携式多媒体音视频产品及智能家居网关等。为满足家电控制的功能,中心控制器上还集成有CC100无线通信模块,用于家电与网关间的信息交互,该模块通过SPI接口进行数据传输及相关参数配置,只要控制器有SPI接口,即可利用该模块实现数据的无线收发。同时中心控制平台集成了可配置成AP和Station的WiFi模块,用于控制台和网关的信息传输。WiFi技术是当今最为流行的无线传输方式,本设计中控制台和中心控制平台间传递的是数据量较小的控制信息,因此专门设计了操作较为简单的UART_WiFi无线传输子模块用于本系统中,该子模块和控制平台间通过标准UART接口进行通信,通过UART接口可配置其系统和网络参数,同时支持数据透明传输,支持AT指令集,只要具有UART接口的设备即可通过其接入到WiFi无线网络中。
图2 中心控制器硬件结构
中心控制平台上还集成的LCD模块,提供终端设备的控制界面以及实时显示终端设备的状态信息。键盘模块方便用户手动配置控制器参数和对终端设备的控制。
2.2 两种工作模式
智能家居控制系统在设计时充分考虑到了系统的各种应用场景,设计实现了控制系统的两种工作模式,即直接控制模式和间接控制模式。
2.2.1 直接控制
系统工作在直接控制模式下时的数据流向如图3所示,直接控制模式是通过中心控制平台来完成与终端设备的数据交互的。在该工作模式下,对设备的访问是中心控制器通过无线模块发送命令请求来完成的,当终端设备接收请求后会向中心控制器发送响应,从而完成一次通信过程。
图3 直接控制
2.2.2 间接控制
图4所示是系统工作在间接控制模式下时的数据流向示意图,在该模式下,中心控制平台起着接收用户命令、进行协议转换、转发终端设备响应消息的作用。在远端用户通过WiFi无线网络发起对终端设备的访问时,首先是中心控制平台通过UART_WIFI无线收发模块接收到请求,通过对相关协议的解析,完成对请求命令的识别,再发送请求命令到终端设备,直到终端设备返回响应消息,中心控制器将响应消息解析,重新封装完成后通过UART_WIFI模块发送到远端用户控制平台。
2.3 系统软件框架
图4 间接控制
整个智能家居控制系统围绕中心控制平台来实现,其软件架构如图5所示,分别由底层硬件、接口驱动、内核层、应用层构成。硬件是整个系统软件运行的承载体,其上集成有所需的硬件接口,驱动层提供硬件与操作系统接口,简化了上层操作硬件的流程。与一般智能家居系统软件架构不同,本设计的软件架构中,在内核层次添加了业务网关和协议转换与适配层功能模块。业务网关负责上层应用层不同业务数据的汇聚、处理和分发,协议转换与适配层将下层递交的数据转换为有固定帧格式的数据帧,交由上层业务网关处理,提高了系统处理数据帧的实时性,方便系统的扩展。
图5 智能家居中心控制平台软件架构
智能家居控制系统软件运行总体流程图如图6所示,整个软件运行过程分为两个线程进行,主线程负责发送定时扫描命令给终端设备,同时处理终端设备返回的响应信息,次线程用于处理WiFi中断以及键盘或者LCD中断等。多线程程序的实现,需要线程同步的引入,本系统采用互斥锁加信号量的线程同步方法,有效地提高了系统工作稳定性以及响应命令的时效性。
图6 软件执行流程
2.4 用户控制台和中心控制器的信息交互协议
通过WiFi无线网络在用户控制台和中心控制器之间传输的数据称之为用户接口数据,其数据格式如图7所示。
图7 信息交互协议
接口数据分为控制数据和用户数据两种类型。控制数据是用于控制台和中心控制器之间的控制信息传输,实现远端设备对中心控制器的系统参数和网络参数的配置。用户数据是用于用户控制台和终端设备间信息交互的数据,根据不同需求,用户可在用户接口数据帧格式的框架下对其进行个性化的定义。
3 系统设计与实现
依据本文提出的基于WLAN技术的智能家居控制系统,设计一个实际的验证系统,中心控制器采用一个ARM处理器,实现系统的核心控制。底层的设备终端选取几种典型的家电设备,如电磁炉、风扇、豆浆机、热水器等。
中心控制器和上层用户之间采用WiFi技术作为主要的通信手段。对于用户控制台上运行的应用程序不受任何操作系统的限制,可以支持Windows、Android、iOS等。
本文提出了一种基于WLAN技术的智能家居控制系统的详细设计方案,包括硬件系统和软件架构。利用WiFi技术实现了家庭用户控制台与智能家居中的中心控制器进行无线组网,同时,采用普通专用的无线模块(CC1100)实现了中心控制器与底层各家电设备之间的控制和信息交互。经过实际硬件系统和软件方案的测试验证表明,该系统稳定可靠,且具备较好的扩展性。
[1]魏振春,韩江洪,张建军,等.智能家居远程控制系统的设计[J].合肥工业大学学报(自然科学版),2005,28(7):751-754.
[2]叶兴贵,缪希仁.基于ZigBee的智能家居物联网系统[J].现代建筑电气,2010,1(9).
[3]原林,于伸.嵌入式技术在智能家居控制系统中的应用[J].自动化技术与应用,2006,25(1):72-74.
[4]GAST M S.802.11 Wireless Networks:The Definitive Guide[M].O′Reilly,Sebastopol CA,USA,April,2002.