趙 亮, 張 吉 禮, 梁 若 冰
( 大連理工大學 建設工程學部, 遼寧 大連 116024 )
?
面向建筑能源系統的物聯網通用網關設計與實現
趙 亮, 張 吉 禮*, 梁 若 冰
( 大連理工大學 建設工程學部, 遼寧 大連 116024 )
基于STM32處理器設計了一款具有自配置功能的通用物聯網網關,實現了感知層傳感網與數據中心服務器之間的協議轉換、數據交互等功能.該網關首先通過RS485現場總線實現建筑能耗信息的采集,然后將其以XML文件的形式存儲在SD卡中,最后通過以太網的TCP協議將能耗信息上傳至服務器中.實際工程項目應用結果表明,該網關能夠穩定可靠地運行,滿足建筑能源系統物聯網對數據采集與傳輸的需求.
建筑能源系統物聯網;通用網關;數據采集;身份認證;自配置
能源一直都是人類賴以生存和發展的重要物質基礎.隨著社會的不斷進步以及人民生活水平的不斷提高,能源需求日益加大與能源供給相對不足的矛盾逐漸加劇,因此,節能成為全球共同關注的一個話題.2011年BP世界能源統計年鑒顯示,我國已成為世界上能源消耗最大的國家,能源消耗量占全球能源消耗總量的20.3%[1],所承受的節能減排壓力之大不言而喻.目前,建筑在使用過程中的運行能耗已經超過了國民經濟能耗的24%,建筑耗能與工業耗能、交通耗能并列,成為我國能源消耗的三大“耗能大戶”[2-6],建筑節能或成為解決能源供應不足和提高能源利用效率的重要途徑之一.本文設計一款通用物聯網網關,以期滿足建筑能源系統物聯網對數據采集與傳輸的需求.
建筑能源系統物聯網(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總線通信方式進行數據采集.
按照功能可將網關的硬件電路分解為電源管理模塊、核心處理器模塊、數據采集模塊、數據存儲模塊、網絡傳輸模塊以及調試、指示等輔助模塊,如圖 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.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.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 改進后數據發送流程圖
網關是建筑能源系統物聯網中的重要組成部分,承擔建筑末端感知層與數據中心服務器之間的橋接作用.本文針對建筑能源系統物聯網中能耗數據采集與傳輸的需求設計了一款基于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