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

?

基于智能手機(jī)的校園巴士運行位置實時共享系統(tǒng)①

2018-04-21 01:37:22楊博雄陳希同周佳鑫
關(guān)鍵詞:電瓶車巴士服務(wù)器

楊博雄, 黃 靜, 陳希同, 周佳鑫

(北京師范大學(xué)珠海分校 信息技術(shù)學(xué)院,珠海 519087)

1 引言

當(dāng)前很多學(xué)校的校園內(nèi)部已經(jīng)采用電瓶車等新能源汽車來作為公共的交通工具為教師和學(xué)生提供交通便利. 但是在某些時段,比如臨收班前或者高峰期,學(xué)生或者教師需要及時知道校園巴士(BUS)的剩余車次以及等待時間. 很顯然,很多學(xué)校并不能如城市中公交車上的實時監(jiān)控系統(tǒng)那樣使用車載GPS/COMPASS監(jiān)控系統(tǒng)來滿足這一需求. 因為對于學(xué)校內(nèi)部公共交通這種應(yīng)用場景,這樣的實施方案部署成本高,運營的費用也高,而且使用起來并不靈活和方便.

本文采用校園巴士的司機(jī)自身所攜帶的智能手機(jī)作為采集終端,通過手機(jī)APP采集司機(jī)的經(jīng)緯度位置信息,以此作為該臺校園巴士的位置信息,利用移動互聯(lián)網(wǎng)將該位置信息傳遞給后臺. 后臺則借助于地圖服務(wù)器,根據(jù)不同司機(jī)手機(jī)所傳遞過來的位置信息以Web的方式呈現(xiàn)給用戶. 學(xué)生或者教師只需要掃描一個二維碼就可以鏈接到共享的服務(wù)平臺上,進(jìn)而可以方便地得到校園巴士的實時運行軌跡和在軌運行車次.本系統(tǒng)直接使用司機(jī)的智能手機(jī)作為校園巴士的位置采集終端,省卻了購買專門的獲取巴士位置數(shù)據(jù)的智能終端設(shè)備的費用,同時可以利用學(xué)校的Wi-Fi網(wǎng)絡(luò)節(jié)省移動通信流量,具有成本低、部署快、使用方便、維護(hù)簡單等優(yōu)點.

2 系統(tǒng)架構(gòu)

本系統(tǒng)主要分為3個部分,分別是采集端、服務(wù)器、服務(wù)端,如圖1所示.

圖1 系統(tǒng)模型

采集端主要是指校園巴士司機(jī)的智能手機(jī),采集端的實現(xiàn)流程如圖2所示. 用戶在登錄界面輸入賬號密碼,驗證通過后先加載用戶所在位置的地圖,接著啟用手機(jī)定位功能,在經(jīng)緯度信息后,把地理位置信息傳輸?shù)皆贫朔?wù)器,服務(wù)器會處理信息并將位置信息存入數(shù)據(jù)庫,采集端則根據(jù)位置信息在電子地圖上把電瓶車實時位置標(biāo)注出來,之后每隔5 s獲取一次位置信息并執(zhí)行更新傳輸和標(biāo)注操作.

當(dāng)采集端以指定域名向服務(wù)器訪問接口,首先得進(jìn)行域名解析,向域名服務(wù)器DNS詢問域名所對應(yīng)的IP地址如果找到了就發(fā)送信號,若狀態(tài)碼為200則請求成功. 域名所在的服務(wù)器會根據(jù)請求的端口號將請求送到監(jiān)聽該端口的服務(wù)器程序. 如果有對應(yīng)程序,則將該位置坐標(biāo)存儲在數(shù)據(jù)庫中.

當(dāng)用戶打開服務(wù)端界面時,服務(wù)器就將用戶的請求以Web方式呈現(xiàn),把所有電瓶車的當(dāng)前所在位置完整地顯示在電子地圖上,如圖3所示.

圖2 采集端的流程圖

圖3 顯示端界面

3 位置信息的獲取與地圖的顯示

3.1 位置信息的獲取

校園巴士的位置信息獲取依賴于巴士司機(jī)所攜帶的智能手機(jī),通過HTML5可以方便地獲取該手機(jī)的經(jīng)緯度等位置信息[1].

在調(diào)用手機(jī)位置信息之前需要進(jìn)行一些參數(shù)設(shè)置,如圖4所示.

