• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      室內(nèi)定位系統(tǒng)中即時通訊軟件的設(shè)計①

      2019-08-22 02:31:58俊,
      關(guān)鍵詞:即時通訊客戶端基站

      郭 俊, 杜 華

      (成都理工大學(xué) 工程技術(shù)學(xué)院,樂山 614007)

      1 引言

      隨著社會發(fā)展,人們之間交流學(xué)習(xí)的機(jī)會日漸增多,例如各院校之間的教學(xué)研討會,公司之間的產(chǎn)品交流會等. 在這些環(huán)境下需要即時通訊軟件方便參會人員進(jìn)行交流. 由于大部分參會人員來自不同的地域,相互之間并不了解熟悉,因此要求即時通訊軟件能夠?qū)崿F(xiàn)幾點功能:(1) 能夠在局域網(wǎng)的條件下快速組建臨時討論群; (2) 具有室內(nèi)定位功能,能夠準(zhǔn)確定位各個參會人員的位置坐標(biāo),有利于通過位置查找相關(guān)人員進(jìn)行點對點討論.

      目前國外流行的通訊軟件主要有Skype,WhatsApp等[1]. 這些通信軟件主要功能是實現(xiàn)既有的特定人群的相互交流,使得雙方在交流溝通等方面更加的方便迅速[2]. 但是這種通訊軟件也有不便之處,一方面在臨時聚會或者會議場合,這些軟件不方便迅速組成討論群,另一方面因為QQ微信這些軟件更傾向于好友熟人私密方面的交流,部分人不愿意公開自己的賬號,容易造成交流溝通的障礙.

      室內(nèi)定位技術(shù)主要包括射頻標(biāo)簽,藍(lán)牙,無線WIFI,紅外線定位以及UWB定位等[3]. 根據(jù)文獻(xiàn)[4,5],藍(lán)牙、WIFI、射頻、紅外線等定位技術(shù)的精度都大于1 m,難以滿足系統(tǒng)要求的室內(nèi)人員定位精度. 而UWB定位精度高,大約在0.1~0.3 m[6],很好的滿足了室內(nèi)聊天系統(tǒng)的定位需求.

      2 系統(tǒng)整體設(shè)計

      系統(tǒng)主要分為定位模塊和即時通訊模塊.

      定位模塊采用UWB定位技術(shù),在室內(nèi)(會議室或大禮堂)的周邊設(shè)置若干個定位基站,用以將整個空間劃分為一個坐標(biāo)系,用以獲得標(biāo)簽?zāi)K的具體坐標(biāo)值,將數(shù)據(jù)傳給上位機(jī),達(dá)到定位功能.

      即時通訊模塊包括服務(wù)器模塊和客戶端模塊,客戶端采用android系統(tǒng),實現(xiàn)局域網(wǎng)內(nèi)部的群聊和點對點定位聊天功能. 服務(wù)器響應(yīng)客戶端的請求,獲得客戶端的連接信息.

      整個系統(tǒng)業(yè)務(wù)流程設(shè)計如下:將UWB的標(biāo)簽?zāi)K放置在胸牌內(nèi)部發(fā)給參會人員,參會人員通過局域網(wǎng)使用移動終端下載即時通訊客戶端,掃描掛牌的二維碼使得標(biāo)簽?zāi)K和移動終端形成一對一的關(guān)系. 用戶輸入昵稱通過客戶端連接服務(wù)器,進(jìn)入群聊系統(tǒng); 參會人員也可以通過客戶端查看以自己為坐標(biāo)中心的周圍人員圖形化信息,并通過點擊頭像進(jìn)入兩者點對點聊天界面.

      2.1 系統(tǒng)整體架構(gòu)

      系統(tǒng)整體網(wǎng)絡(luò)架構(gòu)如圖1所示.

      系統(tǒng)設(shè)計應(yīng)用在一長寬為16 m×15 m的能容納的會議廳. 從系統(tǒng)架構(gòu)圖可以看到,該系統(tǒng)主要包含3部分:

      UWB定位模塊:采用UWB定位技術(shù),在室內(nèi)(會議室或大禮堂)的周邊設(shè)置一個定位基站,用以將整個空間劃分為一個厘米級別的坐標(biāo)系,獲得標(biāo)簽?zāi)K的具體坐標(biāo)值,將數(shù)據(jù)傳給上位機(jī)服務(wù)器端,達(dá)到定位功能.

      服務(wù)器端:獲取客戶端的坐標(biāo)信息,實現(xiàn)在線用戶管理; 建立會話連接.

      客戶端:客戶端是與標(biāo)簽節(jié)點綁定在一起的,安裝在參會人員移動設(shè)備上,客戶端程序包含信息發(fā)送和接收功能.

      2.2 UWB定位模塊設(shè)計

      定位系統(tǒng)采用DecaWave公司的實時測距定位功能模塊DWM1000,DWM1000的三個基站節(jié)點就可以對一個標(biāo)簽節(jié)點進(jìn)行精確定位[7,8]. 該模塊理論測距最大為300 m,抗多徑和抗干擾能力強(qiáng),定位精度能夠達(dá)到10 cm[9]. 充分滿足室內(nèi)場合對人員定位的需求. 節(jié)點的MCU采用意法半導(dǎo)體公司的STM32F105RCT6,內(nèi)置了256 K的Flash Rom,DWM1000通過SPI掛載在MCU上[10].

      當(dāng)布置在室內(nèi)環(huán)境中,由于梁柱、隔斷和設(shè)備等會造成信號的衰減,根據(jù)資料,確保定位精度的定位距離按理論值的0.1計算[11],可設(shè)定基站節(jié)點與標(biāo)簽節(jié)點定位最大距離不大于30 m. 在建筑面積為16 m×15 m的室內(nèi)環(huán)境可以在四個角設(shè)置基站節(jié)點.

      對標(biāo)簽的定位測量方法采用基于到達(dá)時間差(TDOA)法,該方法通過接收端接收兩次信號的時間差推導(dǎo)出定位基站與標(biāo)簽的距離,再利用多個基站的數(shù)據(jù)定位出標(biāo)簽節(jié)點的位置,具有很高的定位精度,復(fù)雜度小[12,13].

      3 服務(wù)器端設(shè)計

      服務(wù)器端的主要功能一方面是監(jiān)聽客戶端的連接請求,啟動線程響應(yīng)客戶端的通訊信息,另一方面是作為上位機(jī)周期性的獲得UWB模塊傳遞的坐標(biāo)信息,通過IP與客戶端綁定. 因此服務(wù)器主要包含客戶端登錄信息處理模塊,用戶通信處理模塊和客戶端坐標(biāo)處理模塊.

      3.1 服務(wù)器端工作流程

      (1) 服務(wù)器啟動,監(jiān)聽端口,等待客戶端的接入

      (2) 通過USB接口與某一基站連接,獲得各個基站的基準(zhǔn)坐標(biāo),間隔30 s查詢各個節(jié)點標(biāo)簽的坐標(biāo),以鍵值對形式存入內(nèi)存.

      (3) 接收到客戶端的連接信息后,判斷用戶昵稱在用戶列表是否唯一. 如果不是唯一,提示用戶更換昵稱,否則啟動線程,處理客戶端信息.

      (4) 獲得客戶端掃描二維碼傳遞過來的節(jié)點編號,從節(jié)點列表中根據(jù)編號查詢到節(jié)點的坐標(biāo),與客戶端IP作為鍵值對方式存入Map對象中.

      (5) 接收到客戶端傳遞的顯示附近人員命令時,首先獲得客戶端的坐標(biāo)值,然后查找Map對象中所有節(jié)點的坐標(biāo)值,通過運算找出以客戶端為圓心,以客戶端傳遞的距離參數(shù)為半徑的人員,將用戶昵稱和坐標(biāo)值返回給客戶端.

      (6) 服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)客戶端之間的通信數(shù)據(jù). 根據(jù)收到客戶端數(shù)據(jù)的MessageType類型,將信息進(jìn)行群發(fā)或者遍歷用戶列表將信息轉(zhuǎn)發(fā)給特定用戶.

      3.2 Spring框架中的WebSocket

      服務(wù)器與客戶端通信采用WebSocket協(xié)議,這個協(xié)議是在HTTP協(xié)議的基礎(chǔ)上用于服務(wù)器和客戶端之間進(jìn)行雙向數(shù)據(jù)傳輸?shù)囊环N技術(shù),使服務(wù)器端和客戶端直接間能夠進(jìn)行全雙工的雙向通信,可以取代傳統(tǒng)的輪詢技術(shù),用以提高數(shù)據(jù)的穩(wěn)定性和降低服務(wù)器壓力.

      目前主流的Web服務(wù)器都提供了WebSocket的支持,系統(tǒng)在這里采用的是Spring WebSocket框架. 該框架包含三個接口和抽象類:

      WebSocketConfigurer接口作用是添加攔截URL地址以及相應(yīng)的WebSocket消息處理器,完成對WebSocket的配置.

      HttpSessionHandshakeInterceptor接口起到攔截器作用,主要進(jìn)行服務(wù)器和客戶端握手前后的一些處理.

      WebSocketHandler抽象類主要是用來處理消息的接收和發(fā)送. 這個接口中有3個較為重要的方法.

      其中handleTextMessage(WebSocketSession session,TextMessage message)方法處理客戶端發(fā)送的信息,當(dāng)客戶端調(diào)用websocket.send()發(fā)送消息時,會觸發(fā)該方法. sendMessageToUser()完成對單個用戶信息發(fā)送,sendMessageToUsers(TextMessage message)方法完成消息的群發(fā).

      4 Android客戶端設(shè)計

      用戶通過Android平臺的客戶端實現(xiàn)與服務(wù)器間的數(shù)據(jù)交換和其他用戶的交互. 客戶端的主要功能有用戶登錄,用戶群聊,顯示附近用戶以及私聊功能等.

      4.1 客戶端工作流程

      (1) 啟動客戶端,連接局域網(wǎng)內(nèi)的服務(wù)器. 進(jìn)入登錄界面,用戶輸入自己的昵稱,進(jìn)行登錄.

      (2) 服務(wù)器判斷用戶昵稱是否當(dāng)前群聊里面的唯一值,如果不是,提示用戶更換昵稱,否則確認(rèn)用戶登錄.

      (3) 用戶登陸后,掃描胸牌的二維碼,獲得UWB模塊的id值,將它發(fā)送給服務(wù)器. 服務(wù)器將UWB的id與客戶端的IP進(jìn)行綁定. 服務(wù)器周期性的通過定位模塊獲得當(dāng)前用戶的坐標(biāo)XY值.

      (4) 用戶使用客戶端在群聊中進(jìn)行信息的接收與發(fā)送.

      (5) 客戶端提供“附近”界面功能,服務(wù)器根據(jù)當(dāng)前各個UWB標(biāo)簽的XY坐標(biāo)以地圖的方式顯示客戶端周邊若干米范圍其他用戶的昵稱和頭像.

      (6) 用戶點擊鄰近用戶頭像進(jìn)入私密聊天界面.

      (7) 點擊退出按鈕,用戶斷開服務(wù)器連接,服務(wù)器同時清除該用戶的聊天信息和定位坐標(biāo).

      4.2 OKHttp框架

      OKHttp框架是Android中處理網(wǎng)絡(luò)請求的輕量級開源框架. OKHttp在3.0版本中已經(jīng)對WebSocket協(xié)議提供了支持.

      使用OKHttp提供的WebSocket,一方面是通過OkHttpClient的newWebSocket方法建立客服端與服務(wù)端之間的連接,一方面需要創(chuàng)建一個Listener監(jiān)聽類來繼承WebSocketListener類,Listener監(jiān)聽類用于客戶端與服務(wù)端之間的異步通知. Listener類覆蓋父類的onOpen,onMessage以及onClosing方法.

      onOpen方法實在客戶端與服務(wù)端建立連接時的回調(diào),可以通過WebSocket的send方法向服務(wù)端發(fā)送消息; onMessage方法獲取服務(wù)端發(fā)送過來的消息,這里有兩個重載方法,用以獲得字符串信息或者二進(jìn)制數(shù)據(jù); onClosing方法表示服務(wù)端不再發(fā)送數(shù)據(jù)給客戶端時的回調(diào),準(zhǔn)備關(guān)閉連接.

      5 定位實驗

      UWB定位系統(tǒng)有許多誤差來源,主要是多路徑和非視距環(huán)境下的障礙物阻擋影響,在16 m×15 m的室內(nèi)環(huán)境中,固定了4個基站錨節(jié)點,選取錨節(jié)點1作為坐標(biāo)原點,對標(biāo)簽節(jié)點的坐標(biāo)進(jìn)行誤差測量. 測量環(huán)境分為兩種,首先是在室內(nèi)隨機(jī)位置固定10名人員作為障礙物,對標(biāo)簽節(jié)點的7個位置進(jìn)行測量,取XY坐標(biāo)中誤差最大值,測試結(jié)果如表1所示. 其次是障礙物人數(shù)增加至30名,對標(biāo)簽節(jié)點的7個位置再次進(jìn)行測量,測試結(jié)果如表2所示. 經(jīng)結(jié)果分析,當(dāng)障礙物數(shù)量增加時,標(biāo)簽節(jié)點的定位誤差普遍增大,誤差均值由14.4 cm顯著增加到25.8 cm,說明人群或者環(huán)境遮擋對UWB定位有一定的影響; 測試坐標(biāo)中最大誤差為29 cm,誤差均值在26 cm以內(nèi),能夠滿足即時通訊系統(tǒng)室內(nèi)定位系統(tǒng)需求.

      表1 室內(nèi)10個障礙物定位實驗

      表2 室內(nèi)30個障礙物定位實驗

      6 總結(jié)

      即時通訊系統(tǒng)采用局域網(wǎng)模式,服務(wù)器與客戶端手機(jī)在同一局域網(wǎng)內(nèi),將室內(nèi)環(huán)境網(wǎng)格圖導(dǎo)入Android設(shè)備中,系統(tǒng)能夠?qū)崿F(xiàn)文本、圖像及語音的通信功能,并能通過軟件定位界面顯示定位標(biāo)簽實時位置. 圖2是客戶端查找附近聊天人員的全局界面以及手勢放大后的界面.

      圖2 客戶端“附近”界面

      本文介紹了采用室內(nèi)定位技術(shù)的即時通訊軟件的設(shè)計與實現(xiàn),研究了UWB模塊定位系統(tǒng),采用TDOA算法進(jìn)行標(biāo)簽定位; 設(shè)計了即時通訊系統(tǒng)模塊設(shè)計,其中服務(wù)器采用Spring框架集成的WebSocket協(xié)議,使得服務(wù)器端開發(fā)較為輕便,簡單,減輕系統(tǒng)資源消耗;Android客戶端應(yīng)用了對WebSocket協(xié)議支持的OK Http框架. 系統(tǒng)設(shè)計與應(yīng)用簡單,完成了客戶端室內(nèi)定位,客戶端之間的文本、圖像等信息交流,可以應(yīng)用在各類型會議、聚會等場所,加強(qiáng)用戶之間的交流,具有廣闊的應(yīng)用前景.

      在室內(nèi)障礙物較多時的定位精度的提高,以及即時通訊系統(tǒng)的信息傳遞的多樣化,如視頻等是下一步研究的方向.

      猜你喜歡
      即時通訊客戶端基站
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      民事訴訟中即時通訊記錄的證據(jù)采用進(jìn)路
      可惡的“偽基站”
      即時通訊軟件發(fā)展模型的實證研究
      東方教育(2016年19期)2017-01-16 12:34:53
      基于GSM基站ID的高速公路路徑識別系統(tǒng)
      科學(xué)技術(shù)哲學(xué)視域下的即時通訊
      科技傳播(2015年14期)2015-12-13 04:20:18
      即時通訊軟件WhatsApp
      CHIP新電腦(2015年10期)2015-10-15 18:03:55
      小基站助力“提速降費”
      移動通信(2015年17期)2015-08-24 08:13:10
      南木林县| 古田县| 龙山县| 福鼎市| 桐乡市| 大新县| 扬中市| 青河县| 长顺县| 区。| 邹平县| 红桥区| 镇巴县| 渭南市| 鄂托克前旗| 平南县| 桐乡市| 衡南县| 芜湖县| 尼勒克县| 尉氏县| 乌兰浩特市| 叙永县| 拜城县| 凌云县| 万荣县| 东丰县| 文山县| 宜城市| 松阳县| 丹东市| 抚宁县| 开平市| 洪湖市| 洪江市| 若尔盖县| 伊通| 呼图壁县| 保德县| 卢湾区| 北票市|