
摘 要由于網(wǎng)際網(wǎng)絡(luò)的盛行,很多應(yīng)用程序于設(shè)計(jì)時(shí),大都已采用分布式的理念來(lái)增進(jìn)執(zhí)行效能。然而由于分布式架構(gòu)中計(jì)算機(jī)分散于各處,使用計(jì)算機(jī)愈多,則計(jì)算機(jī)間所需之傳輸線路也要愈多且復(fù)雜。但因GSM系統(tǒng)已被普遍使用于每天之遠(yuǎn)程傳輸,這提供分布式計(jì)算機(jī)系統(tǒng)一個(gè)無(wú)線傳輸?shù)沫h(huán)境。本論文提出一以GSM系統(tǒng)為骨干的分布式遠(yuǎn)程監(jiān)控系統(tǒng)以汽車系統(tǒng)為一個(gè)測(cè)試范例,此系統(tǒng)可分為三大部分:第一部分為傳感器所收集到的資料,以簡(jiǎn)訊方式透過(guò)GSM系統(tǒng)送到簡(jiǎn)訊中心,第二部分為簡(jiǎn)訊中心將所收到的資料經(jīng)處理后送到監(jiān)控中心,第三部分為監(jiān)控中心由簡(jiǎn)訊中心所送來(lái)的資料知道汽車狀態(tài),并可對(duì)該汽車駕駛的一些行為提出建議。藉由此提出之架構(gòu)來(lái)驗(yàn)證GSM系統(tǒng)之遠(yuǎn)程監(jiān)控之可行性,并可結(jié)合GIS系統(tǒng)來(lái)將汽車位置顯示于電子地圖上,以達(dá)監(jiān)控之目的。 Distributed Wireless Remote Monitoring System Jui-Fa Chen+, Wei-Chuan Lin*, Chi-Ming Chung+, Kun-Hsiao Tsai+ +Department of Information Engineering, TamKang University +E-mail: alpha@mail.tku.edu.tw *Department of International Business, Tak-Ming College, *E-mail: wayne@mail.takming.edu.tw ABSTRACT With the popularity of the network, many applications have been designed to be a distributed system. The more distance for communication, the more lines for communication are needed. As the GSM has been widely used in our daily life for tele-communication, it can also be applied to the distributed system for wireless communication. This paper proposes a distributed wireless remote monitoring system based on the GSM system and takes the car system as a test case. This proposed system is divided into three parts. The first is that the data collected from the sensor such as GPS is sent by the short message of GSM to the GSM provider. The second is that the GSM provider processes the data sent by the short message of GSM and sends the process result to the monitoring center. The third is that the monitoring center can know the car status through the data sending from the GSM provider and give advises to the car driver. With the help of this proposed architecture, a distributed remote monitoring environment on GSM system is verified. In addition, the monitoring center can combine with the GIS to display the car location in a electronic map. Key words: GSM, GPS, GIS, monitoring center, short message 1. 緒論進(jìn)行分布式監(jiān)控系統(tǒng)的研究,往往會(huì)聯(lián)想到利用擁有高速數(shù)據(jù)傳輸率的固接式網(wǎng)絡(luò)來(lái)完成,但固接式網(wǎng)絡(luò)其缺乏機(jī)動(dòng)性的缺點(diǎn),對(duì)于動(dòng)態(tài)的對(duì)象而言,實(shí)無(wú)法勝任。因此,使用無(wú)線通信的技術(shù),也就顯得勢(shì)在必行。GSM領(lǐng)導(dǎo)著全球數(shù)字式無(wú)線通訊系統(tǒng)的標(biāo)準(zhǔn),至今全世界已有超過(guò)1.7億的GSM使用者,其數(shù)據(jù)傳輸率雖不及固接式網(wǎng)絡(luò)來(lái)的快速,但良好的機(jī)動(dòng)性與克服長(zhǎng)距離使用困難的缺點(diǎn),無(wú)疑對(duì)于動(dòng)態(tài)的分布式遠(yuǎn)程監(jiān)控系統(tǒng),提供了一良好的選擇。此研究的目的在于監(jiān)控遠(yuǎn)程動(dòng)態(tài)對(duì)象的實(shí)時(shí)狀況,透過(guò)「?jìng)鞲衅鳌箤⒓?xì)微的行為模式,利用GSM傳回到控制中心做監(jiān)控。一方面處理資料遺漏的問(wèn)題,將最立即而正確的資料送出。另一方面,在資料的傳送上,我們藉由有必要才傳的不定時(shí)傳輸方式,節(jié)省成本并降低網(wǎng)絡(luò)擁塞的問(wèn)題。本系統(tǒng)主要由三個(gè)部份所組成,分別為『動(dòng)態(tài)對(duì)象系統(tǒng)』、『簡(jiǎn)訊系統(tǒng)』及『監(jiān)控中心系統(tǒng)』。「動(dòng)態(tài)對(duì)象」泛指具有移動(dòng)性的物體而言。整個(gè)系統(tǒng)首先由『動(dòng)態(tài)對(duì)象系統(tǒng)』端之「?jìng)鞲衅飨到y(tǒng)」取得偵測(cè)的資料,經(jīng)「數(shù)據(jù)處理系統(tǒng)」計(jì)算、處理,判斷是否將資料送出,若是,則將資料經(jīng)由GSM簡(jiǎn)訊的方式,傳送至電信公司的「簡(jiǎn)訊中心」存放?!罕O(jiān)控中心系統(tǒng)』則是透過(guò)TCP/IP通訊協(xié)議取回資料,與「顯示系統(tǒng)」結(jié)合,供使用者觀看;若是緊急事件,則透過(guò)「警告系統(tǒng)」,與系統(tǒng)管理者聯(lián)絡(luò)。在本論文中,第二節(jié)將回顧相關(guān)文獻(xiàn),第三節(jié)將介紹整個(gè)系統(tǒng)的架構(gòu);第四節(jié)為系統(tǒng)實(shí)作,藉車子為實(shí)例說(shuō)明整個(gè)架構(gòu)的流程;第五節(jié)為結(jié)論與建議。 2. 文獻(xiàn)回顧本章中,茲就以往相關(guān)的研究作一摘述,并分析本研究與其相同與相異之處做一比較?!感轮袷泄噭?dòng)態(tài)信息系統(tǒng)功能更新及調(diào)度管理系統(tǒng)之開發(fā)」為交通部運(yùn)輸研究所與國(guó)立交通大學(xué)運(yùn)輸研究中心合作,于1998年8月發(fā)表之專題研究報(bào)告(Wu 98)。系統(tǒng)架構(gòu)主要由四個(gè)部份組成,分別是安裝于新竹客運(yùn)市區(qū)公車的GPS訊號(hào)接收定位子系統(tǒng)、控制中心與基地及各車輛間的通訊子系統(tǒng)、位于新竹客運(yùn)總公司的控制子系統(tǒng)、以及傳送至民眾家中與位于路旁站牌的信息顯示子系統(tǒng)。衛(wèi)星定位信息由公車接之后,經(jīng)由公車上的無(wú)線電傳至基地臺(tái)(交大),而基地臺(tái)所收到的定位信息分接成三路訊號(hào),一路傳到監(jiān)視器上,一路經(jīng)由數(shù)據(jù)專線傳至新竹客運(yùn),這些定位信息在竹客加入排班信息(將公車車號(hào)轉(zhuǎn)或公車路號(hào))后再經(jīng)由數(shù)據(jù)專線傳至振道有線電視公司,然后再將訊號(hào)送至有線電視之客戶端,而有關(guān)語(yǔ)音部分,無(wú)線電采雙頻方式,也就是聲音與定位訊號(hào)分開傳送,讓控制中心人員可以與公車駕駛立即溝通而不影響定位信息的傳送,而完整的系統(tǒng)架構(gòu)圖可由圖2-1所示。 圖2-1 新竹公車信息系統(tǒng)流程圖 (圖片來(lái)源「新竹市公車動(dòng)態(tài)信息系統(tǒng)功能更新及調(diào)度管理系統(tǒng)之開發(fā)」,交通部運(yùn)輸研究所,1998年8月) 其它如交通部運(yùn)輸研究所于1998年10月所發(fā)表的「臺(tái)北市示范性公車動(dòng)態(tài)信息顯示系統(tǒng)使用狀況調(diào)查」等文獻(xiàn)(Lin 98),系統(tǒng)架構(gòu)大致上沒(méi)有太大的差異,與本研究(圖1-1)比較后,其系統(tǒng)架構(gòu)圖如圖2-2所示: 圖2-2 文獻(xiàn)系統(tǒng)架構(gòu)圖 無(wú)線電系統(tǒng)適合用于短距離(如市區(qū)內(nèi))的傳輸上,但對(duì)于長(zhǎng)距離的傳輸則無(wú)法配合,其無(wú)法雙工的傳輸方式,對(duì)于多臺(tái)的監(jiān)控對(duì)象,無(wú)法同時(shí)傳輸資料,勢(shì)必造成一定的困擾。另一方面,頻道的申請(qǐng)有限且不易,亦有被香腸族蓋臺(tái)的風(fēng)險(xiǎn),到至傳出的資料錯(cuò)誤或遺失。再者,文獻(xiàn)中僅采用GPS傳回的資料,因此僅能就位置、速度作控制,對(duì)于對(duì)象內(nèi)較細(xì)微的行為模式則無(wú)從得知。 3. 系統(tǒng)架構(gòu)系統(tǒng)主要由三個(gè)部份所組成,分別為『動(dòng)態(tài)對(duì)象系統(tǒng)』、『簡(jiǎn)訊系統(tǒng)』及『監(jiān)控中心系統(tǒng)』(Silberschatz 95)。圖3-1 完整系統(tǒng)架構(gòu)圖 在圖3-1中,系統(tǒng)由『動(dòng)態(tài)對(duì)象系統(tǒng)』端之「Sensor System」取得偵測(cè)的資料,經(jīng)「Data Processing System」處理并儲(chǔ)存至「Database」中,同時(shí),將資料送至「Dead Reckoning System」及「Critical Event System」中,判斷是否將需資料送出,若是,則將資料經(jīng)由GSM簡(jiǎn)訊的方式,傳送至電信公司的「簡(jiǎn)訊系統(tǒng)中心」存放。此時(shí),『監(jiān)控中心系統(tǒng)』端的「Receiver」透過(guò)TCP/IP至「簡(jiǎn)訊系統(tǒng)中心」取回資料,儲(chǔ)存并交付「Dead Reckoning System」與「Critical Event System」判斷,然后與「Display System」結(jié)合(Devine 86),供使用者觀看;若是緊急事件,則透過(guò)「Alert」,與系統(tǒng)管理者聯(lián)絡(luò),茲就各部份做細(xì)部的介紹。 3.1 動(dòng)態(tài)對(duì)象系統(tǒng)(Moveable System) 『動(dòng)態(tài)對(duì)象系統(tǒng)』(MobileWorld 99)可分成「Sensor System」、「Data Processing System」、「Dead Reckoning System」、「Critical Event System」及「Transmission System」五個(gè)部份。 3.1.1 Sensor System 「Sensor System」的目的在于收集sensors所偵測(cè)到的資料,然后送到「Data Processing System」處理。其中,sensors包括「全球衛(wèi)星定位系統(tǒng)(Global Position System, GPS)」(Huang 99, Williamson 99, Dunstan 95)及對(duì)象本身的種種變化值。舉車子當(dāng)對(duì)象為例,sensors會(huì)偵測(cè)GPS位置、車輛方向、車輛速度、踩油門(引擎轉(zhuǎn)速)、煞車,甚至于打開車門、引擎溫度、下雨否及安全氣囊是否彈開等數(shù)據(jù),然后送到「Data Processing System」處理。 3.1.2 Data Processing System 「Data Processing System」處理、計(jì)算并儲(chǔ)存「Sensor System」所傳送過(guò)來(lái)的資料,分別送交「Dead Reckoning System」與「Critical System」處理,判斷是否需要傳送資料,以通知「監(jiān)控中心系統(tǒng)」的系統(tǒng)進(jìn)行更新。 3.1.3 Dead Reckoning System 3.1.3.1 基本理論如果實(shí)際移動(dòng)位置,符合前一次的Dead Reckoning Algorithm計(jì)算所預(yù)測(cè)的資料,為了降低通訊的頻寬,因此將不傳送此筆資料,否則將傳送此資料,并通知『監(jiān)控中心系統(tǒng)』移動(dòng)對(duì)象已經(jīng)更改行為模式。換句話說(shuō),這必須由『動(dòng)態(tài)對(duì)象系統(tǒng)』端及『監(jiān)控中心系統(tǒng)』端雙方面去仿真對(duì)象下一個(gè)單位時(shí)間的變化,如果下一單位時(shí)間內(nèi)「對(duì)象的實(shí)際變化」與「仿真的結(jié)果」相符,則不用送出資料。舉汽車移動(dòng)如下圖3-2,汽車直線前進(jìn)由時(shí)速0 公里加速,第30 秒時(shí)速到達(dá)80 公里,第6分鐘時(shí)減速,6分10秒時(shí)速為60 公里,6分50秒開始煞車,第7分鐘時(shí)完全停止。此時(shí)我們并不用使用定時(shí)傳送資料的方法,而僅需采取【加速度】有變化的時(shí)候,送出「時(shí)間」、「速度」及「加速度」等資料。在車子激活時(shí),送出車子的加速度資料,并交由『動(dòng)態(tài)對(duì)象系統(tǒng)』端及『監(jiān)控中心系統(tǒng)』端雙方面去仿真,等到第30秒時(shí)車子開始定速(加速度為0),則再次送出資料,從第30 秒到第6 分鐘間,車子維持在時(shí)速80 公里(加速度為0),則都不用送出資料。因此,我們所必須送出資料的時(shí)間為0 min, 30 sec, 6 min, 6 min 10 sec及6 min 50 sec。(依第6分50秒所送出的資料可仿真第7 分鐘時(shí)車輛將停止,因此第七分鐘時(shí)不用再送出資料) 圖3-2 汽車移動(dòng)范例(一)為了避免長(zhǎng)時(shí)間沒(méi)有傳送資料,因此可以訂定一固定周期,不論是否有更改Read Reckoning Algorithm,皆將資料傳送,通知『監(jiān)控中心系統(tǒng)』,對(duì)象尚且存活著。如上例中制訂此「固定周期為5 分鐘」為例,其結(jié)果如圖3-3,我們所必須送出資料的時(shí)間為0 min, 30 sec,5 min 30 sec, 6 min, 6 min 10 sec及6 min 50 sec。第5 min 30 sec時(shí),必須送出資料,即使速度并未變化。圖3-3 汽車移動(dòng)范例(二)若我們由「Sensor System」及GPS中,能預(yù)測(cè)對(duì)象將進(jìn)入某種特殊的環(huán)境(如汽車進(jìn)入隧道),則我們可要求對(duì)象在特殊的情況下傳回資料(如汽車進(jìn)入隧道前);而特殊的環(huán)境可能造成在規(guī)定的時(shí)間內(nèi)無(wú)法傳回資料(如一汽車進(jìn)入隧道要10 分鐘后才會(huì)出來(lái),而規(guī)定固定周期為5 分鐘內(nèi)傳回一筆資料),也能加入特殊的條件(如仿真到這地方時(shí),將周期視情況做延長(zhǎng))來(lái)避免錯(cuò)誤的發(fā)生。 3.1.3.2 何時(shí)送資料(Ⅰ) 如果Dead Reckoning計(jì)算的結(jié)果,不符合前一次的Dead Reckoning Algorithm,我們將選擇一條新的Read Reckoning Algorithm,通知『監(jiān)控中心系統(tǒng)』對(duì)象已經(jīng)更改行為模式。那何時(shí)需要傳送呢?當(dāng)實(shí)際位置與預(yù)測(cè)位置相差超過(guò)K公尺時(shí),我們將數(shù)據(jù)送出,亦即|實(shí)際位置 - 預(yù)測(cè)位置│> K(m) 此處的K值,我們可視實(shí)際的狀況作調(diào)整,若我們想正確的掌握行車的狀況,且硬件方面能夠配合(如GPS所抓回的值是否夠準(zhǔn)確),可將此K值降到幾百公尺,甚至于幾十公尺;若我們只是想了解車輛大約的位置,并降低傳輸?shù)念l率,則此K值為幾公里,甚至于幾十公里。 Procedure Exceed_Range() Comment: Car_Real_Longitude_Situation : 車子真實(shí)的水平(經(jīng)度)位置 Car_Real_Latitude_Situation : 車子真實(shí)的垂直(緯度)位置 Car_Simulated_Longitude_Situation : 車子仿真的水平(經(jīng)度)位置 Car_Simulated_Latitude_Situation : 車子仿真的垂直(緯度)位置 Allowable_Range : 車子可容許的誤差范圍,即上面的K值 Meter2Grid : 將公尺數(shù)轉(zhuǎn)成經(jīng)緯度坐標(biāo)(常數(shù)) Send_Data() : 將資料送出 BEGIN IF [(Car_Real_Longitude_Situation-Car_Simulated_Longitude_Situation)2 + (Car_Real_Latitude_Situation-Car_Simulated_Latitude_Situation)2]1/2 > Allowable_Range * Meter2Grid THEN Send_Data() ENDIF END. 3.1.3.3 計(jì)算下一位置首先,在「動(dòng)態(tài)對(duì)象系統(tǒng)」與「監(jiān)控中心系統(tǒng)」端分別有一張一模一樣的窗體,我們稱它「GPS&Location Table」,如表3-1所示,里面有經(jīng)度、緯度、限速、位置等數(shù)據(jù)。 表3-1 GPS&Location Table 其中,Longitude與Latitude用于「Dead Reckoning System」、Limit Speed用于「Critical Event System」中判斷超速的部分、Location則用于『監(jiān)控中心系統(tǒng)』端的「Display System」。一開始我們由車上的GPS,就能知道我們位于那個(gè)位置,例#Longitude=121’0.4419E、#Latitude=24’52.1545N就可知道車子位于#No.1與#No.2間,此處利用「差分法」便可知車子位置與兩點(diǎn)間位置的關(guān)系,再由下一次GPS所傳回的值,便可知車子正向那個(gè)方向移動(dòng)。例如我們已知車子向#No.2方向移動(dòng),那我們仿真的方式便是向#No.2做修正,當(dāng)我們超過(guò)了#No.2,可知現(xiàn)在的位置已不在#No.1與#No.2間,此時(shí)我們便可以改向#No.3前進(jìn)。 Procedure Computed_Next_Situation() Comment: Car_Pre_Longitude_Situation : 判斷GPS&Location Table中的上一個(gè)水平位置(經(jīng)度)。 Car_Pre_Latitude_Situation : 判斷GPS&Location Table中的上一個(gè)垂直位置(緯度) 。 Car_Post_Longitude_Situation : 判斷GPS&Location Table中的下一個(gè)水平位置(經(jīng)度)。 Car_Post_Latitude_Situation : 判斷GPS&Location Table中的下一個(gè)垂直位置(緯度) 。 Car_Simulated_Longitude_Situation : 用來(lái)記錄車子現(xiàn)在的水平位置(經(jīng)度) 。 Car_Simulated_Latitude_Situation : 用來(lái)記錄車子現(xiàn)在的垂直位置(緯度) 。 C1: Car_Post_Longitude_Situation > Car_Simulated_Longitude_Situation AND Car_Pre_Longitude_Situation > Car_Simulated_Longitude_Situation C2: Car_Post_Longitude_Situation < Car_Simulated_Longitude_Situation AND Car_Pre_Longitude_Situation < Car_Simulated_Longitude_Situation C3: Car_Post_Latitude_Situation > Car_Simulated_Latitude_Situation AND Car_Pre_Latitude_Situation > Car_Simulated_Latitude_Situation C4: Car_Post_Latitude_Situation < Car_Simulated_Latitude_Situation AND Car_Pre_Latitude_Situation < Car_Simulated_Latitude_Situation X : 計(jì)算現(xiàn)在位置與下一點(diǎn)位置的經(jīng)度差。 Y : 計(jì)算現(xiàn)在位置與下一點(diǎn)位置的緯度差。 Meter2Grid : 將公尺數(shù)轉(zhuǎn)成經(jīng)緯度坐標(biāo)(常數(shù))。 Car_Speed : 車輛速度。 Car_Acceleration : 車輛加速度。 PreUpdateTime : 上一個(gè)位置(現(xiàn)在)之時(shí)間。 NextTime : 下一個(gè)位置的時(shí)間。 Distance : 現(xiàn)在至下一個(gè)時(shí)間內(nèi)所走的距離。因?yàn)槭褂媒?jīng)緯度坐標(biāo)記錄車輛的位置,因此我們必須將距離轉(zhuǎn)換成經(jīng)緯度的距離差,并分解成經(jīng)度(水平分量)與緯度(重直分量)坐標(biāo)。 BEGIN IF C1 OR C2 OR C3 OR C4 THEN {Comment: 此IF敘述在判斷Car Simulated Situation是否已超過(guò)Car Post Situation ,若已超過(guò)則將Car Post Situation} Car_Pre_Longitude_Situation = Car_Post_Longitude_Situation Car_Pre_Latitude_Situation = Car_Post_Latitude_Situation Car_Post_Longitude_Situation = Car_Post_Longitude_Situation的下一點(diǎn) Car_Post_Latitude_Situation = Car_Post_Latitude_Situation的下一點(diǎn) ENDIF X = Car_Post_Longitude_Situation