面向建筑能源系统的物联网通用网关设计与实现
2014-09-07赵亮,张吉礼,梁若冰
赵 亮, 张 吉 礼, 梁 若 冰
( 大连理工大学 建设工程学部, 辽宁 大连 116024 )
面向建筑能源系统的物联网通用网关设计与实现
赵 亮, 张 吉 礼*, 梁 若 冰
( 大连理工大学 建设工程学部, 辽宁 大连 116024 )
基于STM32处理器设计了一款具有自配置功能的通用物联网网关,实现了感知层传感网与数据中心服务器之间的协议转换、数据交互等功能.该网关首先通过RS485现场总线实现建筑能耗信息的采集,然后将其以XML文件的形式存储在SD卡中,最后通过以太网的TCP协议将能耗信息上传至服务器中.实际工程项目应用结果表明,该网关能够稳定可靠地运行,满足建筑能源系统物联网对数据采集与传输的需求.
建筑能源系统物联网;通用网关;数据采集;身份认证;自配置
0 引 言
能源一直都是人类赖以生存和发展的重要物质基础.随着社会的不断进步以及人民生活水平的不断提高,能源需求日益加大与能源供给相对不足的矛盾逐渐加剧,因此,节能成为全球共同关注的一个话题.2011年BP世界能源统计年鉴显示,我国已成为世界上能源消耗最大的国家,能源消耗量占全球能源消耗总量的20.3%[1],所承受的节能减排压力之大不言而喻.目前,建筑在使用过程中的运行能耗已经超过了国民经济能耗的24%,建筑耗能与工业耗能、交通耗能并列,成为我国能源消耗的三大“耗能大户”[2-6],建筑节能或成为解决能源供应不足和提高能源利用效率的重要途径之一.本文设计一款通用物联网网关,以期满足建筑能源系统物联网对数据采集与传输的需求.
1 建筑能源系统物联网
建筑能源系统物联网(internet of building energy system,iBES)是指基于对建筑能源系统中各类物理量的在线感知,通过异构网络融合、信息汇聚、决策诊断和反馈控制,实现对建筑能源系统监测、控制与管理的物联网[7].建筑能源系统物联网的主要研究对象是系统网络架构、感知层数据采集与反馈控制、中间层数据采集器网关以及数据中心决策层的数据挖掘与优化控制策略.网关作为感知层与数据中心的桥梁,作用至关重要.
目前应用于不同领域的数据采集与传输网关已有很多种,文献[8]设计了基于CC2431无线模块的冻土区地温监测网关;文献[9]开发了基于GPRS(general packet radio service)的农林业环境信息采集系统;文献[10]提出一种基于ZigBee与GPRS 通信技术的网关,用于建筑能耗信息采集,并在实验室环境下进行了测试.但这些基于无线传输方案的网关在空旷地或者是空间有限的室内环境比较适合,而在实际应用中,由于建筑内部结构复杂,水泥墙壁障碍物较多,无线传输的距离非常有限,容易出现丢包、通信不稳定等系列问题.国外有研究学者对ZigBee在建筑内的传输性能进行测试,结果表明,当发送端与接收端之间有墙体阻隔的时候,有效通信距离仅为8~10 m[11].随着计算机和网络技术的飞速发展,通过以太网进行数据传输的方案日趋成熟,以太网数据传输得到了越来越多的应用.本文以STM32处理器为核心,构建一款基于以太网有线网络传输的建筑能源系统物联网通用网关,感知层采用RS485总线通信方式进行数据采集.
2 网关硬件电路设计
按照功能可将网关的硬件电路分解为电源管理模块、核心处理器模块、数据采集模块、数据存储模块、网络传输模块以及调试、指示等辅助模块,如图 1所示.核心处理器采用基于Cortex-M3内核的STM32F103VET6,该芯片配备了64 kB SRAM存储器,512 kB FLASH程序存储器,支持I2C、SPI、SDIO、串口等多种串行总线接口.数据采集模块采用高性能的ADM2483芯片作为RS485总线驱动器,该芯片自带iCoupler磁隔离技术,只需要很少的分立元件就可以实现RS485通信功能,经实测每个ADM2483芯片可以稳定驱动64路负载,系统中采用2路ADM2483芯片,分别与STM32的串口1和2相连接,可同时支持128个末端仪表.为保证能耗数据不丢失,设计了数据存储模块,采用SD卡作为存储器,支持扩展,SD卡模块通过SDIO高速串行总线与STM32进行通信.E2PROM存储器主要用来存储网关的配置信息.以太网驱动电路采用集成硬件协议栈的一体化芯片W5100,通过SPI接口与STM32连接,支持同时向2个数据服务器发送数据.电源管理模块负责整个系统的电源供给,系统的稳定运行与电源模块的抗干扰性能密切相关,采取了加入过流检测保险丝以及防接反二极管等措施,同时为了提高RS485数据采集模块的稳定性,采用B0505S电源隔离芯片为ADM2383的逻辑端和总线端供电.加入了3路LED灯用来指示网关的工作状态,即配置状态、采集状态、网络传输状态.
图1 网关硬件结构
3 软件及通信协议
3.1 通信协议
网关是感知层与数据中心之间的桥梁,通信协议是网关与末端及网关与服务器之间沟通的语言,按照对象将通信协议分为网关与末端仪表通信协议及网关与数据中心通信协议.
3.1.1 网关与末端仪表通信协议 感知层数据采集主要对象包括耗电量、耗水量、耗热量等累积量信息,以及设备的电压、电流、供回水温度、流量等实时参数.一般通过计量仪表的方式进行采集,即通过数据采集器挂载计量仪表进行测量.目前市场上的大部分计量仪表都支持RS485总线,但不同种类的仪表通信协议不尽相同,常见的通信协议有以下几种:
(1)Modbus协议
Modbus协议以RTU通信方式为主,数据帧格式如表1所示[12].网关向下发送的字节总数为8个,具体包括1个字节的地址码,1个字节的功能码0x03(表示读取),然后分别是2个字节的寄存器起始地址以及欲读取的总数据长度,最后是2个字节的CRC校验码;仪表收到网关的命令后,将对应的数据返回.
表1 Modbus协议数据格式
(2)DL/T 645-1997规约
DL/T 645-1997的通信帧格式如表 2所示,仪表通过识别起始符与结束符判断一帧数据的起止.地址域由6个2位的BCD码构成,可以表示仪表的地址编码、资产号、用户号或者设备号等,低位在先,高位在后.DL/T 645-1997规约的校验码CS计算方法如下:
(1)
其中N表示校验码之前的所有位数.
表2 DL/T 645-1997通信帧格式
(3)CJ/T 188-2004规约
CJ/T 188-2004的通信帧格式与DL/T 645-1997 类似,如表3所示.地址域由7个2位BCD码构成,其中A5、A6固定为厂商代码,低位在先,高位在后.CJ/T 188-2004规约的校验码CS计算方法如式(1)所示.
表3 CJ/T 188-2004通信帧格式
服务器下发的配置包中包含了目标建筑中使用的所有仪表地址及其对应的通信协议,网关解析配置包之后,按照仪表对应的通信协议对其进行数据采集,并根据读取的总数据长度设置接收程序的缓冲区大小.
3.1.2 网关与数据中心通信协议 和网关与末端仪表通信协议不同,网关与数据中心通信协议需要自定义.从通信安全的角度出发,本文定义网关与数据中心通信协议帧格式如图 2所示,数据包类型共分为身份验证包、配置包、心跳包、授时包、能耗数据包、数据应答包、故障包、故障应答包.ID信息共27位,由10位建筑ID、2位网关ID、14位时间信息(年、月、日、小时、分钟、秒)以及1位数据包格式的缩写码(V、T、D、E)组成.传输包以XML(extensible markup language)格式进行打包封装,便于解析及数据提取.
图2 网关与数据中心通信帧格式
传输包分类及传输特性如表 4所示,其中与末端仪表数量有关的文件大小均不定,如配置包、能耗数据包和故障包,身份认证包与配置包在每次通信过程中只需要配置1次,故障包以及故障应答包传输周期是随机的.
3.2 身份认证
网关与服务器之间的身份认证采用MD5算法实现,密钥长度为128 B.MD5算法属于HASH算法的一种,是一种不可逆的加密算法.算法的实现包括补位、初始化、分组运算3个步骤.补位后的信息长度是512的整数倍,形式如下:
L=N×512+448
(2)
预留64 B记录原始数据的长度,即处理后的信息长度为L+64 B.鉴于篇幅关系,初始化与分组运算不再赘述.
表4 数据包分类
网关与服务器建立TCP(transmission control protocol)连接之后,发送身份认证请求,当收到服务器下发的一组随机序列之后,将随机序列与网关中存储的密钥组合成一个新的字符串,并进行MD5运算,得到的结果发送给服务器进行验证,服务器将收到的结果与自身计算的结果相比较,如一致,则身份验证通过,开始接下来的配置流程;否则身份验证失败,不予配置.网关与数据中心之间的通信流程如图 3所示.
图3 网关与数据中心通信流程图
3.3 数据采集
身份验证通过之后,服务器根据网关中建筑ID信息对其进行配置.配置信息中包含末端计量仪表的物理地址、厂家信息、上传周期.网关解析配置包之后,按照仪表地址进行循环读取.为了保证系统RS485网络的正常工作,通信过程需进行超时检测,取正常通信时间的3~5倍作为超时时间T,当监测超时后,如果从端一直没有反应,则退出本次采集,延时一段时间后,重新对该模块进行采集,同时,超时计数器加1,当计数器累加到3,判定该支路模块为物理故障,放弃对其进行采集,记录该支路信息,跳过该模块,采集地址加1,继续其余模块的采集工作.
3.4 数据存储
采用体积小巧的SD卡作为能耗信息数据的存储介质,容量最大支持到4 GB.能耗数据以电表采集的参数最多,包括三相电压、三相电流、功率、总电量等共13项内容,334 B.设末端共有100块计量电表,取1 min为最小采集周期,则每一天的数据总量为
24×60×334×100/(1 024×1 024) MB≈ 45.9 MB
(3)
每个月存储所需最大空间为
31×45.9 MB≈1 423 MB
(4)
本系统采用2 GB的SD卡作为存储介质,可以满足1个月的存储需求.在SD卡中建立1~31共31个文件夹,每个文件夹内保存当天所采集的能耗信息数据,待下月的同一时刻数据采集时,自动覆盖SD卡中相应日期文件夹内的历史数据.
3.5 数据传输
能耗数据传输流程如图 4所示,首先根据日期信息进入相应的目录读取XML能耗数据,然后按照图 2所示的通信协议,分别发送文件类型、ID信息、文件大小,最后是能耗数据包.当网络堵塞或者服务器掉电等原因导致数据上传失败时,首先记录传输失败时对应的时间节点,待网络传输功能恢复之后,从SD卡中按照时间节点读取能耗数据包,重新发送至数据中心.
4 关键技术问题
4.1 自配置功能
理想情况下,网关与数据中心之间的网络一直保持连接状态,但如果因网络故障造成网关短时无法与服务器通信,网关将进行自检并重启.重启后若网络通信功能未恢复,则收不到配置信息,不能进行数据采集,造成部分能耗数据丢失.为解决该问题,本文提出了一种自配置功能算法,算法流程如图 5所示.
图4 数据传输流程图
图5 自配置流程图
开机后,首次与服务器建立连接后,先将配置信息存储在SD卡中,并对其进行CRC校验,将校验码存储在E2PROM中.如遇到网络中断,网关可以从SD卡中读取配置信息,并有序地进行采集、存储等过程;当再次与服务器建立连接后,将收到的配置信息进行CRC校验,如一致,则不予处理,否则将配置信息更新至SD卡中,从而实现了网关的自配置功能.
4.2 同步问题
为保证数据格式统一,要求网关在同一时刻上传数据包,通过服务器的授时功能保证各网关之间的时间同步.因能耗采集周期和上传周期均一致,并且各网关的时间信息通过服务器进行同步,导致所有的客户端均在同一个时刻向数据中心发起连接或者发送能耗信息数据,如图 6所示(上传周期为5 min),P1c~Pnc表示各网关在同一时刻向服务器发起连接,P1s~Pns表示各网关在同一时刻向服务器发送数据包,从而造成服务器偶尔因连接负载过多造成采集软件卡死等现象发生.
图6 原数据发送流程图
解决该问题的方法其实很简单,合理安排各网关在不同时间间隙发送数据即可.但如果通过对每一个网关下载不同的配置信息,进而达到分时的目的,将会造成网关配置程序版本不唯一,存在潜在隐患.经过进一步分析发现,每个网关所处的网络通信质量不一,导致其与服务器成功建立连接的时间不同,通过下面的方法巧妙地将该问题解决,如图7所示.在程序中加入下面两行代码:
Write_W5100(W5100_S0_CR, S_CR_SEND_KEEP);
//监测网络状态
ssr0_state = Read_W5100(W5100_S0_SSR);
//读取当前网络状态
E1~En表示不同网关与服务器之间建立TCP连接的时间点,成功建立TCP连接之后经过ΔT时刻,网关再对服务器发起请求配置包,从而避免了同一时刻所有网关集中通信造成的阻塞.发送数据包过程与发送请求配置包相同,每个网关只需要记录一个随机时间点即可,顺延ΔT时刻开始发送能耗信息数据,通过此方法,有效地解决了因同步造成的服务器网络负载过大的问题.
图7 改进后数据发送流程图
5 结 语
网关是建筑能源系统物联网中的重要组成部分,承担建筑末端感知层与数据中心服务器之间的桥接作用.本文针对建筑能源系统物联网中能耗数据采集与传输的需求设计了一款基于STM32的通用物联网网关,具有协议转换、数据采集、数据存储、网络传输等功能.数据预先写入SD卡存储器中,克服了网络故障造成的数据丢失问题.在建筑能耗监测系统中的应用试验证明了其性能稳定高效、通信可靠,具有可扩展性.后续准备在现有功能的基础上,研究末端设备的智能控制算法,并将其移植到网关中,增强网关的实用性.随着节能工作的深入开展,建筑能源系统物联网通用网关将具有广阔的应用前景.
[1]BP. BP Statistical Review of World Energy 2011 [R]. London:BP, 2011.
[2] NA Wei, WU Yong, SONG Yan,etal. Government management and implementation of national real-time energy monitoring system for China large-scale public building [J]. Energy Policy, 2009,37(6):2087-2091.
[3] CHEN Yong-pan, MU Xian-min, ZHANG Ji-li,etal. Development of monitoring system of building energy consumption [C] //2009International Forum on Computer Science-Technology and Applications, IFCSTA2009. Piscataway:IEEE Computer Society, 2009:363-366.
[4]唐桂忠,张广明. 公共建筑能耗监测与管理系统关键技术研究[J]. 建筑科学, 2009,25(10):27-29.
TANG Gui-zhong, ZHANG Guang-ming. Study on key technologies for energy consumption monitoring and management system for public buildings [J]. Building Science, 2009,25(10):27-29. (in Chinese)
[5]ZHAO Liang, ZHANG Ji-li, LIANG Ruo-bing,etal. Building energy consumption monitoring system in the application of conservation-oriented campus [J]. Applied Mechanics and Materials, 2012,209-211:1783-1787.
[6]陈永攀,张吉礼,牟宪民,等. 建筑运行能耗监测与节能诊断系统的开发[J]. 建筑科学, 2009,25(2):29-33.
CHEN Yong-pan, ZHANG Ji-li, MU Xian-min,etal. Development of building operational energy consumption monitoring and energy efficiency diagnosis system [J]. Building Science, 2009,25(2):29-33. (in Chinese)
[7]陈永攀. 建筑能源系统物联网架构与实现技术研究[D]. 哈尔滨:哈尔滨工业大学, 2011.
CHEN Yong-pan. Research on the framework and technical implementation for the internet of building energy systems [D]. Harbin:Harbin Institute of Technology, 2011. (in Chinese)
[8]尤著宏,孔令成,李 帅,等. 一种WSN网关节点设计与实现[J]. 自动化与仪表, 2008,23(2):16-23.
YOU Zhu-hong, KONG Ling-cheng, LI Shuai,etal. Design and implementation of WSN sink node [J]. Transactions of the Automation and Instrumentation, 2008,23(2):16-23. (in Chinese)
[9]李秀红,黄天戍,孙忠富,等. 基于GPRS/SMS的嵌入式环境监测系统[J]. 吉林大学学报:工学版, 2007,37(6):1409-1414.
LI Xiu-hong, HUANG Tian-shu, SUN Zhong-fu,etal. Embedded environment monitoring system based on GPRS and SMS [J]. Journal of Jilin University:Engineering and Technology Edition, 2007,37(6):1409-1414. (in Chinese)
[10]郭湘勇,刘宏立,周 平,等. 基于ZigBee 技术的建筑能耗监测系统设计[J]. 计算机测量与控制, 2011,19(3):551-553.
GUO Xiang-yong, LIU Hong-li, ZHOU Ping,etal. Design of building energy consumption monitoring system based on ZigBee technology [J]. Computer Measurement & Control, 2011,19(3):551-553. (in Chinese)
[11]Janga W S, Healy W M. Wireless sensor network performance metrics for building applications [J]. Energy and Buildings, 2010,42(6):862-868.
[12]李 娟,张 波,丘东元. 电能质量监测系统中基于Modbus RTU的多机通信[J]. 电力自动化设备, 2007,27(1):93-95.
LI Juan, ZHANG Bo, QIU Dong-yuan. Multi-computer communication based on Modbus RTU in power quality monitoring system [J]. Electric Power Automation Equipment, 2007,27(1):93-95. (in Chinese)
文章编号: 1000-8608(2014)01-0091-09
Designandimplementationofgeneralgatewayforinternetofbuildingenergysystem
ZHAO Liang, ZHANG Ji-li*, LIANG Ruo-bing
( Faculty of Infrastructure Engineering, Dalian University of Technology, Dalian 116024, China )
Based on the STM32 processor, a general gateway with the self-configuration function is designed, which can realize data communication and conversion of different protocol interfaces between the sensor network layer and the server in data center. Firstly, the gateway collects energy consumption data in target building through RS485 field bus. And then, stores the data into SD card in the form of XML format. Finally, it transmits the data to server by TCP protocol. The results of practical project reveal that the gateway is reliable and steady, and meets the requirements of the data acquirement and data transmission of internet of building energy system.
internet of building energy system; general gateway; data acquisition; identity verification; self-configuration
1000-8608(2014)01-0085-06
2013-03-05;
: 2013-11-02.
“十二五”国家科技支撑计划资助项目(2011BAJ03B12-3,2013BAJ10B02-03);中国博士后科学基金资助项目(2013M540227).
赵 亮(1983-),男,博士生;张吉礼*(1969-),男,博士,教授,博士生导师,E-mail:zjldlut@dlut.edu.cn.
TP274
:A
10.7511/dllgxb201401014