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

?

基于Android平臺(tái)的個(gè)人GPS定位報(bào)警系統(tǒng)的設(shè)計(jì)與開發(fā)

2018-03-02 07:29:55高偲程馬廣焜劉智宇
關(guān)鍵詞:高德客戶端報(bào)警

高偲程, 馬廣焜, 李 想, 劉智宇

(沈陽工業(yè)大學(xué) 軟件學(xué)院, 沈陽 110023)

引言

對于突發(fā)事件及不法侵害,很多人由于不能得到及時(shí)救助而遇險(xiǎn)[1]。對于事故者來說,能得到及時(shí)的救護(hù)是首要條件。如果對事故者進(jìn)行準(zhǔn)確定位,并發(fā)出位置信息至指定的移動(dòng)智能通訊設(shè)備就可以大大減輕事故所造成的危害??梢酝ㄟ^GPS進(jìn)行地理位置定位。然而國內(nèi)研發(fā)的大部分GPS產(chǎn)品都局限于車載導(dǎo)航產(chǎn)品,面向大眾的手持GPS報(bào)警產(chǎn)品并不多見。個(gè)人GPS定位報(bào)警系統(tǒng)以其體積小、便于攜帶、價(jià)格低廉、獨(dú)立使用等優(yōu)點(diǎn)將成為重點(diǎn)研究方向之一。本系統(tǒng)通過GPS模塊獲取移動(dòng)端的位置信息,并使用移動(dòng)網(wǎng)絡(luò)上傳至云服務(wù)器,服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端,客戶端解析數(shù)據(jù)并在地圖上顯示移動(dòng)端的位置。當(dāng)發(fā)生緊急情況時(shí)可以做到一鍵報(bào)警,防止人身財(cái)產(chǎn)受到侵害。

1 國內(nèi)外發(fā)展情況

目前常見的定位技術(shù)主要有GPS衛(wèi)星定位、藍(lán)牙定位和WiFi信號定位技術(shù)。

GPS[2]是由美國在上世紀(jì)70年代首倡研制,并發(fā)展至今,尤其是近幾年來,GPS在商業(yè)領(lǐng)域的發(fā)展勢頭堪稱強(qiáng)勁。以GPS為代表的應(yīng)用產(chǎn)品、新產(chǎn)品,迅速地進(jìn)入日常工作、生活和娛樂中。對于定位報(bào)警,國外在公共報(bào)警系統(tǒng)中已斬獲較為先進(jìn)的開發(fā)和應(yīng)用。1997年6月美國聯(lián)邦通信委員會(huì)(FCC)通過了一項(xiàng)法令來強(qiáng)制推行911無線服務(wù)(E911)[3]。目前,E911報(bào)警的方式還是以語音為主,未來幾年將實(shí)現(xiàn)短信、視頻等報(bào)警方式。

隨著各大手機(jī)陸續(xù)加入對藍(lán)牙4.0標(biāo)準(zhǔn)在軟硬件上的支持隊(duì)列,霍丙乾等人研發(fā)設(shè)計(jì)了一種基于藍(lán)牙4.0模塊的電子防丟器[4]。該防丟器由母機(jī)和子機(jī)構(gòu)成,子機(jī)為內(nèi)置藍(lán)牙4.0模塊防丟物,母機(jī)為內(nèi)置藍(lán)牙4.0的Android智能手機(jī)。當(dāng)子母機(jī)超過預(yù)定的距離時(shí),發(fā)出報(bào)警。該系統(tǒng)有距離的局限性,雖然可以報(bào)警卻不能做到實(shí)時(shí)跟蹤位置信息。

隨著智能終端設(shè)備的普及應(yīng)用和WiFi信號的覆蓋范圍日益擴(kuò)大,趙萌等人重點(diǎn)研發(fā)了一種基于Android操作系統(tǒng)、WiFi以及GPS等技術(shù)為核心的GPS導(dǎo)航應(yīng)用系統(tǒng)[5]。借助該系統(tǒng),基于Android系統(tǒng)的移動(dòng)終端可方便地查詢自身位置,并獲取各種基于位置的服務(wù)。但是該系統(tǒng)僅限于通過Android手機(jī)獲取實(shí)時(shí)位置的信息。

本文提出的基于Android平臺(tái)的個(gè)人GPS定位報(bào)警系統(tǒng)是GPS定位與實(shí)時(shí)報(bào)警相結(jié)合,相比于傳統(tǒng)的單一定位或報(bào)警裝置,具有及時(shí)性、隱蔽性、大眾性、易攜帶、范圍廣等優(yōu)點(diǎn)。

