• 沒有找到結果。

b. 訪客端:

3 GPS 省電演算法

根據 1.2 節相關文獻探討結果可知,持續長時間地開啟 GPS 定位,會消耗大量電能 使得手機的電池快速耗盡,因此有必要動態調整 GPS 接收器開啟的時間以延長整體手 機的使用時間。在本節中,我們將設計一個 GPS 省電演算法動態地調整 GPS 接收器 開啟與定位記錄的頻率,以達到省電的效果。為了避免關閉 GPS 的時間太長影響到定 位的精度或者是漏失某些關鍵的旅程記錄,所以我們的演算法結合自行車旅行的路徑 特徵與手機內嵌式感測器的移動偵測,來做回饋調整,以期在省電模式下 LOHAS BikeTel 系統仍可以維持定位精度與旅遊紀錄功能,圖 4 顯示省電演算法元件方塊圖。

圖4:省電演算法元件方塊圖

一開始當 GPS Receiver 開啟後會以系統預設記錄頻率 1 Hz 去接收 GPS 定位訊號,

接著將其接收到的訊號與目前的記錄頻率傳送到以下三個模組:GPS Log-frequency Adapter、Bicycle Route Database 與 G-Sensor、Compass Sensor,其中 GPS Log-frequency Adapter 會根據目前 GPS Receiver 的記錄頻率、Bicycle Route Database 對路徑特徵的判 斷與 G-Sensor、Compass Sensor 的移動感測來調整接下來的 GPS 記錄頻率。但是自行 車移動狀態的變動十分頻繁,因此我們將自行車騎士之移動模式分成為四類,設計了 Normal Mode 與 Lazy Mode 兩種模式,避免因為隨機的變動造成不必要的狀態轉換。

圖5:自行車騎士移動模式圖

GPS Log-frequency Adapter 在不同的移動模式有不同的 GPS 記錄頻率。如圖 5 所 示,第一類是 Active Mode:自行車騎士的移動速度變化很大,且有可能會變換未來 欲騎乘之路徑;第二類是 Normal Mode:自行車騎士以穩定的速度移動;第三類是 Lazy Mode:自行車在 Normal Mode 停留一段較長的時間;第四類是 Sleep Mode:自行車 騎士靜止不動,或是可以根據目前的速度與自行車道資料庫推估未來某一時間點的位 置。這四種不同的移動模式 GPS 記錄頻率由大到小為 Active Mode>Normal Mode>

Lazy Mode>Sleep Mode,我們根據文獻[18]來設定在自行車騎乘的環境下這四個模式 的定位頻率分別為 FActive = 1Hz、FNormal = 0.2Hz、FLazy = 0.02Hz、以及 FSleep = 0Hz,並 且設計了一個動態的 GPS 記錄頻率調整機制,藉由偵測目前的移動模式與位置,切換 GPS 記錄頻率,儘量減少電能消耗又不會漏失重要的位置變化記錄。

我們利用程式模擬自行車騎乘環境評估效能,假設以 Active Mode 作為起始狀 態,此時預設接收 GPS 定位訊號頻率為 1 Hz。當自行車騎士靜止時,持續地接收 GPS 定位訊號是沒有幫助的。假設當自行車騎士等待長時間的紅燈或者是在景點停留,1.

休息超過某個給定的時間閥值 T1 後(T1=20 秒),就讓 GPS 定位系統進入 Sleep Mode 停止接收 GPS 訊號,減少電能消耗,2.此時系統會開啟加速度計偵測自行車是否開始 移動,如果開始移動後則會進入 Lazy Mode 以FLazy的頻率來接收 GPS 訊號,3.如果速 度或方向有變動,則會由 Lazy Mode 進入 Normal Mode,提高接收 GPS 訊號的頻率至

FNormal。另一方面,4.如果自行車騎士以勻速前進超過時間閥值 T2 (T2=25 秒)後,會

從 Active Mode 轉換至 Normal Mode,可以使用較低的定位記錄頻率FNormal,5.假如在 時間閥值內自行車改變了速度,則由 Normal Mode 回到 Active Mode。6. 當騎士維持 Normal Mode 超過時間閥值 T3 (T3=30 秒)後才進入 Lazy Mode,以更低的頻率 FLazyl

