• 沒有找到結果。

運用NFC技術之室內導覽系統

N/A
N/A
Protected

Academic year: 2021

Share "運用NFC技術之室內導覽系統"

Copied!
61
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授:葉耀明 博士. 運用 NFC 技術之室內導覽系統 Development of an Indoor Navigation System Using NFC Technology. 研究生:張芝華 中華民國. 撰. 一百零一 年. 六月.

(2)

(3) 摘要 運用 NFC 技術之室內導覽系統 張芝華 近年來行動通訊環境成熟,利用手機等行動裝置定位的應用越來越普遍,然 而衛星定位系統在室內環境中會受到建築物遮蔽的影響,產生定位精度不足的問 題。現今已有的室內導覽系統大多採用 Wi-Fi、藍芽或 RFID 的無線網路技術形 成感測器網路來做定位,卻受限於各技術之物理特性及系統成本的考量使得效果 不彰。而近期由 RFID 演變而成的近場通訊(NFC)技術崛起,集結了 RFID 之眾 多優點與成本低的優勢,加上支援此技術的行動裝置紛紛推出,應用範圍被大大 的擴展。因此如何藉由行動裝置實現使用者在室內環境作定位,並符合成本效益 仍是現今重要的研究課題。 本研究為運用近場通訊技術在室內環境中發展定位功能,提供環境資訊及導 覽的系統,並透過最短路徑演算法來提供最佳路徑的指引,可藉由此系統來解決 在室內環境中無法使用全球衛星導航定位問題。我們利用 Map Studio 製圖工具 所產生的室內平面圖作為地圖資訊系統的底圖,結合近場通訊技術快速讀取標籤 內的地圖資訊來完成定位功能,其特性符合定位精確及成本效益的優勢。本研究 所建立的系統可透過 NFC 智慧型手機配合展場等大型區域所安置的地圖標籤與 位置標籤來快速取得導覽資訊,並使用內建的最佳路徑服務來引導使用者到達目 的地。為呈現本系統在大型賣場、百貨公司、機場等場域的應用,我們以台北火 車站為例,示範導入場域內定位、路徑搜尋與場域切換的功能,未來若能結合場 域內店家的詳細資訊,可以發展成一個行動定位與商務整合的系統。. 關鍵字:Android、近場通訊技術、室內地圖、室內定位、導航. i.

(4) ABSTRACT Development of an Indoor Navigation System Using NFC Technology. Chang, Chi Hua In recent years, with the growing popularity of mobile communication, the mobile location technologies are widely used. However, because of the RF signal availability, GPS is not suitable for indoor localization. Now the most of indoor navigation system applied the sensor network that constructed by Wi-Fi, Bluetooth, or RFID to location, but the effect of these systems are restricted by the physical characteristics and the cost of system. Per the rise of NFC technology which is combine with the advantage of RFID and its low cost and the mobile devices which support NFC come out one after another, the range of application are more widely. According to above, it become an importance issue that how to provide user a portable and convenience indoor navigation system. In this thesis, we develop a navigation platform which applied NFC technology to orientate in an indoor environment and work out the route to provide useful and accurate information. By Map Studio production of indoor floor plan, combined with the near-field communications technology to quickly read the label features in line with the advantages of positioning accuracy and cost-effective to establish a mobile device quick access to navigation information services. By this system can immediately access to the indoor map information and fast and accurate positioning like as outdoor electronic map service that select the destination, then give the user the best personal navigation services. Keyword: Android、NFC、Indoor Position、Navigation. ii.

(5) 誌謝 經過兩年的學習與努力,終於完成本論文,在此特別感謝我的指導教授 葉 耀明教授於研究上的啟發與指導,老師自由開放的教導方式讓我們可以自由選擇 有興趣的論文方向,對學生有莫大的影響。這兩年來參與老師帶領的校內外研究 計畫,讓學生有機會接觸業界和不同的人、事、物,並獲得寶貴的實務經驗。 感謝葉耀明教授、楊明正教授、陳永昇教授,能夠在百忙之中抽空前來擔任 口試委員,並且不厭其煩的指正缺漏,提出良好的建議讓本論文更加完整。 感謝實驗室同學,鏞年、瀧濱、永倫、惠迪、孝倫、慶瑞、冠緯、明憲和韋 德,於就讀研究所期間,共同的討論研究、一同趕作業也培養了良好的感情,讓 實驗室的氣氛活潑愉悅,讓研究上能增添許多生活趣事;也感謝學長們,謹至、 冠廷、培然、汝怡、建廷、欣培、國隆、威傑及尚儒的帶領,還有感謝學弟們, 哲維、皓中、禮衛、隘同、書銘、志忠、昱賢和文寬在計畫上面的協助,讓我可 以擁有更多時間來完成本研究,我很高興能夠是本實驗室的一份子,更高興能和 大家一起分享研究的喜悅和困難。 最後要感謝的是我的父母和家人,支持我念書,並提供我在求學上的協助, 讓我能夠順利的完成研究所的學業,以及我的好朋友們,在這邊誠心感謝以上所 有的人。. 張芝華 謹誌 國立臺灣師範大學 資訊工程研究所 民國 101 年 6 月. iii.

(6) 目 錄 第 1 章 緒論................................................................................................................ 1 1.1 研究背景與動機............................................................................................ 1 1.2 研究目的........................................................................................................ 3 1.3 論文規劃........................................................................................................ 3 第 2 章 文獻探討........................................................................................................ 5 2.1 Android 作業系統 ........................................................................................... 5 2.1.1 Android 系統架構 ................................................................................ 5 2.1.2 應用程式.............................................................................................. 6 2.1.3 中介軟體.............................................................................................. 7 2.1.4 硬體抽像層.......................................................................................... 8 2.2 近場通訊(NFC) .............................................................................................. 8 2.2.1 NFC 技術簡介 ...................................................................................... 9 2.2.2 技術架構.......................................................................................... 10 2.3 可擴展標示語言(XML) ............................................................................... 11 2.3.1 eXist 資料庫 ....................................................................................... 12 2.3.2 XQuey 簡介 ........................................................................................ 13 2.4 導航(Navigation) ........................................................................................... 14 2.4.1 全球定位系統(Global Position System,GPS) ................................ 15 2.4.2 室內定位系統(Indoor Position System,IPS) ................................. 17 2.4.3 地理資訊系統(Geographic Information System,GIS) ................... 19 第 3 章 系統架構...................................................................................................... 22 3.1 系統規劃...................................................................................................... 22 3.2 用戶端設計.................................................................................................. 23 3.2.1 設計概念與方法................................................................................ 23 3.2.2 MapView 元件 .................................................................................... 24 3.3 Map Studio ..................................................................................................... 25 3.3.1 Map Studio functions .......................................................................... 27 3.3.2 Scene Design ....................................................................................... 29 3.4 Routing Algorithm ......................................................................................... 30 3.5 Data Design .................................................................................................... 33 3.5.1 Map Studio output............................................................................... 33 3.5.2 Tag ....................................................................................................... 35 第 4 章 系統實作與說明.......................................................................................... 39 4.1 系統開發環境............................................................................................... 39 4.2 使用者操作概念與流程............................................................................... 40 4.2.1 使用者案例圖(Use Case Diagram) .................................................... 40 4.2.2 操作流程............................................................................................. 41 iv.

(7) 4.3 系統呈現....................................................................................................... 42 4.3.1 系統主畫面........................................................................................ 42 4.3.2 使用者功能呈現................................................................................ 43 4.4 系統分析....................................................................................................... 46 第 5 章 結論與未來展望.......................................................................................... 49 5.1 結論............................................................................................................... 49 5.2 未來展望....................................................................................................... 49 參考文獻...................................................................................................................... 51. v.

(8) 圖目錄 圖 2. 1 ANDROID 作業系統結構圖(資料來源:ANDROID DEVELOPERS[6]) ................ 6 圖 2. 2 ANDROID 作業系統的運作 ................................................................................ 7 圖 2. 3 ANDROID 應用程式產生流程 ............................................................................ 8 圖 2. 4 RFID 運作圖,左為 READER,右為 TAG ........................................................ 9 圖 2. 5NFC 技術架構 .................................................................................................. 11 圖 2. 6 W3C DATA FORMAT MODEL ............................................................................ 11 圖 2. 7 XQUERY 與 XML 相關技術之關聯(W3SCHOOLS) .......................................... 13 圖 2. 8 GPS 衛星示意圖.............................................................................................. 16 圖 3. 1 室內地圖服務有廣泛用途 .............................................................................. 22 圖 3. 2 本系統架構圖 .................................................................................................. 24 圖 3. 3 系統之 MAPVIEW 元件 ................................................................................... 25 圖 3. 4 MAP STUDIO 架構圖 ......................................................................................... 26 圖 3. 5 原始圖經 MAP STUDIO 編製後在手機上呈現................................................ 26 圖 3. 6 MAP 繪製畫面.................................................................................................. 28 圖 3. 7 將 WAY 標記上 TAGS ....................................................................................... 28 圖 3. 8 兩圖中之相互對應之 NODE 新增 RELATION.................................................. 29 圖 3. 9 DIJKSTRA’S ALGORITHM 之虛擬碼 ................................................................... 30 圖 3. 10 左圖為原路徑規劃,右圖為新增特定路徑後而改變路徑規劃 ................ 31 圖 3. 11 路徑規劃主要程式碼 .................................................................................... 32 圖 3. 12 新增特定路徑 ................................................................................................ 32 圖 3. 13 每張地圖之 XML 格式架構 ......................................................................... 33 圖 3. 14 由 MAP STUDIO 製出之地圖內容以 XML 描述示意圖 ............................... 34 圖 3. 15 在<MAP>標籤底下之描述............................................................................ 34 圖 3. 16 NFC 用來存取地圖資訊的 XML 檔案 ........................................................ 35 圖 3. 17 NFC 用來存取位置資訊的 XML 檔案 ........................................................ 36 圖 3. 18 判斷 NFC TAG 概念程式碼 ........................................................................... 37 圖 4. 1 使用者案例圖………………………………………………………………..40 圖 4. 2 系統操作流程圖 .............................................................................................. 41 圖 4. 3 系統主畫面 ...................................................................................................... 42 圖 4. 4 載入地圖後之畫面 .......................................................................................... 43 圖 4. 5 瀏覽圖中之地理資訊 ...................................................................................... 44 圖 4. 6 路徑規劃 .......................................................................................................... 45 圖 4. 7 回復上回合路規劃 ......................................................................................... 46. vi.

