APP下载

基于Raspberry Pi和ZigBee的智能家居控制系统

2019-07-29王洁松韩树河

物联网技术 2019年6期
关键词:智能电网智能家居

王洁松 韩树河

摘 要:针对国内外已有家居控制系统的优缺点,提出了一种新的灵活的便于扩展的智能家居控制系统。该系统将编程开发后的Raspberry Pi(树莓派)作为嵌入式家庭服务器,采用ZigBee技术实现家庭网络内通信,并设计了配套的基于ZigBee技术的智能插头。实验测试表明,该系统架构灵活可靠,便于进一步扩展,且可应用于未来接入智能电网的智能家居中。

关键词:智能家居;Raspberry Pi;ZigBee;XBee;智能插头;智能电网

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2019)06-00-04

0 引 言

智能家居自动化领域的特点是,通过使用有线和无线技术基础设备实现无缝集成的智能联网,从而更轻松地创建个性化和安全的家居空间[1]。随着通信、信息和电子技术等的发展与智能设备在智能家居控制系统中的不断融合,智能家居控制系统在不断降低成本,同时系统架构也在不断改进。

过去几年,国外出现了几种基于不同技术和标准的智能家居控制系统。例如在文献[2-3]中移动电话被用来远程控制家居环境中的电器,文献[4]提出了一种基于微控制器的智能家居控制系统。但这些系统缺乏灵活性,例如通过单一设备(GSM移动电话)控制家居环境中的设备;在使用SMS消息作为远程控制家用电器的家居控制系统中,用户必须记住消息主体中包含的所有命令代码或名称。因此,为提高系统使用的灵活性,通过动态灵活的UI用户界面来控制和监视家居设备是解决当前问题的较好方案。

为克服家庭部署安装问题,很多智能家居控制系统设计方案提出采用无线技术。例如,文献[5]提出一种基于蓝牙无线技术的智能家居系统;文献[6]提出一种基于WiFi无线控制的智能插头,使用REST架构提供服务;文献[7-9]设计了基于GPRS模块和XBee模块的远程无线采控系统;文献[10]为提高服务器并发量,使用Netty网络架构,由WiFi和ZigBee构建家庭内网,WiFi网络与ZigBee网络之间通过树莓派完成信息交换。但若采用WiFi技術、蓝牙技术实现近距离通信,则存在功耗大、传输距离短等缺陷。

文献[11]中开发设计了一个基于Cortex-A8处理器的可编程小电脑,将其作为嵌入式服务器和网关,用于确保智能家居控制系统的远程控制和监视服务。文献[12-13]均将Cortex-M3作为主控芯片,基于XBee模块组建智能家居内网。

文献[8]设计了一套基于嵌入式Web的XBee网关。文献[14]中对集成TI公司以CC2530芯片为核心的ZigBee模块和Digi公司的XBee模块的两种无线通信技术的室内智能家居控制系统,从传输距离、功耗和抗干扰能力进行实验对比,测试结果显示XBee模块更适合室内家居智能控制系统。

文献[15]使用XBee模块组建家庭内网,使用S3C6410芯片搭载Linux操作系统设计网关,将以太网作为通信外网,将智能手机作为监控终端。

文献[16-17]中基于Raspberry Pi进行智能家居系统的设计降低了开发成本,且兼容性强,系统各设备可通过有线或无线方式互联。

本文针对上述国内外家居控制系统的优缺点,设计了一个灵活的便于扩展的智能家居控制系统。该系统采用Raspberry Pi作为嵌入式服务器进行编程设计,采用ZigBee技术构建家庭网络,并设计了配套的基于ZigBee技术的智能插头。

1 系统架构

本文提出的智能家居控制系统架构如图1所示。用户可使用与局域网有线连接的台式PC机,或通过WiFi连接的平板电脑和智能手机等智能设备控制本地家用电器,或通过Internet远程控制。控制系统的UI用户界面采用HTML编写,简化了用户的控制任务,使用户能够使用各种智能设备进行访问操作,从而增加了智能家居控制系统的灵活性。

1.1 中央单元中央单元架构如图2所示,由Raspberry Pi和XBee模块组成。

仅有信用卡大小的Raspberry Pi具有成本低、灵活、兼容性强、用途广泛等优点,适用于需要图形界面或Internet的项目,适合在物联网(Internet of Things,IoT)场景中使用[18]。本文实验时使用Raspberry Pi B+版本,该款Raspberry Pi板于2014年7月推出,其主要硬件参数如下:

Raspberry Pi可支持各种Linux操作系统,如Ubuntu,Arch Linux等,默认操作系统为Raspbian(为Raspberry Pi定制的Debian,推荐使用此版本)。