來接收 GPS 訊號。搭配自行車車道路線資料庫(Bicycle Route Database)與 G-Sensor、

Compass Sensor,當確定 7..騎士沿著沒有岔路的車道上勻速前進後進入 Sleep Mode。

在進入 Sleep Mode 後關閉 GPS,改為開啟 G-Sensor 與 Compass Sensor,以維持定位 精度,避免因為 GPS Sleep 太長時間而漏失重要的位置變化記錄。如圖 6 所示,充滿 電的電池電量為 1340 mAh,GPS receiver 之電流消耗為 30 uA,G-Sensor、Compass Sensor 之電流消耗為 5 uA 採用省電演算法之後的手機電池使用時間延長了約 2.23 倍。

圖6:電力消耗比較(只考慮GPS與Sensor電能消耗)

FUNCTION Start_Active_Mode() BEGIN

GPS_log in

defaultFrequency = 1 Hz Time_counter = 0

DETERMINE the biker stayed or moved BY GPS signals

Time_counter++

IF Time_counter > T2 THEN goto Normal Mode ELSE IF Time_counter > T1 THEN goto Sleep Mode ELSE wait,check again

END 

FUNCTION Lazy_Mode() BEGIN

GPS_log in lazyFrequency Time_counter = 0

DETERMINE the biker’s route have fork path or not BY route Database

IF the biker’s route have no fork path THEN goto Sleep Mode

ELSE IF move Sensor THEN goto Normal Mode

ELSE wait,check again END

FUNCTION Normal_Mode() BEGIN

Time_counter = 0

GPS_log in normalFrequency

DETERMINE the biker stayed or moved BY GPS signals

Time_counter++

IF Time_counter > T3 goto Lazy Mode ELSE IF the biker speed up

goto Active Mode ELSE wait ,check again END

FUNCTION Sleep_Mode() BEGIN

GPS_log turn off Time_counter = 0

DETERMINE the biker’s move or stay IF moved THEN goto Lazy Mode, ELSE stay in Sleep Mode wait check again END

圖7:省電演算法Pseudo code

4

雛型系統實作

在接下來這一節裡,主要呈現技術與應用服務的實作結果。Android中所支援的基本 的GPS定位,採用NMEA 0183的定位格式。當GPS 接收器定位後,便以NMEA 0183資 料格式開始傳送有效的定位資料,一般這些資料包含有:(1)經度(2)緯度(3)定位狀態代 碼(4)採用有效的衛星顆數(5)高度(6)日期(7)衛星狀態及接收狀態完整的NMEA輸出格式 大概有七十餘種,但一般接收器較常使用之格式為:(1)定位資訊(GGA)、(2)基本地理位 置-經度及緯度(GLL)、(3)衛星幾何精度因子及衛星狀態(GSA)、(4)GNSS 天空範圍內的 衛星(GSV)、(5)基本定位資訊(RMC)、(6)對地位移方向及對地位移速度(VIG)。

4.1 會員系統

如圖 8 所示,會員系統透過會員之間的互動來達成分享彼此旅遊記錄的目的,會員 註冊成功就可以分享與搜尋公開或者是好友的資料。

圖8:LOHAS BikeLog會員系統登入/ Facebook登入

4.2 旅遊記錄

a. Server 端:如圖 9 照相並可上傳至 LOHAS BikeLog 網站。

圖9:照片上傳至LOHAS BikeLog

b. Client 端:

如圖10(a)進入主畫面,在Map分頁的地圖中顯示了一個藍色人型標記,代表目前 手機的實際位置在地圖上的的對應;另外人型標記會隨電子羅盤的數值而旋轉,因此 人型標記的頭部總是指向手機持有者所面對的方位。(註:地圖的正上方永遠為地理北 極)。地圖正下方的+號與-號按鈕,分別可以放大地圖的顯示層級與縮小的圖的顯示層 級。如圖10(b)根據GPS路徑資訊,畫出距離對高度的折線圖如圖10(c),變化率即是坡 度。

 

(a) (b) (c)