2 系統(tǒng)功能設(shè)計(jì)

本系統(tǒng)的研究將圍繞2個(gè)方面展開,分別是:硬件平臺(tái)的設(shè)計(jì)與軟件App的開發(fā)。具體來說,在硬件平臺(tái)上主要包括控制單元模塊、GPS信號接收模塊、位置信息發(fā)送模塊和報(bào)警模塊。軟件部分包括位置信息轉(zhuǎn)發(fā)模塊、位置信息接收模塊、定位模塊。本次研發(fā)系統(tǒng)的功能架構(gòu)設(shè)計(jì)如圖1所示。

圖1 系統(tǒng)功能圖Fig. 1 System function diagram

2.1 系統(tǒng)硬件平臺(tái)

考慮到GPS模塊只能提供定位的數(shù)字信息,而不能直接傳送到服務(wù)器,因此就需要使用單片機(jī)對GPS模塊的數(shù)據(jù)進(jìn)行接收,通過GSM網(wǎng)絡(luò)將數(shù)據(jù)發(fā)送到服務(wù)器。本次研究針對硬件平臺(tái)的功能設(shè)計(jì)內(nèi)容可闡釋解析如下。

(1)控制單元模塊。嵌入式系統(tǒng)作為控制單元,統(tǒng)籌管理終端的整個(gè)運(yùn)作,以單片機(jī)為核心,用于協(xié)調(diào)和控制模塊各個(gè)功能單元,主要實(shí)現(xiàn)監(jiān)控中心指令并相應(yīng)獲取坐標(biāo)信息,發(fā)送坐標(biāo)數(shù)據(jù)等功能。

(2)GPS信號處理單元。通過GPS模塊實(shí)時(shí)獲取使用者地理位置信息,并進(jìn)行壓縮處理以方便傳輸。

(3)位置信息傳輸單元。通過訪問服務(wù)器地址,將坐標(biāo)數(shù)據(jù)實(shí)時(shí)上傳到中轉(zhuǎn)服務(wù)器上。

(4)報(bào)警單元。個(gè)人GPS定位報(bào)警系統(tǒng)是通過GSM系統(tǒng)下的Sim模塊以短信息形式將求救短信傳送到指定手機(jī)號碼。

2.2 系統(tǒng)軟件部分

系統(tǒng)的軟件部分主要研究內(nèi)容可分述如下。

(1)位置信息轉(zhuǎn)發(fā)模塊。服務(wù)器把從硬件部分獲取的數(shù)據(jù)轉(zhuǎn)發(fā)給客戶端程序。

(2)位置信息接收模塊。不斷從服務(wù)器上讀取數(shù)據(jù),并引入邏輯解析,提取經(jīng)緯度等地理位置信息發(fā)送給定位模塊。

(3)定位模塊。把獲取的經(jīng)緯度信息在地圖上進(jìn)行匹配并根據(jù)位置信息的變化,不斷刷新匹配結(jié)果,達(dá)到實(shí)時(shí)追蹤的效果。

3 系統(tǒng)框架結(jié)構(gòu)設(shè)計(jì)

本系統(tǒng)設(shè)計(jì)上主要分為移動(dòng)端、服務(wù)器端和客戶端。其中,移動(dòng)端由GPS模塊、單片機(jī)和GSM模塊組成;服務(wù)器端由中轉(zhuǎn)服務(wù)器組成;客戶端由GSM模塊、高德地圖API和手機(jī)APP組成,如圖2所示。

圖2 基于Android系統(tǒng)的個(gè)人GPS定位報(bào)警示意圖

Fig.2PersonalGPSpositioningalarmdiagrambasedonAndroidsystem

移動(dòng)端使用GPS模塊進(jìn)行定位,將GPS模塊采集到的數(shù)據(jù)通過GSM網(wǎng)絡(luò)上傳到云服務(wù)器,并開發(fā)Android客戶端的程序?qū)υ品?wù)器轉(zhuǎn)發(fā)的用戶位置信息實(shí)現(xiàn)接收,再將接收到的數(shù)據(jù)在地圖上進(jìn)行匹配。同時(shí),當(dāng)移動(dòng)端用戶發(fā)出報(bào)警信息時(shí),客戶端用戶可以接收短信并展開定位追蹤。

