基于RFID技术的智能家庭用电信息系统构建
0 引 言
近年来,RFID 技术在零售业.图书馆服务.供应链管理等领域得到广泛使用.同时,RFID 技术也逐步应用于电力系统用以构筑智慧电网.传统居民用户信息采集系统的主站一般设置在供电局,用户要了解用电信息需采用账单查询.上网查询或电话查询等方式.这些方式不够便捷,难以满足用户需求且只能查询用电总额,无法知道各个用电终端的用电情况,出现故障也无法及时排除.与此同时,现代人对于提高家用电器的智能控制能力及家庭安防保障等也提出了更高的要求.
根据我国当前智能电网的发展趋势,为了有效监控家庭用电终端,维护用电安全,本文构建了一个基于RFID 技术与各种探测传感器相融合的智能家庭用电信息系统.该系统可解决如下问题:
(1) 完成家庭照明设备的开.关.亮度调节及状态显示;
(2) 实现对家庭中所有家用电器的统一控制与管理;
(3) 温湿度采集传感器根据家庭内外温湿度的变化,自动调节窗帘的开合.空调的启停;
(4) 安装的烟雾传感器.煤气传感器发现危险信息时,能自动报警并及时给家庭成员发送报警信息;
(5) 分析报告各个用电设备用电状况,指导用户合理用电,提醒用户及时充值.
1 系统整体结构
典型的RFID 系统由标签(Tag).读卡器(Reader).中间件(Middleware) 和控制计算机及软件等称为应用(Application)的四部分组成.智能家庭用电信息平台利用标签获取用电终端的用电状况及各探测传感器的状态,安装在房间特定区域的读卡器根据接收到的标签数据对家居环境进行监控,通过计算机网络将接收到的标签数据经过预处理之后存入系统数据库中.监控用户可以使用电脑.智能手机等实时了解用电终端的工作状况,必要的报警信息还会触发外设的声光报警器.
图1 所示是该平台的系统拓扑结构.本系统中的标签分为两种类型:电能计量标签与用电设备插头相连,实时探测用电设备电能消耗,控制用电设备功率大小;环境监测标签由温湿度.烟雾及煤气传感器等组成,安装在室内外特定区域,实时监测室内外环境.标签定时将探测到的数据发送给读卡器.读卡器通过天线控制覆盖接收信号的范围,接入家庭网络,将转发的标签数据存入系统数据库中.标签数据在数据库中进行合并.去冗余.挖掘特征信息等处理.系统监控用户通过浏览器获取这些处理过的信息,从而知道用电终端的用电状况,家庭内外的环境状况,同时,当家庭安防出现异常情况时,系统会通过邮件推送技术给用户发送邮件.根据需要,系统还可以方便地进行功能扩展,比如在室内外特定区域安装摄像机,报警信息触发外部声光报警器等.
智能家庭用电信息系统硬件部分使用有源RFID 设备.
软件部分依照浏览器/ 服务器(Browser/Server, B/S) 框架结构,使用开源而广泛使用的LAMP(Linux + Apache + MySQL+ PHP) 作为解决方案包.服务器是后台控制软件,提供阅读器访问.通信协议解析.标签数据存储和数据库管理等服务;浏览器作为人机交互工具,提取数据库中数据,进行合理引用处理,使得任何网络终端设备都可以实现对用电终端设备监控;数据库起到枢纽作用,作为系统核心,连接后台解析的数据,响应前台Web 网页访问请求.
智能用电信息系统后台软件使用JAVA 语言开发,采用基于TCP/IP 协议的套接字(Socket) 技术实现上位机(host) 与读卡器直接的通信,利用JAVA 语言中JDBC 与系统数据库交互.
该系统前台部分使用PHP 语言开发,整合Ajax(AsynchronousJavaScript and XML) 技术,实现页面实时刷新.
2 系统硬件设计
系统硬件部分主要包括标签和阅读器.标签的硬件构成如图2 所示.它集成微处理器.电源管理模块.数据存储模块.射频通信模块和数据采集接口于一体.根据数据采集接口中使用传感器的不同,标签可以划分为不同的类型.在本系统使用了两种类型标签,电能计量标签和环境监测标签.
电能计量标签的数据采集接口基于美国凌云逻辑公司的单相双向电能芯片CS5460A.该芯片符合IEC.JIS 工业标准,能够测量瞬时电压.瞬时电流.瞬时功率,同时具有相位补偿及系统自动校准功能[8].与用电设备插头相连的电能计量标签采集电压信号及电流信号,采集的电压.电流信号通过相应的互感器之后进入流/ 压变换电路,作为CS5460A 电能采集芯片的输入.CS5460A进行电能计量,通过串行外设接口 (SerialPeripheral Interface, SPI) 与微处理器进行数据交互.
环境监测标签在本系统中主要用来监测家庭环境信息,其子类别包括温度采集标签.湿度采集标签.烟雾浓度采集标签和煤气浓度采集标签.它们的功能原理都是实时采集环境参数,通过与微处理器内置的基准参数比对,获得趋近于实际环境情况的参数值.微处理器内部还可以预设范围阈值,当采集的参数超过阈值范围时,就可以得到报警信号.
微处理器将数据采集接口采集到的信号按照一定的编码规则进行整合与处理,将整合之后的数据通过射频通信模块以射频信号方式发射出去.接收时再按照与编码规则相同的解码规则对数据进行解码.
读卡器作为数据交换的一环,将前端标签采集的家庭现场环境信息传递给后端的计算机网络.一方面,通过天线与标签进行无线通信,实现读取标签采集的数据和设置标签的设备参数.另外一方面,读卡器又通过计算机网络与上位机系统相连,转发接收到的标签信息,由上位机系统实现对标签数据的存储.管理和控制.
本系统使用的读卡器使用2.4 GHz 微波与标签双向通信,预留RS232.RJ45 接口.读卡器配置TCP Server.TCPClient.UDP 以及COM 协议栈,上位机系统可以方便选择一种协议栈接收读卡器转化的标签数据.为了实现同时对多个标签进行识别,读卡器执行防碰撞算法.该读卡器还内置两个继电器,继电器可以与电源开关相连,也可以与报警器相连.
当系统中出现紧急情况时,触发继电器断开电源开关或者触发外部报警器提醒用户,从而保障用电安全.
3 系统软件设计
根据模块化的设计原则,在功能上把系统软件划分为三层,即数据服务层.逻辑处理层和用户表示层.数据服务层将标签采集到的各设备的数据信息存储到磁盘上;逻辑处理层提供一系列数据处理接口,根据系统的要求将各种类信息进行归并.去冗余等操作;用户表示层与系统用户直接交互,接受用户的访问请求,出现异常情况及时向用户报告.
3.1 数据服务层
智能家庭用电信息系统使用关系型数据库MySQL 存储数据信息.图3 所示是其数据库表结构.
本系统对用户的电表.系统的用电设备.环境监测位置及用户信息进行统一编号,并以编号作为唯一标识符连接各个实体.
系统包括六张表:系统信息表存储用户家庭用电总体信息,系统以固定的时间间隔计算系统的电量消耗情况,因而时间作为主键.其他的字段信息包括总用电量.月用电量.停电阈值和剩余电量.设备信息表存储系统监测设备的相关信息,本系统为每个用电设备预设了最大的消耗电量值.该表以设备编号为主键,同时对设备位置.设备名称及购买时间等信息也进行了存储.电能计量标签采集的数据存储到设备用电信息表中,该表以设备编号和计量时间作为联合主键,实时反映设备用电信息.环境监测标签采集的数据存入家居安防信息表中,实时存储检测到的温湿度.烟雾浓度及煤气浓度信息.为保障系统安全,系统为其设计了用户信息表,该表存储具有访问权限的用户信息及用户级别.当系统出现异常情况需要报警时,相关的信息会存入报警信息表中.它具有处理标识,如果该报警信息已经被用户处理了,则不再重复报警.
为了使系统各层具有高内聚.低耦合特性,同时方便数据库操作,本设计集成Hibernate 框架于系统中进行对象实体关系映射.同时,Hibernate 对JDBC 进行了轻量级对象封闭,使得Java 程序员可以使用面向对象的思维来操作关系数据库.另外,系统还对数据库中每一张数据表建立了一个数据访问对象(Data Access Object,DAO),并由DAO 作为访问数据库的统一接口,因而隐藏了数据库具体实现细节.
3.2 逻辑处理层
逻辑处理层为系统提供数据访问操作接口,具体划分为如图4 所示的四个业务子模块,即业务接口模块.业务处理模块.数据接口模块和数据缓冲模块.业务接口模块接收从用户触发的访问请求事件,将事件传递.解析,根据访问请求的事件类型调用业务处理模块中对应的功能模块.业务处理模块定义本系统所要做工作,包括电能计量.电价查询.家庭安防及异常报警等.数据接口模块直接面向数据库,提供数据库查询访问及数据筛选等工作,之后将数据交给数据缓冲模块进行数据的分析和封装.这样一个流程之后,用户就能获得所访问的结果.
家庭智能用电系统的各个模块分工合作,完成各自任务,实现系统功能,图5 所示是其程序流程.
程序开始运行之后获取各个标签的状态量,这些状态量包括家庭各用电设备的电流电压功率.室内外环境中温湿度.室内外环境中烟雾及煤气浓度,然后判断这些状态量中是否存在有异常情况.如果有异常,则判断异常属于哪种情况,将相关信息写入数据库并提示报警;反之,则直接通过Internet连接供电局得到当前阶段电价.程序根据阶段电价信息计算用户当前所用电量电费,如果用户预存入的电费余额不多,也把相关信息写入数据并提醒用户及时充值.
3.3 用户表示层
为了适应当前移动平台发展趋势,本系统以B/S 作为框架结构,并以PHP 语言结合CSS.HTML 来开发用户表示层.
为了保证系统具有良好的响应机制,在实施的过程中采用Ajax 技术.使用Ajax 技术,系统在对用户请求进行响应过程中建立异步请求对象,避免了客户端和服务器间直接交互.用户请求的数据信息交由Ajax 引擎完成,使用户操作和服务器响应异步化,减少冗余数据的重载,缩短了用户的等待时间.
为本系统开发的一个官方微博能自动发布消息.进入互联网提供商的应用开发平台创建应用后申请App Key 和AppSecret 这两个与授权相关的信息,下载与开发语言相对应的SDK( 本系统使用Java 版本),里面有demo,把App Key 及App Secret 填入配置文件,根据想要实现的功能编写和修改demo.
借助甲骨文公司提供的JavaMail API,利用谷歌邮箱作为发送者,使用简单邮件传输协议(Simple Mail TransferProtocol, STMP),实现系统邮件自动推送.
4 系统功能
注册用户可以远程实现对电器设备自动化监控和电能计量管理,系统出现的异常报警信息则以邮件推送方式报告给用户.本系统实现的具体功能如下:
(1) 用户可以通过浏览器实时查看家庭内部耗电设备的有功功率的变化曲线及耗电设备占家庭用电的百分比.
(2) 用户可以通过浏览器更改家庭设备的参数,从而远程控制家庭设备的开关.
(3) 系统每月自动生成包含所有设备用电状况的电费账单,包括用电总度数.超出各档阶梯电价度数.各设备具体用电度数及占总耗电的百分比.本月用电趋势等信息.帮助用户详细了解用电状况,从而指导用户提出更优化的用电方案.
(4) 电费账单通过绑定的邮箱和微博推送,用户只需登录邮箱或关注系统绑定的官方微博就可以了解最新的家庭用电状况.
(5) 用户可以设定各用电设备的功率及耗能阈值,当设备用电功率或本月总耗能超出设定的阈值时,通过发送邮件和微博进行提醒,用户可以根据需要决定是否远程关闭用电设备.
(6) 系统实时监控家庭环境信息,自动调控室内的温湿度信息.
(7) 烟雾及煤气检测标签监控室内其浓度含量,出现异常事件时,及时报警.
5 结 语
基于RFID 技术的智能家庭用电信息平台可实时采集显示用户当前用电信息,提供用电信息查询功能,监控家庭环境温湿度信息,并具有防火灾报警及防煤气泄露功能,同时可实现对用电终端.家庭安防的智能监控.另外,本系统以RFID 标签作为采集器采集家庭环境信息,以无线射频信号作为通信介质,通过读卡器转化标签信号与网络相连,上位机系统将数据存储在数据库中,对其进行算法处理和数据分析,浏览器可以方便地对这些信息访问,并具有网络安全性高.可靠性强.实施难度低和性价比高等优点,功能容易扩展.