基于MQTT協(xié)議與Android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)_第1頁(yè)
基于MQTT協(xié)議與Android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)_第2頁(yè)
基于MQTT協(xié)議與Android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)_第3頁(yè)
基于MQTT協(xié)議與Android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)_第4頁(yè)
基于MQTT協(xié)議與Android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、    基于mqtt協(xié)議與android技術(shù)的跨平臺(tái)訪客管理系統(tǒng)    王成+王躍摘 要:隨著訪客管理系統(tǒng)在企事業(yè)單位的逐步應(yīng)用,實(shí)現(xiàn)了來(lái)訪人員的信息化管理,但傳統(tǒng)的單機(jī)訪客系統(tǒng)仍然存在信息傳遞不及時(shí)、使用流程復(fù)雜等缺陷。文中設(shè)計(jì)了一種新型訪客管理系統(tǒng),在原有基于.net平臺(tái)訪客管理系統(tǒng)的基礎(chǔ)上,綜合應(yīng)用mqtt協(xié)議及android技術(shù)構(gòu)建跨平臺(tái)的訪客消息實(shí)時(shí)推送服務(wù)系統(tǒng),實(shí)現(xiàn)了來(lái)訪人員信息的及時(shí)傳遞,簡(jiǎn)化了訪客管理系統(tǒng)使用流程。關(guān)鍵詞:mqtt;android;訪客管理系統(tǒng);.net中圖分類(lèi)號(hào):tp393 文獻(xiàn)標(biāo)識(shí)碼:a 文章編號(hào):2095-1302(

2、2017)03-00-030 引 言近年來(lái),隨著社會(huì)的不斷發(fā)展進(jìn)步,信息化手段已逐漸滲透至社會(huì)各個(gè)領(lǐng)域。門(mén)衛(wèi)和前臺(tái)對(duì)來(lái)訪人員進(jìn)行登記管理是安全保衛(wèi)工作的重要環(huán)節(jié)也是第一環(huán)節(jié)。然而迄今為止,我國(guó)政府機(jī)關(guān)部門(mén)、事業(yè)單位抑或絕大部分管理較完善的企業(yè),其安全保衛(wèi)及前臺(tái)來(lái)訪接待工作卻基本停留在手工書(shū)寫(xiě)階段,有些單位雖然購(gòu)買(mǎi)了訪客管理系統(tǒng),但由于系統(tǒng)使用過(guò)程復(fù)雜,導(dǎo)致來(lái)訪人員信息無(wú)法及時(shí)傳遞給受訪人,該系統(tǒng)常常處于閑置狀態(tài)。針對(duì)以上問(wèn)題,本文提出了基于mqtt協(xié)議與android技術(shù)訪客管理系統(tǒng)的設(shè)計(jì)方案,在原先已經(jīng)開(kāi)發(fā)的基于.net平臺(tái)訪客管理系統(tǒng)應(yīng)用的基礎(chǔ)之上,考慮現(xiàn)有android系統(tǒng)在移動(dòng)終端廣泛

3、應(yīng)用的情況,綜合應(yīng)用物聯(lián)網(wǎng)及時(shí)通信協(xié)議及移動(dòng)終端技術(shù)實(shí)現(xiàn)跨平臺(tái)的來(lái)訪人員信息的實(shí)時(shí)推送功能。1 系統(tǒng)架構(gòu)設(shè)計(jì)該訪客管理系統(tǒng)架構(gòu)主要由四個(gè)子系統(tǒng)組成,分別為基于.net的訪客管理系統(tǒng)、基于javaservlet的服務(wù)器系統(tǒng)、基于mqtt協(xié)議的apollo服務(wù)器系統(tǒng)和基于android的訪客數(shù)據(jù)查詢(xún)系統(tǒng)。平臺(tái)的基本結(jié)構(gòu)如圖1所示。當(dāng)有新訪客時(shí),完整的訪客系統(tǒng)使用流程如下:(1)訪客需要先在門(mén)衛(wèi)處登錄訪客管理系統(tǒng)進(jìn)行來(lái)訪登記,完成登記資料填寫(xiě)后,數(shù)據(jù)會(huì)被保存至數(shù)據(jù)庫(kù)服務(wù)器。(2)系統(tǒng)自動(dòng)給受訪人的android終端發(fā)送一個(gè)通知消息,告知受訪人有訪客來(lái)訪。(3)受訪人打開(kāi)android終端的訪客數(shù)據(jù)查