移動(dòng)端通過GPS定位獲取用戶的實(shí)時(shí)位置信息,將其傳輸?shù)娇刂茊卧M(jìn)行分析處理,再通過GSM網(wǎng)絡(luò)上傳到中轉(zhuǎn)服務(wù)器,與此同時(shí)使用GSM模塊中的SIM卡,向預(yù)留手機(jī)號發(fā)送求救短信實(shí)現(xiàn)報(bào)警功能??蛻舳瞬糠滞ㄟ^訪問中轉(zhuǎn)服務(wù)器并不斷刷新獲取終端實(shí)時(shí)位置信息,將其反饋到手機(jī)終端App的地圖中,實(shí)現(xiàn)實(shí)時(shí)追蹤定位功能。研究中,針對系統(tǒng)結(jié)構(gòu)功能設(shè)計(jì)可詳述如下。

(1)移動(dòng)端利用基于Wiring的Arduino編程語言在結(jié)合了Processing的Arduino開發(fā)環(huán)境中來設(shè)計(jì)生成[6-7]。

單片機(jī)采用的是Arduino的Mega 2560單片機(jī)。Arduino Mega 2560是采用USB接口的核心電路板,具有54路數(shù)字輸入/輸出,適合需要大量I/O接口的研究設(shè)計(jì)。概括來說,其優(yōu)點(diǎn)是簡單易學(xué),適合初步接觸的單片機(jī)使用者,并且有多端I/O接口,適合本系統(tǒng)的GPS/GPRS模塊的接入[8]。

(2)服務(wù)器為租用的騰訊云服務(wù)器,服務(wù)器程序是以C#語言為基礎(chǔ)進(jìn)行開發(fā)的,通過Socket套接字實(shí)現(xiàn)與移動(dòng)端的實(shí)時(shí)通訊和信息交流。服務(wù)器的后臺(tái)程序接收到移動(dòng)端數(shù)據(jù)后,將其存入數(shù)據(jù)庫供客戶端調(diào)用,當(dāng)客戶端發(fā)出訪問請求時(shí),便將對應(yīng)的數(shù)據(jù)信息發(fā)送給客戶端。

(3)客戶端開發(fā)了手機(jī)APP應(yīng)用程序,主要利用Java語言在Android Studio環(huán)境平臺(tái)上進(jìn)行編程。當(dāng)監(jiān)護(hù)人收到報(bào)警短信后,打開客戶端,客戶端的位置信息模塊可以自行連接高德地圖的API接口[9],通過高德地圖的API設(shè)備應(yīng)用程序端口,用戶可以訪問高德地圖的服務(wù)和數(shù)據(jù),向服務(wù)器發(fā)送位置信息訪問請求,接收到所請求的信息后,轉(zhuǎn)入數(shù)據(jù)解析,提取經(jīng)緯度信息,并將其在地圖上進(jìn)行標(biāo)記。

4 系統(tǒng)關(guān)鍵研究設(shè)計(jì)

系統(tǒng)在開發(fā)過程中關(guān)于其重點(diǎn)關(guān)鍵問題,可給出如下研究論述。

4.1 GPS信號處理

GPS模塊可提供定位功能,通過與單片機(jī)相連可發(fā)送位置坐標(biāo)信息。

當(dāng)移動(dòng)端啟動(dòng)定位時(shí),GPS模塊開始接收信號。首先打開串口讀取GPS數(shù)據(jù)判斷是否收到$GPGGA(GPS數(shù)據(jù)輸出格式語句),如果未收到,則繼續(xù)讀取GPS數(shù)據(jù);收到,則讀取GGA字符串并截取位置信息。然后對GPS獲取到的信息進(jìn)行解析,通過switch語句分別獲取當(dāng)前位置的緯度信息和經(jīng)度信息。最后運(yùn)用AT指令代碼將數(shù)據(jù)上傳到服務(wù)器。

4.2 報(bào)警設(shè)計(jì)

個(gè)人GPS定位報(bào)警系統(tǒng)是通過短信息形式將位置信息傳送到手機(jī)指定號碼的接收人。短信息在移動(dòng)終端之間的傳送主要是基于GSM網(wǎng)絡(luò)發(fā)布的Sim短信息服務(wù)。具體是由單片機(jī)根據(jù)發(fā)送短消息的特定步驟,采用AT命令控制GSM模塊發(fā)送短消息,是系統(tǒng)設(shè)計(jì)中至關(guān)重要的內(nèi)容之一。

處理器通過向串口發(fā)送接收AT命令與GSM模塊形成通信回路,通過AT命令實(shí)現(xiàn)對GSM模塊的基本操作,AT命令發(fā)送短信時(shí)可使用文本模式和協(xié)議數(shù)據(jù)單元模式(PDU,protocol data unit)[10]。大多手機(jī)不支持文本模式,只支持PDU模式。PDU模式是把短信正文經(jīng)十六進(jìn)制編碼后提交傳送,定制編碼分為3個(gè)部分:服務(wù)中心號、接收方手機(jī)號、短信內(nèi)容。

