999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種家庭電力參數傳輸通道的設計

2017-06-23 08:23:29張一楊秦會斌
物聯網技術 2017年6期

張一楊+秦會斌

摘 要:為了將電力大數據帶入普通家庭、提供實時可靠的本地家庭電力參數,文中結合嵌入式系統與網絡服務器,不僅分析了數據傳輸過程中可能出現的問題,對每個問題提出了解決方案并進行了試驗,還設計了本地嵌入式系統與遠程網絡服務器之間的傳輸策略與傳輸指令格式,并提出了傳輸策略與傳輸指令的測試方法。

關鍵詞:電力大數據;傳輸策略;傳輸指令;電力參數

中圖分類號:TP311;TM76 文獻標識碼:A 文章編號:2095-1302(2017)06-00-03

0 引 言

隨著2013年我國《中國電力大數據發展白皮書》的發布[1],標志著我國正式將大數據納入國家戰略,并由此進入大數據時代。電力大數據旨在通過獲取用戶的日常電力數據,使用數據分析與數據挖掘算法分析用戶的用電習慣與用電規律,對電力系統的狀態進行有效評估與預測,為電力系統決策提供依據[2]。

電力大數據的基礎是通過智能電網及相關技術獲取的普通用戶的基本電力參數。為方便普通家庭獲取本地電力數據,為家庭能量管理系統的實現與應用打下基礎,此舉對于設計便捷、實用、智能的家庭電力參數傳輸通道具有現實意義[3]。

1 基本平臺的搭建

為了對傳輸通道進行測試與試驗,首先需要搭建基本平臺,其基本功能是獲取本地電力參數,并將電力參數傳輸到遠程公有云后臺系統(后簡稱遠程系統)中進行存儲。本地獲取電力參數的方式有很多,如通過智能插座獲取單個電器的使用情況,通過各類采集模塊對電力參數進行測量,通過智能電表及其對應的DL/T645-2007通訊規約協議讀取本地電力數據。現選用智能電表進行電力參數獲取,原因如下:

(1)市面上常見的智能插座常使用手機軟件進行控制,主要用于普通用戶對個別電器用電計劃的控制,對于嵌入式系統的支持相對較弱。使用藍牙開發則開發成本相對較高。

(2)雖然各類采集模塊采集到的數據比較精確,但其管理系統復雜、成本較高,對普通家庭的侵入性非常高,因此不適用于普通家庭。

(3)智能電表隨著智能電網的發展,在普通家庭中的普及度非常高,且數據讀取過程十分方便,普通嵌入式系統即可滿足需求,開發成本低。

通過智能電表獲取電力參數后,需要對無線傳輸方式進行選擇。考慮到普通家庭中路由器的普及程度高,因此選用WiFi作為數據傳輸方式,將本地電力參數發送到遠程系統中。遠程系統與本地嵌入式系統(后簡稱本地系統)建立長連接,讀取本地系統發送的數據并解析后存入數據庫中,作為電力大數據應用的原始數據。

現選用DDZY791型單相費控電能表,通過RS 485總線與以STM32F1為核心的嵌入式系統搭建有線連接,定時讀取數據,之后通過ATK-ESP8266 WiFi模塊與本地路由器連接,建立與部署在騰訊云的后臺系統的長連接,實現數據交互。為了更好的對本地系統的異常情況進行響應、提高后臺系統的性能,后臺系統使用基于Java NIO的Netty框架實現[4]。

2 傳輸策略的制定

2.1 傳輸過程中存在的問題

詳細考慮基本功能平臺在實際使用時遇到的問題是制定傳輸策略的基礎,但可能存在如下問題:

(1)WiFi傳輸的安全性相對較低,因此,在遠程系統的傳輸通道搭建完成之后與正式進行數據傳輸之前,遠程系統應對數據傳輸的對象進行身份驗證。

(2)雖然ATK-ESP8266 WiFi模塊與遠程系統的Java Socket接口中都已經對TCP進行了封裝,且兩者間建立了TCP長連接,但此舉并不能保證雙方接收的數據都是合法數據。有兩種情況需要考慮,即遠程系統作為互聯網開放的端口,會不斷被各類網絡爬蟲掃描,接收到各類HTTP數據;無論是本地系統還是遠程系統,都可能遭遇網絡擁堵的情況,收到不完整的數據或多條數據。

(3)在傳輸過程中可能存在一方非正常斷線,因此另一方需及時響應、釋放相應資源、提示用戶。此外,一方非正常斷線時,可能導致重要指令丟失的情況出現。

2.2 身份驗證策略制定

在傳輸過程中,僅需令遠程系統對本地系統進行身份鑒別,無需嵌入式系統對遠程系統進行身份驗證。因此可以使用單項認證協議來制定用戶身份驗證策略[5]。身份驗證策略主要過程如下:

(1)本地系統與遠程系統共享一個由隨機字符組成的密鑰。

(2)本地系統記錄某一個時間點,并使用密鑰對時間點信息、用戶信息進行單向散列算法,得到驗證碼。

(3)本地系統將記錄的時間點、用戶信息、驗證碼發送到遠程系統。