4、詢(xún)系統(tǒng),查看訪客信息并處理訪問(wèn)請(qǐng)求。(4)訪客管理系統(tǒng)接收到訪客準(zhǔn)許進(jìn)入提醒后,門(mén)衛(wèi)管理人員通知訪客可以進(jìn)入。至此,基本流程執(zhí)行完畢。訪客系統(tǒng)的完整業(yè)務(wù)流程如圖2所示。2 基于mqtt的消息推送技術(shù)簡(jiǎn)介消息推送是指從服務(wù)器端向移動(dòng)終端發(fā)送連接請(qǐng)求,傳輸特定的信息。例如一些新聞客戶(hù)端,每隔一段時(shí)間都會(huì)收到一條或多條通知,這就是從服務(wù)器端傳來(lái)的推送消息。mqtt協(xié)議是ibm開(kāi)發(fā)的一個(gè)即時(shí)通信協(xié)議,該協(xié)議支持所有平臺(tái),可以將所有物聯(lián)網(wǎng)設(shè)備和外部連接起來(lái),被用作傳感器和致動(dòng)器的通信協(xié)議。將其作為消息推送協(xié)議的基本原理是:使用消息代理服務(wù)器(message broker),客戶(hù)端連接上消息代理服務(wù)器,跟

5、服務(wù)器協(xié)商可以接受哪些類(lèi)型的消息,同時(shí)也可以發(fā)布自己的消息,這些消息根據(jù)協(xié)議內(nèi)容可以被其它客戶(hù)端收到?;趍qtt協(xié)議消息收發(fā)流程如圖3所示。3 系統(tǒng)實(shí)現(xiàn)3.1 通知功能的實(shí)現(xiàn)3.1.1 apollo服務(wù)器的安裝和配置想要實(shí)現(xiàn)基于mqtt的消息推送功能,必須先配置message broker服務(wù)器,這里選擇服務(wù)器apollo1.7來(lái)搭建環(huán)境。具體搭建主要分為如下幾步:(1)去官方網(wǎng)站下載最新版的apollo1.7服務(wù)器;(2)運(yùn)行apollo.cmd 創(chuàng)建服務(wù)器實(shí)例;(3)在服務(wù)器實(shí)例的文件夾下配置參數(shù);(4)運(yùn)行apollo-broker.cmd run開(kāi)啟服務(wù)器,在瀏覽器中輸入服務(wù)器的ip

6、地址,即可訪問(wèn)apollo服務(wù)器界面;(5)輸入之前配置好的用戶(hù)名和密碼參數(shù),即可訪問(wèn)apollo console控制臺(tái)。3.1.2 mqtt客戶(hù)端的實(shí)現(xiàn)使用webservice服務(wù)器系統(tǒng)向android端發(fā)送通知,可將其看成兩個(gè)mqtt 客戶(hù)端之間的通信過(guò)程,消息在傳播過(guò)程中經(jīng)過(guò)了message broker服務(wù)器的轉(zhuǎn)發(fā),所以需要在webservice服務(wù)器系統(tǒng)和android端分別配置mqtt客戶(hù)端。兩邊代碼實(shí)現(xiàn)過(guò)程基本一致,都要在工程中導(dǎo)入mqtt-client-0.4.0.jar的類(lèi)庫(kù),然后使用工具類(lèi)實(shí)現(xiàn)mqtt功能。3.2 服務(wù)器功能模塊的實(shí)現(xiàn)webservice服務(wù)器系統(tǒng)的功能模塊

7、主要分為4部分,分別為響應(yīng)終端http服務(wù)請(qǐng)求模塊、訪問(wèn)數(shù)據(jù)庫(kù)模塊、將數(shù)據(jù)轉(zhuǎn)換為json格式的模塊和實(shí)現(xiàn)mqtt功能的模塊。響應(yīng)終端http服務(wù)請(qǐng)求模塊主要通過(guò)繼承和擴(kuò)展java servlet類(lèi)來(lái)實(shí)現(xiàn)。在程序中設(shè)定響應(yīng)http請(qǐng)求的方式,并對(duì)不同的請(qǐng)求參數(shù)設(shè)置不同的操作流程。數(shù)據(jù)轉(zhuǎn)換為json格式模塊,主要對(duì)從數(shù)據(jù)庫(kù)中取得的原始數(shù)據(jù)按照一定格式轉(zhuǎn)換為json格式,以便于在網(wǎng)絡(luò)中傳輸。實(shí)現(xiàn)該功能可以使用json-lib-jdk.jar開(kāi)發(fā)包,其中有對(duì)應(yīng)json數(shù)據(jù)類(lèi)型的各種工具類(lèi),可以簡(jiǎn)化開(kāi)發(fā)過(guò)程。3.3 訪客平臺(tái)的實(shí)現(xiàn)基于.net的訪客管理系統(tǒng)作為整個(gè)系統(tǒng)的主要數(shù)據(jù)來(lái)源和管理平臺(tái),其本身就是

8、一套單獨(dú)的系統(tǒng),因此這里只簡(jiǎn)單介紹與本項(xiàng)目相關(guān)的功能模塊。(1)訪客信息登記功能。該功能主要用來(lái)記錄訪客登記信息,并將這些信息存儲(chǔ)到數(shù)據(jù)庫(kù)中,android終端設(shè)備可以通過(guò)webservice服務(wù)來(lái)間接獲取該數(shù)據(jù)?;?net的訪客管理系統(tǒng)演示界面如圖4所示。(2)發(fā)送訪客來(lái)訪信息功能。該功能通過(guò)webservice服務(wù)器系統(tǒng)發(fā)出請(qǐng)求,用以給受訪人的android客戶(hù)端發(fā)送通知消息,消息中包含了受訪人的id標(biāo)識(shí),客戶(hù)端通過(guò)id標(biāo)識(shí)可以查詢(xún)?cè)撛L客的信息。android終端收到通知信息的界面如圖5所示。 3.4 android客戶(hù)端功能android客戶(hù)端的功能主要分為4個(gè)模塊,即activity