(9) 表目錄 表 2. 1 NFC 技術規格...................................................................................................10 表 4. 1 Client 端開發環境……………………………………………………….......39 表 4. 2 SERVER 端建置環境.........................................................................................39 表 4. 3 與現有系統比較表 ......................................................................................... 47. vii.

(10) 第 1 章 緒論 1.1 研究背景與動機 在現在社會中,交通上的便利與否影響人們的生活甚鉅,舉例來說,現今台 北火車站集結了高鐵、台鐵及捷運這三大交通設施,每逢假日及上下班時段往往 使得台北火車站周圍地區及車站內有人潮擁擠的情況,若無適當的設計規劃及提 供準確的指示來疏散人潮,可能會造成交通班次誤點、乘客無法準時抵達目的地 及民眾方位不清而迷路…等,而現在智慧型手機、PDA 等行動裝置越趨普及,加 上網路日益的蓬勃發展,使得人們在生活的便利性越來越完善,在戶外的情形之 下,民眾們要到外地洽公或是旅遊時,就可以藉由行動裝置開啟全球定位系統, 透過現有的電子地圖進行地點查詢、快速確立自己的所在位置並可啟用導航功能 來規劃行進的最佳路線以及提供適合的推薦資訊。 科技迅速的發展,全球定位系統(Global Positioning System,GPS)為一訊 號可涵蓋全球的衛星定位系統,提供準確的定位、測速及高精度的時間標準,具 有高效率及應用廣泛的優點[1],在商業上,導航系統即為廣為人知的一項行動 定位服務,但是對於大多生活在大樓林立的都市中的人們,使用時系統的衛星訊 號常處在具有遮蔽物覆蓋的情形下而無法達到既有的定位準確度,甚至會有失效 的情況,特別是在室內使用系統服務時,室內的遮蔽程度大於戶外,導致導航系 統幾乎在室內中毫無應用之處。 而在機場、展場及百貨公司等大型建築物中,人們總是依照指示牌尋找服務 台、電梯或化妝室…等設施。以展場而言,各展覽會場中會有提供展場的平面圖 簡介,將展場各區的地理相關位置作標示並有簡單的描述說明,當參訪者有了此 平面圖簡介,碰到迷失方向的困境時,參訪者可以主動的尋找服務人員詢問,卻 受限於服務人員的數量;或是參訪者被動的自行參考周邊的位置來確定自己的所 在地點、查詢及判斷所要前往的目的地該是哪一個方位,但耗費閱讀及理解平面 圖的時間,這些資訊皆是無法即刻且便利的得知,因此,若有個室內導覽系統可 1.

(11) 以讓參訪者操作自己手邊的行動裝置,不需依靠服務人員或是展場平面圖而有效 率的取得展場中的地理位置相關資訊,如此一來,可增加參訪者們在展場中的便 利性,也能夠減少在展場中的人力資源的提供。 現今已有的室內導覽系統,大多採用 Wi-Fi、藍芽或 RFID(Radio Frequency Identification)的無線網路技術形成感測器網路[2],三種不同的無線網路技術 之共通點為皆需要較昂貴的接收器接收訊號來進行定位與追蹤運算,而訊號的強 度取決於接收器的數目多寡來決定定位的精確度,其中 RFID 的定位精確度還多 了 RFID 標籤的種類這因素而有差異;或是航位推算法(Dead reckoning,DR) [3], 利用已知的位置結合使用者的移動速度及方位進行推算,其定位精確度會受到推 算過程的錯誤而遞減;亦或是使用輔助全球衛星定位系統(Assisted GPS,A-GPS) 利用行動裝置的基站訊號結合傳統的 GPS 來加快定位的速度,但是其訊號強度在 室內環境中仍受限制,以上的這些方法定位準確度雖然都不如 GPS 定位,但是都 能夠解決在室內中無法使用 GPS 定位的問題。 近年來,由 RFID 演變而成的近場通訊(Near Field Communication,NFC) 技術日漸成熟,其又稱為近距離無線通訊,是種具有傳輸距離短、傳輸速度快及 耗電量低的高頻無線通訊技術,允許兩個具有 NFC 之設備之間進行非接觸式的點 對點資料傳輸方式交換彼此的資料,這樣的技術使得行動裝置上的導航服務不需 完全仰賴於衛星定位訊號,而提供親民便利的無線通訊模式給予更廣泛的使用 群。 當室內導覽系統與 NFC 技術結合,除了提供人們快速便捷的取得地圖資訊、 精確的個人位置定位及行進路線導航,也屏除了人們對於導航就要使用衛星訊號 的舊有觀念,並有防範隱私洩漏之安全疑慮,而現有的室內導覽系統在定位與路 線追蹤時,都需藉由多個接收器相互傳送資料及運算處理,使得成本大幅提高, 並且未有考慮使用者在移動時所接收訊號的穩地度會導致定位的精確度下降,所 以本研究希望發展一套能在行動裝置上使用的室內導覽系統,運用 NFC 無線通訊 技術,讓使用者們創造出不同於大多使用應用程式利用行動上網結合無線通訊技 2.

(12) 術擷取資訊的方式,不僅透過 NFC 標籤的設置,能夠立即獲取室內的平面地圖資 訊及快速且精確的在圖中定位之外,還可如同戶外電子地圖服務般,提供選取行 進的目的地,為使用者提供個人化之最佳導航服務。. 1.2 研究目的 現今多數導航系統的服務,多為透由 GPS 結合無線網路服務來做位置定位及 路線規劃,而在如遮蔽程度高的室內環境所造成訊號微弱的情況下,使得系統的 定位精確度不佳。然而,目前行動裝置上的室內導航系統是一個較新穎的研究, 如近年 Google 開發的 Google Indoors Maps[4]為一支援 Android 系統之行動裝置 上的應用程式,把原有的 Google Maps 導航功能帶入到百貨公司、機場等大型建 築之室內場景,讓使用者可以快速的瀏覽室內平面圖資訊,也能夠搜尋目標地點 並規畫出最佳的行進路線,但是目前此系統僅支援美國和日本這兩地區的特定室 內場景,仍未開放給各國地區使用。另外 Chih-Yuan Chung 等人所著的”Research and Implementation on RFID Positioning in Multi-Story Indoor Environment”[5]使 用主動式 RFID 設備實作出在多樓層的室內環境中進行無縫式的切換樓層及取得 定位資訊,但其定位精確度及速度需依靠 RFID reader 接收到的信號強度值(RSSI) 來決定,不如 NFC 快速的獲取資訊,而且 RFID 標籤佈設成本相對較高,又加上 RFID 的傳輸距離較 NFC 長,容易有訊息在傳輸過程中被竊取的安全性問題。 因此,本研究為了改善現有室內導航系統的侷限性,整合了 NFC 無線通訊技 術與室內地圖資訊在行動裝置上,提供符合大眾化之廣泛用途的室內導航系統, 透過在室內環境中適當的佈設 NFC 標籤,提供在大型建築物中的一些相關資訊, 如各樓層平面圖、所處位置及內部設施等,並利用這些資訊來給予使用者們適當 且便利的服務。. 1.3 論文規劃 本論文一共分五個章節,第一章緒論,介紹研究背景與動機、研究目的及論 文規劃,第二章為文獻探討,將介紹本系統所需要的背景知識,諸如 Android 3.

(13) 作業系統、NFC 無線通訊技術、eXist 資料庫及導航系統等等,第三章描述系統 架構,描述整體設計概念,講述從前端的手持裝置到後端資料庫的運作情形,第 四章為系統實作與說明,細部說明各項功能是如何製成與呈現以及系統分析,第 五章討論結論與未來發展。. 4.