(4)遠程系統根據相同單向散列算法,使用密鑰對時間點、用戶信息加密,查看加密結果是否與收到的驗證碼信息相同。

(5)若兩個加密結果相同,則用戶驗證成功;若加密結果不同,則用戶驗證失敗,將結果返還本地系統。

2.3 非法數據應對策略制定

根據以上分析,非法數據的類型有完全非法數據(如網絡爬蟲數據)、不完整的合法數據(網絡阻塞時可能發生)與多條完整的合法數據(網絡阻塞時可能發生)。非法指令可以通過指令格式的制定輕易辨別,因此無需過多介紹。接收到不完整與多條完整數據則是Socket編程中常見的問題。此類問題的主要解決方案如下:

(1)創建接收數據緩存,在每次獲取數據后,先將數據與緩存中的剩余數據進行拼接,從前向后進行指令解析;

(2)獲得第一條正常指令的起始位置后,丟棄起始位置前的數據;

(3)當緩存中的剩余數據不能作為一條完整指令時則停止解析,并將剩余指令保存在緩存中,等待與后續接收到的數據進行拼接。

2.4 非正常斷線應對策略制定

非正常斷線帶來的主要問題在于若一方斷線后,另一方沒有及時響應,那么另一方將可能不斷地傳輸數據,浪費資源,甚至導致指令丟失。可采用心跳包進行定期驗證方法解決該問題,其具體過程如下:

(1)兩方相互定時向對方發送心跳包數據。

(2)如果其中一方在一段時間內沒有接收到來自對方的心跳包,那么表明兩者間的通信斷開或本地系統所在的網絡斷開,抑或是遠程系統的服務器宕機。

(3)若沒有接收到對方數據,則本地系統應定時嘗試與遠程系統連接。遠程系統則釋放本地系統的資源,等待對方再次建立連接。

本系統特有的情況是,本地系統自身要定時向遠程系統發送本地電力參數,故該指令可作為心跳包使用。但遠程系統沒有類似功能,因此應設計心跳包,定期向本地系統發送數據。

在非正常斷線中,還存在一些極限情況,即本地管理系統由于網絡波動重啟,但重啟之后又再次成功連接到遠程服務器;在本地管理系統重啟期間,遠程系統向本地系統發送了指令,但本地系統并未接收,導致指令丟失。對于指令丟失問題,可借鑒TCP連接中的響應機制與超時重傳機制,即接收方在成功接收后應返回一條響應指令給發送方,表明已收到指令;若數據發送方在一定時間內沒收到指令,則應重傳。

3 傳輸指令的設計

3.1 指令類型

根據上文提出的問題,指令類型可以分為以下幾類:

(1)普通數據傳輸指令(DATA):該指令用于傳輸數據,若丟失對系統運行沒有影響,則接收方無需返回響應。

(2)請求指令(REQ):該指令用于請求獲取對方某參數。

(3)控制指令(CTRL):用于發送方請求接收方的某項數據,或改變接收方的運行狀態。這類指令對系統的運行有很大影響,接收方成功接收后,需要返回響應指令。

(4)響應指令(RESP):用于響應控制、請求指令。

3.2 指令格式

為了減少開發人員的學習成本,簡化指令,本次設計使用基于字符的指令。指令的起始與結束都有一個換行符。指令的基本格式包括2個部分,每部分通過空格分割。指令基本格式如圖1所示。

指令類型包括圖1指令基本格式DATA,REQ,CTRL與RESP。參數類型用于說明需要傳輸、控制、響應的參數類型。

若本地系統向遠程系統傳輸的當前電壓為220.2,則指令(省略首尾換行符)為DATA VOLTAGE 220.2。若遠程系統向本地系統請求獲取當前電能表示數,則指令為(省略首尾換行符)REQ ENERGY。本地電能表示數為1523.63 kW·h,則響應指令為(省略首尾換行符)RESP ENERGY 1523.63。

4 測試方法

4.1 身份驗證測試

假設本地系統與遠程系統共享的密鑰為key,則使用本地系統電表的電表號作為用戶id(假設本次測試使用的電表號為123456789),記錄系統當前時間(假設記錄為201612211530),將以上三個字符串拼接成一個字符串,使用空格分割。將拼接完成的字符串使用32位MD5算法編碼,結果為1DF8DEB20161C8045F3667A8B95F44FA。編碼完成后,本地系統向遠程系統發送身份驗證CTRL請求,參數類型為IDENTITY,參數內容為123456789+201612211530+1DF8DEB20161C8045F3667A8B95F44FA。

遠程系統獲取該指令后,通過“+”對數據內容進行分割,獲取用戶id與時間戳,并根據本地存儲的密鑰,重新構建信息字符串,并進行MD5編碼,查看結果是否與獲取的編碼結果相同,若相同則返回指令RESP IDENTITY SUCCESS。本地收到確認數據后開始傳輸本地電力參數。

4.2 非法數據測試