4.3 位置信息傳輸

在GPS獲取用戶的經(jīng)緯度坐標(biāo)之后,將數(shù)據(jù)打包封裝,上傳至服務(wù)器,以方便客戶端的繼續(xù)訪問。

通訊程序在接收到發(fā)送的指令后,先創(chuàng)建Socket對象,再通過bind()函數(shù)將ipv6地址和端口號組合賦予Socket對象,進(jìn)行通信地址和指定端口的綁定,通過listen()、connect()函數(shù)對服務(wù)器進(jìn)行監(jiān)聽和連接,用accept()函數(shù)接收服務(wù)請求。在服務(wù)器端依次調(diào)用socket()、bind()、listen()之后,就會(huì)監(jiān)聽指定的Socket地址。客戶端循序調(diào)用socket()、connect()后就向服務(wù)器發(fā)送了一個(gè)連接請求。服務(wù)器監(jiān)聽到這個(gè)請求之后,將會(huì)調(diào)用accept()函數(shù)獲取接收請求,成功建立連接。

服務(wù)器的后臺(tái)程序接收到移動(dòng)端數(shù)據(jù)后,將其存入數(shù)據(jù)庫供客戶端調(diào)用,當(dāng)客戶端發(fā)出訪問請求時(shí),便將對應(yīng)的數(shù)據(jù)信息發(fā)送給客戶端。

4.4 位置信息接收并追蹤

在服務(wù)器方面,當(dāng)移動(dòng)設(shè)備的網(wǎng)絡(luò)初次訪問時(shí),會(huì)將自己的位置信息上傳到服務(wù)器端。當(dāng)收到求救短信、且用戶啟動(dòng)APP設(shè)備后,會(huì)獲取服務(wù)器中已經(jīng)由移動(dòng)設(shè)備上傳的位置信息,并且由高德地圖API得到該方位指示下的地理位置信息。在初次訪問后,移動(dòng)設(shè)備會(huì)不斷地向服務(wù)器發(fā)送位置數(shù)據(jù),這樣用戶便可以獲取實(shí)時(shí)的位置信息,達(dá)到實(shí)時(shí)追蹤的目的。

客戶端通過socket通信方法與服務(wù)器端相連接,定義BufferedReader緩沖區(qū)對象來接收服務(wù)器轉(zhuǎn)發(fā)的消息,再從BufferedReader緩沖區(qū)中的數(shù)據(jù)提取出經(jīng)緯度信息,調(diào)用onLocationChanged函數(shù)進(jìn)行定位,同時(shí)標(biāo)識顯示在地圖上。

在啟動(dòng)客戶端后,客戶端會(huì)通過不斷訪問中轉(zhuǎn)服務(wù)器,獲取中轉(zhuǎn)服務(wù)器的地理位置坐標(biāo)信息,更新用戶的位置信息并反饋到客戶端地圖上,以達(dá)到實(shí)時(shí)追蹤的要求。

4.5 位置地圖獲取

在調(diào)用服務(wù)器中的位置信息數(shù)據(jù)后,客戶端的位置信息模塊會(huì)自行調(diào)用已連接高德地圖的API接口,通過高德地圖API設(shè)備應(yīng)用程序端口下的Amap類,用戶可以訪問高德地圖的服務(wù)和數(shù)據(jù);通過使用AMapLocation Listener接口下的LocationManager函數(shù)設(shè)置監(jiān)聽并進(jìn)行初始化定位;使用AMapLocationListener接口下的onLocationChanged()方法,通過aMapLocation下的函數(shù)獲取定位的經(jīng)緯度、國家、省、城市、地區(qū)、街道等信息,最后獲取定位結(jié)果并顯示到地圖上。

如果使用高德地圖API中提供GPS和網(wǎng)絡(luò)定位,必須注冊GPS和網(wǎng)絡(luò)使用權(quán)限。在獲取用戶位置時(shí),優(yōu)先使用GPS進(jìn)行定位;如果GPS定位沒有打開或者沒有可用位置信息,則判斷是否通過網(wǎng)絡(luò)(基站和WiFi)鏈接,如果判斷結(jié)果為“是”,高德地圖會(huì)根據(jù)手機(jī)所在環(huán)境選擇WiFi或者基站獲取用戶當(dāng)前位置。在程序中打開相關(guān)權(quán)限后,將MyLocationOverlay實(shí)例添加到MapView中,并調(diào)用enableMyLocation()方法,即可實(shí)現(xiàn)當(dāng)前位置的顯示。