(14) 第 2 章 文獻探討 2.1 Android 作業系統 2007 年 11 月,Google 與許多 OEM 廠商、手機晶片供應商、軟硬體供應商、 電信業者所聯合組成的開放手持裝置聯盟(Open Handset Alliance),發佈了名為 「Android」的開放手機軟硬體平台,參與開放手持裝置聯盟的這些廠商,其中 台灣有華碩、宏達電與 Garmin 等公司加入其中,它們都是基於 Android 平台來 開發新的手機業務。 Android 是完全免費的手機作業系統,與 Nokia 的 Symbian OS、蘋果電腦的 iOS、微軟的 Windows Phone 及 RIM 使用的 BlackBerry OS 等手機作業系統處在 同一級別,它有完整的開發環境,包含模擬器、除錯工具與整合 Eclipse 的開發 環境,其 Dalvik 虛擬機的最佳化並整合 Webkit,擁有 SQLite 關聯式資料庫,而 應用程式的框架提供了可重覆使用和可取代的開發元件,支援相關的硬體包含相 機、GPS 與加速器等,而在多媒體方面其支援 MPEG4、H.264、MP3、AAC、 AMR、JPG、PNG 與 GIF 多種格式,通訊技術方面其支援藍芽、EDGE、3G 與 Wi-Fi 等多種特點。. 2.1.1 Android 系統架構 Android 架構是由應用程式(Application)、應用程式框架(Application Framework)、函式庫(Libraries)、Android 執行作業環境(Android Runtime)與 Linux 核心(Linux Kernel)所組成的,結構如圖 2. 1,藍色部分為應用程式,綠色及黃色 部分為中介軟體,紅色部分為操作系统。. 5.

(15) 圖 2. 1 Android 作業系統結構圖(資料來源:Android Developers[6]). 2.1.2 應用程式 Android 是以 Linux 為核心的開放手機平台作業系統,程式撰寫的語言使用 為 Java,使得從介面到功能,都能有層出不窮的變化,所謂的應用程式指的是使 用者和設備的人機介面。目前 Android 系統本身已提供基本桌面(Home)、電話簿 (Contact)、數位電話(Phone)和網頁瀏覽器(Browser)等等的核心應用程式。 程式開發人員可以使用 Android 應用程式開發平台提供的 API 來開發自己設 計的應用程式,利用這一層建立機動程式(Activities)和服務程式(Services),這些 程式可以在 Android 作業平台上執行,而每一個應用程式是由數個機動程式和服 務程式所組成,每一個機動程式負責管理自己顯示的畫面。 Android 作業系統是以一個主執行緒(Thread)為基礎來執行相關的組件,組件 包括了機動程式、服務程式、廣播接收程式(Broadcast Receivers)和資料內容提供 程式(Content Providers)。Android 作業系統並不是採用 JVM,而是採用 Dalvik Virtual Machine 虛擬系統,如圖 2. 2 所示,因此 Android 應用程式是由常駐在 Linux 核心的 Dalvik Virtual Machine 來負責運作的。. 6.

(16) 圖 2. 2 Android 作業系統的運作. 2.1.3 中介軟體 中介軟體(Middleware)為操作系统與應用程式之間的溝通橋樑,並分為兩層, 分別是函式層(Library)和虛擬機器(Virtual Machine)。 Android 包含一些 C/C++程式庫, Android 作業系統的許多組件都會使用到 這些程式庫,同時也包含了 WebKit,所謂的 WebKit 就是 Apple Safari 瀏覽器背 後的引擎。Android 採用 OpenCORE 作為基礎多媒體框架,OpenCORE 可分為六 大塊:PVPlayer、PVAuthor、Codec、Packet Video Multimedia Framework(PVMF)、 Operating System Compatibility Library(OSCL)、Common、OpenMAX。Android 使用 skia 為核心圖形引擎,搭配 OpenGL/ES。Android 的多媒體資料庫採用 SQLite 資料庫系統,資料庫又分為共用資料庫及私用資料庫。 而 Android 的中間層多以 Java 實作,並且採用特殊的 Dalvik 虛擬機器,Dalvik 虛擬機器是一種暫存器型態(Register Based)的 Java 虛擬機器,變數皆存放於暫存 器中,虛擬機器的指令相對減少,Dalvik 虛擬機器可以有多個例項(Instance),每 個 Android 應用程式都用一個自屬的 Dalvik 虛擬機器來執行,讓系統在執行程式 時可達到最佳化,此外,Dalvik 虛擬機器並非執行 Java 位元組碼(Bytecode),而 是執行一種稱為.dex 格式的檔案,其程式產生流程如圖 2.3。 7.

(17) 圖 2. 3 Android 應用程式產生流程. 2.1.4 硬體抽像層 Android 的硬體抽像層(Hardware Abstraction Layer, HAL)是能以封閉源碼的 形式提供硬體驅動模組,為了達成 Kernel Independent 的概念,所以採用 HAL 把 Android Framework 與 Linux Kernel 隔開,讓 Android 不會過度依賴 Linux Kernel, 也讓 Android Framework 的開發能在不考量驅動程式實作的前提下進行發展。. 2.2 近場通訊(NFC) 近場通訊(Near Field Communication,NFC),又稱近距離無線通訊,其建立 在 RFID 的技術基礎上,由 Philips、Sony、Samsung 和 Nokia 等知名大廠共同 研製開發並組成 NFC 國際聯盟,制定 NFC 標準,以確保 NFC 裝置監能夠相互交換 資料,並推動使用手機結合 NFC 技術作為近距離交易通訊平台的多種應用[7]。 NFC 無線通訊技術是無線射頻辨識系統(Radio Frequency Identification, RFID)演變而來,增加了檔案傳輸此一重要功能的新技術,提高安全性與便利性, 是在無線時代下最具發展潛力的市場新星。RFID 是由感應器(Reader)和 RFID 標 籤(Tag)所組成的系統,其運作的原理如圖 2. 4 表示,利用感應器發射無線電波, 觸動感應範圍約為內的 RFID 標籤,藉由電磁感應產生電流,供應 RFID 標籤上 8.

(18) 的晶片運作並發出電磁波回應感應器。若以驅動能量來源區別,RFID 標籤可分 為主動式及被動式兩種:被動式的標籤本身沒有電池的裝置,所需電流全靠感應 器的無線電波電磁感應產生,所以只有在接收到感應器發出的訊號才會被動的回 應感應器;而主動式的標籤內置有電池,可以主動傳送訊號供感應器讀取,訊號 傳送範圍也相對的比被動式還要廣。. 圖 2. 4 RFID 運作圖,左為 Reader,右為 Tag. 2.2.1 NFC 技術簡介 NFC 是一種極短距離的無線射頻識別通訊協定技術標準,結合類似 RFID 的 辨識技術與無線網路協定來傳輸資料[8]。它在單一芯片上集成了非接觸式讀卡 器、非接觸式智能卡和點對點的功能,運行在 13.56MHz 的頻率範圍內,能在大 約 10cm 範圍內建立設備之間的連接,傳輸速率可達 424 kbps,未來可提高到 848kbps 以上。 使用者只要將兩個具 NFC 之電子裝置貼近,就可以交換兩裝置中各自的資 料內容,雙向功能涵蓋讀取、被讀取及溝通的能力與辨識,針對單一特定目標, 在近距離的接觸完成極為安全的辨識、資料傳輸等功能,目前被廣泛應用於商業 扣款機制,使用者在交易動作完成後,交易資料輸入至後端軟體服務系統,形成 一系列完整的商業交易模式。除了讓電子裝置於短距離進行通訊之外,NFC 還 具有驅動者(Enabler) 的角色,意即兩裝置可以藉由 NFC 快速建立彼此溝通的 9.

(19) 橋樑,再透過其他傳輸率較高的無線通訊技術來傳輸檔案較大的資料,NFC 與 其他通訊技術比較如表 2. 1。 表 2. 1 NFC 技術規格. 2.2.2 技術架構 NFC 相互溝通之運作有三種模式,分別為:RFID 讀寫模式(RFID Reader/Writer)、非接觸式卡片模式(Tag/Card Emission)、點對點無線連接模式 (Peer-to-Peer),其架構如圖 2. 5[7]。 NFC 裝置使用 RFID 讀寫模式能夠使一個被動 RFID 標籤進行讀取及寫入資料 的動作,最常見的例子即智能海報(Smart Poster),使用者透由行動裝置感應具 有 NFC 標籤的海報即可獲取海報上欲提供的訊息。而非接觸式卡片模式是將 NFC 裝置模擬成現有的非接觸式智能卡,使之作為一個標記或是現有的接觸式智能卡, 可應用於雙方通信、支付與刷卡付款之功能。另外,點對點無線連接模式符合 ISO/IEC 18092 標準,兩 NFC 設備間可以互相交換數據,如交換虛擬名片、傳送 照片等,也能夠共享藍芽或 Wi-Fi 之連接設置參數以啟動一藍芽或 Wi-Fi 的連 10.

(20) 接。. 圖 2. 5NFC 技術架構. 2.3 可擴展標示語言(XML) 可擴展標示語言(eXtensible Markup Language,XML)是由全球資訊網標準制 定組織(W3C)於 1988 年 2 月正式制定而成的標記語言,W3C 的 data format model 如圖 2. 6:. 圖 2. 6 W3C Data Format Model. XML 自標準通用標示語言(Standard Generalized Markup Language,SGML) 演化而來[10,11],成為資料儲存或資料交換的格式,其簡化了 SGML 的語法複 雜度,並解決過去 HTML 設計結構無法因應需求擴充的詬病,發展出各領域皆 可套用的通用規則, XML 本身具有下列幾種特性: 11.