圖4 獲取手機(jī)位置信息的參數(shù)設(shè)置

enableHighAccuracy是很關(guān)鍵的屬性,表示是否使用高精度定位,若選擇false,系統(tǒng)將無法調(diào)用GPS定位,而改用IP定位或者基站定位,其地理位置誤差可達(dá)200 m-500 m,嚴(yán)重影響使用,所以應(yīng)該使用true,控制位置誤差在10 m以內(nèi).

showCircle屬性為false時,表明不顯示定位結(jié)果的范圍圓.

showMarker屬性為false時,因為本系統(tǒng)將使用自己設(shè)置的標(biāo)記,所以不顯示原本的定位結(jié)果標(biāo)記.

showButton屬性為false時,為不在地圖上一個點擊后可以顯示觸發(fā)定位的圖標(biāo),本系統(tǒng)不采用觸發(fā)方式,而使用定時自動觸發(fā)定位.

Timeout屬性為設(shè)置定位超時,本系統(tǒng)設(shè)置為5 s,當(dāng)5 s還不能獲得當(dāng)前位置時,將會返回定位失敗的狀態(tài).

zoomToAccuracy屬性為設(shè)定系統(tǒng)定位成功后調(diào)整地圖視野范圍使定位位置及精度范圍在視野內(nèi)可見[2].

在設(shè)置好定位的相關(guān)參數(shù)后即可通過getCurrentPosition定位函數(shù)接口實現(xiàn)定位技術(shù),如圖5所示.

圖5 調(diào)用定位方法

Geolocation permission denied 提示用戶關(guān)閉了瀏覽器或者APP的定位權(quán)限或者沒打開手機(jī)的定位服務(wù),或者當(dāng)前頁面為非安全頁面,iOS10或者Chrome等會禁止非安全頁面的定位請求. 如果網(wǎng)頁所處的域名還不支持HTTPS應(yīng)該盡快升級,安全頁面指的是支持HTTPS的Web站點,而且是通過https協(xié)議打開的頁面.

在完成這個函數(shù)后將會根據(jù)定位獲取的狀態(tài)值進(jìn)行下一步操作,若定位失敗就會轉(zhuǎn)為城市定位,把地圖中心定在手機(jī)所在城市的中心,并且把Marker也定在此. 如果定位成功就會把地圖中心點和Marker定在精確的經(jīng)緯度坐標(biāo)上[3].

3.2 地圖的顯示

后臺的地圖服務(wù)采用的是高德地圖作為服務(wù)引擎,利用高德開放者平臺提供的API預(yù)先定義的函數(shù)接口接入,首先在網(wǎng)頁中引用高德地圖JavaScript API入口腳本[4]:

<script type=“text/javascript” src=‘https://webapi.amap.com/maps?v=1.3&plugin=AMap.Geolocation,Amap.ToolBar,Amap.Geocoder,Amap.PlaceSearch,Amap.Autocomplete,Amap.Driving&key=*****’></script>

圖6 創(chuàng)建地圖

再創(chuàng)建一個Marker,當(dāng)定位信息出來后可以把Marker放置在電瓶車當(dāng)前所在的位置,offset屬性為Marker放置的偏移量,Pixel (0,0)時marker左上角對準(zhǔn)position的位置,Pixel(-10,-32)的時候,錨點對準(zhǔn)position,如圖7所示.

圖7 創(chuàng)建Marker

4 系統(tǒng)的實施與聯(lián)調(diào)

4.1 系統(tǒng)實施

本系統(tǒng)使用的是阿里云虛擬服務(wù)器[5,6],該服務(wù)器搭建方便且資費便宜,完全適合該系統(tǒng)的開發(fā)測試工作. 搭建服務(wù)器的過程如下:

(1)在阿里云上購買一臺虛擬云主機(jī)(Linux操作系統(tǒng)),如圖8所示.

圖8 虛擬云主機(jī)有關(guān)信息

(2)購買域名并進(jìn)行云解析,如圖9所示.

圖9 域名云解析

(3)將整個項目代碼通過FTP工具上傳到云主機(jī)空間中(注意: 項目要上傳到htdocs目錄下).

(4)最后在云數(shù)據(jù)庫上創(chuàng)建一個表名為position的表,如圖10所示.采集端要將數(shù)據(jù)傳輸?shù)皆摂?shù)據(jù)庫中,需要對連接

