张 雄,秦会斌,毛祥根,李 琪
(杭州电子科技大学 电子信息学院,浙江 杭州 310018)
基于ZigBee技术的远程家电控制系统
张 雄,秦会斌,毛祥根,李 琪
(杭州电子科技大学 电子信息学院,浙江 杭州 310018)
为了实现对常用家电设备的统一管理和远程操控,设计了一套基于ZigBee技术的远程家电控制系统。系统以ARM11作为主控平台,采用Android移动终端作为用户的操控平台,利用ZigBee技术将常用家电设备控制模块组建成一个家庭内部无线网络。ARM主控平台运行网关服务器程序,接收来自Android移动终端的访问请求,通过ZigBee技术将该请求信息发送到家庭内部网络来实现对相应家电设备的控制。经测试,通过Android移动终端实现了对室内空调等家电设备的远程控制。
ZigBee技术;ARM11;无线网络;远程控制
随着经济的发展和科学技术的进步,人们家居生活中的各种家电设备也日益丰富。各种家电设备之间彼此独立,控制方式各不相同,不便于用户进行统一的管理和控制。单一家电服务慢慢不能满足用户的需求,实现对各种家电设备的统一管理和远程操控是未来的发展趋势。传统远程家电控制系统多以PC机作为控制终端,组网方式多采用有线方式,存在功耗大,需要布线、控制终端移动不方便等缺点[1]。
针对传统实现方式的不足,本文设计的远程家电控制系统以ARM11作为系统的控制中心,采用ZigBee技术实现家庭内部网络的组网无线化,通过Android移动终端接入系统来实现对常用家电设备的远程操控[2]。Android移动终端方便小巧,可随身携带,便于操作,能让用户获得舒适、便捷、人性化的家居体验。
目前使用的常用家电如电视、空调都是采用红外协议进行控制。不同家电的红外控制协议不一致,因此设计了一个学习型红外控制模块。该模块通过学习家电的红外控制信号来完成对家电设备的控制。系统采用ZigBee技术将室内不同房间的红外控制模块组建成一个无线网络来实现对家电设备的统一控制。ZigBee技术是一种近距离、低成本、低功耗的无线通信技术,具有组网方便、支持网络节点数多等优势。在工业控制、楼宇自动化和家电智能化等领域有广泛的应用[3,4]。整个系统由控制终端、家庭网关和终端节点3部分组成。
控制终端是用户对系统进行操控的平台和界面。系统采用Android移动终端(智能手机、PDA)作为控制终端。控制终端通过WIFI接入家庭网关来实现远程访问和操控[5]。
家庭网关是整个系统的核心,由网关服务器和ZigBee协调器共同组成,它们之间通过串口连接。服务器支持Inetrnet、WIFI等方式的接入,主要接收来自控制终端的访问请求,将接收到的控制信息通过串口发送给ZigBee协调器。ZigBee协调器根据接收到的控制信息,通过ZigBee协议发送控制指令给对应的终端节点来实现对家居设备的控制。
终端节点是具有ZigBee通信能力的红外控制模块,由ZigBee终端节点与红外控制模块组成。当终端节点接收到来自家庭网关的控制指令后,由对应的红外控制模块来完成对室内家电设备的控制。系统的总体结构如图1所示。
图1 系统的总体结构图
由系统的总体结构图可知,系统的硬件设计主要包括家庭网关和终端节点的硬件设计。家庭网关由网关服务器和ZigBee协调器组成,终端节点由ZigBee终端节点和红外控制模块组成。其中ZigBee协调器与ZigBee终端节点在硬件设计上完全相同,只是软件设计不同。下面分别介绍家庭网关硬件平台的选择与终端节点的硬件设计。
2.1 家庭网关的硬件平台的选择
家庭网关是整个系统的控制核心,能接收来自用户的访问请求,并将相应的控制信息通过ZigBee协议发送给对应的终端节点。家庭网关选择Samsung公司推出的S3C6410微处理器作为控制中心,外围通过接口连接了ZigBee协调器、USB Wi-Fi等功能模块。S3C6410是一款高性能、低功耗、低成本的32位精简指令集(RISC)处理器。该处理器基于ARM1176内核,最高工作频率能达到667MHz,内部采用32/64位总线结构[6]。并且该处理器支持虚拟内存机制,能很好地运行Linux、Android、Win-dows CE等嵌入式操作系统。
ZigBee协调器采用TI公司推出的CC2530作为主控芯片,外围电路主要包括晶振电路与射频收发电路。CC2530集成了业界领先的RF收发器、增强工业标准的8051MCU,是一个应用于IEEE 802.15.4、ZigBee和RF4CE的片上系统(SOC)解决方案[7]。该芯片同时具有功耗低,能建立强大的网络节点等优势。家庭网关的硬件结构如图2所示。
图2 家庭网关硬件结构图
2.2 终端节点的硬件设计
终端节点由ZigBee终端节点和红外控制模块组成,2个模块通过串口相连。ZigBee终端节点负责接收来自家庭网关发送的控制指令,红外控制模块根据收到的控制指令完成相应的功能。终端节点硬件结构图如图3所示。
图3 终端节点硬件结构图
如图3所示,ZigBee终端节点在硬件实现上与ZigBee协调器相同。红外控制模块选择STC89C52作为主控芯片,电路主要由红外接收电路、红外发射电路以及一些外围电路构成。红外接收电路负责接收红外信号并解调,解调之后的脉冲序列由单片机来处理。红外发射电路能将调制的脉冲信号转化为相应的红外控制信号来完成对家电设备的控制。
系统的软件设计主要包括网关服务器程序设计,家庭网关与终端节点之间基于ZigBee协议的组网通信程序的设计和红外控制模块的程序设计。下面分别介绍相应的软件设计过程。
3.1 网关服务器程序设计
网关服务器主要接收来自用户通过网络发起的控制请求,并通过串口发送相应的控制信息给ZigBee协调器。服务器平台移植了Linux操作系统,因此服务器的设计是基于Linux平台的服务器的设计。本系统服务器的设计是采用C/S(Client/Server)结构即客户服务器结构。系统控制终端作为客户端,服务器为系统控制终端提供服务[8]。
服务器的设计是采用select()函数实现的并发服务器。通过调用select()函数和传递相关参数来通知内核所关注的文件描述符和对应的状态(读、写、异常),以及等待多长时间就返回。从select()函数返回后,内核会返回已经做好准备的描述符的个数和哪些描述符已经做好了相应的准备(读、写、异常)。有了这些信息,就可以调用合适的函数进行相应的处理。网关服务器软件流程图如图4所示。
图4 网关服务器软件流程图
3.2 基于ZigBee协议的组网通信程序设计
组网通信程序设计包括ZigBee协调器的程序设计和ZigBee终端节点的程序设计。它们的程序设计都是基于Z-Stack协议栈来设计开发的[9]。ZigBee协调器主要完成ZigBee网络的建立,接收来自网关服务器的控制信息并通过广播方式发送对应的控制信息给ZigBee终端节点。由ZigBee终端节点对广播控制信息作出应答,当某个终端节点接受到控制信息后,通过串口发送相应的控制指令红外控制模块,由该模块完成对家电设备的控制[10]。ZigBee协调器和ZigBee终端节点的软件流程分别如图5和图6所示。
图5 ZigBee协调器软件流程图
图6 ZigBee终端节点软件流程图
3.3 红外控制模块软件设计
红外控制模块根据接收的串口控制指令来执行相应的操作。当收到学习红外指令时,红外控制模块检测家电红外信号的编码脉冲的宽度,并存储脉冲信号中高低电平的时间。当收到发射红外信号命令时,红外控制模块根据存储的高低电平时间来还原该脉冲信号,并将该脉信号调制到38 kHz的载波信号上去来产生对应的控制信号实现对相应家电设备的控制[11]。其软件流程如图7所示[12],红外控制模块首先等待ZigBee终端节点通过串口发送过来的控制指令。当该模块接收到学习指令后,会调用相关功能函数来学习红外信号,并存储该红外信号的编码到EEPROM。当接收到控制指令后,会从EEPROM中读取相应的红外编码,并通过定时计数器产生对应的编码脉冲信号作用于红外发射电路,实现对家电的控制。
图7 红外控制模块软件流程图
采用S3C6410开发板作为测试平台,用跳线将S3C6410开发板与ZigBee协调器通过串口相连作为家庭网关,用跳线将ZigBee终端节点与红外控制模块通过串口相连作为终端节点。终端节点部署在室内不同的房间完成对房间内家电的控制。整个系统上电后,采用Android智能手机作为系统的控制终端,Android智能手机的空调控制界面如图8所示。
图8 Android智能手机的空调控制界面
Android智能手机通过Wi-Fi接入家庭网关来完成相关操作。首先在界面上选择房间号,进入当前房间的空调控制页面。当在控制界面上选择开始学习红外指令时,红外控制模块开始学习室内空调的红外信号,并存储编码。完成学习后,就可以通过红外控制模块完成对室内空调的控制。同样也可以完成对室内其它基于红外控制协议家电的控制。
设计的基于ZigBee技术的远程家电控制系统,在不对现有基于红外控制协议家电做任何改造的情况下,利用ZigBee技术将它们融入无线网络,达到了对室内家电统一管理和远程操控的目的。控制终端采用Android移动终端,可以通过网络接入系统,使得用户对家电设备的操控更加方便、快捷。ZigBee技术功耗低、组网方便等优势降也低了系统成本,使系统具有良好的可扩展性。本系统在普通家居生活和一般办公场所具有一定的应用推广价值。
[1]袁晓平,马满福.基于ARM11的家电远程控制系统[J].计算机应用与软件,2013(10):288-292.
[2]曹 毅,李 旭.下一代网络业务交互系统的设计分析[J].无线电工程,2012,42(4):6-8.
[3]姜 龙,罗小巧,杨明红,等.基于ZigBee的家庭网关的设计与实现[J].通信技术,2013,05:45-47,52.
[4]蒋耘晨,刘秋丽,杨 明.基于Zigbee技术的天然气联合站监控系统设计[J].无线电通信技术,2007,33(01):56-58.
[5]代 成,叶 焱,刘太君,等.基于WEB的远程自动控制系统研究和实现[J].无线电通信技术,2014,40(3):90-93.
[6]S3C6410数据手册[Z].Rev1.20.2009.
[7]罗 凯.基于ZigBee的智能家居控制节点设计与实现[D].成都:电子科技大学,2013:18-19.
[8]杨敬伟,薛玉倩,刘振鹏.基于C/S与B/S混合模式的软件体系结构[J].河北大学学报(自然科学版),2006(3):315-318,323.
[9]师振伟.基于ARM和ZigBee的智能家居无线终端控制系统的设计[D].西安工业大学,2013:21-23.
[10]穆立波.事件驱动型传感网络低能耗协议设计[J].无线电工程,2011,41(6):11-14.
[11]李 晋,王 玲,韩 英.基于AT89C52的学习型遥控器的设计[J].微计算机信息,2006,26:69-71.
[12]张 毅,张灵至,卢 威.面向物联网的ZigBee-红外控制系统设计[J].电子技术应用,2013,39(5):82-85.
Remote Control System of Home Appliances Based on ZigBee Technology
ZHANG Xiong,QIN Hui-bin,MAO Xiang-gen,LI Qi
(School of Electronics Information,Hangzhou Dianzi University,Hangzhou Zhejiang 310018,China)
In order to realize the unified management and remote control of common home appliances,a remote control system of home appliances based on ZigBee technology is designed.The system uses ARM11 as the main control platform and Android mobile terminal as the user control platform,and forms a home wireless network with home appliances control module using ZigBee technology. The ARM main control platform runs the gateway server program,receives the access request from Android mobile terminal,and sends the request information to the home network by ZigBee technology to realize the control of corresponding appliances.Through the test,the remote control of home appliances such as air conditioner is realized through the Android mobile terminal.
ZigBee technology;ARM11;wireless network;remote control
TP393.0
A
1003-3114(2015)06-68-4
10.3969/j.issn.1003-3114.2015.06.18.
张 雄,秦会斌,毛祥根,等.基于ZigBee技术的远程家电控制系统[J].无线电通信技术,2015,41(6):68-71.
2015-07-16
张 雄(1987―),男,硕士,主要研究方向:嵌入系统开发与应用。秦会斌(1961―),男,博士生导师,教授,主要研究方向:新型电子器件与ASIC设计,现代传感器设计及应用。