国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MQTT協(xié)議與Android技術(shù)的跨平臺訪客管理系統(tǒng)

2017-03-30 11:54王成王躍
物聯(lián)網(wǎng)技術(shù) 2017年3期

王成+王躍

摘 要:隨著訪客管理系統(tǒng)在企事業(yè)單位的逐步應(yīng)用,實現(xiàn)了來訪人員的信息化管理,但傳統(tǒng)的單機訪客系統(tǒng)仍然存在信息傳遞不及時、使用流程復(fù)雜等缺陷。文中設(shè)計了一種新型訪客管理系統(tǒng),在原有基于.NET平臺訪客管理系統(tǒng)的基礎(chǔ)上,綜合應(yīng)用MQTT協(xié)議及Android技術(shù)構(gòu)建跨平臺的訪客消息實時推送服務(wù)系統(tǒng),實現(xiàn)了來訪人員信息的及時傳遞,簡化了訪客管理系統(tǒng)使用流程。

關(guān)鍵詞:MQTT;Android;訪客管理系統(tǒng);.NET

中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)03-00-03

0 引 言

近年來,隨著社會的不斷發(fā)展進步,信息化手段已逐漸滲透至社會各個領(lǐng)域。門衛(wèi)和前臺對來訪人員進行登記管理是安全保衛(wèi)工作的重要環(huán)節(jié)也是第一環(huán)節(jié)。然而迄今為止,我國政府機關(guān)部門、事業(yè)單位抑或絕大部分管理較完善的企業(yè),其安全保衛(wèi)及前臺來訪接待工作卻基本停留在手工書寫階段,有些單位雖然購買了訪客管理系統(tǒng),但由于系統(tǒng)使用過程復(fù)雜,導(dǎo)致來訪人員信息無法及時傳遞給受訪人,該系統(tǒng)常常處于閑置狀態(tài)。

針對以上問題,本文提出了基于MQTT協(xié)議與Android技術(shù)訪客管理系統(tǒng)的設(shè)計方案,在原先已經(jīng)開發(fā)的基于.NET平臺訪客管理系統(tǒng)應(yīng)用的基礎(chǔ)之上,考慮現(xiàn)有Android系統(tǒng)在移動終端廣泛應(yīng)用的情況,綜合應(yīng)用物聯(lián)網(wǎng)及時通信協(xié)議及移動終端技術(shù)實現(xiàn)跨平臺的來訪人員信息的實時推送功能。

1 系統(tǒng)架構(gòu)設(shè)計

該訪客管理系統(tǒng)架構(gòu)主要由四個子系統(tǒng)組成,分別為基于.NET的訪客管理系統(tǒng)、基于JavaServlet的服務(wù)器系統(tǒng)、基于MQTT協(xié)議的Apollo服務(wù)器系統(tǒng)和基于Android的訪客數(shù)據(jù)查詢系統(tǒng)。平臺的基本結(jié)構(gòu)如圖1所示。

當(dāng)有新訪客時,完整的訪客系統(tǒng)使用流程如下:

(1)訪客需要先在門衛(wèi)處登錄訪客管理系統(tǒng)進行來訪登記,完成登記資料填寫后,數(shù)據(jù)會被保存至數(shù)據(jù)庫服務(wù)器。

(2)系統(tǒng)自動給受訪人的Android終端發(fā)送一個通知消息,告知受訪人有訪客來訪。

(3)受訪人打開Android終端的訪客數(shù)據(jù)查詢系統(tǒng),查看訪客信息并處理訪問請求。

(4)訪客管理系統(tǒng)接收到訪客準(zhǔn)許進入提醒后,門衛(wèi)管理人員通知訪客可以進入。至此,基本流程執(zhí)行完畢。

訪客系統(tǒng)的完整業(yè)務(wù)流程如圖2所示。

2 基于MQTT的消息推送技術(shù)簡介

消息推送是指從服務(wù)器端向移動終端發(fā)送連接請求,傳輸特定的信息。例如一些新聞客戶端,每隔一段時間都會收到一條或多條通知,這就是從服務(wù)器端傳來的推送消息。

