亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于JEECG的燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)研究與設(shè)計(jì)

        2021-01-19 02:24:24王紅剛王征風(fēng)王英強(qiáng)付耀鋒
        關(guān)鍵詞:插件字節(jié)燃?xì)?/a>

        王紅剛,王征風(fēng),王英強(qiáng),付耀鋒

        (1.西安思源學(xué)院,陜西 西安 710038;2.西北有色金屬研究院,陜西 西安 710016)

        0 引 言

        2016年2月,國(guó)家發(fā)展改革委、國(guó)家能源局、工業(yè)和信息化部聯(lián)合制定的《關(guān)于推進(jìn)“互聯(lián)網(wǎng)+”智慧能源發(fā)展的指導(dǎo)意見(jiàn)》中提出,互聯(lián)網(wǎng)+“能源”將使用先進(jìn)的傳感器、控制和軟件應(yīng)用程序,將能源生產(chǎn)端、能源傳輸端、能源消費(fèi)端的數(shù)以億計(jì)的設(shè)備、機(jī)器、系統(tǒng)連接起來(lái),形成能源互聯(lián)網(wǎng)[1]。能源互聯(lián)網(wǎng)通過(guò)整合各行業(yè)數(shù)據(jù),進(jìn)行大數(shù)據(jù)分析,打通并優(yōu)化能源生產(chǎn)和能源消費(fèi)端的運(yùn)作效率,使需求和供應(yīng)將可以進(jìn)行隨時(shí)的動(dòng)態(tài)調(diào)整。

        海南省瓊海市由于改革步伐的加快,農(nóng)業(yè)加工產(chǎn)業(yè)發(fā)展較快,特別是當(dāng)?shù)靥厣еa(chǎn)業(yè)檳榔加工業(yè)發(fā)展更快。燃?xì)馐菣壚萍庸I(yè)的主要能源,但是檳榔加工廠安全基礎(chǔ)設(shè)施數(shù)字化、智能化建設(shè)比較緩慢,不能滿足檳榔加工業(yè)飛快發(fā)展的需求,嚴(yán)重影響著檳榔加工廠的安全保障[2]。

        JEECG是一款基于代碼生成器的智能開(kāi)發(fā)平臺(tái)[3],采用Java語(yǔ)言,支持敏捷開(kāi)發(fā),使開(kāi)發(fā)者專注于具體業(yè)務(wù)的開(kāi)發(fā),短時(shí)間內(nèi)構(gòu)建企業(yè)應(yīng)用,同時(shí)保證了系統(tǒng)的復(fù)用性和二次開(kāi)發(fā)特性,其越來(lái)越受到開(kāi)發(fā)者的歡迎。

        為此,文章提出了基于JEECG的燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)框架,以MYSQL為數(shù)據(jù)存儲(chǔ)模式,采用面向服務(wù)分層架構(gòu)和組件化思想,提升了燃?xì)鈮毫ΡO(jiān)測(cè)平臺(tái)的通用性和可維護(hù)性。

        1 燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)框架

        燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)框架如圖1所示,分為基礎(chǔ)設(shè)施層、數(shù)據(jù)層、接口層、應(yīng)用支撐層、應(yīng)用服務(wù)層、門(mén)戶層等,同時(shí)通過(guò)一個(gè)統(tǒng)一的安全保障體系和標(biāo)準(zhǔn)規(guī)范體系來(lái)保障數(shù)據(jù)通信的安全。

        圖1 燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)總體框架

        各層的主要功能如下:

        基礎(chǔ)設(shè)施層主要為燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)提供硬件和軟件運(yùn)行環(huán)境。

        數(shù)據(jù)層采用MySQL數(shù)據(jù)庫(kù),存儲(chǔ)用戶信息、設(shè)備基本信息、設(shè)備地理位置、設(shè)備狀態(tài)信息、設(shè)備異常信息、壓力數(shù)據(jù)信息、設(shè)備預(yù)警信息等,作為本系統(tǒng)的基礎(chǔ)數(shù)據(jù)。

        接口層包含業(yè)務(wù)接口、數(shù)據(jù)接口,其中業(yè)務(wù)接口進(jìn)行業(yè)務(wù)數(shù)據(jù)的邏輯算法設(shè)計(jì),完成了壓力數(shù)據(jù)協(xié)議解析等復(fù)雜數(shù)據(jù)操作接口,為應(yīng)用支撐層提供業(yè)務(wù)應(yīng)用支持。數(shù)據(jù)接口實(shí)現(xiàn)DAO(data access object)的設(shè)計(jì)和開(kāi)發(fā),將所有對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作抽象封裝在一系列的API中[4-5],供業(yè)務(wù)應(yīng)用使用。

        應(yīng)用支撐層是整體應(yīng)用系統(tǒng)建設(shè)的基礎(chǔ)保障。根據(jù)本平臺(tái)的需求,進(jìn)行了面向服務(wù)體系架構(gòu)設(shè)計(jì),實(shí)現(xiàn)了相關(guān)應(yīng)用組件[6-7],包括GIS服務(wù)、消息服務(wù)、安全服務(wù)、編碼解碼、報(bào)表工具、查詢引擎、下發(fā)指令等應(yīng)用組件。

        應(yīng)用服務(wù)層主要包含燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)的8個(gè)子系統(tǒng),包括設(shè)備管理子系統(tǒng)、區(qū)域信息管理子系統(tǒng)、參數(shù)信息管理子系統(tǒng)、指令管理子系統(tǒng)、實(shí)時(shí)壓力監(jiān)測(cè)子系統(tǒng)、報(bào)表管理子系統(tǒng)、歷史數(shù)據(jù)分析子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)等。

        門(mén)戶層主要包含的是一組具有相同標(biāo)準(zhǔn)和相同規(guī)范體系的網(wǎng)站群[8]。它涵蓋了主站、各級(jí)子網(wǎng)站以及移動(dòng)終端網(wǎng)站等。同時(shí)門(mén)戶層為應(yīng)用服務(wù)層的不同應(yīng)用提供信息資源的不同表現(xiàn)形式。

        2 燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)設(shè)計(jì)

        2.1 系統(tǒng)需求分析

        系統(tǒng)在對(duì)海南省瓊海市檳榔加工業(yè)燃?xì)馐褂们闆r調(diào)查的基礎(chǔ)上,結(jié)合智慧能源行業(yè)的特點(diǎn),做了詳細(xì)的需求分析。燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)設(shè)計(jì)的主要使用者包括系統(tǒng)管理員、壓力監(jiān)測(cè)人員、設(shè)備維護(hù)人員。其中,系統(tǒng)管理員可以在系統(tǒng)中進(jìn)行菜單信息管理、用戶信息管理、角色信息管理、數(shù)據(jù)再點(diǎn)維護(hù)、參數(shù)信息維護(hù)等。壓力監(jiān)測(cè)人員完成系統(tǒng)核心功能的管理,主要包含實(shí)時(shí)壓力監(jiān)測(cè)、歷史壓力數(shù)據(jù)分析、設(shè)備指令下發(fā)、數(shù)據(jù)采集、實(shí)時(shí)壓力報(bào)警、壓力數(shù)據(jù)報(bào)表等。設(shè)備維護(hù)人員實(shí)現(xiàn)對(duì)設(shè)備基本信息管理、設(shè)備狀態(tài)信息管理、區(qū)域信息管理、區(qū)域負(fù)責(zé)人管理等。

        系統(tǒng)主要用例圖如圖2所示。

        圖2 燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)主要用例圖

        2.2 系統(tǒng)主要功能

        燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)包括設(shè)備管理子系統(tǒng)、區(qū)域信息管理子系統(tǒng)、參數(shù)信息管理子系統(tǒng)、指令管理子系統(tǒng)、實(shí)時(shí)壓力監(jiān)測(cè)子系統(tǒng)、報(bào)表管理子系統(tǒng)、歷史數(shù)據(jù)分析子系統(tǒng)、數(shù)據(jù)采集子系統(tǒng)等,功能模塊如圖3所示。

        (1)設(shè)備管理子系統(tǒng):該功能借助百度地圖實(shí)現(xiàn)燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)中設(shè)備的添加、修改、刪除等。利用百度地圖獲取設(shè)備安裝的經(jīng)度、緯度和具體的位置名稱,并且在地圖實(shí)現(xiàn)按照區(qū)、街道辦等準(zhǔn)確定位。

        (2)區(qū)域信息管理子系統(tǒng):該功能借助百度地圖實(shí)現(xiàn)區(qū)域地理位置劃分,并在地圖上進(jìn)行地理范圍標(biāo)注,給每個(gè)區(qū)域范圍指定相應(yīng)的設(shè)備維護(hù)人員。

        (3)參數(shù)管理子系統(tǒng):該子系統(tǒng)實(shí)現(xiàn)對(duì)壓力監(jiān)測(cè)設(shè)備基本參數(shù)的設(shè)置,包括實(shí)時(shí)壓力上限、實(shí)時(shí)壓力下限、電壓上限、電壓下限、發(fā)送數(shù)據(jù)時(shí)間間隔等。

        (4)指令管理子系統(tǒng):該子系統(tǒng)實(shí)現(xiàn)對(duì)壓力監(jiān)測(cè)設(shè)備的遠(yuǎn)程操作,壓力監(jiān)測(cè)人員可以根據(jù)需要修改設(shè)備的參數(shù)數(shù)據(jù),主要包含設(shè)備的開(kāi)關(guān)狀態(tài)、壓力數(shù)據(jù)采集時(shí)間間隔、壓力報(bào)警閾值等。

        (5)壓力監(jiān)測(cè)子系統(tǒng):該功能實(shí)現(xiàn)對(duì)實(shí)時(shí)壓力的管理,并對(duì)實(shí)時(shí)壓力進(jìn)行分析,判斷是否在正常壓力范圍內(nèi)。

        (6)歷史數(shù)據(jù)分析子系統(tǒng):該功能實(shí)現(xiàn)對(duì)每個(gè)設(shè)備所產(chǎn)生的歷史數(shù)據(jù)進(jìn)行樣本統(tǒng)計(jì)分析,從而確定該設(shè)備采集數(shù)據(jù)時(shí)間間隔等指標(biāo)。

        (7)報(bào)表管理子系統(tǒng):該功能負(fù)責(zé)對(duì)解碼后的壓力數(shù)據(jù)進(jìn)行分析,產(chǎn)生實(shí)時(shí)動(dòng)態(tài)曲線變化圖,實(shí)時(shí)狀態(tài)圖,報(bào)表等。

        (8)數(shù)據(jù)采集子系統(tǒng):該功能負(fù)責(zé)從中國(guó)電信物聯(lián)網(wǎng)開(kāi)放平臺(tái)獲取實(shí)時(shí)壓力數(shù)據(jù),并將數(shù)據(jù)存放到燃?xì)鈮毫ΡO(jiān)控系統(tǒng)相應(yīng)數(shù)據(jù)表中。

        圖3 燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)功能模塊圖

        3 關(guān)鍵技術(shù)

        3.1 編碼解碼插件開(kāi)發(fā)

        NB-IoT設(shè)備和中國(guó)電信物聯(lián)網(wǎng)開(kāi)放平臺(tái)之間采用CoAP協(xié)議通訊,CoAP消息的payload為應(yīng)用層數(shù)據(jù),應(yīng)用層數(shù)據(jù)的格式由設(shè)備自行定義[9]。由于NB-IoT設(shè)備一般對(duì)省電要求較高,所以應(yīng)用層數(shù)據(jù)一般采用二進(jìn)制格式或者tlv格式。設(shè)備廠商需要提供編解碼插件,平臺(tái)負(fù)責(zé)調(diào)用編解碼插件,實(shí)現(xiàn)二進(jìn)制消息轉(zhuǎn)Json格式的功能,以提供應(yīng)用服務(wù)器使用[10]。

        另外,Profile文件定義了該Json格式的具體內(nèi)容,因此編解碼插件開(kāi)發(fā)前需要先編寫(xiě)設(shè)備的Profile文件。在Profile文件中主要描述一款設(shè)備的能力信息,包含該設(shè)備的識(shí)別屬性和提供的服務(wù)(功能)列表,其中設(shè)備型號(hào)識(shí)別屬性:設(shè)備類型、廠商、型號(hào)、協(xié)議類型。

        服務(wù)列表:提供具體的功能服務(wù)說(shuō)明列表[11-12]。編碼解碼插件開(kāi)發(fā)流程如圖4所示。

        圖4 編解碼插件開(kāi)發(fā)流程

        該燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)主要采用的是西安中星測(cè)控有限公司提供的Chinastar-CSiGPM02智能壓力監(jiān)測(cè)器,該設(shè)備能測(cè)量各種氣體和流體的壓力、壓差等。針對(duì)該設(shè)備實(shí)現(xiàn)編碼解碼插件的步驟如下:

        (1)編寫(xiě)Profile文件。

        "devices":[

        {

        "manufacturerId": "Chinastar",

        "manufacturerName": "Chinastar",

        "model": "CSiGPM02",

        "protocolType": "CoAP",

        "deviceType": "PressureMonitor",

        "serviceTypeCapabilities": [

        {

        "serviceId": "Basic",

        "serviceType": "Basic",

        "option": "Mandatory"

        }

        ……

        ]

        }

        (2)應(yīng)用層協(xié)議解析。

        例如,在該設(shè)備執(zhí)行“AT+NMGS=7,00002023050101”發(fā)送上行數(shù)據(jù)。上報(bào)數(shù)據(jù)的AT命令為:AT+NMGS=7,00002016050101。具體解析如下:AT+NMGS=N,XXXXXXXXXX為上報(bào)數(shù)據(jù)的AT命令格式,其中“N”表示一共上報(bào)幾個(gè)字節(jié),后面為具體的上報(bào)字節(jié)內(nèi)容,以十六進(jìn)制字符串表示。在該指令中,一共上報(bào)7個(gè)字節(jié),分別為“00”、“00”、“20”、“16”、“05”、“01”、“01”。其中,第一個(gè)字節(jié)“00”表示上報(bào)數(shù)據(jù)deviceReq,第二個(gè)字節(jié)“00”表示沒(méi)有后續(xù)數(shù)據(jù),第三個(gè)字節(jié)“20”表示溫度32,第四個(gè)字節(jié)“23”表示當(dāng)前壓力35 Kpa,第五個(gè)字節(jié)“05”表示電壓值5 V,第六個(gè)字節(jié)“01”表示鎖1狀態(tài)關(guān)閉,第七個(gè)字節(jié)“01”表示鎖2狀態(tài)關(guān)閉。

        燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)編碼解碼插件應(yīng)用層協(xié)議解析主要完成了以下上行數(shù)據(jù)的解析:

        ·基礎(chǔ)數(shù)據(jù):主要包括電池的電壓、電量數(shù)據(jù)。

        ·連接信息:主要包括信號(hào)強(qiáng)度、信噪比等數(shù)據(jù)。

        ·設(shè)備信息:主要包括設(shè)備ID、設(shè)備類型、設(shè)備SN、心跳時(shí)間、報(bào)警周期、采樣周期等數(shù)據(jù)。

        ·設(shè)備狀態(tài):主要包括設(shè)備的報(bào)警狀態(tài)、布防狀態(tài)、無(wú)線模塊狀態(tài)、電池狀態(tài)、云端應(yīng)答狀態(tài)等數(shù)據(jù)。

        ·壓力數(shù)據(jù):主要包括設(shè)備的實(shí)時(shí)壓力數(shù)據(jù)。

        (3)編寫(xiě)兩個(gè)應(yīng)用接口。

        (a)decode接口的入?yún)inaryData為設(shè)備發(fā)過(guò)來(lái)的CoAP報(bào)文的payload部分。主要為設(shè)備的上行數(shù)據(jù)。decode接口的入?yún)⒔Y(jié)構(gòu)如表1所示。

        表1 decode接口的入?yún)⒔Y(jié)構(gòu)

        表2 ArryNode定義

        核心代碼如下:

        public ObjectNode decode(byte[] binaryData) throws Exception {

        try {

        ReportProcess lightProcess=new ReportProcess(binaryData);

        ObjectNode objectNode=lightProcess.toJsonNode();

        logger.info("dynamic lrbtest "+objectNode.toString());

        return objectNode;

        } catch (Exception e) {

        e.printStackTrace();

        return null;

        }

        }

        (b)encode接口的入?yún)son格式數(shù)據(jù),是平臺(tái)下發(fā)的命令或應(yīng)答。encode接口的入?yún)⒔Y(jié)構(gòu)定義如表3所示。

        表3 encode接口的入?yún)⒔Y(jié)構(gòu)

        核心代碼如下:

        public byte[] encode(ObjectNode input) throws Exception {

        logger.info("dynamic lrbtest "+input.toString());

        try {

        CmdProcess cmdProcess=new CmdProcess(input);

        byte[] byteNode=cmdProcess.toByte();

        return byteNode;

        } catch (Exception e) {

        e.printStackTrace();

        return null;

        }

        }

        3.2 使用MiniDao-PE實(shí)現(xiàn)持久化

        MiniDao-PE是一款Java持久化框架,類似mybatis的持久層解決方案[13],可以統(tǒng)一事務(wù)管理。MiniDao-PE支持SQL語(yǔ)句和Java代碼的分離、支持自動(dòng)事務(wù)處理和手動(dòng)事務(wù)處理,輕松實(shí)現(xiàn)與hibernate輕量級(jí)無(wú)縫集成等[14]。具體實(shí)現(xiàn)步驟如下:

        (1)接口定義,核心代碼如下:

        @MiniDao

        public interface EmployeeDao {

        @Arguments("employee")

        public List getAllEmployees(Employee employee);

        @Arguments("empno")

        EmployeegetEmployee(String empno);

        }

        (2)接口方法對(duì)應(yīng)SQL文件創(chuàng)建。

        Sql文件定位到dao接口的方法,dao接口的每個(gè)方法對(duì)應(yīng)一個(gè)sql文件。

        SQL文件命名規(guī)則:{Dao接口名} _{方法名}.sql

        簡(jiǎn)單SQL,也可以采用方法注釋標(biāo)簽。例如:

        @Sql("SELECT count(*) FROM employee")

        IntegergetCount();

        (3)編寫(xiě)SQL文件內(nèi)容。

        SQL文件采用模板語(yǔ)言Freemarker語(yǔ)法[15-16],可以靈活運(yùn)用,甚至可以寫(xiě)腳本語(yǔ)言、宏處理等。例如:

        SELECT * FROM employee where 1=1

        <#ifemployee.age ?exists> and age = '${employee.age}'

        <#ifemployee.name ?exists> and name =

        '${employee.name}'

        <#ifemployee.empno ?exists> and empno = '${employee.empno}'

        (4)@Arguments參數(shù)標(biāo)簽和@Param參數(shù)標(biāo)簽設(shè)置。

        @Arguments({"empno","name"})

        Map getMap(String empno,String name);

        4 成果與應(yīng)用

        項(xiàng)目建成了海南省瓊海市天然氣壓力監(jiān)測(cè)系統(tǒng)。該系統(tǒng)提供了用戶管理功能、權(quán)限管理功能、設(shè)備管理功能、設(shè)備定位功能、數(shù)據(jù)采集功能、編解碼功能、數(shù)據(jù)分析功能、壓力預(yù)警功能、日志管理功能等。

        系統(tǒng)對(duì)燃?xì)庠O(shè)備進(jìn)行24小時(shí)監(jiān)測(cè),可實(shí)時(shí)掌握燃?xì)庠O(shè)備運(yùn)營(yíng)情況,為燃?xì)庠O(shè)備管理提供科學(xué)依據(jù)。并且該系統(tǒng)對(duì)燃?xì)鈮毫M(jìn)行實(shí)時(shí)采集,當(dāng)氣體發(fā)生泄漏時(shí),監(jiān)控室及管理部門(mén)可在第一時(shí)間做出反應(yīng),對(duì)提高生產(chǎn)安全性具有重要意義。

        5 結(jié)束語(yǔ)

        針對(duì)能源天然氣行業(yè)背景,文中提出了解決方案,使用JEECG平臺(tái)和面向服務(wù)思想設(shè)計(jì)了燃?xì)鈮毫ΡO(jiān)測(cè)系統(tǒng)。該系統(tǒng)包含了目前天然氣安全領(lǐng)域信息化管理的常用功能,系統(tǒng)對(duì)天然氣壓力進(jìn)行24小時(shí)監(jiān)測(cè),并記錄了歷史壓力數(shù)據(jù)等,從而為燃?xì)馄髽I(yè)的安全運(yùn)營(yíng)提供支持。

        猜你喜歡
        插件字節(jié)燃?xì)?/a>
        擰緊燃?xì)狻鞍踩y”
        近期實(shí)施的燃?xì)鈬?guó)家標(biāo)準(zhǔn)
        煤氣與熱力(2022年4期)2022-05-23 12:45:00
        探討燃?xì)夤こ痰脑靸r(jià)控制及跟蹤審計(jì)
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
        簡(jiǎn)談MC7字節(jié)碼
        MapWindowGIS插件機(jī)制及應(yīng)用
        基于Revit MEP的插件制作探討
        燃?xì)膺h(yuǎn)傳抄表系統(tǒng)分析
        河南科技(2014年7期)2014-02-27 14:11:17
        亚洲精品一品二品av| 性色av无码一区二区三区人妻| 精品国产午夜福利在线观看| 欧美综合区自拍亚洲综合| 中文字幕人妻被公喝醉在线 | 国产成人无码a在线观看不卡| 伊人狠狠色丁香婷婷综合| 国产精品无码久久久久免费AV| 亚洲综合天堂av网站在线观看| 亚洲av天堂免费在线观看| a级特黄的片子| 欧美精品AⅤ在线视频| 国产精品国产三级国产不卡| 国产性自爱拍偷在在线播放| 亚洲av综合久久九九| 久久婷婷色香五月综合激情| 日本午夜a级理论片在线播放| 亚洲av午夜成人片精品电影 | 国产在线一91区免费国产91| 亚洲综合精品在线观看中文字幕| 白白色发布的在线视频| 中文字幕久久久人妻无码| 亚洲综合AV在线在线播放| 女同同成片av免费观看| 丰满少妇人妻无码| 1区2区3区高清视频| 国产成人综合久久精品推荐免费| 日本一区二区在线播放视频| 亚洲午夜久久久久久久久久| 亚洲中文字幕无码中字| 亚洲国产精品美女久久久| 青青草精品视频在线播放| 亚洲av成人无码网站大全| 日本精品免费一区二区三区| 国产一区二区三区男人吃奶| 制服丝袜中文字幕在线| 91av国产视频| 人妻精品久久久一区二区| 日韩欧美在线综合网另类| 人妻熟妇乱又伦精品视频app| 中文字幕精品亚洲二区|