圖10 編輯數(shù)據(jù)庫列

數(shù)據(jù)庫參數(shù)的進(jìn)行實現(xiàn)設(shè)置,如數(shù)據(jù)庫的連接地址、用戶名和密碼,然后調(diào)用PHP的mysql_connect()方法連接到遠(yuǎn)程數(shù)據(jù)庫,接著使用mysql_select_db()方法對指定數(shù)據(jù)庫名字進(jìn)行數(shù)據(jù)庫操作,如圖11所示.

圖11 遠(yuǎn)程數(shù)據(jù)庫連接

(5)當(dāng)采集端獲取到坐標(biāo)信息后,會將該信息以GET請求的方式將相關(guān)參數(shù)傳送到服務(wù)器相應(yīng)的接口[7],如:

服務(wù)器端會在獲取數(shù)據(jù)庫后把請求中的校園巴士的id、posx和posy等參數(shù)提取出,再對登錄信息進(jìn)行比對,之前登陸成功后已經(jīng)把用戶名即id存在session中,現(xiàn)在只需要比對請求中的id是否是session中存的值或者這個瀏覽器有沒有在服務(wù)器中儲存一個session,只要其中一個條件判斷不通過,就要求瀏覽器頁面跳轉(zhuǎn)到采集端的登錄頁面要求用戶進(jìn)行登錄動作后才能操作請求后臺修改參數(shù),如圖12所示.

圖12 獲取數(shù)據(jù)庫后對電瓶車坐標(biāo)進(jìn)行修改

4.2 系統(tǒng)聯(lián)調(diào)

完成云端服務(wù)器的系統(tǒng)搭建后就可以開始手機(jī)采集端的實驗了. 首先要在手機(jī)上安裝APP并進(jìn)入登陸界面,如圖13所示.

圖13 登錄界面

完成登錄后即可進(jìn)入電子地圖并開始定位(注意:手機(jī)必須打開定位功能,最好選擇使用GPS、WLAN和移動網(wǎng)絡(luò)的定位模式).

如圖14為地圖將采集端所采集的位置信息在地圖上顯示的結(jié)果,圖14(a)圖為采集端定位結(jié)果,圖14(b)為打開服務(wù)端用戶看到的效果,圓圈標(biāo)注出的對象為左圖在服務(wù)端顯示的結(jié)果).

圖15是云數(shù)據(jù)庫的數(shù)據(jù),有數(shù)據(jù)同步寫入云數(shù)據(jù)庫,說明數(shù)據(jù)傳輸是正常的.

圖14 地圖顯示結(jié)果

圖15 云數(shù)據(jù)庫

完成以上環(huán)境搭建后,拿著一部安裝好軟件的手機(jī),坐上一輛移動的車后進(jìn)行數(shù)據(jù)采集. 測試結(jié)果如圖16所示. 隨著校園巴士車的移動,顯示在地圖上的車輛標(biāo)識也是跟隨著移動的,且移動中車輛標(biāo)識始終保持在道路上.

5 系統(tǒng)優(yōu)化

由于本系統(tǒng)在使用的過程中在沒有Wi-Fi熱點的時候,需要消耗手機(jī)流量,這樣會產(chǎn)生較高的運行費用.考慮到電瓶車的行駛速度,這個系統(tǒng)設(shè)定了自動刷新的時間是在5秒,從實際情況來看,若一個學(xué)生打開了APP,觀察6~7分鐘的話,耗費流量將達(dá)到1M,這樣的數(shù)據(jù)耗費顯然不是一個理想的設(shè)計模型. 因此本系統(tǒng)通過AJAX(Asynchronous Javascript And XML)技術(shù)[8,9]優(yōu)化了加載校園巴士坐標(biāo)的顯示方法,如圖17所示.

圖16 動態(tài)測試

圖17 采用AJAX后的位置獲取方法

通過優(yōu)化前與優(yōu)化后的數(shù)據(jù)加載比對(數(shù)據(jù)是以20輛電瓶車作為參考),表1是優(yōu)化前的數(shù)據(jù)加載及耗費時長,表2優(yōu)化后的數(shù)據(jù)加載及耗費時長.