根据文献[14]中对ZigBee模块和XBee模块的性能测试对比,本文选用使用ZigBee技术的XBee模块。在中央单元中XBee模块被配置为网络中的协调器,负责组建网络并为家庭网络中的其他XBee设备分配地址。Raspberry Pi则作为嵌入式服务器,在其上编程实现家居控制系统,存储数据。

用于控制设备或管理家庭网络的命令都通过Raspberry Pi传达。Raspberry Pi通过RJ 45接口接入Internet,使远程用户可远程控制设备和电器。Raspberry Pi扮演网关角色,可执行远程用户通过Internet发起的命令或请求。通过Internet收到的命令将由网关进行解释,然后由XBee协调器将具体的ZigBee命令发送到家庭网络中特定的XBee模块。

Raspberry Pi和XBee协调器之间的数据交换通过串行接口完成。串行通信参数需要在Java程序中定义,且必须和X-CTU软件在配置XBee协调器时输入的参数相匹配。FTDI芯片将XBee引脚上接收到的数据转换为串行协议,从而与Raspberry Pi通信。为实现Raspberry Pi发送命令或处理从XBee协调器接收数据的功能,在编写Java程序时使用Digi公司在其官网上提供的关于XBee的Java库文件。

1.2 智能插头

智能插头使本文的控制系统更加智能,为用户在家庭网络中控制设备提供了方便。智能插头由电源和命令电路、传感器板组成。智能插头允许控制设备打开或关闭设备,并与中央单元交换数据,交换的数据包括设备状态、电耗值和温湿度等环境值。

智能插头的图块如图3所示,本文设计的智能插头由XBee收发模块(XBee Transceiver)、传感器板(Sensor Board)和命令电源电路(Command & Power Circuit)组成。ZigBee的技术特点是近距离、低复杂度、自组织、低功耗、低数据速率,适用于智能家居网络中设备的自动控制。智能插头按ZigBee技术标准与中央单元通过无线网络交换数据,该功能由智能插头中的XBee收发模块实现。使用Digi公司的X-CTU软件配置XBee收发模块,家居设备网络为网状拓扑结构,由中央单元中的XBee协调器为安装在智能插头中的XBee收发模块分配地址。

1.2.1 命令和电源电路

在X-CTU下配置时,XBee收发模块的一个引脚配置为模拟输入,另一个配置为数字输出。XBee第19引脚配置为数字输出(DIO1),向电源电路发送命令。如图4所示,通过一个晶体管连接XBee DIO1引脚以启用或禁用高速光耦合器(6N135)。

电源电路由继电器组成。该继电器接收来自晶体管的指令,而该指令依赖于光耦合器(6N135)的输出。XBee模块天线上接收到的命令(打开或关闭设备)将通过智能插头的电路激活继电器线圈,该线圈为设备提供电能。

1.2.2 传感器板

图5所示为传感器节点电路。XBee模块配有4个ADC(模拟数字转换器),允许在引脚17~20(DIO0~DIO3)上配置4个模拟输入/输出,引脚号17用于接收温度传感器LM335的信号。

2 软件开发

在实验设计中,智能家居控制系统提供设备控制、网络管理和温度监控服务。Raspberry Pi B+板作為家庭嵌入式服务器,可使用不同的编程语言进行开发,例如C,C++,Python或Java。文本设计中使用Java进行嵌入式服务器开发。JES(Java Embedded Suite)是一种针对嵌入式环境执行的轻量级API,允许创建Java数据库并基于REST架构为远程控制提供Web服务。架构平台采用Glassfish服务器(一款由Sun公司开发的开源免费的应用服务器)。使用的表述性状态传递(Representational State Transfer,REST)体系结构基于C/S体系结构为用户提供Web服务。

图6所示为使用JavaScript用HTML编码设计的动态用户操作界面,该界面方便用户更简单、灵活地监视和控制家用设备。

用户执行的操作在请求中被转换为两部分,即URI(统一资源标识符)和特定数据。

URI是给定资源的唯一标识符,格式为http:// / path_to_resouce。URI指向嵌入式服务器上的资源,该资源被编程以满足所需服务,例如读取所选智能插头所在的环境温度。

通常嵌入式服务器上的资源需要正确执行一些特定指令,例如用户想要打开或关闭设备智能插头的MAC地址。REST是面向表述的体系结构,因此与服务器交换的数据需具有JSON和XML格式或其他格式类型。

所有请求可通过本地WiFi、局域网或Internet远程传输,在基于C/S架构的嵌入式服务器中完成。嵌入式服务器收到的请求将通过串行RS 232协议传输到XBee协调器,协调器将询问或命令智能插头执行预期命令。

3 系统评估

本文提出的智能家居控制系统由嵌入式服务器、ZigBee家庭网络和UI用户界面构成。

