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

        ?

        基于云端服務(wù)檢測(cè)設(shè)備的虛擬控制面板開(kāi)發(fā)

        2021-09-06 12:30:20李志軍朱書(shū)村
        關(guān)鍵詞:控制面板按鍵面板

        劉 丹 李志軍 朱書(shū)村

        (吉林大學(xué) 通信工程學(xué)院,長(zhǎng)春 130012)

        0 引 言

        在第四次工業(yè)革命蓬勃發(fā)展的大環(huán)境下,新理念催生了越來(lái)越多智能化實(shí)驗(yàn)室[1-3]。智能設(shè)備儀器與產(chǎn)品的應(yīng)用,推動(dòng)了生產(chǎn)過(guò)程智能化,促進(jìn)了新型生產(chǎn)方式的產(chǎn)生,同時(shí)也對(duì)實(shí)驗(yàn)室的日常管理提出了更高要求。筆者研究的實(shí)驗(yàn)室擁有眾多的智能化設(shè)備,雖然大多數(shù)智能設(shè)備都提供了相應(yīng)的控制軟件與APP(application),但由于傳統(tǒng)的控制方法具有很大的局限性,這種針對(duì)每類(lèi)設(shè)備都在APP 上設(shè)計(jì)與之對(duì)應(yīng)的界面和控制邏輯實(shí)現(xiàn),隨著智能設(shè)備數(shù)量的增多,用戶(hù)體驗(yàn)將會(huì)變得非常艱難[4-5]。諸如數(shù)字化檢測(cè)設(shè)備需要預(yù)熱與調(diào)試,實(shí)驗(yàn)室內(nèi)的溫度濕度檢測(cè)傳感器與電源控制系統(tǒng)也需要實(shí)時(shí)監(jiān)控,面對(duì)各種APP 與控制軟件,對(duì)管理人員是一個(gè)艱巨的任務(wù)。而且,這種低效率操作模式的最終結(jié)果使實(shí)驗(yàn)室的利用效率低下,因此急需解決“人等機(jī)器”的難題。

        筆者針對(duì)智能終端檢測(cè)實(shí)驗(yàn)室設(shè)備監(jiān)控和管理的實(shí)際問(wèn)題,提出了檢測(cè)設(shè)備的虛擬控制面板的技術(shù)方案,在面向設(shè)備管理的IoT(Internet of Things)云服務(wù)平臺(tái)上構(gòu)建了Web(World Wide Web)接口服務(wù)器,建立物聯(lián)網(wǎng)檢測(cè)終端的Web 抽象操作接口?;诖薟eb 服務(wù),在Android wear[6-7]平臺(tái)上設(shè)計(jì)開(kāi)發(fā)了一款虛擬面板APP的虛擬客戶(hù)端,其主要功能是用戶(hù)可以基于自身喜好,自主定義界面的按鍵功能,實(shí)現(xiàn)實(shí)驗(yàn)室設(shè)備與虛擬面板的綁定連接交互,以方便用戶(hù)的操作,從而大大提升移動(dòng)終端的智能化操作體驗(yàn)。

        1 總體方案設(shè)計(jì)

        虛擬面板云服務(wù)設(shè)備檢測(cè)系統(tǒng)包括連接平臺(tái)的設(shè)備、云平臺(tái)服務(wù)器、WSGI(Web Server Gateway Interface) Web 服務(wù)器、虛擬操控APP。云平臺(tái)將原檢測(cè)設(shè)備通過(guò)適配接入云端服務(wù)平臺(tái),從而可構(gòu)建管理者和設(shè)備基于Internet的信息交互通道。該服務(wù)平臺(tái)基于SOA(Service-Oriented Architecture)架構(gòu)[8-10](面向服務(wù)的體系結(jié)構(gòu))和jetty 容器技術(shù),為用戶(hù)提供標(biāo)準(zhǔn)化的設(shè)備連接接口服務(wù)。

        WSGI Web 服務(wù)器,目的是為第三方服務(wù)請(qǐng)求提供規(guī)范接口,WSGI Web 服務(wù)器可將第三方服務(wù)請(qǐng)求映射為不同云服務(wù)平臺(tái)上的操作。可實(shí)現(xiàn)不同服務(wù)平臺(tái)不同種類(lèi)設(shè)備的一致性操作規(guī)范。如圖1 所示構(gòu)建的WSGI Web 服務(wù)器,即檢測(cè)設(shè)備Web 服務(wù)接口,它為基于智能手表上的虛擬控制面板的APP 提供統(tǒng)一的接口,服務(wù)器端響應(yīng)客戶(hù)端虛擬面板的請(qǐng)求將之映射成為對(duì)底層基礎(chǔ)云平臺(tái)的操作。

        圖1 物聯(lián)設(shè)備的管控機(jī)制Fig.1 Control mechanism of IoT devices

        在虛擬操控面板APP的設(shè)計(jì)中,筆者提出虛擬控制面板的設(shè)計(jì),其整體邏輯設(shè)計(jì)框架如圖2 所示。人機(jī)交互模塊完成虛擬控制面板APP 與人之間的交互,包括實(shí)現(xiàn)APP 對(duì)用戶(hù)操作信息的獲取和對(duì)用戶(hù)通知的操作;自定義模塊完成用戶(hù)對(duì)虛擬面板自定義的邏輯處理;控制模塊包括用戶(hù)對(duì)設(shè)備進(jìn)行監(jiān)控操作的邏輯處理;而邏輯處理模塊則協(xié)調(diào)上述兩個(gè)模塊,實(shí)現(xiàn)人機(jī)界面操作和設(shè)備監(jiān)控邏輯處理的統(tǒng)一。

        圖2 虛擬控制面板設(shè)計(jì)結(jié)構(gòu)Fig.2 Design structure of virtual control panel

        2 系統(tǒng)內(nèi)部消息傳遞機(jī)制

        WSGI 服務(wù)器和云平臺(tái)之間、虛擬操控APP 和WSGI 服務(wù)器之間采用C/S(Client-Server)架構(gòu)模式,均采用url 消息格式發(fā)出請(qǐng)求和http+json的消息格式接收返回消息完成信息交互。

        2.1 WSGI 服務(wù)器和云平臺(tái)的交互

        云平臺(tái)服務(wù)器以HTTP(Hyper Text Transfer Protocol)消息的格式給第三方應(yīng)用暴露了一個(gè)設(shè)備的接口。這個(gè)接口以u(píng)rl的形式呈現(xiàn):

        2.2 虛擬面板APP 和WSGI 服務(wù)器的交互

        虛擬面板APP 和WSGI 服務(wù)器間消息傳遞的格式,可使用統(tǒng)一HTTP 消息請(qǐng)求格式,例如服務(wù)器暴露的HTTP 格式的接口形式為

        urlPath 用于映射服務(wù)器內(nèi)不同的處理函數(shù),利用urlPath 建立分類(lèi)訪問(wèn)控制,例如urlPath 為controlAirconditioner 時(shí)表示是對(duì)空調(diào)進(jìn)行控制的請(qǐng)求,而param 參數(shù)則可為deviceId、temp 等,表示對(duì)指定設(shè)備號(hào)請(qǐng)求溫度信息。

        WSGI 響應(yīng)消息格式同云平臺(tái)服務(wù)器返回的消息格式。

        3 虛擬控制面板實(shí)現(xiàn)

        3.1 虛擬控制面板的功能

        首先在Android 端建數(shù)據(jù)庫(kù)模型[11],虛擬控制面板就可以從后臺(tái)獲取用戶(hù)和設(shè)備的基本信息,但考慮到每次打開(kāi)虛擬控制面板,都要重新從邏輯處理模塊獲取信息,會(huì)造成內(nèi)存資源的浪費(fèi)和線程的占用,嚴(yán)重影響了虛擬控制面板的客戶(hù)體驗(yàn)。所以在虛擬面板的客戶(hù)端,基于Android的組件content provider,使用輕量級(jí)的數(shù)據(jù)庫(kù)SQLite 在客戶(hù)端保存設(shè)備和用戶(hù)信息。從而當(dāng)邏輯處理模塊的數(shù)據(jù)更新時(shí),客戶(hù)端相應(yīng)的存儲(chǔ)信息也會(huì)同步更新,在每次重新打開(kāi)虛擬控制面板時(shí),用戶(hù)和設(shè)備信息也都會(huì)保留在虛擬控制面板的客戶(hù)端上。

        如圖3 所示,客戶(hù)端界面設(shè)有數(shù)個(gè)自定義按鍵,用戶(hù)可根據(jù)實(shí)驗(yàn)設(shè)備的數(shù)量、種類(lèi)自由添加、減少按鍵的數(shù)量,設(shè)置按鍵與設(shè)備的綁定連接(連接部分功能主要由服務(wù)器操作)。

        圖3 虛擬控制面板示例圖Fig.3 Example of virtual control panel

        當(dāng)進(jìn)入虛擬控制面板并完成用戶(hù)和設(shè)備的注冊(cè)后,選擇長(zhǎng)按其中一個(gè)按鈕,此時(shí)會(huì)觸發(fā)相應(yīng)的監(jiān)聽(tīng)器,通知系統(tǒng)該按鍵被選中,并通過(guò)顯式Intent,調(diào)轉(zhuǎn)到一個(gè)新的虛擬面板界面,在該界面完成按鍵與設(shè)備的綁定,實(shí)現(xiàn)虛擬面板自定義模塊的核心功能。

        在按鍵自定義界面,輸入設(shè)備ID 號(hào)、設(shè)備名稱(chēng)、設(shè)備類(lèi)型、MAC(Media Access Control)地址,并在客戶(hù)端數(shù)據(jù)庫(kù)中進(jìn)行查找,如果該設(shè)備已經(jīng)在數(shù)據(jù)庫(kù)中注冊(cè),則檢索到該設(shè)備信息,并將該家居設(shè)備添加到對(duì)應(yīng)按鈕的數(shù)據(jù)模型中[12],然后通知用戶(hù)綁定成功,并返回虛擬控制面板主界面,此時(shí)點(diǎn)擊該按鍵,觸發(fā)一個(gè)監(jiān)聽(tīng)器,執(zhí)行監(jiān)聽(tīng)事件,虛擬面板控制模塊的實(shí)現(xiàn)主要在該監(jiān)聽(tīng)事件中完成。

        3.2 虛擬控制面板Android 端實(shí)現(xiàn)

        Android 開(kāi)發(fā)的4 個(gè)組件分別是:Activity、Service、BroadcastReceiver、Content Provider[13-15]。筆者使用Activity 組件構(gòu)建了MainActivity、Conditioner-Activity 等實(shí)體提供操作的主界面、空調(diào)界面等,利用后臺(tái)Service 服務(wù)構(gòu)建了ReceiveMessge()等函數(shù)與WSGI 服務(wù)器交互消息,利用BroadcastReceiver 監(jiān)聽(tīng)返回的消息然后利用ContentProvider 在各個(gè)界面上顯示W(wǎng)SGI 服務(wù)器的響應(yīng)消息。

        以空調(diào)控制界面的實(shí)現(xiàn)為例,具體闡釋虛擬控制面板的實(shí)現(xiàn)。創(chuàng)建一個(gè)airconditionerActivity 對(duì)象,在這個(gè)Activity 中創(chuàng)建一個(gè)mButton的按鍵,然后使用setOnClickListener()實(shí)現(xiàn)按鍵的點(diǎn)擊事件,在這個(gè)事件的代碼中,使用ReceiveMessage()實(shí)現(xiàn)設(shè)備控制邏輯和APP 界面結(jié)果顯示。

        ReceiveMessage()函數(shù)有兩個(gè)參數(shù),一個(gè)是url,可表示為用戶(hù)進(jìn)行的設(shè)備操控動(dòng)作意圖,另一個(gè)是TextView 組件名稱(chēng),從服務(wù)器返回的結(jié)果將在這個(gè)組件上顯示。該函數(shù)使用OkHttp 消息通信框架中的Request 對(duì)象對(duì)服務(wù)器發(fā)出請(qǐng)求,然后將Request 對(duì)象封裝在Call 對(duì)象中,進(jìn)一步地在OnFailure()和OnReponse()函數(shù)中將返回的結(jié)果通過(guò)TextView 組件的setText()方法顯示在界面上。

        4 WGSI 服務(wù)器實(shí)現(xiàn)

        服務(wù)器的用戶(hù)信息存儲(chǔ)使用Redis 數(shù)據(jù)庫(kù),以提高服務(wù)器的響應(yīng)速度,因?yàn)镽edis 讀寫(xiě)的速度要遠(yuǎn)超MySql 數(shù)據(jù)庫(kù)讀寫(xiě)的速度,并且先要完成MySql 數(shù)據(jù)庫(kù)中的數(shù)據(jù)到Redis 數(shù)據(jù)庫(kù)中的遷移,同時(shí)給出數(shù)據(jù)一致的控制機(jī)制,即在用戶(hù)更改消息時(shí),在修改完MySql 中的內(nèi)容后同時(shí)修改Redis 數(shù)據(jù)庫(kù)中的內(nèi)容。

        筆者使用基于Python 語(yǔ)言構(gòu)建的flask 框架,使用該框架實(shí)現(xiàn)的微WSGI 服務(wù)器接收url 形式的HTTP請(qǐng)求,利用其路由系統(tǒng)分發(fā)HTTP 消息的機(jī)制,即實(shí)現(xiàn)url 和視圖函數(shù)(實(shí)現(xiàn)業(yè)務(wù)邏輯功能)的綁定。筆者自定義了注冊(cè)、登錄、設(shè)備控制等視圖函數(shù)實(shí)現(xiàn)服務(wù)器的功能,具體實(shí)現(xiàn)如下。

        1) 用戶(hù)注冊(cè)。如下代碼中,在route 方法中,傳入‘/register'參數(shù),服務(wù)器將HTTP 請(qǐng)求消息傳送給flask的前端控制器攔截器包裝成request 對(duì)象然后傳送給路由系統(tǒng),通過(guò)Python 語(yǔ)言的裝飾器機(jī)制,路由系統(tǒng)建立所有路徑部分為register的url 與register()函數(shù)的映射,從而實(shí)現(xiàn)url 對(duì)邏輯處理函數(shù)的調(diào)用。同時(shí)通過(guò)flask.request.form.get()方法提取出url 攜帶的參數(shù)部分,即email 和password,然后實(shí)現(xiàn)邏輯處理功能。關(guān)鍵代碼如下:

        Flask 框架通過(guò)flask.request.form.get 方法獲取用戶(hù)所輸入的email 和密碼,當(dāng)均不為空時(shí)將用戶(hù)信息以u(píng)sers 字段存儲(chǔ)在哈希表中,同時(shí)在MySql 中修改,完成注冊(cè)后返回注冊(cè)成功信息。

        2) 用戶(hù)登錄。在接收到客戶(hù)端發(fā)送的url 參數(shù)“/login”后,Flask 框架映射到視圖函數(shù)login()進(jìn)行用戶(hù)登錄,關(guān)鍵代碼如下:

        框架通過(guò)flask.request.form.get()方法從表單中獲取email 和密碼。檢測(cè)所輸入的信息是否存在于Redis 數(shù)據(jù)庫(kù)中的哈希表users 字段,如果存在,則返回登錄成功消息,由客戶(hù)端自行跳轉(zhuǎn)到主界面。

        3) 設(shè)備控制。將客戶(hù)端傳送的HTTP 消息中攜帶的參數(shù)傳送給getAirCondittionerTempAndHum(),這個(gè)函數(shù)封裝了后臺(tái)服務(wù)器的服務(wù),關(guān)鍵代碼如下:

        5 系統(tǒng)測(cè)試

        在智能手表上對(duì)實(shí)驗(yàn)室設(shè)備進(jìn)行機(jī)械特性、電氣特性以及通信特性等方面的測(cè)試,其頂層界面和第2 層界面如圖4a 和圖4b 所示,其操作結(jié)果對(duì)應(yīng)于實(shí)驗(yàn)室的不同種類(lèi)設(shè)備的實(shí)測(cè)結(jié)果,對(duì)比如圖5 所示。

        圖4 智能手表操控界面Fig.4 Control interface of smart watch

        圖5 實(shí)驗(yàn)室現(xiàn)場(chǎng)設(shè)備運(yùn)行狀況Fig.5 Operation status of laboratory field equipment

        測(cè)試表明,運(yùn)行于智能手表上的虛擬操控界面可完成實(shí)驗(yàn)室現(xiàn)場(chǎng)設(shè)備的遠(yuǎn)程管理和監(jiān)控。實(shí)驗(yàn)室環(huán)境可得到良好的控制。

        6 結(jié) 語(yǔ)

        筆者通過(guò)分析實(shí)驗(yàn)室的檢測(cè)設(shè)備管理現(xiàn)狀,針對(duì)設(shè)備控制繁瑣的實(shí)際需求,提出了虛擬控制面板解決方案,給出了檢測(cè)設(shè)備操控平臺(tái)的整體技術(shù)架構(gòu)與技術(shù)路線?;赪eb 服務(wù)給出了具體的設(shè)計(jì)方法,完成了系統(tǒng)的WSGI Web 服務(wù)器端的邏輯設(shè)計(jì)與代碼編寫(xiě),設(shè)計(jì)與實(shí)現(xiàn)了虛擬控制面板,并對(duì)整個(gè)系統(tǒng)進(jìn)行了測(cè)試。系統(tǒng)應(yīng)用測(cè)試說(shuō)明技術(shù)方案的合理性,解放了實(shí)驗(yàn)室管理人員的大量工作,為遠(yuǎn)程實(shí)驗(yàn)室及設(shè)備管理和監(jiān)控提供了極大的便利,提高了實(shí)驗(yàn)室管理的效率,充分發(fā)揮了檢測(cè)設(shè)備的使用效能。

        猜你喜歡
        控制面板按鍵面板
        面板燈設(shè)計(jì)開(kāi)發(fā)與應(yīng)用
        基于有限狀態(tài)機(jī)的按鍵檢測(cè)程序設(shè)計(jì)
        電子制作(2021年3期)2021-06-16 03:14:26
        MasterCAM在面板類(lèi)零件造型及加工中的應(yīng)用
        模具制造(2019年4期)2019-06-24 03:36:50
        Photoshop CC圖庫(kù)面板的正確打開(kāi)方法
        多種方法找回傳統(tǒng)控制面板
        醫(yī)院手術(shù)室電氣控制面板的改造設(shè)計(jì)與應(yīng)用
        一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計(jì)
        電子制作(2016年1期)2016-11-07 08:43:05
        Windows 10打開(kāi)控制面板方法匯總
        電腦迷(2015年3期)2015-04-29 21:59:57
        高世代TFT-LCD面板生產(chǎn)線的產(chǎn)能評(píng)估
        按鍵的多種狀態(tài)檢測(cè)及消抖處理方法
        家電科技(2013年4期)2013-07-09 10:55:08
        色偷偷av男人的天堂| 国产女主播一区二区三区在线观看| 狂插美女流出白浆视频在线观看| 亚洲成av人在线观看网址| 无码粉嫩虎白一线天在线观看| 精品少妇爆乳无码aⅴ区| 日本一区二区高清在线观看| 亚洲高清在线天堂精品| 国产精品午夜爆乳美女视频| 久久综合成人网| 亚洲天堂色婷婷一区二区| 日本av一区二区三区在线| 中文字幕丰满伦子无码| 精品无码AⅤ片| 一区二区三区四区免费国产视频| 亚洲国产精品一区二区成人片国内| 国产精品自在线拍国产| 美女一级毛片免费观看97| 国产又色又爽的视频在线观看91| 18禁在线永久免费观看| 国产成人精品av| 亚洲欧美日韩在线中文一| 精品极品视频在线观看| 国产亚洲美女精品久久久2020| 国产午夜福利精品久久2021| 最新福利姬在线视频国产观看| 中文字幕一区二区综合| 中文字幕人妻熟在线影院| 91视频免费国产成人| 国产内射视频免费观看| 日本精品视频一区二区三区四区| 人妻丝袜无码国产一区| 亚洲狼人社区av在线观看| 国产3p一区二区三区精品| 国产成人亚洲综合无码品善网 | 国产精品无码一区二区三级| 国产人妻久久精品二区三区| 国产亚洲视频在线观看播放| 日本系列有码字幕中文字幕| 熟妇激情内射com| 亚洲色欲久久久综合网 |