通過優(yōu)化后,學(xué)生在校園打開APP就不用擔(dān)心流量消耗太大而導(dǎo)致該系統(tǒng)使用人數(shù)的減少,這樣的優(yōu)化不僅從數(shù)據(jù)上節(jié)省了許多,而且在視覺效果上也提高了用戶體驗.

表1 優(yōu)化前的數(shù)據(jù)加載及時長

表2 優(yōu)化后的數(shù)據(jù)加載及時長

6 結(jié)束語

本文介紹了一種利用校園巴士司機(jī)所攜帶的智能手機(jī)獲取的位置信息作為該司機(jī)所運行的巴士車的位置信息,利用高德地圖作為地圖服務(wù)器,并采用阿里云空間來部署數(shù)據(jù)庫服務(wù)和Web服務(wù). 本系統(tǒng)直接使用Web APP的顯示端,因此無論是安卓手機(jī)還是蘋果手機(jī)都可以得到統(tǒng)一的顯示界面,無需因為手機(jī)操作系統(tǒng)的不同而開發(fā)兩套APP程序[10].

由于考慮到開發(fā)成本和運營成本,本系統(tǒng)所采用的平臺只適用于小規(guī)模的應(yīng)用,比如校園BUS最好不要超過100臺,同時訪問的終端不要超過5000個,因此本系統(tǒng)只適用于校園巴士實時位置共享的這種小眾應(yīng)用場景.

1代敏. 基于Android平臺下手機(jī)定位程序的設(shè)計及實現(xiàn). 計算機(jī)與數(shù)字工程,2012,40(4): 143-145.

2朱國藝,周玉珍. HTML5中地理位置定位技術(shù)的應(yīng)用與探究. 電子技術(shù)與軟件工程,2017,(3): 26-27.

3彭紅. 基于云計算的LBS應(yīng)用研究. 軟件工程,2016,19(10):27-29,26. [doi: 10.3969/j.issn.1008-0775. 2016.10.007]

4邢偉寅. 基于高德地圖的高校校園信息查詢系統(tǒng)的設(shè)計與實現(xiàn). 信息與電腦,2015,(18): 76-77. [doi: 10.3969/j.issn.1003-9767.2015.18.035]

5沈榮明,楊照生. 基于阿里云的“我家菜單”系統(tǒng)研究. 電子技術(shù)與軟件工程,2015,(22): 71,91.

6石高濤,王伯遠(yuǎn),吳斌. 基于WiFi與移動智能終端的室內(nèi)定位方法綜述. 計算機(jī)工程,2015,41(9): 39-44,50.

7齊紅心. PHP開發(fā)過程中頁面參數(shù)傳遞方法分析. 軟件導(dǎo)刊,2016,15(1): 6-9.

8孫光明,王碩. 基于JSON的Ajax數(shù)據(jù)通信快速算法. 計算機(jī)應(yīng)用與軟件,2015,32(1): 263-266.

9龔成瑩,邢敬宏,胡銀保. 基于JSON的Android移動終端與PHP及MySQL數(shù)據(jù)通信. 工業(yè)儀表與自動化裝置,2013,(1): 63-65.

10王鑫. Native App與Web App移動應(yīng)用發(fā)展. 計算機(jī)系統(tǒng)應(yīng)用,2016,25(9): 250-253. [doi: 10.15888j.cnki.csa.0054 29]

猜你喜歡
電瓶車巴士服務(wù)器
永不堵車的巴士
希望巴士
中國慈善家(2021年5期)2021-11-19 18:38:58
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計與實現(xiàn)
寒夜巴士上,兩本并排的書
文苑(2019年20期)2019-11-16 08:52:14
擋風(fēng)玻璃
婦女(2019年5期)2019-07-02 07:58:08
丟車丟臉
奇客巴士·驛
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
一定抓到那個賊
奉贤区| 贡觉县| 黎川县| 九龙坡区| 仁寿县| 南乐县| 棋牌| 攀枝花市| 梁平县| 太仆寺旗| 雅安市| 广灵县| 莱西市| 拉孜县| 克什克腾旗| 青铜峡市| 望江县| 射阳县| 嘉兴市| 松江区| 霍邱县| 根河市| 玛曲县| 西充县| 邵阳县| 博罗县| 胶南市| 温宿县| 桂平市| 饶河县| 德阳市| 玉龙| 安福县| 宣化县| 郧西县| 马龙县| 巴林左旗| 陆河县| 曲靖市| 维西| 旬邑县|