(21) . Well-formed:舉凡 XML 標記必定成對,具有高度的語法檢視標準,不. 同於 HTML 對語法要求較為鬆散,使文件內容能在各瀏覽器間正確呈現。 . 易於擴充:XML 語法極具彈性,可由程式設計者自行命名標記名稱,. 並自行定義標記內容的註解,依照其需求量身打造 XML 架構,提升 XML 文件 可讀性。 . 自我描述性(self-describing):可在特定領域利用一組 DTD 來定義相關. 標籤及文件結構,讓電腦與設計者能夠容易閱讀 XML 檔案。 . 樹狀結構:XML 文件是以樹狀結構的方式排列,由根節點開始產生分. 支,每個標記都可視為一個節點,使 XML 文件結構清晰明確。 XML 基於上述優越的特性,已在各領域發展出豐沛的應用,以電子商務領 域為例,SOAP(Simple Object Access Protocol)通訊協定即是以 XML 做為電子資 料交換的標準,在數位學習平台方面,制定了 SCORM(Sharable Content Object Reference Model)標準作為 e-learning 的核心技術,在各式電子資訊領域皆能發揮 XML 特性優勢拓展各種應用。. 2.3.1 eXist 資料庫 eXist[10]是由 Wolfgang Meier 在 2000 年所建立出來的一套 XML 資料庫系統, 從 2006 年的 Version 1.0 和 1.1 版本,現在已經發展到 Version 1.4 了,在 2006 年 更被譽為最佳的 XML 資料庫。 eXist 為一個公開原始碼的 XML 原生資料庫,其內容包含 XPath 搜尋過程、 關鍵字搜尋、支援 XUpdate 並且與其他 XML 開發工具緊密整合。該資料庫軟體 由 Java 所寫成,可以單獨執行,也能夠整合至其他應用中。在資料庫引擎的設 計方面,eXist 提供了 HTTP、XML-RPC、SOAP 和 WebDAV 等多種介面給應用 開發者。其支援技術如下: . XQuery 1.0 / XPath 2.0 / XSLT 1.0 (using Apache Xalan) or XSLT 2.0 (optional with Saxon).. 12.

(22) . HTTP interfaces: REST, WebDAV, SOAP, XMLRPC, Atom Publishing Protocol.. . XML database specific: XMLDB, XUpdate, XQuery update extensions (to be aligned with the new XQuery Update Facility 1.0).. eXist 的優點有以下幾點: . 允許軟體開發者不必去撰寫額外的中介介面,就可以儲存 XML 的原始 資料。. . 遵守 W3C 的標準,並且提供 W3C 中所規定的 XML 的技術應用。. . 支援 REST 的介面,以方便處理 AJAX 型態的 Web 介面。. 2.3.2 XQuey 簡介 XQuery 全名為 XML Query,由 W3C XML Query Working Group 所開發制定 的 XML 資料查詢語言,XQuery Version 1.0 是自 XPath Version 2.0 延伸而來[11], XQuery 與 XML 資料查詢語言的關係,如同關聯式資料庫所提供的標準 SQL 查 詢語言一般,除了可供 XML 文件資料查詢之外,也可以透過 XQuery 語言來檢 索其他資料庫引擎所建立的資料庫,如 SQL server、Oracle 等,XQuery 語言和 其他 XML 相關技術的關係如圖所示:. 圖 2. 7 XQuery 與 XML 相關技術之關聯(w3schools). eXist 採用 XQuery 作為存取的語言,XQuery 語言主要架構分為三個部分,. 13.

(23) 分別為命名空間與其聲明、函數定義和最重要的查詢表達式,其表示方法主要由 下列組成: . 路徑表示法:即由 XPath 2.0 語法表示查詢路徑。. . 數學運算與布林運算:提供基本的數學運算與布林運算,並可使用一些 內部提供的數學函數。. . FLWOR 表示法:主要由 for、let、where、order by 和 return 五個關鍵字 所組成的查詢與表示法。. . 條件表示法:由 if、then、else 所組成的表達式,用於控制輸出結果。. . 元素與屬性建構器(element constructors):建構輸出的元素與屬性。. 2.4 導航(Navigation) 導航是一種程序,用來監測與控制一艘船或是一輛車從某一個地方到另一個 地方的移動,它同時也是一種航海士藉以用於執行導航任務的專業知識。所有的 導航技術均涉及比對已知的位置或樣板來定位導航者的位置,而與導航最為相關 的觀念即是經緯度(Geographic coordinate system),經緯度是經度(Latitude)與緯度 (Longitude)的合稱所組成一個座標系統,又稱為地理座標系統,它是一種利用三 度空間的球面來定義地球上的空間的球面坐標系統,用來標示地球上的任何一個 位置。 經度是地球上一個地點離一根被稱為本初子午線的南北方向走線以東或以 西的度數。經度線又稱作子午線,是南北走向的半圓弧。經度零度線稱作主子午 線,而其它地點的經度則是分別向東到 180°或向西到 180°,不像緯度有赤道作 為自然的起點,經度沒有自然的起點,做為本初子午線的那條線是人選出來的。 在本初子午線以東的經度叫東經,在本初子午線以西的叫西經,合起來繞地球一 圈正好是 360 度。東經用「E」表示,西經用「W」表示。經度的每一度被分為 60 角分,每一分被分為 60 秒。 緯度是指某點與地球球心的連線和地球赤道面所成的線面角,其數值在 0. 14.

(24) 至 90 度之間,其中位於赤道以北的點的緯度叫北緯,記為 N;位於赤道以南的 點的緯度稱南緯,記為 S。 現今大多導航系統正是利用地理座標系統來作定位及規劃路線,根據不同的 功能,分別有: . 武器導航:精確制導飛彈、巡弋飛彈. . 車輛導航:車輛調度、監控系統. . 船舶導航:遠洋導航、港口/內河引水. . 飛機導航:航線導航、進場著陸控制. . 星際導航:衛星軌道定位. . 個人導航:個人旅遊及野外探險. 以上等取向。其中車輛導航中較廣為人知的如"Google Map"、"PaPaGO 導航 系統"及"導航王"等。. 2.4.1 全球定位系統(Global Position System,GPS) 全球定位系統(Global Positioning System, GPS)由美國政府所發展,是一個圓 型軌道衛星定位系統,應用在導航定位、精密測量及標準時間等相關作業上,它 可以為地球表面絕大部分地區提供準確的定位和高精度的時間基準。該系統是透 過太空中約 12000 哩高空的 24 顆 GPS 衛星來完成的[1],示意圖如圖 2. 8,最少 只需其中 3 顆衛星,就能確定在地球上的經緯度;當所能收接收到的衛星數越多, 解碼計算出來的位置就越精確。. 15.

(25) 圖 2. 8 GPS 衛星示意圖. 衛星定位的定位原理,是因為每個太空衛星在運行時,任一時刻都有一個座 標值來代表其位置所在,這個位置可由衛星的星曆得知,而接收機所在的位置座 標為未知值,衛星的訊息在傳送過程中所需耗費的時間,可經由比對衛星時鐘與 接收機內的時鐘來計算,將此時間差值乘以電波傳送速度(一般為光速),就可計 算出太空衛星與使用者接收機間的距離,如此就可依三角向量關係來列出一個相 關的方程式。一般我們使用的接收機就是依上述原理來計算出所在位置的座標資 料,每接收到一顆衛星就可列出一個相關的方程式,因此在至少收到三顆衛星後, 即可計算出平面座標即經緯度值,收到四顆則加上高度值,五顆以上更可提升準 確度,這就是 GPS 的基本定位原理[1]。 由於 GPS 需要一一掃描太空中的 24 個衛星來得知目前所在位置可接收到的 衛星,並進行衛星星曆的接收及解方程式計算位置,所以從開機到定位完成需要 一段時間,且衛星定位完成前不可任意移動以免影響定位計算的結果,這個從開 機到定位完成的過程我們稱為冷開機。當 GPS 曾經定位完成後,接下來的定位 會直接由記憶體中抓取資料,這時便可在短時間內完成定位,這種狀態我們稱為 GPS 的暖開機。 輔助全球衛星定位系統(Assisted Global Positioning System, AGPS)是一種在 16.

(26) 特定裝置輔助配合下進行 GPS 定位的運行方式。它可以利用手機基地台的信號, 配合傳統 GPS 衛星信號,讓定位的速度更快。AGPS 利用手機基地台的信號, 輔以連接遠端伺服器的方式下載衛星星曆,再配合傳統的 GPS 衛星接受器,加 快定位的速度。由於 AGPS 接收器與輔助伺服器間的任務是互為分工的,所以 AGPS 往往比普通的 GPS 系統有速度更快的定位能力、有更高的效率。 在行動通信系統中,AGPS 透過手機定位伺服器作為輔助來協助 GPS 接收器完 成測距和定位服務,輔助定位伺服器有比 GPS 接收器還強大的 GPS 信號接收環 境和能力,輔助定位伺服器透過網路與手機的 GPS 接收器通信而提供定位協助。 由於有了行動網路的協助,GPS 接收器的效率比沒有協助定位伺服器的時候有了 很大的提升,因為有部分原本由接收器處理的工作被輔助定位伺服器所取代,例 如 GPS 接收器冷開機到暖開機的工作,就是由協助定位伺服器 AGPS 進行處理。. 2.4.2 室內定位系統(Indoor Position System,IPS) 隨著科技迅速發展,行動定位服務越受重視。目前廣為人知的行動定位服務 以全球定位系統為代表,其已廣泛應用於許多領域。而室內定位服務隱隱存在龐 大的市場商機,其利用不同於戶外定位的技術,而即時的定位系統符合室內環境 成熟技術的需求。 由於 GPS 定位須在衛星系統之視線可及之環境下,其訊號易受太厚的牆壁 所阻隔,導致其功能在大型建築、地下建築或是高層樓房中之訊號微弱甚至失去 訊號而無法作用,雖然有相關研究嘗試將 GPS 使用於室內定位上,但耗費之成 本高昂,因此,目前室內導航是 GPS 衛星導航未能突破的困局。 室內定位(Indoor Positioning System, IPS)目前有幾種不同的技術發展,如紅 外線(Infra-red)定位技術、全球定位系統(Global Positioning System, GPS)、射頻 (Radio Frequency, RF)定位技術及射頻辨識(Radio Frequency Identification, RFID) 定位系統。. 17.