5 結(jié)束語

基于Android平臺(tái)的個(gè)人GPS報(bào)警系統(tǒng)具有及時(shí)性,對于突發(fā)性事故或疾病,可以做到快捷、有效地傳送報(bào)警人的地理位置信息,使其在最短時(shí)間內(nèi)得到應(yīng)有的救治和幫助;同時(shí)擁有隱蔽性,對于不法犯罪可以做到既能保護(hù)報(bào)案人及周邊人員的人身與財(cái)產(chǎn)安全,又能達(dá)到在不驚動(dòng)涉案人的情況下,出奇不意地懲治犯罪的目的。該款軟件表現(xiàn)出廣闊的發(fā)展前景與性能優(yōu)點(diǎn)。隨著社會(huì)發(fā)展和科技進(jìn)步,任何智能手機(jī)設(shè)備只要安裝了Android系統(tǒng)就可以選擇添加這個(gè)程序。研究表明,該系統(tǒng)可廣泛應(yīng)用于火災(zāi)、搶劫、迷路、車禍、失蹤、急性疾病等諸多方面。

[1] 張麗,黃國青. 基于Arduino/Android的智能防火防盜報(bào)警系統(tǒng)設(shè)計(jì)[J]. 天津理工大學(xué)學(xué)報(bào),2015,31(4):18-22.

[2] 吳曉平. 異軍突起的多方位、高精度空間大地測量技術(shù)—美國全球定位系統(tǒng)(GPS)研究進(jìn)展[J]. 地殼形變與地震,1990,10(1):42-45.

[3] 杜武恭,杜惠英. 安全監(jiān)護(hù)場景下的高效定位報(bào)警策略研究[J]. 互聯(lián)網(wǎng)天地,2015(6):42-45.

[4] 霍丙乾,羅濤,李劍峰. 基于藍(lán)牙4.0的防丟系統(tǒng)的研究與設(shè)計(jì)[J]. 軟件,2014,35(9):94-97.

[5] 趙萌,崔剛. 基于WiFi的Android移動(dòng)設(shè)備導(dǎo)航系統(tǒng)的設(shè)計(jì)開發(fā)[J]. 智能計(jì)算機(jī)與應(yīng)用,2013,3(3):60-63,68.

[6] 袁本華,董錚. 基于Arduino控制板的溫室大棚測溫系統(tǒng)設(shè)計(jì)[J]. 安徽農(nóng)業(yè)科學(xué),2012,40(8):5049-5050.

[7] 陳呂洲. Arduino程序設(shè)計(jì)基礎(chǔ) [M]. 北京:北京航空航天大學(xué)出版社,2014.

[8] 劉斌. 單片機(jī)與PLC之間的串行通信實(shí)現(xiàn)[J]. 現(xiàn)代制造技術(shù)與裝備,2017(10):112-113.

[9] 向玉云,高爽,陳云紅,等. 百度、高德及Google地圖API比較研究[J]. 軟件導(dǎo)刊,2017,16(9):19-21,25.

[10]呂國策. SIM300C模塊的硬件電路設(shè)計(jì)及短信控制方式研究[J]. 科技資訊,2017,15(25):9,11.

猜你喜歡
高德客戶端報(bào)警
江蘇高德液壓機(jī)械有限公司
資源再生(2019年3期)2019-04-29 03:44:34
江蘇高德液壓機(jī)械有限公司
資源再生(2019年1期)2019-03-04 01:57:02
LKD2-HS型列控中心驅(qū)采不一致報(bào)警處理
縣級臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
2015款奔馳E180車安全氣囊報(bào)警
死于密室的租住者
高德貿(mào)易有限公司
西部皮革(2015年22期)2015-02-28 18:15:17
奔馳E260車安全氣囊報(bào)警
正定县| 张掖市| 若羌县| 贺兰县| 株洲县| 宝坻区| 兴义市| 安泽县| 桂林市| 奎屯市| 榆社县| 濮阳市| 噶尔县| 曲麻莱县| 杭锦旗| 汉沽区| 阿克苏市| 建平县| 萝北县| 齐河县| 漳浦县| 龙井市| 寻乌县| 徐州市| 阿勒泰市| 萨迦县| 泰和县| 神池县| 太保市| 上栗县| 文成县| 盈江县| 二连浩特市| 互助| 临清市| 惠水县| 柳林县| 嵊泗县| 汾阳市| 卢龙县| 特克斯县|