MQTT協(xié)議是IBM開發(fā)的一個即時通信協(xié)議,該協(xié)議支持所有平臺,可以將所有物聯(lián)網(wǎng)設(shè)備和外部連接起來,被用作傳感器和致動器的通信協(xié)議。將其作為消息推送協(xié)議的基本原理是:使用消息代理服務(wù)器(Message Broker),客戶端連接上消息代理服務(wù)器,跟服務(wù)器協(xié)商可以接受哪些類型的消息,同時也可以發(fā)布自己的消息,這些消息根據(jù)協(xié)議內(nèi)容可以被其它客戶端收到?;贛QTT協(xié)議消息收發(fā)流程如圖3所示。

3 系統(tǒng)實現(xiàn)

3.1 通知功能的實現(xiàn)

3.1.1 Apollo服務(wù)器的安裝和配置

想要實現(xiàn)基于MQTT的消息推送功能,必須先配置Message Broker服務(wù)器,這里選擇服務(wù)器Apollo1.7來搭建環(huán)境。具體搭建主要分為如下幾步:

(1)去官方網(wǎng)站下載最新版的Apollo1.7服務(wù)器;

(2)運行apollo.cmd 創(chuàng)建服務(wù)器實例;

(3)在服務(wù)器實例的文件夾下配置參數(shù);

(4)運行apollo-broker.cmd run開啟服務(wù)器,在瀏覽器中輸入服務(wù)器的IP地址,即可訪問Apollo服務(wù)器界面;

(5)輸入之前配置好的用戶名和密碼參數(shù),即可訪問Apollo Console控制臺。

3.1.2 MQTT客戶端的實現(xiàn)

使用WebService服務(wù)器系統(tǒng)向Android端發(fā)送通知,可將其看成兩個MQTT 客戶端之間的通信過程,消息在傳播過程中經(jīng)過了Message Broker服務(wù)器的轉(zhuǎn)發(fā),所以需要在WebService服務(wù)器系統(tǒng)和Android端分別配置MQTT客戶端。兩邊代碼實現(xiàn)過程基本一致,都要在工程中導(dǎo)入mqtt-client-0.4.0.jar的類庫,然后使用工具類實現(xiàn)MQTT功能。

3.2 服務(wù)器功能模塊的實現(xiàn)

WebService服務(wù)器系統(tǒng)的功能模塊主要分為4部分,分別為響應(yīng)終端HTTP服務(wù)請求模塊、訪問數(shù)據(jù)庫模塊、將數(shù)據(jù)轉(zhuǎn)換為JSON格式的模塊和實現(xiàn)MQTT功能的模塊。

響應(yīng)終端HTTP服務(wù)請求模塊主要通過繼承和擴展Java Servlet類來實現(xiàn)。在程序中設(shè)定響應(yīng)HTTP請求的方式,并對不同的請求參數(shù)設(shè)置不同的操作流程。數(shù)據(jù)轉(zhuǎn)換為JSON格式模塊,主要對從數(shù)據(jù)庫中取得的原始數(shù)據(jù)按照一定格式轉(zhuǎn)換為JSON格式,以便于在網(wǎng)絡(luò)中傳輸。實現(xiàn)該功能可以使用json-lib-jdk.jar開發(fā)包,其中有對應(yīng)JSON數(shù)據(jù)類型的各種工具類,可以簡化開發(fā)過程。

3.3 訪客平臺的實現(xiàn)

基于.NET的訪客管理系統(tǒng)作為整個系統(tǒng)的主要數(shù)據(jù)來源和管理平臺,其本身就是一套單獨的系統(tǒng),因此這里只簡單介紹與本項目相關(guān)的功能模塊。

(1)訪客信息登記功能。該功能主要用來記錄訪客登記信息,并將這些信息存儲到數(shù)據(jù)庫中,Android終端設(shè)備可以通過WebService服務(wù)來間接獲取該數(shù)據(jù)?;?NET的訪客管理系統(tǒng)演示界面如圖4所示。

(2)發(fā)送訪客來訪信息功能。該功能通過WebService服務(wù)器系統(tǒng)發(fā)出請求,用以給受訪人的Android客戶端發(fā)送通知消息,消息中包含了受訪人的ID標(biāo)識,客戶端通過ID標(biāo)識可以查詢該訪客的信息。Android終端收到通知信息的界面如圖5所示。

3.4 Android客戶端功能

Android客戶端的功能主要分為4個模塊,即Activity模塊、JSON工具類模塊、HTTP工具類模塊和MQTT功能模塊。