(1)分別對遠程系統與本地系統進行編程,創建數據接收緩存。每次接收到數據后就與原有數據進行拼接,將拼接完成的數據通過換行符進行分割。依次對每行數據通過空格進行分割,查詢分割結果是否與上述指令格式相符,若不符合則拋棄。若最后一行數據不以換行符結束,則將數據保存在接收緩存中,等待下一次數據接收。

(2)對遠程系統的測試可以通過Java Socket模擬本地系統來傳輸數據與異常指令。遠程系統在日志中打印所有正常指令,接收完所有數據后查看日志,比對是否與期望的指令相同。

(3)對本地系統的測試,可以令遠程系統發送各類異常指令,并通過串口將解析完成的數據傳送至電腦或液晶屏上顯示,查看解析完成的數據是否與期望相符。

4.3 非正常斷測試

對于模擬遠程系統的宕機,可以通過強行關閉服務器或關閉遠程系統后臺程序進程來實現。進行相關操作后,查看本地系統是否進行重啟即可測試本地系統的工作情況。

可通過斷開本地嵌入式系統電源來模擬本地系統連接斷開。關閉電源后,可通過查看遠程系統當前保持的長連接數量來判斷是否釋放了相應資源。

5 結 語

目前,電力大數據還處于起步階段,各類相關技術與應用還不成熟。本文為給電力大數據提供第一手數據,將電力大數據帶入普通家庭而提出了一種考慮家庭實際的電力參數傳輸通道,經測試,能實時獲取數據,并能應對常見異常情況。

參考文獻

[1]中國電機工程學會信息化專委會.中國電力大數據發展白皮書 (2013)[R].北京:中國電機工程學會,2013.

[2]張沛,楊華飛,許元斌.電力大數據及其在電網公司的應用(英文)[J].中國電機工程學報, 2014, 34(S1):85-92.

[3]袁靖,來曉帥,趙嘉文.遠程電力數據信息采集系統的研究應用[J].工業, 2016(11):136.

[4]阿喜達.基于JVM的Netty網絡通信性能測評[J].信息通信, 2015(11):202-203.

[5]蘇星曄,徐方南.統一身份認證技術研究[J].中國新通信, 2015(2):58.

[6]肖雄波,夏立,王黎明.一種船舶電力參數測量儀的設計[J].儀表技術,2015(3):1-3.

[7]蘇巧平.基于無線數傳技術的電力參數測量儀表的設計[D].合肥:合肥工業大學,2011.

[8]樊妮娜.低壓配電電力參數檢測裝置設計[D].太原:太原理工大學,2012.

主站蜘蛛池模板: 中文字幕 91| 亚洲精品国产日韩无码AV永久免费网 | 精品综合久久久久久97| 成人国产免费| 亚洲视频三级| 欧美成人aⅴ| 日本免费高清一区| 五月天福利视频| 成人va亚洲va欧美天堂| 香蕉蕉亚亚洲aav综合| 91在线精品免费免费播放| 青青草原国产av福利网站| 白浆视频在线观看| www成人国产在线观看网站| 九色在线视频导航91| 国产一级片网址| 亚洲人视频在线观看| 在线日本国产成人免费的| 国产精品不卡永久免费| 亚洲无码久久久久| 98超碰在线观看| 国产一级做美女做受视频| 久久久久人妻一区精品| 全部无卡免费的毛片在线看| 亚洲福利片无码最新在线播放| 米奇精品一区二区三区| 日本少妇又色又爽又高潮| 色欲国产一区二区日韩欧美| 97视频在线观看免费视频| 精品国产免费人成在线观看| 午夜在线不卡| 麻豆精品视频在线原创| 亚洲精品人成网线在线 | 亚洲丝袜第一页| 亚洲欧美日韩中文字幕一区二区三区| 国产第一色| 国产日韩欧美一区二区三区在线 | 国产69精品久久久久孕妇大杂乱| 九色综合视频网| 欧美一区二区三区国产精品| 国产精品lululu在线观看| 在线另类稀缺国产呦| 国产在线观看一区精品| 天天躁日日躁狠狠躁中文字幕| 国产清纯在线一区二区WWW| 欧美日韩亚洲国产| 少妇精品网站| 国产导航在线| 久久综合色视频| 91成人精品视频| 色老头综合网| 欧美在线视频不卡| 国内老司机精品视频在线播出| 亚洲综合经典在线一区二区| 久久香蕉国产线看观看精品蕉| 青草国产在线视频| 国产人人乐人人爱| 精品乱码久久久久久久| 国产亚洲高清在线精品99| 国产一区二区精品福利| 久久久精品久久久久三级| 91久久青青草原精品国产| 国产日韩欧美在线视频免费观看| 91亚洲精选| 2022国产91精品久久久久久| 亚洲欧洲综合| 色综合天天综合中文网| 亚洲精品成人7777在线观看| 毛片在线播放a| 久久国产毛片| 亚洲综合第一区| 97av视频在线观看| 亚洲永久色| 久久天天躁夜夜躁狠狠| 丝袜国产一区| 国模在线视频一区二区三区| 啪啪啪亚洲无码| 日本精品视频一区二区| 成人看片欧美一区二区| 亚洲高清中文字幕在线看不卡| 久久99这里精品8国产| 日韩AV无码免费一二三区|