设计中选择XBee设备组建ZigBee家庭网状网络,由X-CTU软件对各XBee模块进行配置。中央单元的XBee模块配置为协调器,作为信任中心,命令均通过该节点。通过使用Digi官网上提供的与XBee相关的Java库文件,编程实现协调器与嵌入式服务器间的通信。

实际使用中对家庭设备控制的命令由用户在UI用户界面发起,由嵌入式服务器接收,然后作为命令传送给XBee协调器,再由协调器将命令发送到家庭网络内的特定智能插头,最后这些命令由智能插头执行,并将反馈信息发送回服务器。文本所设计的架构为智能家居提供了可靠的控制系统。

文献[2-4]中提出的控制系统基于GSM或微控制器设计,其缺点是缺乏灵活性,需要用户记住用于控制家庭设备的命令或代码。本文中,UI用户界面以HTML和JavaScript编码,允许出现动态网页。用户可使用PC机、移动设备或其他智能设备,远程或本地使用该UI用户界面,增加了控制系统的灵活性。

测试表明,文本所提出的智能家居控制系统灵活可靠。智能设备都可连接到作为嵌入式服务器的Raspberry pi上,为控制系统的扩展提供了可能。因此,文本提出的基于Raspberry pi和ZigBee的智能家居控制系统是一套可进一步扩展的智能家居控制系统。

4 结 语

随着物联网技术的不断发展,智能家居的快速发展将成为必然。文本针对国内外文献中出现的几种智能家居控制系统的优缺点,提出了一个新的控制系统架构。该系统基于有网关功能的嵌入式服务器,允许用户通过Internet,LAN或WiFi控制家具电器。Raspberry pi板成本低,兼容性强,便于软件开发后作为嵌入式服务器。使用REST体系架构搭建用于控制和监视的Web服务功能。家庭网络通信基于ZigBee标准,由中央单元统一控制和监控。该系统架构提高了智能家居控制系统的灵活性和可靠性,可应用于未来接入智能电网的智能家居中。

参 考 文 献

[1] TOSCHI G M,CAMPOS L B,CUGNASCA C E.Home automation networks:a survey[J].Computer standards & interfaces,2017,50(2):42-54.

[2] NICHOLS J,MYERS B A. Controlling home and office appliances with smart phones[J]. IEEE pervasive computing,2006,5(3):60-67.

[3] KHIYAL MA S H,KHAN A,SHEHZADI E. SMS based wireless home appliance control system(HACS) for automating appliances and security[J].Informing science institute,2009(9):887-894.

[4] KAUR I. Microcontroller based home automation system with security[J].International journal of advanced computer science and applications,2010(1):60-65.

[5] SRISKANTHAN N,TAN F,KARANDE A. Bluetooth based home automation system[J]. Microprocessors and microsystems,2002,26(6):281-289.

[6] WANG L,PENG D L,ZHANG T. Design of smart home system based on WiFi smart plug[J].Internatonal journal of smart home,2015(9):173-182.

[7]刘婵媛.基于物联网的智能家居系统研究与实现[D].北京:北京邮电大学,2012.

[8]陈早维.基于嵌入式Web的ZigBee网关的设计与实现[D].杭州:杭州电子科技大学,2014.

[9]张西安. 基于物联网的智能家居系统设计与实现[D].大连:大连理工大学,2014.

[10]张应昌.基于异构网络的物联网智能家居系统设计与实现[D].西安:西安电子科技大学,2014.

[11] ZHANG S Y,XIAO P P,ZHU J,et al. Design of smart home control system based on Cortex-A8 and ZigBee[C] //Proceedings of the IEEE International Conference on Software Engineering and Service Sciences,ICSESS,2014:675-678.

[12]薛雪嬌.基于ZigBee无线传感网络的智能家居环境监控设计[D].沈阳:辽宁大学,2015.

[13]周丽荣.物联网智能家居系统的设计[J].科技传播,2013(12):211-212.

[14]李敏,唐惠玲,张沙清,等.基于ZigBee与XBee的智能家居系统设计及其性能测试[J].现代电子技术,2016,39(9):48-52.

[15]张江山,熊哲源.基于ZigBee的轻智能家居监控系统的设计[J].科技创新导报,2017(11):157-160.

[16]何静如.基于树莓派的多功能智能家居系统[J].物联网技术,2018,8(2):96-99.

[17]张伟,王宜怀.基于Raspberry Pi 3的智能家居系统设计[J].单片机与嵌入式系统应用,2018(2):43-46.

[18] VLADIMIR V,MIRJANA M. Raspberry Pi as a sensor web node for home automation[J].Computers and electrical engineering,2015,44(C):153-171.

猜你喜欢

智能电网智能家居
基于Zigbee的无线通信技术在智能家居中的应用
智能电网中光纤通信系统的可靠性分析
智能电网现状与发展分析
关于智能家居真正需求的探讨
基于LD3320的智能家居控制