(1)Activity是Android程序的組件之一,主要用于提供界面。程序中除有View的組件定義外,還有訪問數(shù)據(jù)庫的HTTP響應(yīng)請求操作和MQTT消息推送通知操作,這兩項操作都耗時較久。新版本的Android系統(tǒng)中不允許在主線程中執(zhí)行這種耗時較久的操作,因此只能新起兩個線程來分別執(zhí)行。線程之間需要使用Handler進行數(shù)據(jù)通信,所以Activity中除主線程之外,還有兩個子線程可同時進行異步操作。Activity起始界面和數(shù)據(jù)查詢后的界面如圖6所示。

(2)JSON工具類模塊的主要功能是為對因WebService服務(wù)器響應(yīng)數(shù)據(jù)請求操作傳遞而來的JSON格式數(shù)據(jù)進行解析,將JSON格式數(shù)據(jù)轉(zhuǎn)換為自定義格式的數(shù)據(jù)。同WebService服務(wù)器使用JSON開發(fā)類庫一樣,使用標(biāo)準(zhǔn)的JSON格式轉(zhuǎn)換功能時要導(dǎo)入對應(yīng)的開發(fā)包。

(3)HTTP工具類模塊的主要功能是向WebService服務(wù)器請求HTTP服務(wù),通過GET方式加上不同的參數(shù)形式進行對數(shù)據(jù)庫數(shù)據(jù)的查詢和添加請求。當(dāng)該請求有正確響應(yīng)時,數(shù)據(jù)以字節(jié)流的方式從服務(wù)器傳遞過來,使用HTTP工具類將字節(jié)流轉(zhuǎn)換為數(shù)據(jù),并以接口方式提供給Activity調(diào)用。

(4)MQTT功能模塊的主要功能與WebService服務(wù)器系統(tǒng)上實現(xiàn)MQTT客戶端的功能類似,主要用來接收WebService服務(wù)器端以MQTT協(xié)議方式發(fā)送的消息,并以Android通知消息方式在終端通知欄中顯示。MQTT功能模塊必須另起一個新線程,該線程通過Handler與Activity通信。

4 結(jié) 語

隨著物聯(lián)網(wǎng)技術(shù)的高速發(fā)展及移動終端技術(shù)的廣泛應(yīng)用,人們對信息傳遞的及時性要求越來越高。本文提出的跨平臺訪客管理系統(tǒng)在充分調(diào)研了各個領(lǐng)域?qū)τ趤碓L人員管理實際需求的基礎(chǔ)上,采用基于MQTT的物聯(lián)網(wǎng)通信協(xié)議與Android終端開發(fā)技術(shù)解決傳統(tǒng)訪客管理系統(tǒng)信息傳遞不及時的缺陷,用以提高對來訪人員的管理效率。

參考文獻(xiàn)

[1] Lee S, Kim H, Hong D, et al. Correlation analysis of MQTT loss and delay according to QoS level[C].Information Networking (ICOIN).Bangkok,2013:714-717.

[2]王楠,宋飛,周華春.一種基于Android平臺的即時通信方案[J].計算機應(yīng)用與軟件,2013 ,30(4):107-109,148.

[3]屈赟,陶晡,王克儉,等.基于Android的果樹病蟲害信息推送系統(tǒng)的設(shè)計[J].科技通報,2016,32(5):86-90.

[4]楊晴龍,王曉田,陳三,等.基于Android平臺的集成查詢系統(tǒng)的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(1):73-75.

[5]吉東,崔忠偉,馬虹.基于Web的高校團委信息管理系統(tǒng)設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(6):112-113.

[6]黃鵬宇.嵌入式停車場管理系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2011.

[7]周開利,黎娟,劉江豪.基于物聯(lián)網(wǎng)的開放實驗室信息管理系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2014,4(7):85-87.

[8]姜妮.基于MQTT的信息推送系統(tǒng)設(shè)計與實現(xiàn)[D].北京:中國科學(xué)院大學(xué),2015.

辽宁省| 平遥县| 易门县| 岑巩县| 桑植县| 剑河县| 定远县| 古蔺县| 衡水市| 永兴县| 隆子县| 大石桥市| 乐昌市| 陆良县| 五家渠市| 龙岩市| 西峡县| 高青县| 淮南市| 盘山县| 扎赉特旗| 霍邱县| 普兰店市| 阳泉市| 绥棱县| 怀柔区| 营山县| 嫩江县| 同心县| 万宁市| 松溪县| 洛扎县| 肇源县| 塔城市| 赣州市| 麦盖提县| 贞丰县| 靖边县| 类乌齐县| 辰溪县| 许昌县|