9、模塊、json工具類(lèi)模塊、http工具類(lèi)模塊和mqtt功能模塊。(1)activity是android程序的組件之一,主要用于提供界面。程序中除有view的組件定義外,還有訪問(wèn)數(shù)據(jù)庫(kù)的http響應(yīng)請(qǐng)求操作和mqtt消息推送通知操作,這兩項(xiàng)操作都耗時(shí)較久。新版本的android系統(tǒng)中不允許在主線程中執(zhí)行這種耗時(shí)較久的操作,因此只能新起兩個(gè)線程來(lái)分別執(zhí)行。線程之間需要使用handler進(jìn)行數(shù)據(jù)通信,所以activity中除主線程之外,還有兩個(gè)子線程可同時(shí)進(jìn)行異步操作。activity起始界面和數(shù)據(jù)查詢(xún)后的界面如圖6所示。(2)json工具類(lèi)模塊的主要功能是為對(duì)因webservice服務(wù)器響應(yīng)數(shù)據(jù)請(qǐng)

10、求操作傳遞而來(lái)的json格式數(shù)據(jù)進(jìn)行解析,將json格式數(shù)據(jù)轉(zhuǎn)換為自定義格式的數(shù)據(jù)。同webservice服務(wù)器使用json開(kāi)發(fā)類(lèi)庫(kù)一樣,使用標(biāo)準(zhǔn)的json格式轉(zhuǎn)換功能時(shí)要導(dǎo)入對(duì)應(yīng)的開(kāi)發(fā)包。(3)http工具類(lèi)模塊的主要功能是向webservice服務(wù)器請(qǐng)求http服務(wù),通過(guò)get方式加上不同的參數(shù)形式進(jìn)行對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的查詢(xún)和添加請(qǐng)求。當(dāng)該請(qǐng)求有正確響應(yīng)時(shí),數(shù)據(jù)以字節(jié)流的方式從服務(wù)器傳遞過(guò)來(lái),使用http工具類(lèi)將字節(jié)流轉(zhuǎn)換為數(shù)據(jù),并以接口方式提供給activity調(diào)用。(4)mqtt功能模塊的主要功能與webservice服務(wù)器系統(tǒng)上實(shí)現(xiàn)mqtt客戶(hù)端的功能類(lèi)似,主要用來(lái)接收webservic

11、e服務(wù)器端以mqtt協(xié)議方式發(fā)送的消息,并以android通知消息方式在終端通知欄中顯示。mqtt功能模塊必須另起一個(gè)新線程,該線程通過(guò)handler與activity通信。4 結(jié) 語(yǔ)隨著物聯(lián)網(wǎng)技術(shù)的高速發(fā)展及移動(dòng)終端技術(shù)的廣泛應(yīng)用,人們對(duì)信息傳遞的及時(shí)性要求越來(lái)越高。本文提出的跨平臺(tái)訪客管理系統(tǒng)在充分調(diào)研了各個(gè)領(lǐng)域?qū)τ趤?lái)訪人員管理實(shí)際需求的基礎(chǔ)上,采用基于mqtt的物聯(lián)網(wǎng)通信協(xié)議與android終端開(kāi)發(fā)技術(shù)解決傳統(tǒng)訪客管理系統(tǒng)信息傳遞不及時(shí)的缺陷,用以提高對(duì)來(lái)訪人員的管理效率。參考文獻(xiàn)1 lee s, kim h, hong d, et al. correlation analysis of

12、 mqtt loss and delay according to qos levelc.information networking (icoin).bangkok,2013:714-717.2王楠,宋飛,周華春.一種基于android平臺(tái)的即時(shí)通信方案j.計(jì)算機(jī)應(yīng)用與軟件,2013 ,30(4):107-109,148.3屈赟,陶晡,王克儉,等.基于android的果樹(shù)病蟲(chóng)害信息推送系統(tǒng)的設(shè)計(jì)j.科技通報(bào),2016,32(5):86-90.4楊晴龍,王曉田,陳三,等.基于android平臺(tái)的集成查詢(xún)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)j.物聯(lián)網(wǎng)技術(shù),2016,6(1):73-75.5吉東,崔忠偉,馬虹.基于web的高校團(tuán)委信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)j.物聯(lián)網(wǎng)技術(shù),2016,6(6):112-113.6黃鵬宇.嵌入式停車(chē)場(chǎng)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)d.成都:電子科技大學(xué),2011.7周開(kāi)利,黎娟,劉江豪.基于物聯(lián)網(wǎng)的開(kāi)放實(shí)驗(yàn)室信息管理系統(tǒng)j.物聯(lián)網(wǎng)技術(shù),2014,4(7):85-

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論