敖德欣 吳雅潔
(中國電建集團貴州工程有限公司,貴州 貴陽 550000)
現(xiàn)如今,市場當(dāng)中多數(shù)智能監(jiān)控系統(tǒng)的核心為工作站和服務(wù)器,為了使其便捷性得到提升,需要對手機APP 進(jìn)行有效開發(fā),從而建立起基于手機APP 的移動端新能源電站智能監(jiān)控平臺。此平臺可以幫助用戶對電站運行參數(shù)和設(shè)備狀態(tài)信息積極性實時掌控,從而使其具有的實用性和移動性得到提高,有效降低手機APP 的開發(fā)和維護成本,全面提高移動端新能源電站智能監(jiān)控平臺運行水平。
基于手機APP 的移動端智能監(jiān)控平臺,其組成部分具體包括智能監(jiān)控數(shù)據(jù)采集、客戶端以及服務(wù)器等。其中,針對監(jiān)控數(shù)據(jù)采集,其具體由相關(guān)的智能一體化平臺完成。而智能一體化平臺主要對水利水電自動化、信息化研究、機組狀態(tài)診斷、水情水調(diào)以及工程經(jīng)驗等進(jìn)行整合,可以將多專業(yè)的綜合優(yōu)勢進(jìn)行充分發(fā)揮,從而對基于面向服務(wù)構(gòu)架的智能一體化平臺進(jìn)行有效開發(fā),使廣大用戶的不同需求得到有效滿足。智能監(jiān)控服務(wù)器在存儲數(shù)據(jù)時主要采用輕量級和跨平臺關(guān)系型數(shù)據(jù)庫,可以利用消息總線與智能一體化平臺有效開展數(shù)據(jù)交互活動。對于客戶端,其主要采用Android 操作系統(tǒng),并以Android Studio 作為開發(fā)平臺,可以通過函數(shù)接口和插件等有效得到實現(xiàn)。
在明確系統(tǒng)總體設(shè)計的基礎(chǔ)上,還需要對系統(tǒng)實現(xiàn)的各項技術(shù)進(jìn)行分析,具體如下。
為了能夠?qū)⒅悄芤惑w化平臺當(dāng)中的實時庫數(shù)據(jù),在手機APP 數(shù)據(jù)服務(wù)器當(dāng)中進(jìn)行同步,而且不對智能一體化平臺的運行產(chǎn)生影響,需要對消息總線平臺ZeroMQ 進(jìn)行應(yīng)用,從而有效實現(xiàn)數(shù)據(jù)通信。
ZMQ 作為網(wǎng)絡(luò)消息中間件,具有跨平臺、開源、高性能以及精簡靈活等特點,可以有效封裝操作系統(tǒng)的異步、多線程處理機制、消息緩沖區(qū)等,還能夠抽象各種套接字類型、數(shù)據(jù)打包成幀、網(wǎng)絡(luò)連接建立以及路由選擇等底層網(wǎng)絡(luò)通信行為。與此同時,ZMQ 可以對路由和網(wǎng)絡(luò)拓?fù)溥M(jìn)行自動感知,對多種通信環(huán)境進(jìn)行靈活支持。
和同類中間件RabbitMQ、ActiveMQ、MSMQ 等相比,ZMQ 在具體部署時需要對專門的服務(wù)器進(jìn)行采用。具體來說,需要讓應(yīng)用程序?qū)MQ 程序庫進(jìn)行引用,這樣一來可以在多個進(jìn)程之間有效發(fā)送消息,從而簡化部署。ZMQ 主要對C++開發(fā)進(jìn)行采用,而且協(xié)議格式的定義相對比較簡潔,因此性能對比其他消息中間件要相對較高,可以使系統(tǒng)的實時性要求得到滿足。
ZMQ 可以對4 類通信模式提供支持,分別為管道模式、信號模式、發(fā)布/訂閱模式以及請求應(yīng)答模式。其中,應(yīng)答模式需要由請求端發(fā)起相應(yīng)的請求,并對回應(yīng)段的請求進(jìn)行等待。此模式主要為同步雙向通信,可以在具有較高實時性要求的通信商進(jìn)行應(yīng)用,例如控制輸出、數(shù)據(jù)采集等。
WebService 體系結(jié)構(gòu)具體包括服務(wù)注冊中心、服務(wù)請求者以及服務(wù)提供者三種角色,這三者間的關(guān)系具體需要涉及綁定操作、查找以及發(fā)布。針對其各部分功能進(jìn)行介紹,首先,Service Provider,其主要是服務(wù)提供者,可以對自己的服務(wù)進(jìn)行發(fā)布,而且還可以響應(yīng)自身服務(wù)請求。其次,Service Registry,其主要為服務(wù)注冊中心,可以對已經(jīng)發(fā)布的Service Provider 進(jìn)行注冊,并有效進(jìn)行分類,從而對搜索服務(wù)進(jìn)行提供。最后,Service Requestor,其為服務(wù)請求者,可以通過Service Provider 對所需服務(wù)進(jìn)行查找,并對該服務(wù)進(jìn)行使用。
WebService 是在網(wǎng)絡(luò)上發(fā)布的軟件應(yīng)用程序,可以為網(wǎng)絡(luò)當(dāng)中的其他分布式計算提供具體的服務(wù)和數(shù)據(jù),同時還具有標(biāo)準(zhǔn)協(xié)議規(guī)范、松散耦合、封裝性以及可集成等特性。WebService 的接口以及通信技術(shù)均對XML 形式進(jìn)行采用,針對任何服務(wù)相應(yīng)接口的WebService,都可以很好的結(jié)合兩種異構(gòu)的應(yīng)用程序,是標(biāo)準(zhǔn)的應(yīng)用平臺,可以對任意語言進(jìn)行使用,并在任何平臺上有效實現(xiàn)網(wǎng)絡(luò)服務(wù)。在此平臺當(dāng)中,可以通過C#來有效開發(fā)WebService。此模塊具體對三層體系架構(gòu)進(jìn)行采用,分別為數(shù)據(jù)層、業(yè)務(wù)層以及表示層。通過對面向?qū)ο蟮某绦蛟O(shè)計思想進(jìn)行引入,不僅能夠保證結(jié)構(gòu)靈活,而且還可以快速進(jìn)行部署和調(diào)整。
在表示層當(dāng)中,可以對用戶服務(wù)進(jìn)行提供,采用可視化用戶界面對信息進(jìn)行表示。在新能源智能監(jiān)控平臺當(dāng)中,此模塊的功能在于可以為應(yīng)用提供后臺數(shù)據(jù),所以,表示層可以為相關(guān)開發(fā)者調(diào)試系統(tǒng)提供方便。業(yè)務(wù)層通過在相關(guān)數(shù)據(jù)當(dāng)中應(yīng)用業(yè)務(wù)規(guī)則,可以使用戶發(fā)出的業(yè)務(wù)請求得到有效完成,并對相應(yīng)的參數(shù)信息進(jìn)行接收,通過業(yè)務(wù)邏輯對子層進(jìn)行處理,之后則需要采取JSON 格式將處理結(jié)果返回給用戶。數(shù)據(jù)層通過對MySQL 數(shù)據(jù)庫進(jìn)行使用,可以有效存儲數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行集中管理,從而使企業(yè)業(yè)務(wù)數(shù)據(jù)的安全性和完整性得到保證。
WebService 平臺可以采用JSON 串的形式,使相關(guān)數(shù)據(jù)能夠向著手機APP 應(yīng)用程序當(dāng)中進(jìn)行返回,和復(fù)雜的xmL 格式相比,其格式要更為簡單,且容易進(jìn)行擴展,具有較快的傳輸速度和較高的解析效率,可以使系統(tǒng)在數(shù)據(jù)實時性方面的需求得到滿足。
APP 應(yīng)用程序主要以Android Studio 作為具體的開發(fā)平臺,并采用JAVA 語言編寫,在經(jīng)過編譯后可以生成具體的APK 文件,可以對其直接進(jìn)行安裝和使用。在該APP 應(yīng)用程序系統(tǒng)當(dāng)中,具體包括超級用戶、普通用戶兩種用戶類型,其中超級用戶可以管理所有用戶信息。
1.用戶登錄。在數(shù)據(jù)庫當(dāng)中可以保存用戶名和密碼信息,從而使信息的安全性得到保證。在用戶登錄過程當(dāng)中,當(dāng)用戶名和密碼不匹配時,在頁面上會直接給出具體的提示信息,并將輸入焦點自動定位到密碼行。如果用戶名和密碼匹配,后臺會返回到此用戶的權(quán)限信息,在經(jīng)過具體分析后,對該用戶擁有權(quán)限的頁面進(jìn)行加載。
2.場站。在用戶登錄成功之后,需要跳轉(zhuǎn)到相應(yīng)的首頁面,而場站列表信息則可以通過文件進(jìn)行配置,并在APP 內(nèi)部進(jìn)行保存,具體包括場站代碼、類型以及名稱等信息。對于相關(guān)信息,需要采用英文逗號將其分隔,而對于不同場站信息,則可以使用英文分號進(jìn)行分隔。通常來說,不會修改場站信息,可以采取文件讀取方式,從而使其運轉(zhuǎn)效率得到提高。具體來說,首先需要對場站進(jìn)行點擊,然后對場站內(nèi)的詳細(xì)信息進(jìn)行查看。在這之后,需要對刷新按鈕進(jìn)行點擊,從而使頁面內(nèi)所有數(shù)據(jù)得到刷新,之后對頁面左上角的返回按鈕進(jìn)行點擊,從而返回到相應(yīng)的場站列表頁面。而通過對場站當(dāng)中的單臺風(fēng)機或者光伏板進(jìn)行點擊,可以對其詳細(xì)運行信息進(jìn)行查看。
3.全場功率。通過對全場功率按鈕進(jìn)行點擊,可以進(jìn)入到具體的功率界面,對需要展示的場站和時間進(jìn)行選擇,并點擊確定,對相應(yīng)的曲線進(jìn)行繪制。而該頁面當(dāng)中的場站列表,可以通過數(shù)據(jù)庫查詢進(jìn)行獲得。當(dāng)用戶在對歷史數(shù)據(jù)進(jìn)行查看時,曲線當(dāng)中可以對當(dāng)天0-24 點的全部數(shù)據(jù)進(jìn)行顯示。而在用戶對當(dāng)天數(shù)據(jù)進(jìn)行查看時,此頁面數(shù)據(jù)可以定時進(jìn)行刷新,對最新數(shù)據(jù)進(jìn)行獲取。在有新數(shù)據(jù)加入之后,原有的曲線保持不動,可以在曲線后面對新的點進(jìn)行增加,相應(yīng)改變x 軸標(biāo)簽。
4.實時告警。告警信息頁面的應(yīng)用,可以對最新報警信息進(jìn)行定時獲取,每頁可以對10條數(shù)據(jù)進(jìn)行顯示。當(dāng)該頁數(shù)據(jù)達(dá)到10條后,會自動向下一頁進(jìn)行跳轉(zhuǎn),用戶可以通過對“首頁”“尾頁”“上一頁”“下一頁”進(jìn)行點擊,從而對其他信息進(jìn)行查看。
5.用戶管理。當(dāng)?shù)卿浻脩舫蔀槌売脩艉螅梢詫τ脩舻墓芾砉δ苓M(jìn)行擁有,從而對現(xiàn)有用戶的詳細(xì)信息、修改現(xiàn)有用戶信息、新增用戶以及刪除現(xiàn)有用戶等四項進(jìn)行查看。如果用戶權(quán)限和可查看數(shù)據(jù)范圍的兩列數(shù)據(jù)相對較長時,則可以采用省略號進(jìn)行表示,并點擊改行,從而對此用戶的詳細(xì)信息進(jìn)行查看。通過對頁面右上角的“+”號進(jìn)行點擊,可以對用戶進(jìn)行新增,切記用戶名不能重復(fù)已有用戶,且密碼可以為空。
針對具體的權(quán)限、數(shù)據(jù)范圍和等級進(jìn)行分析,其具體包括以下幾方面內(nèi)容。首先,等級可以具體分為超級用戶以及普通用戶,超級用戶可以具有用戶管理的權(quán)限,而普通用戶則沒有,也就是說普通用戶無法對用戶管理頁面進(jìn)行看到和操作。其次,系統(tǒng)的應(yīng)用功能具體包括場站、實時告警以及全場功率三個部分,用戶只可以對權(quán)限范圍以內(nèi)的頁面進(jìn)行看到和操作。再次,對于場站和全場功率這兩個頁面,用戶只能夠?qū)煽捶秶鷥?nèi)的場站信息進(jìn)行查看。最后,實時告警頁面,超級用戶可以對系統(tǒng)告警信息和用戶可看場地內(nèi)的告警信息進(jìn)行看到和操作,而普通用戶只能對后者進(jìn)行看到和操作。
綜上所述,在新能源電站智能監(jiān)控平臺當(dāng)中對手機APP 進(jìn)行開發(fā),可以有效提升移動端的智能監(jiān)控平臺功能,使用戶可以通過移動端進(jìn)行平臺上的信息進(jìn)行查看,并能夠進(jìn)行具體的操作。而在開發(fā)手機APP 時,需要首先對系統(tǒng)總體進(jìn)行設(shè)計,并從系統(tǒng)的實現(xiàn)展開分析,合理優(yōu)化各項開發(fā)和設(shè)計環(huán)節(jié),從而保證手機APP 的開發(fā)和應(yīng)用水平。本文具體介紹了手機APP 在新能源電站智能監(jiān)控平臺當(dāng)中的開發(fā),并對系統(tǒng)實現(xiàn)中采用的技術(shù)進(jìn)行分析,對手機APP 的各項功能進(jìn)行了展示。通過應(yīng)用手機APP,用戶可以對場站設(shè)備運行情況進(jìn)行隨時隨地的了解,實現(xiàn)了場站計算機監(jiān)控,對我國電站監(jiān)控事業(yè)的發(fā)展起到了重要促進(jìn)作用。