(27) 紅外線定位技術是以紅外線發射器為定位單元(Beacons),利用行動單元(如 PDA)接收的紅外線訊號進行位置的判定。技術上的瓶頸在於紅外線的發射與接 收受到物體干擾,無法精準定位;而全球定位系統乃利用 24 顆衛星同時發送訊 號封包,利用訊號時間差計算物體位置,其精確度會受天候影響,誤差約在 5 公尺內。 至於射頻定位技術則是以行動單元發送訊號,利用定點接收器同時所接收訊 號的不同來定位。利用 RFID 技術來做定位,其發展背景即是來自於射頻定位技 術。RFID 利用無線網路架構,先將平面空間畫分成許多子空間。在系統架設階 段,量測在不同位置、四個方向所接收不同 RFID 讀取器的訊號,並由各個訊號 的強度建立無線電索引地圖(Radio Index Map)。當系統定位使用者從 RFID 讀取 器所接收到的使用者訊號強度與無線電索引地圖裡的資訊進行比對,選出符合的 使用者位置而完成定位。 目前適合於室內發展的定位技術,主要有 Wi-Fi、藍芽、RFID、超音波以及 UWB 等數種無線技術,這些技術均具備可於非直視(No Line of Sight)的條件下運 作的特性,因此不會有室內接收不到訊號的問題。以 Wi-Fi 技術為例,受限於傳 輸距離之限制(室外約 100 公尺,室內約 20~50 公尺),其原先之定位應用係以 室內或是區域性的定位服務為主,包括機場、旅館、國際會議中心等商務人士聚 集地的訊息推送,如優惠簡訊、旅遊景點等;展覽會場、博物館等設備、動線複 雜場地的導覽服務,如屏東海洋生物博物館、國立歷史博物館之無線導覽服務等; 或是物品、人員追蹤等定位應用,如丹麥的 Legoland 遊樂園於 2004 年 3 月啟用 結合 RFID 與 Wi-Fi 技術的兒童失蹤應用定位服務。 不過,隨著筆記型電腦、PDA 等內建 Wi-Fi 功能比例的增加,以及 Wi-Fi 基地台日益普及,如無線寬頻城市的興起和熱點的快速蔓延等有利條件的發展, Wi-Fi 定位技術已經逐漸由室內以及區域性的應用範圍朝室外應用發展,如服務 業者將可於無線接取點(AP)布建密集的都會街道提供各式的 Wi-Fi 行動定位加值 服務。 18.

(28) 此外,相較於 GPS 等技術,Wi-Fi 定位技術除了能算出所處位置的經、緯度, 還能計算出高度,確定人員或是物品於樓層的確實位置,針對特別的定位應用有 其發展優勢,例如需要準確定位消防人員於火災現場之樓層位置。 不同於過去應用於區域型定位的三角定位運作原理,目前已有許多專業的系 統開發廠商,針對應用於都會區的 Wi-Fi 定位技術進行相關技術開發,最新的定 位運作方式係採實地的接取點訊號源偵測,亦即透過站點調查(Site Survey)的方 式,沿街蒐集都市裡每條街道的 Wi-Fi 訊號,藉由每台接取點具有獨特辨識頻率 的特性,例如 MAC 位址,將這些接取點的位置資料建成資料庫。當持有內建 Wi-Fi 定位系統軟體的行動用戶出現在某一地區時,該軟體會自動掃描周遭的 Wi-Fi 訊號,並將數個接取點訊號源的位置與資料庫當中的接取點地點資料進行 比對,從而算出該用戶的位置,因此當該地區的接取點密度越高,則該地區的定 位準確度將越高。 相較衛星以及行動電話基地台位置的固定性,Wi-Fi 基地台被移動的可能性 相對提高,尤其是住家或企業,因此接取點位置更動的不確定可能影響其系統定 位的準確性。針對此問題,新式的 Wi-Fi 定位技術將具備自動監測接取點位置更 動的功能,並將變動後的位置自動更新至資料庫中。此外,為確保資料庫之完整 性提高準確度,定位軟體開發公司也將定期進行大規模的站點調查,以保持資料 庫系統的正確性與完整性。. 2.4.3 地理資訊系統(Geographic Information System,GIS) 地理資訊系統一詞為 Tomlinson 於 1963 年首創(Dye & Shaw, 2007)[b], 而後 Abler 於 1987 年就注意到其具有革命性之影響,進而提出 GIS 在地理上 乃是微觀和巨觀之描述與分析(Smith 2005)。到了 1990 年 Star and Estes 則 認為 GIS 是一套設計用來分析空間座標或地理座標之資訊系統(Breetzke 2007)。Burrough and McDonnell(1999)則指出 GIS 為一種工具,用來從真 實世界中根據某種特定目的去蒐集、儲存、檢索、轉換和展現資料。. 19.

(29) 地理資訊系統(GIS)即是由「地理」、「資訊」、「系統」三者所結合而成。 其中凡是與相對位置或空間分布有關的知識都屬於地理的範疇;而將空間資料經 數位化處理後,儲存於電腦資料庫中,就是資訊;將電腦硬體、操作軟體、空間 資料與使用人員連結起來,就是一個系統。地理資訊系統就是一個電腦化系統, 經由軟硬體的整合,具有對圖面資料及屬性資料之擷取、輸入、儲存、取用、分 析、展現等功能,以提供全方位之決策重要資訊[a]。 一套完整的地理資訊系統,可以儲存極為龐大的空間資訊,不但能迅速呈現 出一幅相關地區的電子地圖,並能根據需要,提供各種空間資訊,讓使用者在電 腦螢幕上操作、疊合、重組或抽離,使他對自己的生活環境或週遭世界可以一目 了然,迅速掌握,在應用範圍方面極為廣泛,舉凡環境保護、自然資源管理、土 地管理、都市區域規劃、交通運輸、流行病追蹤等等,幾乎無所不包。 目前應用於個人化的地理資訊系統(Geographic Information System, GIS)[12], 大多是利用電子地圖且以網站的型態呈現,配合電子地圖與地理資訊系統等功能, 提供使用者有關食、衣、住、行、育、樂等相關生活資訊服務,其中以網路電子 地圖的應用最為廣泛。目前市面上的電子地圖,如 Google Maps、UrMap 和 Yahoo! 奇摩地圖,皆是以 AJAX 技術來實現。 Google Maps 地圖服務以開放性的方式提供免費的衛星影像與向量式地圖來 進行地圖應用服務,隨著 Google Maps API 的開放,結合資料庫或者其他網路服 務功能的混搭式(Mesh-up)應用不斷出現。目前 Google Maps 提供的服務包含檢 索地名、查詢行車路線、即時路況資訊以及高精度衛星地圖服務,無論是學術或 是產業界,基於 Google Maps 的應用也越來越廣泛。 UrMap 地圖服務網是由國內友邁科技網站技術和台師大影像加值處理分送 中心的加值服務開發而成,在圖資方面採用了國家太空中心透過福衛二號拍攝的 衛星影像,以及九福科技公司所提供的向量圖。其特色在於所建置之網路地圖結 合了衛星影像與具有各產業結盟的店家資訊資料庫,也是台灣最廣泛運用的地圖 服務,因為它針對台灣所開發設計,提供清晰的地圖和完整的路徑規劃,並提供 20.

(30) 完整的交通轉乘資訊以及路徑導航,它也提供 API 供程式開發者運用。 Yahoo!奇摩地圖有華麗的風格,採用 UrMap 的圖資,更提升操作介面的友 善度,資訊排列方式也比 UrMap 更清楚,整個地圖服務是基於 Adobe Flash 技術 實現,並率先推出交通資訊服務以來顯示路況資訊,許多廠商都爭相仿效。在地 化的資訊是新版地圖的另一項特色,將原本在 Yahoo!奇摩生活家所累積的豐富 商家資訊,也含納至地圖搜尋中。. 21.

(31) 第 3 章 系統架構 3.1 系統規劃 近年來行動裝置的盛行,行動定位的技術應用越來越廣泛,目前著名的全球 定位系統(Global Position System,GPS)屬於衛星定位,在室內環境中定位會受到 建築物遮蔽的影響,產生定位精度不足的問題,必須加以其他定位感測技術(如: 紅外線、超聲波和無線電波技術)來解決,但各技術之物理特性及系統成本的考 量使得效能無法顯著,因此如何藉由行動裝置實現使用者在室內環境作定位仍是 現今許多研究的重要議題。 本研究以近場通訊技術(Near Field Communication,NFC)快速讀取標籤的特 性,以及符合成本效益的優勢,建立一提供使用者透過行動裝置在室內環境中快 速取得位置資訊相關的服務,解決了 GPS 技術在室內無法發揮效用的問題,不 僅在商業用途上有效益,也能運用在更廣泛的領域,包含大型商圈的顧客導覽、 大樓內部的避難引導、工作人員位置監控管理及兒童與老人的定位鎖定等,帶來 更安全、安心又可降低災害損傷的一大成果。. 圖 3. 1 室內地圖服務有廣泛用途. Google 公司提供的 Google Maps 服務在 2011 年 11 月底更新版本為 6.0,將 原有的道路定位與導航功能帶入室內場景,能夠讓人們快速的找到機場的登機門、 車站內的廁所或是百貨公司的專櫃等,但此大福利目前僅支援美國及日本的特定. 22.

(32) 室內場景。 智慧化的生活空間給予人們各式的智慧服務,而精確的位置資訊之提供是非 常重要的關鍵。目前室內定位的應用類型存在有各種不同技術與形式,可以根據 使用者之位置給予適當的參考資訊,舉例如下: . 導覽服務:在大型商場的顧客觀光導覽或展覽場所的展物導覽及動線引 導等。. . 訊息推送:於特定地點或公共場所所進行的優惠簡訊、景點的介紹行銷 等。. . 人員追蹤:防止兒童或老年人失蹤的定位服務、大樓內訪客的行徑路線 等。. . 災難救助:危急時刻掌握室內人員的分布位置,可以迅速的展開救援行 動。. 3.2 用戶端設計 3.2.1 設計概念與方法 本研究是採用搭載 Android 系統之智慧型手機來建置用戶端介面,藉由手持 式智慧型手機之可攜式特性,結合 NFC 之迅速讀取之特性及隨處定位標記功能, 來提供使用者一個方便且快速的室內導航系統。 在 Android 系統中,一套完整的應用程式是由多個 Activity 所組成,Activity 是一個應用中的組件,它為用戶提供一個可視的界面,方便用戶操作,例如打電 話、照相、發郵件或者是瀏覽地圖等。類似 Windows 當中的概念,Activity 相應 於一個 Dialog(MFC)或者是 Form(C#),它為用戶提供一個可視的界面。 本室內導航系統用戶端應用程式透過感應 NFC tag 的標記當作索引,至 eXist 資料庫中抓取 XML 格式之檔案內容並傳回包含建築物索引和地圖索引等室內地 圖資訊,用戶端接收到此資訊後,便可透過 Ericsson Lab 提供之 API 中 MapView 元件載入位於 Map Studio 伺服器端的室內地圖,其中伺服器中的室內地圖是透 23.

(33) 過 Map Studio 網頁工具編輯後以 XML 格式儲存於伺服器上。之後使用者便可在 用戶端上直接操作地圖進行導覽,就如同在現今手持裝置上的戶外導航程式一般, 或是透過感應各個位於室內定點的 NFC tag 來進行定位,幫助使用者快速的確定 自身的位置,以方便進行導航至目標位置。 資料庫伺服器負責儲存資料與提供資料庫管理的功能。本系統採用一套免費 的原生型 XML 資料庫「eXist」 。儲存資料的格式皆為 XML 文件,儲存的內容包 含各個室內地圖的索引資訊與包含室內地圖定義之經緯度等資訊。. 圖 3. 2 本系統架構圖. 3.2.2 MapView 元件 Ericsson Lab 提供之 API 中,其 MapView 元件與 Google 所提供之 MapView API 除了有命名相同之外,還有在 Android 上安裝套件即可使用之相似之處,唯 一相異點在於 Ericsson Lab 所運用之 MapView 元件為使用室內地圖之類別,可 關連所需的室內地圖資訊,存取其伺服器上的資源,而 Google 所提供之套件用 來存取 Google Maps。 在手機 Client 端之平面圖以「MapView」的元件呈現,這個類別可以呼叫 Server 端顯示指定之圖片,並提供方法在應用程式內操作圖片之放大、縮小及系 24.

(34) 統的路徑規劃等等。 本系統所使用的 MapView 其上具有階層式之架構,如圖 3. 3,放置兩種 Overlay 物件為自定義之地圖資訊以及即時標的使用者位置,又加上開啟網頁連 結和語音播報的附加功能服務,使系統整體更加完整。. 圖 3. 3 系統之 MapView 元件. 3.3 Map Studio 地圖的功用在於表達空間、分布和定位上,透過地圖,可以得知一區域的地 理環境概況,而一般常見運用於行動裝置上的地圖多為衛星地圖,圖的呈現往往 沒有邊界,最具代表性的即為 Google Maps,其他著名的還有 UrMap 及 Yahoo! 奇摩地圖。 本研究系統的地圖是呈現有使用範圍限制的室內空間內,無法利用現有的衛 星地圖當作基圖進行操作,需自行製作或蒐集符合室內環境的平面設計圖,因此, 透過 Ericsson Labs 提供的 Map Studio 網頁工具,可快速將已有的室內平面設計 圖再進行編製,並將室內場所及景物的相對位置準確的與圖片作結合,在行動裝 置上以簡化地方式作簡單的呈現。. 25.

(35) Maps Database. 圖 3. 4 Map Studio 架構圖. 本節中將列出並一一描述 Map Studio 具備之功能並說明每一室內平面圖之 場景設置方式,藉由此開放的網頁工具可繪出簡易的室內平面圖,避免室內設計 圖中有專業的圖示讓人不容易理解,使用者們利用手機等行動裝置上網即可迅速 載入觀看,簡易的圖示讓人一目了然,如圖 3. 5。. 圖 3. 5 原始圖經 Map Studio 編製後在手機上呈現. 26.

(36) 3.3.1 Map Studio functions 由於本研究所使用的室內平面圖無法使用大多行動裝置應用所使用 Google Maps 等衛星地圖最為簡便快速的方式,而將現成的地圖以圖片形式載入行動裝 置時,其圖中位置座標與地點資訊之設置方法繁複冗雜,此 Map Studio 網頁工 具可參考現有之室內平面圖或自行構思繪製成較簡單明瞭的室內平面圖,讓開發 者能夠快速的繪製成一個簡單明瞭地室內平面圖,並依照現有的環境設置將資訊 標記在圖中,其地圖的資料主要包含三種元素所組成,是以 XML 格式所表示, 可被解析及呈現於多種開發平台上。 以下列出地圖的三種元素: . Node:在地圖中的點,此點資訊包含在圖中的 X 及 Y 軸座標。. . Way:由 Node 所組成,通常表示為一個房間或是一個區域。. . Tag:用來標記 Node 和 Way 的鍵值訊息,例如將某一 Way 設置名稱 Tag 為 XML lab。. Map Studio 主要是一個能夠快速依照現有冗雜的室內平面圖來創建出一個 清楚扼要的室內地圖或是自行構思設計平面圖的網頁工具,並且可以進行圖片的 設計及管理,以下列出其基本編制圖片之功能: . View:將所有設置的 Node 呈現在圖中. . Move:可調整已設置在圖上的 Node 到精確的位置。. . Create:新增 Node 在圖片上,以線性方式規劃成一個 Way。. . Add node to a way:即是在 way 中再增加一個 Node,可以發展出另外 一個區域。. . Scale Map:用來設置兩個 Node 之間的長度,以公尺為單位。. 27.

(37) 圖 3. 6 Map 繪製畫面. 將現有的室內平面圖,上傳至 Map Studio 中,依著上述之功能依序進行編 制,再將每個 Way 標記上其 Tag 之鍵值(如: key="room:type", value="room", name="XML lab"),如圖 3. 7 所示,每張室內導覽圖會有各自的 ID、名稱、是否 公開及分享的資訊,Client 端之行動裝置透過網路即可讀取到已編製好的室內導 覽圖,讓使用者能夠快速地對室內環境清楚明瞭。. 圖 3. 7 將 Way 標記上 Tags. 28.

(38) 3.3.2 Scene Design 當人們進到一個室內場所是多層樓之建築或是涵蓋多個區域的場所(如:台 北火車站有多個區域與樓層)時,陌生的場所常常會不清楚自己所在的位置、尋 找不到地點或是不知道該如何到達所欲前往之目的地,除了能夠詢問周遭路人、 找尋服務人員或尋找室內平面圖等花費時間又不夠即時的方式,還能夠藉由手機 等行動裝置迅速地取得室內平面圖,但是往往一張地圖在手機中的畫面無法完整 地讓人一目了然,區域大的室內平面圖會使得在手機畫面中的圖片縮小,需要將 之縮放及拖拉才能夠使圖片清楚呈現,因此每一個樓層或區域使用 Map Studio 繪製完成後,需要有一個方式將一大樓或場所中的每張室內導覽圖相互做連結, 使人們只要透過手機就不會迷失於任何一個場所中。 Map Studio 除了繪製平面導覽圖之外,還有一個主要功能為將相關的每張平 面導覽圖做關聯,如:人們在一棟建築中之各樓層可透過樓梯或電梯到達其他樓 層,將所欲相互關聯之 Node 的 ID 和所屬之 Map 的 ID 新增至關聯性(Relations) 中,如圖 3. 8 兩圖中之相互對應之 Node 新增 Relation 。. 圖 3. 8 兩圖中之相互對應之 Node 新增 Relation. 新增 Relation 此項步驟完成之後,兩圖即完成關聯,即使用者透過本系統規 劃導覽路徑時,若有跨樓層或跨區域之情況時,即可由有關聯之 Node 進行路線 行進,此功能使得平面導覽圖在手機畫面中不會過小及繁複,而形成一個可跨場 域之系統。. 29.

(39) 3.4 Routing Algorithm 由於地理資訊系統(GIS)能夠有效的掌握規劃及管理空間之資訊,針對室內 環境所繪成室內平面圖,透過圖形與相關位置連結各自的屬性資料會有不同的分 析資訊,而其中最為一般民眾廣泛使用的即是路線規劃,也就是導航(Navigation), 依照所給予之起始點與目的地進行評估與計算,列出一條路線在地圖中讓使用者 做參考。 在一張地圖中,當有了起始點與目的地時,路線的規劃即是透過演算法運用, 除了能夠得到最短路徑之外,還牽扯著各式各樣的使用者需求或環境因素而有的 最佳路徑,如:時間、速度限制等,使得最佳路徑並非距離最短。本系統所運用 的路徑規劃演算法為 Dijkstra’s Algorithm[13],是由荷蘭計算機科學家艾茲赫爾. 戴克斯特拉(Edsger Wybe Dijkstra)發明所發明,用來解決向量圖中單個起始點到 其他頂點的最短路徑問題,也就是說,在一張地圖中頂點代表城市,而權重表示開 車行經的距離,則演算法可以用來找到兩個程式之間的最短路徑。. 圖 3. 9 Dijkstra’s Algorithm 之虛擬碼. 30.

(40) 本系統之室內地圖經由章節 3.3 中敘述繪製而成後,圖上的每個點(pixel)皆 包含 X 軸及 Y 軸之座標資訊,以數學直角坐標系中之第一象限為規則,舉例來 說:圖中左下角之座標為(0,0)。除此之外,為了符合室內環境會有房間、牆壁等 阻隔物而導致人無法穿越行走,一張圖中的每個點分為兩種類型,一種是可以行 走,另外一種則是無法行走,即設置為 Way 的每個房間或區域上的點。 其中,每個 Way 由每個 Node 所圍成,所圍起的中心點視為頂點,每個可以 行走類型的點皆可為起始點,當起始點與頂點選定後,透過演算法的計算形成一 條路線,即為最短路徑,如圖 3. 10 左圖所示。. 圖 3. 10 左圖為原路徑規劃,右圖為新增特定路徑後而改變路徑規劃. 本研究之路徑規劃套用 Ericsson Lab 提供之 API,給予起始與目的地之地圖 編號,程式呼叫 RoutingService 操作路徑規劃演算法,程式如圖 3. 11,透過 GetRoute(from,From_Map_ID,to,To_Map_ID)此一功能類別,將單一地圖之路徑規 劃演化為跨場域之路徑規劃,是本研究主要重點之一。. 31.

(41) RoutingService routingService = DefaultRoutingService.getRoutingService(getApplicationContext()); Point from = location.getPoint(); Point to = focusedMapItem.getCenter(); try { Route r = routingService.getRoute(from, FROM_MAP_ID,to, TO_MAP_ID); return r; } catch (final IllegalArgumentException e) { handler.post(new Runnable() { public void run() { showMessage(e.getMessage()); } });. }. return null; 圖 3. 11 路徑規劃主要程式碼. 另外,藉由 Map Studio 可自行創造(Create)特定路線,如圖 3. 12,並在 Tag 中添加一個為名稱的鍵值,例如:name=" Go to XML lab",則系統在路徑規劃時, 必定會改變原始演算法所計算出的最短路徑,而使路徑經過所設定的特定路線而 至目的地,圖 3. 10 右圖。. 圖 3. 12 新增特定路徑. 32.

(42) 3.5 Data Design 一個地理位置所包含的資訊眾多,需要有一個夠清楚將資訊分類且存取方便 的方法來保存這些資料,XML 正是符合此一優勢條件的檔案格式,本研究除了由 Map Studio 自製的地圖中之資料皆由 XML 形式儲存之外,系統之資料庫以 XML 檔案格式作建置,透過 NFC 標籤存取系統資料庫,透過所得取的資料內容到 Map Studio 伺服器中取得室內地圖。 本節將針對 Map Studio 所產生的每張地圖資料及本系統資料庫建置的 XML 格式與其解析方法做一說明。. 3.5.1 Map Studio output 本研究由 Map Studio 網頁工具編製一室內平面圖後,儲存在 Map Studio 伺 服器中,其每張圖中資訊以 XML 檔案格式所表示,架構如下:. Maps. Building. Node. Map. Map. Node. …. …. Building. Map. Map. 圖 3. 13 每張地圖之 XML 格式架構. 在一個多層樓或多區域之建築包含多個室內平面圖,每個建築(Building)及 地圖(Map)都有獨一無二的 ID 及所屬之樓層,另外有自行設置 Tag 的鍵值如名稱、 描述等,XML 檔案內容可以在 Map Studio 網頁工具中編製修改。. 33.

(43) 圖 3. 14 由 Map Studio 製出之地圖內容以 XML 描述示意圖. 每張地圖包含圖中的每個點(Node)及房間或區域(Way),在 XML 檔案中顯示 在<Map>標籤底下,詳細的列出每個 Node 的座標值、Way 由哪幾個 Node 所組 成和 Way 的名稱及描述等,如圖 3. 15 所示。. 圖 3. 15 在<Map>標籤底下之描述 34.

(44) 3.5.2 Tag 本研究透過 NFC 標籤內容判斷,行動裝置依照本程式以 XQuery 語法向資 料庫進行檢索,並將資訊取出後至 Map Studio 伺服器端存取室內地圖,而用來 存取地圖資訊或是位置資訊之內容分別儲存在 eXist 資料庫的 maptags.xml 及 locationtags.xml 中。. 圖 3. 16 NFC 用來存取地圖資訊的 XML 檔案. 系統將 NFC Tag 設置成兩種規則來辨別不同類型:一種是 Map Tag,NFC Tag 寫入純文字檔為:1,BuildingID,用來讀取使用者所在區域之室內平面圖,若為 多層樓之建築或是室內平面範圍過大而有區域之分時(如:台北火車站),則一 次將同一建築之所有圖片載入,不同層樓或區域以每張圖片作區分,使之能夠迅 35.

(45) 速的查看環境概況;而另一種則是 Location Tag,NFC Tag 寫入純文字檔為: 2,TagID,用來設置在圖中之座標位置,提供使用者在圖中作精確的定位,清楚 知道自己在圖中的哪個位置。 NFC 之 Map Tag 用來存取地圖資訊之 XML 檔案其詳細的標籤敘述如下: . <maps>:XML 跟元素,下面有多個<building>元素。. . <building>:存放建築資訊,有三個子元素,分別是<buildingid>、<map> 和<styleid>。. . <buildingid>:建築的編號。. . <map>:存放每張地圖的編號,若一個建築有多張地圖則有多個編號內 容在其中。. . <styleid>:地圖類型編號。. 圖 3. 17 NFC 用來存取位置資訊的 XML 檔案 36.

(46) NFC 之 Location Tag 用來存取位置資訊之 XML 檔案其詳細的標籤敘述如 下: . <locations>:XML 跟元素,下面有多個<location>元素。. . <location>:存放位置資訊,有五個子元素,分別是<locationid>、 <buildingid>、<mapid>、<lat>和<lng>。. . <locationid>:位置編號。. . <buildingid>:位置所在之建築編號。. . <mapid>:位置所在之地圖編號。. . <lat>:位置之經度。. . <lng>:位置之緯度。. 圖 3. 18 為判斷 NFC Tag 的概念程式碼,利用行動裝置讀取 NFC 標籤後,透 過 PHP 先行判斷 Tag 所屬類型,再至 eXist 資料庫讀取相對應之檔案,並將資訊 放入變數中。. 圖 3. 18 判斷 NFC Tag 概念程式碼 37.

(47) 行動裝置必須先獲取地圖才可進行設置即時位置,在讀取 MapTag 標籤後,系統 會記錄地圖的編號,當再讀取 LocationTag 時,會判斷所設置位置資訊之地圖是 否與已載入的地圖相符,若在其中的區域內,便呼叫應用程式執行相對應之工 作。. 38.

(48) 第 4 章 系統實作與說明 4.1 系統開發環境 本研究使用 Eclipse 作為開發工具,並以 Android SDK 和其包含的 Android 手機模擬器(Emulator)為程式開發套件進行開發,詳細的開發環境如表 4.1。 表 4. 1 Client 端開發環境. 名稱. 用途. 版本. 作業系統. 系統開發平台. Windows 7. JDK. Java 開發環境. 7.0. Eclipse IDE. 開發工具. 3.7.0. ADT. Android 擴充套件. 8.0.1. Android SDK. Android 程式開發套件. 2.3. 系統資料庫建置及各項服務使用 Apache 2.2.11 和 PHP 5.3.0 作為開發環境, 詳細資料如表 4.2。 表 4. 2 Server 端建置環境. 名稱. 版本. 作業系統. Windows 7. Apache. 2.2.11. PHP. 5.3.0. PheXist. 0.5. eXist 資料庫. 1.4.1. 39.

(49) 4.2 使用者操作概念與流程 4.2.1 使用者案例圖(Use Case Diagram) 使用者利用支援 NFC 技術之行動裝置操作本「室內導覽系統」 ,在系統功能 上的設計如圖所示:. 圖 4. 1 使用者案例圖. 從圖 4.1 中可知本系統有讀取室內地圖及資訊、地圖場景切換、即時定位和 路徑規劃四大類功能,而這四大類功能皆是存取 Map Studio 伺服器上之室內地 圖進行操作。 . 讀取室內地圖及資訊 使用者使用支援NFC技術之行動裝置,藉由NFC標籤讀取室內地圖,同時顯 示地圖中之資訊在地圖上。本系統還有設計一些呈現部分方便使用者的功能 介面,如螢幕觸控式訊息呈現、詳細地圖資訊查看及開啟網頁連結等等。. . 地圖場景切換 一次載入一大建築或區域的所有地圖,提供下拉式選單給予使用者切換查看 地圖。. . 即時定位 使用者感應NFC標籤作即時的定位,將自己的位置設置在地圖中,清楚自己 40.

(50) 在圖中的方位。 . 路徑規劃 本系統提供使用者設置自己的位置後並選定欲到達之目的地,給予最短或最 佳之路徑規劃,並有逐步路線之指示,更有上一步、下一步和查看上回路徑 之功能。. 4.2.2 操作流程 現代社會的人們出外洽公、旅遊或是抵達一個陌生環境時,總是拿著行動裝 置瀏覽電子地圖,查看周遭環境或是啟用戶外導航功能,而在一個大型區域或多 層樓的建築,如:遊樂場、百貨公司、機場和車站等等,不熟悉的環境空間往往 造成人們迷失方向或是找不到所欲前往的地點,因此本研究將戶外導覽系統轉換 成室內導覽系統,藉由 NFC 技術的使用,提供使用者室內平面地圖瀏覽及即時的 精確定位。. 圖 4. 2 系統操作流程圖. 如圖 4.2 為使用者操作系統的流程圖,使用者讀取不同類型的 NFC 標籤, 系統依照 NFC 標籤類型存取資料庫中的 XML 文件,Query 出所需的資訊,若標 籤為 Map Tag,則將所取得的資訊傳送至伺服器端以載入室內地圖在行動裝置中, 可再讀取 Location Tag 設定即時位置,選擇好欲前往之目的地後系統即可給予一 41.

(51) 條路徑導航;若標籤為 Location Tag,系統會先行判斷使用者是否已經載入室內 地圖於行動裝置中,回傳值為 false 則應用程式無法正確執行,回傳值為 true 表 示已載入地圖,應用程式即可依序進行,給予使用者所需資訊。. 4.3 系統呈現 本節將呈現系統於 Android 上的使用者端,包含主畫面以及畫面上相關的功 能,最後會以完成台北火車站主要的四層樓導覽為範例呈現系統的相關應用。. 4.3.1 系統主畫面 系統在開啟應用程式時的主畫面如圖 4. 3,主畫面中有基本的四個功能按鈕, 各標號的說明如下: 1. 2. 3. 4. 圖 4. 3 系統主畫面. 1.. 上一步路徑:使用者點選此按鈕可以查看上一步的路徑規劃內容。. 2.. 開始路徑規劃:當使用者設置好自己的位置及選定欲到達之目的地時,系統 規劃並顯示一條路徑在畫面上。. 3.. 下一步路徑:使用者點選此按鈕可以查看下一步的路徑規劃內容。. 4.. 查看上回合路徑:當按下此按鈕能讓使用者查看上一個回合的路徑規劃。. 42.

(52) 4.3.2 使用者功能呈現 本小節將說明如何用本系統完成一個室內導覽的實際應用,在這個應用中我 們的目標是在台北火車站此建築的室內平面地圖中進行路徑規劃之導覽。 當來到一個陌生的環境,最好是能夠有一張地圖可以幫助了解整體地理環境 的架構與各建築空間之間的相對位置,因此首先需要取得室內地圖,這邊我們選 擇的地標是台北火車站。預想使用者在要進入台北火車站的門口時,首先利用手 機讀取放置於門口的 NFC 標籤,載入所有的地圖呈現於手機畫面中,如圖 4.4 所示。. 圖 4. 4 載入地圖後之畫面. 台北火車站一樓的室內平面圖呈現在手機畫面正中央,可以使用手指觸控地 圖進行拖拉移動或是放大縮小,而右下角也有功能鍵控制地圖之大小;在功能按 鈕的下方顯示之字串為 Query 資料庫中之資訊回傳至 Client 端,顯示建築編號及 地圖編號等資訊,左下方之字串為此建築之名稱,使用者可以確定自己身處的地 區名稱。另外,左下方之下拉式選單預設名稱為目前所查看之地圖,點開後,使 用者可看到一次所載入的大樓室內平面圖,可選取欲瀏覽之樓層地圖進行查看。 43.

(53) 在地圖中根據不同顏色之區塊,用來區分不同之環境空間類別,如:房間、 商店、電梯或樓梯等等,使用者可以點選並查看其地理資訊,地理資訊內容除了 顯示名稱之外,若包含 Url 之連結,則在畫面中會多了一個連結按鈕,此按鈕點 選後會開啟瀏覽器到系統所設定之網頁,例如:郵局提供郵局網頁、7-11 超商提 供商品資訊及折扣訊息…等等,讓使用者能夠即時取得額外的資訊。. 圖 4. 5 瀏覽圖中之地理資訊. 本系統最主要之功能為導航,提供路徑規劃指引至欲前往的目標地點,在室 內環境中會有已經預先設置好之 NFC 標籤作為 Location Tag,使用者感應 Location Tag 後,系統一樣會 Query 資料庫中對應之 XML 檔案,將座標讀取出 並設置一橘色點在圖中,代表使用者在圖中之精確位置。當使用者已設置好自己 的位置並點選欲到達之目標地點時,按下路徑規劃按鈕,系統會顯示一條最短或 最佳之路徑在圖中,如圖 4. 6 左圖使用者可透過系統提供之路線行進,避免繞路、 走錯路或是迷路而花費寶貴的時間。 系統除了顯示路線之外,還給予了逐步的指示描述,如圖 4. 6 右圖,透過此 44.

(54) 描述可以知道該行走之方向、要行走之距離、已行走之距離及從起始點到達目的 地的總距離。. 圖 4. 6 路徑規劃. 若使用者點選下一步之按鈕則如圖 4. 6,文字描述提供使用者當作參考,除了方 向及距離資訊之外,若遇到跨場域或跨樓層之路徑時,會告知使用者所需搭乘或 使用的工具(如:走到、樓梯或電梯等),而在到達目的地時也會顯示已達目的地的 字樣。此外,系統還設置一個額外功能按鈕用來播報文字訊息,此一功能更加點 綴本系統,針對不懂文字的小孩、字體太小看不清楚的老人或是視覺有障礙之人 士提供此播報功能,提升他們使用本系統之便利性。 除此之外,當使用者到另一地點設置座標並進行規畫路徑之後,若想知道方 才所定位之地點在何處或是系統所導引之路線作參考時,可點選回復上回合路徑 之按鈕,系統會顯示上回合規劃之路線於地圖中,如圖 4. 7 右圖,並且一樣能夠 操作上一步和下一步之按鈕查看逐步路徑之描述。. 45.

(55) 圖 4. 7 回復上回合路徑規劃. 4.4 系統分析 本節將說明本研究中的系統與目前相關系統的差異性,本研究中的系統主要 重點在於室內地圖之呈現、運用NFC技術作精確的定位及成本效益以及搭配 XML原生資料庫進行資料處理,發展出精確的個人定位之室內導覽系統。以下 將以這三點做更詳細之說明。 . 室內地圖之呈現 本研究中有別於Google Map的基圖呈現,利用Map Studio網頁工具自行繪製. 室內地圖,並且搭配參考地理資訊在地圖中,讓地圖資訊不再只是單純的一個個 的點位,提供了更彈性的資訊內容以符合更多元的需求。而現有的室內定位系統 之室內地圖大多使用CAD圖形進行繁複的程式剖析而成Node/Link圖形,除了一 般人無法輕易了解原始室內平面設計圖之意涵之外,其圖形之變更彈性不高,對 於不同之環境空間必須增加辨識規則,無法簡易呈現室內地圖,讓使用者如同看 紙張地圖般的一目了然。 46.

參考文獻

相關文件

在學校行之有年的培育實習教師優良傳統風氣之下,我以擔任教育實 習輔導教師為榮,透過 開放自己的教室 (擔任校內輔導教師、集中實習輔導教 師) 、

簡化內、外部作業流程,擴大本機關(單 位)或第一線機關(單位)服務措施的運 作彈性,提升服務效率。. (二)跨機關(單位)整合(50

在數位系統中,若有一個以上通道的數位信號需要輸往單一的接收端,數位系統通常會使用到一種可提供選擇資料的裝置,透過選擇線上的編碼可以決定輸入端

機器人、餐飲服務、花藝、雲端運算、網路安全、3D 數位遊戲藝術、旅 館接待、行動應用開發、展示設計、數位建設

最後特別提出說明,本研究用戶端作業系統為 Win 2000 Professional,伺服 器端作業系統為 Windows 2000 Server 並啟動 Active Directory

隨著科技的進步,展覽場的導覽系統已從過去導遊、磁帶機或 CD 播放 器講解的時代轉換成行動導覽的時代。目前行動導覽方式大都以 RFID 或 QR

本彙集輯錄了多篇學校經驗分享的文章,闡述「管理與組織」範疇的各項全校 參與訓育及輔導工作模式的重點,請參閱教統局網頁,索引: 本局向學生及家 長提供的服務 &gt;

△△聯合診所所提供之服務範圍計有門診醫療服務(一樓)及 復健治療服務(二樓)兩項,本研究係針對一樓「門診醫療服務流 程」進行研究。由於△△聯合診所之門診醫療服務不具設計及研發