室內火警感測網路之設計與實作
全文
(2) 室內火警感測網路之設計與實作 Design and Implementation for an In-Building Fire Emergency System based on Wireless Sensor Network 研. 究. 生 : 江宗嶽. 指 導 教 授 : 張仲儒. 教授. 曾煜棋. 教授. Student. : Tsung-Yueh Chiang. Advisor. : Chung-Ju Chang Yu-Chee Tseng. 國立交通大學 電信工程學系 碩士論文 A Thesis Submitted to Department of Communication Engineering College of Electrical Engineering and Computer Science National Chiao-Tung University in partial Fulfillment of the Requirements for the Degree of Master in Communication Engineering January 2005 Hsinchu, Taiwan, Republic of China. 中華民國九十四年一月. -i-.
(3) 室內火警感測網路之設計與實作 研究生:江宗嶽. 指導教授:張仲儒 博士 曾煜棋 博士. 國立交通大學電信工程學系(研究所)碩士班. 摘. 要. 隨著科技與時代的進步,促使無線網路的相關技術逐漸被運用於許多重要的 領域,尤其是近來備受矚目的「無線感測網路」。將龐大數量的感測器部署於目 標環境當中,這些微小的電子裝置均配備著感測、運算與通訊的功能,彼此之間 可透過合作與協調的方式,共同達成整體任務,藉此以增進人類生活上的便利與 舒適性。在本篇研究論文中,我們將針對室內建築環境的消防應用情境,設計出 一套智慧型的火警感測網路系統—「PHOENIX」 ,本系統運用前瞻性的無線感測 網路技術,使得在佈局上不僅能達到簡易與美觀的優點,同時亦能兼顧安全性的 考量,其主要提供的服務項目包括:室溫偵測、災情回報以及逃生導引等三大功 能,改良現有以實體線路為基礎的建築消防系統,更能夠有效地降低火警災變所 造成的傷害影響;我們將採用美國加州柏克萊大學所研發的微塵感測器硬體平台 (Mote-MICA2) ,結合嵌入式微型作業系統(TinyOS)來實作此套系統,相關於 系統細部的架構配置、協定流程與效益評估將一併呈現於本文當中。. 關鍵字:無線感測網路、室內火警系統、室溫偵測、災情回報、逃生導引。. -i-.
(4) Design and Implementation for an In-Building Fire Emergency System based on Wireless Sensor Network Advisor:Prof. Chung-Ju Chang. Student:Tsung-Yueh Chiang. Prof. Yu-Chee Tseng Department (Institute) of Communication Engineering College of Electrical Engineering and Computer Science National Chiao-Tung University. ABSTRACT Due to the progress of technologies, wireless networks have been widely applied to many important domains, such as wireless sensor networks. The objective of sensor networks is to detect context information of the surrounding environment. Each sensor node has sensing, computing, and communicating capabilities. Sensors cooperate with each other to achieve this goal. In this thesis, we design an intelligent fire emergency system called PHOENIX for in-building, fire-fighting applications based on wireless sensor networks. The system has three major functionalities, including temperature reporting, emergency reporting, and emergency guiding. Because of its wireless communication capability, the vulnerability of wire-line systems is greatly improved. The system is developed based on the Mote-MICA2 hardware platform released by the University of California at Berkeley using a tiny operating system(TinyOS). The thesis reports in details how the PHOENIX system is implemented and operated.. Keywords: Wireless sensor network, Fire emergency system, Thermometric detection, Emergency report, Survival guidepost.. - ii -.
(5) 誌. 謝. 誠摯地感謝曾煜棋教授兩年來的指導與鼓勵,並提供良好的研究 環境及充足的實驗設備,讓我得以順利完成此篇論文並取得碩士學 位。 此外,也由衷地感謝實驗室裡一起工作的研究同儕們,感謝你們 在我創作此篇論文時的參與討論與提供意見。 最後,感謝家人對我的期許及關懷,尤其是母親對我多年的教養 及栽培,僅以此論文獻給我的母親。. 在此向您們獻上我最誠摯的謝意。 江 宗 嶽 謹識於 國立交通大學電信工程研究所 中華民國九十四年一月. - iii -.
(6) 論文目次 中文摘要. i. 英文摘要. ii. 誌. 謝. iii. 目. 錄. iv. 表目錄. vi. 圖目錄. vii. 第壹章、 緒論 ................................................................................................ 1 第一節、研究背景 .................................................................................. 2 第二節、研究動機與目的 ...................................................................... 3 第三節、研究方法與流程 ...................................................................... 4 第四節、論文結構 .................................................................................. 5 第貳章、 相關文獻......................................................................................... 6 第一節、感測器之組成構造與硬體平台 ............................................... 7 第二節、微型作業系統 — TinyOS ..................................................... 10 第三節、無線感測網路之架構及其應用 ............................................. 13 第四節、室內火警感測網路之相關技術探討 ..................................... 15 第參章、 室內火警感測網路「PHOENIX」之服務功能 ........................... 20 第一節、系統綜觀與環境佈署............................................................. 20 第二節、功能項目—「室溫偵測」之設計與研究.............................. 21 第三節、功能項目—「災情回報」之設計與研究.............................. 25 第四節、功能項目—「逃生導引」之設計與研究.............................. 33 第五節、研究結語 ................................................................................ 35. - iv -.
(7) 第肆章、 室內火警感測網路「PHOENIX」之系統實作 ........................... 36 第一節、通訊協定堆疊與訊息封裝 ..................................................... 37 第二節、系統架構與運作流程............................................................. 42 第三節、系統實際操作與示範............................................................. 47 第四節、效益評估 ................................................................................ 52 第伍章、 未來展望與結論 ........................................................................... 56 第一節、未來研究方向 ........................................................................ 56 第二節、本文研究貢獻 ........................................................................ 58 陸、參考文獻............................................................................................... 59. -v-.
(8) 表目錄 表(一)、網路初始化程序。 ......................................................................... 23 表(二)、鄰居偵測程序。............................................................................. 24 表(三)、交錯展延樹之演算法(A)。......................................................... 28 表(四)、交錯展延樹之演算法(B)。......................................................... 30 表(五)、逃生導引程序之示範圖例。.......................................................... 34 表(六)、訊息封裝格式。............................................................................. 40 表(七)、訊息列表總覽。............................................................................. 42 表(八)、感測器之顯示燈號與表示意義。.................................................. 47 表(九)、感測器之傳輸實驗表。 ................................................................. 53 表(十)、感測器之感測實驗表。 ................................................................. 54. - vi -.
(9) 圖目錄 圖(一)、感測器之構造組成圖。 ................................................................... 8 圖(二)、微塵感測器之硬體結構圖。............................................................ 9 圖(三)、訊息通訊元件之圖解範例。.......................................................... 12 圖(四)、系統部署圖。................................................................................. 21 圖(五)、完整圖(K5)之四棵交錯展延樹範例。 ..................................... 27 圖(六)、交錯展延樹演算法之執行結果。.................................................. 30 圖(七)、鄰居偵測程序之圖解範例。.......................................................... 31 圖(八)、區域性廣播之圖解範例。 ............................................................. 32 圖(九)、PHOENIX 系統之通訊協定堆疊。 ............................................... 38 圖(十)、協定堆疊模組之連接關係圖。...................................................... 39 圖(十一)、系統實際示範圖。 ..................................................................... 42 圖(十二)、PHOENIX 系統之資料與控制流路示意圖。 ............................ 43 圖(十三)、PHOENIX 系統之元件配置圖。 ............................................... 44 圖(十四)、二階段式回報機制流程圖。...................................................... 46 圖(十五)、PHOENIX 火警系統之圖形介面。 ........................................... 49 圖(十六)、PHOENIX 火警系統之執行實例。 ........................................... 50 圖(十七)、PHOENIX 火警系統之實際操作圖。........................................ 52. - vii -.
(10) 第壹章、緒論. 隨著微機電整合、無線網路及嵌入式處理技術的迅速提昇,促進了微 小的電子裝置能夠具備感測、計算與通訊等多樣性功能,將這些微型感測 器恣意地部署於觀察環境當中,其所形成的網路稱之為「無線感測網路 (Wireless sensor network) 」[1][2][3]。這是一種以應用趨勢為導向的網路 型態,主要的任務是透過感測器在其感應範圍內偵測週遭環境或特定目 標,並將所搜集到的資訊經由無線傳輸方式,回報到基地台,透過系統提 供進階的服務功能,進而提升人類的各項生活品質。 目前亦有許多無線感測網路的相關應用[4][5][6]正在持續地發展中, 實際的應用範疇相當地廣泛,涵蓋了商業、軍事、教育與工業等諸多領域。 事實上,無線感測網路提供了一種有效取得環境資訊的途徑,而在普及運 算所探討的議題裡,令應用系統能夠動態地感知環境資訊便是一項極為重 要的題材,系統透過感測器所蒐集的資訊,交由基地台進行進階的判斷、 處理,讓系統利用這些訊息得以自我調整與維護。我們可預知在不久的未 來裡,伴隨著這項新興科技的引領,勢必將對人類生活的影響層面與日俱 增,促使人類進入一個真正的環境感知 運算(pervasive context-aware computing)時代。 在本篇論文當中,我們將探討如何運用無線感測網路來感知環境中的 資訊,並且設計一套適用於室內建築物的火警感測網路,嘗試取代現行諸 多弊病的有線傳統消防監測系統。在以下將深入介紹本系統之初,本章將 闡明我們研究這項主題的背景、動機以及研究範圍。. -1-.
(11) 第一節、研究背景 近年來國際間「無線感測網路」的相關研究備受矚目,更引起了學界 與業界的廣泛討論,其應用範圍無遠弗屆,涵蓋了國防、工業、醫療及保 全等各種層面,適當地運用這種能夠自我組態的網路模式,不僅能大幅降 低以往對於人力資源的需求,並且能高效率地增加工作效率。 我們的研究背景乃立基於目前已趨成熟的無線隨意網路(Wireless ad-hoc network)[7],隨意網路是無線感測網路技術的前身,它們皆為無基 礎設施(infrastructure-less)的網路型態,具有許多相通的特性,但感測網 路的建構條件更為嚴謹,使得許多現今通行於隨意網路上的協定無法直接 套用於感測網路上,因此在設計感測網路上至今仍存在著許多嶄新的挑 戰,歸納兩種網路主要的差異性如下:. 1.. 網路範疇不盡相同 無線感測網路的節點數量通常較無線隨意網路超出數十倍甚至百倍, 而且感測網路的節點密度普遍較高,這點將使得許多利用廣播通訊方 式為基礎所發展出來的隨意網路協定將不再適用於感測網路。. 2.. 缺乏共同識別碼 由於無線感測網路的節點數量龐大,因此每一個網路節點或許沒有唯 一性參考指標,用來作為網路中的共通識別碼(identifier) ,這點使得 無線感測網路的繞徑協定設計不同於無線隨意網路。. 3.. 裝置能力明顯不同 感測器的硬體設計以成本、體積與耗電為主要考量,因此在無線感測 網路中,裝置節點本身所配備的電源、記憶體以及運算能力均受到極 大的限制,這些限制相對於無線隨意網路中的行動主機來說,受限制 的幅度則輕緩許多。. -2-.
(12) 以無線隨意網路領域中著名的繞徑協定為例,譬如 DSR[8]與 AODV[9] 這兩套網路協定便無法直接套用於無線感測網路上,一般而言感測網路常 為顧及電源與效能等考量因素,會在資料回報前,執行一些加工處理的程 序,其中最關鍵的技術包括有資料彙整(data aggregation)[10]與資料融合 (data fusion)[11]兩種,但是 DSR 與 AODV 等協定均不能允許資料在彙 整或融合後繼續執行,使得無法直接運用於無線感測網路上。 縱使目前在無線感測網路的設計上,仍須面臨許多的困難與挑戰尚待 解決,但我們深信這些技術問題必然能夠在大家的共同努力之下,被逐一 克服,屆時無線感測網路必能挾以其本身所具備的體積、廉價等諸多優 勢,成為領導主流的先驅技術之ㄧ。. 第二節、研究動機與目的 追求舒適與無憂無慮的生活環境,一直是現代科技努力的目標。伴隨著. 電機與資訊產業的蓬勃發展,將無線感測網路應用於人類的日常生活中, 不再只是電影情節中的虛擬場景,亦非富豪所能獨享。目前在國際間,已 經有許多著名的研究團隊正在積極地開發有關無線感測網路的相關技術 與各種應用[4][5][6][12][13]。有鑑於此,本研究利用部署於室內的無線感 測網路,開發出適用於火警消防的應用系統。 傳統的建築火警系統中,主要是以溫度計或煙霧探測器來偵測所在建 築環境內是否發生火災,一旦祝融興起,便立即啟動對應的滅火設備(fire extinguisher)來執行預先設定的消防措施,請求就近的消防單位與予支援。 在這樣的系統中,所有的探測器是依靠鋪埋於建築物內的實體線路與控管 中心進行連結,探測器的運作是彼此獨立的,系統亦不提供長期偵測與紀 錄室溫的功能;無疑地,系統的擴充性受到所在環境極大的限制,對於線 路的維護也是一項棘手的問題。相較之下,無線感測網路擁有的諸多優點. -3-.
(13) 便脫穎而出,感測器微小的體積可以無礙於空間美觀,無線通訊的形式使 得系統佈置相當簡易,透過適當的協定規劃使得感測器,能夠自我組態形 成消防互聯網路,提供室溫偵測與傳報功能,充分地發揮出智慧型急難管 理的目標。. 第三節、研究方法與流程 本研究論文的主題為「室內火警感測網路」,我們首先探討其本質特 徵及各項關聯技術,詳盡地執行整理與歸納的工作,確認研究對象的構成 模式與規律性,再進而提出系統架構與組成元件的設計概念,透過實驗模 擬與實作示範的方式達到對研究對象的完整掌握。在研究進行時,我們所 採用的方法,包含以下幾個步驟:. 一、 文獻資料整理 藉由國際間曾經被發表或刊登的期刊與論文集當中,整理出相關的文 獻並透過書面資料的記載,了解無線感測網路的發展現況與研究近 程,進而探討各項相關的技術及其優缺點,歸納出所參考的文獻資 料,確實掌握研究方向與核心技術,以利於系統之規劃、設計。 二、 系統建構與分析 首先分析整體系統所必須注意的所有考量因素,包括:省電、效率與 回報機制,透過此步驟思考面對於種種現實問題的解決之道,進而設 計出實用的室內火警感測網路系統。 三、 系統效能評估 驗證本系統的各項參考數據,反覆查驗以確認系統是否符合預期目 標,若有缺陷損及預期之目標,則重新思考找尋原因,進而修正系統 以達成預定目標。. -4-.
(14) 四、 雛形系統實作 在資源與時間有限的條件下,為求驗證系統於實際面的可行性,本研 究著手實作雛形系統,結合柏克萊大學所設計的感測網路端點硬體平 台,與微型作業系統,並輔以適當的理論進行測試與調校,增進系統 的穩定性。. 第四節、論文結構 本篇研究論文之架構共區分為五個章節:第壹章為緒論,闡明本研究 之背景、動機與研究方法,第貳章為相關文獻,介紹感測器的組成構造、 硬體平台與微型作業系統,並歸納出目前無線感測網路的架構與應用方 向,在第参章當中,則針對於室內火警的實際情境提出一套消防應用系 統,分別按照三大主要服務功能:室溫監測、災情回報與逃生導引,逐一 探究並加以討論,第肆章利用加州柏克萊大學所開發的 Mote-MICAII 感測 器裝置結合 TinyOS 來實作本網路系統,同時將實作上的設計考量一併呈 現,於第伍章中則是本研究論文的結論與未來發展方向,以供為後續研究 之參考。. -5-.
(15) 第貳章、相關文獻. 在著名影星湯姆克魯斯所主演的一部好萊塢電影「關鍵報告」中,描 述未來的年代裡,人類的生活將無時無刻地受到監控,在每一道房門或關 卡處皆會有一具智慧型攝影機,透過瞳孔、手紋辨識程序確認身分後,將 資料傳回到監控中心,監控中心可以隨時取得城市裡所有位置的地理座 標,片段中更令人嘖嘖稱奇的就是那群自動緝捕主角的蜘蛛型機器人,每 隻蜘蛛都是獨立的個體,不僅可以在行動間進行偵測,當遭遇特殊狀況時 還可以聚集起來,相互支援與協調。雖然虛構的劇情中對於未來世界的描 述非常誇張,但可預知在伴隨著無線感測網路等相關技術的提昇,或許到 那個年代時像「伊拉克自由行動1(Operation Iraqi Freedom) 」這類的任務, 有可能在最短時間內達成。 無線感測網路是由數目龐大的無線感測器所組成,這項原本遙不可及 的科技,現今配合著微機電整合系統(MEMS)及奈米科技(Nano science) 等技術,確實能夠得以實現。早在三年前,由美國國防部高等研究計劃總 署(DARPA)協同加州柏克萊大學(UC Berkeley)所發展的「智慧微塵 (Smart Dust) 」[12]計畫當中,提出了一種微型的無線感測硬體平台(Mote) [14],研究人員在這個硬體平台上實踐了微小電子裝置可配備微電腦、無 線通訊與感測模組的目標,每個感測器就類似於微塵一般,透過支援嵌入 式處理的微型作業系統(TinyOS)[15]即可操控。 下面我們將透過本章相關的文獻整理,進一步地了解何謂微型感測裝 置的組成構造以及運行於其上的微型作業系統,同時歸納出目前無線感測 網路的架構與現行應用。 1. 西元 2003 年 3 月份,美國派遣特種部隊進入伊拉克境內蒐集情報,搜索攻擊目標,此次的攻 伊行動定名為「伊拉克自由行動」(Operation Iraqi Freedom)。 -6-.
(16) 第一節、感測器之組成構造與硬體平台 本節中分為兩個部份,首先將概觀性地介紹微型感測器的硬體構造, 再針對於本篇研究論文中系統實作時所採用的微塵(Mote)感測器硬體特 別說明。. (一) 感測器之組成構造及其功能 一般而言,感測器的構造組成及其功能[1],如下頁圖(一)所示,主要 包含四個部份:中央處理器(central processing unit) 、無線收發器(wireless transceiver) 、感測模組(sensing module)和電源供應器(power supply) 。 針對於不同的應用,感應器本身亦能外掛(plug-in)其他附加元件,例如: 磁性方位器(magnetometers) 、壓力計(pressure transducer)及陀螺儀(inertial measurement system)等設備。 感測器的主要功能就是偵測所在環境的相關參數及變異程度,當感測 單元偵測到環境資訊時,會先透過類比/數位訊號轉換器,將類比訊號轉 換成數位資料,再交由中央處理器執行進階處理,中央處理器除了擁有運 算的功能外,亦附有一個小型的記憶體來暫存運算結果,此外由於鄰近的 感測器之間可能會同時進行相同的任務,因此中央處理器亦需要能夠彼此 協調、共同合作處理資料,而運算過後的結果將透過無線收發器回報到控 制中心,電源供應器則是感測器當中最基礎的設備,它主要負責供應裝置 所有的使用電量。另外,感測器可外掛全球定位系統模組(GPS) 、震度探 測器(SEISMIC) 、加速度計(accelerometer)或是其他特殊應用可能所需 的感測模組,藉以輔助感測器進行更精確的量測用途。 現今藉由微機電整合的技術提升,使得一顆感測器的實際尺寸已逐漸 縮小,甚至如同一枚硬幣般大小,僅單板上便能擁有上述各項功能,這使 得感測器運用的幅度大為增廣。. -7-.
(17) 圖(一)、感測器之構造組成圖。. (二) 微塵感測器之硬體平台 由美國加州柏克萊大學(UC Berkeley)所研發的微塵感測器終端硬體 平台,請參照下頁圖(二),它採用 ATMEL 公司所製造的晶片 AT90LS8535 做為中央處理器,系統具有 8 K 位元祖的可程式快閃記憶體與 544 位元組 的 隨 機 存 取 記 憶 體 , 採 用 精 簡 指 令 集 設 計 的 哈 佛 架 構 ( Harvard Architecture) ,提供 16 位元的定址轉換空間;系統針對嵌入式應用提供三 種省電模式:Idle、Power-down 以及 Power-save;當系統處於 Idle 模式時, 會自動停止執行所有的工作排程;當系統處於 Power-down 模式時,僅剩 下非同步(asynchronous)中斷和基礎的周邊設備尚可正常工作;倘若系 統處於 Power-save 模式時,大致上運作行為與 Power-down 模式無異,但 會多一組非同步計時器,以維持週期性的常態工作。微塵感測器的射頻電 路採用 RF Monolithic 公司的 TR1000 通訊模組製成,這個模組可提供 -8-.
(18) 916.50MHz 的操作頻率以進行短距離的無線通訊功能,其最高傳輸率可達 到每秒 115.2 K 位元組,使用 3 伏特的操作電壓,可調整訊號強弱與敏感 度,亦支援睡眠管理模式的設計。溫度感測單元則是 Analog Device 的 AD7418 晶片,為內建 A/D 轉換器、溫度感測器、時脈震盪器的整合晶片, 利用 I2C 傳輸介面將數位訊號輸入至中央處理器。此外,系統裡有一個 EEPROM 記憶單元,中央處理器會透過 SPI 介面與八位元的協同處理器 ATMEL AT90LS2343 連接,由協同處理器去管理大小為 256K 位元組的 EEPROM 模組 24LC256。這裡值得一提的是,每項元件都具有低耗電的設 計,而整體運作在全效模式下所使用的電壓為 3 伏特,以及 19.5 毫安培的 電流量,粗略估計為 60 微瓦,當 LED 顯示燈全部開啟時,則增至 100 微 瓦,如果系統在 Idle 模式下,則使得耗電量下降到 3.1 安培。目前這一套 系統,透過業界的 Crossbow Technology[14]公司負責生產、製造,同時這 家公司也持續地以專業的微機電整合技術,提供更多樣的周邊硬體,使得 無線感測網路的應用更為廣泛,諸如壓力計、液晶顯示器等等。. 圖(二)、微塵感測器之硬體結構圖。 -9-.
(19) 第二節、微型作業系統 — TinyOS 隨著微機電整合技術與奈米技術的迅速發展,使得一個極小的電子裝 置能同時擁有多樣化的功能,進而對人類產生卓越的貢獻。相對地,在這 些微型設備上的軟體元件,亦需要極具巧妙的構思設計,而「微型作業系 統(TinyOS)」[15]正是一套專為小型記憶體的通訊裝置所設計之作業系 統,最早的 1.0 版本是由柏克萊大學於 2002 年 10 月份所發表釋出,並宣 告原始碼的版權為大眾公有版權(General Public License) ,發行至今透過 廣大的社群共同參與並互相討論,已經新增了許多功能,目前最新的版本 為 1.1.9,且能夠支援 Linux、WindowsXP 等數種電腦作業平台。 TinyOS 的架構是建構於元件基礎(component-based)和事件驅動 (event-driven)兩大觀念,在開發的過程中,所有的程序在設計時皆需要 從元件與事件的角度上來進行思考;基本上,TinyOS 是利用一個以元件為 基礎的模型,來描述硬體與網路組成元件,每一個硬體裝置被描述成一個 元件,統稱為「Graph of Components」,加上一個排程器(Tiny Scheduler) 而建構成整個系統。 開發者可透過「NesC」程式語言來開發自訂的通訊演算規則,這是專 為需要透過 TinyOS 平台來操作的嵌入式設備所設計的一套程式語言,它 的語法類似於 C 語言,讓開發者可以迅速地適應它,進而迅速地專注於事 件與系統元件的處理;TinyOS 本身亦提供了一套完整現成的函式介面給撰 寫 NesC 的開發者所使用,可降低開發時的複雜度,大幅提增系統的開發 期程。 在撰寫 NesC 語言的同時,有下列四項重要的觀念,必須謹記在心:. - 10 -.
(20) 1.. 資料框架(Frame) 資料框架是用來描述該元件所需用到的記憶體資源。值得注意的是, 一般在撰寫 C 程式時,會習慣用動態宣告的方式,等到執行階段 (run-time)時再實際配置所需要的記憶體空間,但是在 TinyOS 的開 發環境中,必須採用靜態配置的方式,讓程式於編譯連結階段即可把 記憶體空間配置完成,而這種方式亦是在開發嵌入式系統的過程中常 被運用的重要觀念。. 2.. 命令處理器(Command Handler) 這裡所謂的命令處理,如同 SendMsg、RecvMsg 函式等,系統會將呼 叫者(caller)的參數放在元件內部的資料框架中,然後接收來自於低 階的硬體命令,即所謂的「command」 ,一旦系統接獲這些命令時, 即 查詢在 元件 中有註 冊過 的處理 器, 處 理器 本身 其實就 是一 種 callback 函式,它會等待系統的中斷呼叫並執行適當的行為。. 3.. 事件處理器(Event Handler) 每一個事件是由硬體直接或間接觸發,例如計時器或收發單元的中斷 訊號,當事件被觸發時,事件處理器會立即將此事件發生的相關資 訊,暫存於元件內的資料框架中,然後進行後續的處理,後續處理程 序可能會呼叫預設的 Task 或是執行低階 Command,同時在處理的過 程中,可能會觸發到其他或更高階的事件,這些事件將被置入排程器 佇列中依照優先權先後被執行。為了避免命令和事件的循迴關係造成 系統陷入死結或迴圈,TinyOS 規定所有的命令不能觸發任何事件。. 4.. 工作描述(Task) Task 中描述了最基本的工作程序,系統中的所有 Task 會透過工作排 程器來安排執行,排程的概念類似於一般常見的分時多工作業系統, 在 TinyOS 中工作排程器使用簡單的佇列結構來儲存 Task,並以先進 先出(FIFO)方式來執行,如果應用上需要更複雜的處理,也可以修 - 11 -.
(21) 改或增加其他排程演算法進去。Task 在執行期間可以呼叫低階的 Command 或觸發高階的 Event,或者安排元件內部的其他 Task 執行, 執行的順序是依照系統設定的優先權而定,Task 的優先權低於事件的 觸發。至於工作與電能控制方面,TinyOS 亦提供了睡眠模式的功能, 倘若目前工作排程器的佇列內所有 Task 皆已經完成,系統將會進入 睡眠模式,此時只有週邊的中斷事件可以喚醒系統。. 下圖(三)為一個訊息通訊元件的例子,這個元件包含了內部的狀態描 述(internal state) 、一組工作描述(圖中倒三角形部分) 、一組處理單元(三 角形部分),左下角由上往下的箭號表示這個元件所用到的命令,而由下 往上的虛線箭號則代表這個元件所觸發的事件,圖右側則為這些單元的介 面宣告。. 圖(三)、訊息通訊元件之圖解範例。. - 12 -.
(22) 第三節、無線感測網路之架構及其應用 當初加州柏克萊大學所提出的「Smart Dust(智慧微塵) 」網路計畫, 是由美國國防部高等研究計劃局(DARPA)所支助的研究計畫案,起初的 構想是由一個軍事上的應用開始,所想像的情境是在戰場上,我軍欲監控 敵軍的戰情狀態,此時便可派遣無人駕駛的輕型自動飛機,上頭載著數以 千計的微型感測器,當飛機抵達欲監控之區域時,將這些感測器直接灑 下。這些具備感測與通訊能力的電子設備,其密度和外型理想上就類似於 灰塵,俟塵埃落定於陸地時,自我組態形成所謂的「無線感測網路」,執 行感測環境的任務,當我方需要敵情資料時,只需指派飛機掠過監測區上 空以收集網路所探測到的資料,將這些敵情資訊帶回基地加以分析即可, 藉以達到「知己知彼百戰百勝」的戰略目標。 由於無線感測網路是一種以應用為導向(mission-centric)的網路型 態,針對不同的應用需求使得無線感測網路有許多種不同的架構,大致 上,我們可依據感測器是否具備行動的能力,將網路分為靜態(static)與 動態(dynamic)等兩種形式。對於靜態形式的無線感測網路,感測器是不 會移動的,這類型的網路可以針對整體通訊系統設定最佳化運作模式,進 而讓整體系統的工作效能得以提升。相對於動態形式的無線感測網路而 言,由於感測器本身具備行動的能力,使得網路拓樸變動頻繁,通常要針 對這樣的情形設計出最佳化演算法的困難度大幅增加,況且動態的網路需 要經常再次進行最佳化安排程序,反而滯礙了網路本身的發展空間,或者 浪費更多資源,一般來說,動態的無線感測網路僅會針對區域性進行最佳 化調整。 無線感測網路的應用層面相當地廣泛,目前這項技術已經被預測為繼 個人電腦技術之後,另一項更能直接融入人類生活的新興科技,下面概要 地將其應用分為八大類,並條列其各個層面的應用性及潛力:. - 13 -.
(23) 1.. 應用於國防工業: 將無線感測網路部署於敵軍陣營中,避免實際派遣士兵前往勘查,不 僅避免人員傷亡,還能夠有效地提升偵搜效率,感測器網路本身亦提 供長時間的操作以提供監控戰場的功能;另外,可在我方的後勤裝備 或軍火倉之中,加以部署感測器網路,以利掌握所有資源現況。. 2.. 應用於學術研究: 可將大量的感測器佈署於森林、海洋當中,藉以偵測生物活動、洋流、 板塊等變化,例如將微型感測裝置寄放於鳥巢內,提供觀察候鳥習 性、生態研究等等。. 3.. 應用於環境保護: 於各地下水道、工廠廢水排放口,設置能偵測化學污染之感測器,可 立即檢測出受污染的程度,於平時亦可週期性紀錄所有污染源之化學 成分、濃度等數值,避免這些環工人員親自進入這些危險受污區域。. 4.. 應用於醫療保健: 將無線且微小如晶片一般大小的感測器,適當地植入人體皮膚表層, 或特定臟器附近,負責監控各項重要生理數據,避免凌亂繁多的線材 阻礙患者行動,同時亦可發揮遠端照顧的功能。. 5.. 應用於數位家庭: 近來「數位家庭」 、 「家庭網路」的口號大為興起,利用與啟動器連接 的感測器佈署於家中,讓主婦們在社區上課仍能經由網際網路執行許 多家事,或當主人開車接近屋子時便自動地打開車庫等功能。. 6.. 應用於商業行為: 無線感測器網路也有許多適用於業界的應用,例如車廠可透過感測器 網路監控車輛,賣場則用之來監控商品的失竊等等。或者如傳統辦公 室的空調系統是中央控制,因此常使得室內某區域之間的溫差甚鉅, 可利用無線感測網路監控各個角落的溫度狀況,智慧判斷並調整至適 - 14 -.
(24) 合的溫度。 7.. 應用於工廠管理: 在現今許多自動化的廠房當中,雖然昂貴的器械得以減低大量的勞工 付出,但仍免不了需要部分的人員時時來監控這些器械,以避免差錯 發生,倘若以無線感測網路來取代這些人工,則能夠取代這些管理機 械的人員。. 8.. 應用於安全系統: 如本論文中所設計的系統般地,類似的功能例如建築物結構感測網路 可即時偵測各角落的震動程度,即早判斷出牆垣圮倒的可能性,更甚 之,在地震發生之前,通知內部人員儘速逃離。. 目前,國際上有許多著名的相關研究計畫如:NEST[17]、SensoNet[17] 等等,這些計畫的主要目標在於開發出適於普及用途之感應器網路平台提 供給各式各樣的應用來實作與測試。. 第四節、室內火警感測網路之相關技術探討 無 線 感 測 網 路 所 有 的 研 究 幾 乎 皆 以 降 低 能 量 消 耗 ( energy consumption)為首要目標,然而這樣的要求使得演算法在設計上不應過於 複雜,卻得同時兼具良好的執行效能。在我們接下開始研究室內火警感測 網路之前,在此我們將相關需要注意的研究方向大致如下:. 1.. 硬體、架構、實體層(physical layer)以及媒體存取控制層(MAC layer) : 在硬體架構上,感測器本身必須提供多種電源管理模式,在[19]文中 曾舉出過感測器有五種適用的睡眠模式,而這五種模式是分別針對中 央處理器、記憶體、類比/數位訊號轉換器以及通訊收發器的開關控. - 15 -.
(25) 制,讓感測器在任何時候抉擇適當的硬體部分來啟動;實體層與媒體 存取控制層的協定主要是解決共用頻道的使用權問題,一般而言,感 測器在實際傳輸時應該儘量減少傳輸碰撞的機率,換言之,如此可降 低因碰撞而必須重新傳送的次數,就實際的運作過程中,無線傳輸所 消耗的能量已被證實為感測器當中最主要的能量消耗部份,例如傳送 1 位元至 100 公尺處所需耗費的能量幾乎等於其內部處理器執行 3000 個指令的耗損。在[20][21][22]等文當中,學者們建議使用「分時多工 (TDMA)」 ,然而 TDMA 有兩個主要的技術瓶頸,首先是需要精確 的時間同步(time synchronization) ,然而時間同步卻是另一項相當困 難的問題,亦有不少學者提出相關的解決方案,如[21][23]等,但倘若 無法精確地達到時間同步的前提,採用 TDMA 仍是無法有效地避免 碰撞的發生;其二就是如果感測網路並沒有很高的資料傳送量,將會 使得非常多的頻寬資源被浪費。另外一個方向也是利用「睡眠機制」 的概念來設計,在 S-MAC[23]中,作者們參照 IEEE 802.11 的 MAC 系統中的睡眠排程(sleeping schedule) ,S-MAC 透過互為鄰居的感測 器共同建立一個睡眠排程,讓彼此醒著的時間都能夠交集,不至於因 為睡眠使得傳輸中斷,然而此方法也需要經常性同步維護。. 2.. 網路層(network layer): 就網路層來看,在隨意網路中的常見到設計者透過泛洪法(flooding) 的機制,讓網路節點取得整體資訊,顯然這將有違於感測網路對於減 輕耗電負擔的要求,SPIN[24]一文當中,主要是針對泛洪法導致資料 被大量重複地傳送的缺點,作者的概念是當網路中節點要傳送資料給 它的鄰居時,會先廣播一個稱為超資料(meta-data)的資料描述符號 (information descriptor)給週遭節點,讓鄰居得以對此筆超資料判斷 是否曾經接收過,如果未曾接收過則利用預先設計的規則通知傳送超 - 16 -.
(26) 資料的節點將真正資料傳送給它們,反之則忽略此筆資料以節約發送 端實際將資料傳送的電量耗損;另一個著名的方法,直接擴散(directed diffusion)[25],它是以資料為中心(data-centric)的方法,它的特色 是每一節點並不以位址識別碼來區別,而是以其所感測到的資料來定 址,在此協定中,基地台首先送出一個查詢封包(query),將此查詢 封包透過網路中其它節點擴散出去,當網路中其他節點擁有滿足此筆 查詢的資料時,就會自動地將本身的資料傳回基地台。因為直接擴散 協定傳送詢問及感測器回傳資料時皆是區域性地交換資訊(即鄰近節 點間互相交換資訊) ,因此這個協定十分適合動態網路架構,且每一 個感測器不需儲存太多路由資訊。另外一個適用於動態網路架構的研 究,如 GeRaf(Geographic Random Forwarding)[26][27],GeRaF 假 設所有的感測器均知道本身及基地台的地理位置,當傳送資料前,感 測器會先廣播自己的位置(與基地台的位置)給它的鄰居,如果有鄰 居的位置比它還要靠近基地台,這些鄰居將會回應此感測器,如果感 測器成功地收到其中一個鄰居的回應,它便將資料傳給這個鄰居,此 鄰居再依同樣的方式將資料往前續傳至下一個距離基地台更近的感 測器,其優點在於每個感測器只需要知道自己的位置,而此資訊可靠 定位裝置得知,因此路徑不需於傳送前先尋找,得以適用於網路架構 經常變動的應用。在網路層的設計中,我們亦可以加入睡眠機制的設 計,但是如何妥善地安排睡眠期程不至於影響整體感測網路的運作卻 是十分重要,因此睡眠排程不能影響感測網路的感測功能,亦即網路 感測的涵蓋範圍(sensing coverage)不能被降低太多,否則會導致網 路無法正常運作。[28]與[29]主要是針對叢集架構的感測網路所提出之 睡眠排程演算法,此二方法皆將能量消耗列為首要考量,而感測涵蓋 範圍則僅要求高於某個事先設訂的標準,例如達到百分之九十。[28] 主要是利用感測器距離叢集領導者的距離來決定進入睡眠的機率,而 - 17 -.
(27) [29]則進一步地考慮如何來平衡每一個感測器所消耗的能量以便延長 網路運作的生命周期(life time) 。. 3.. 應用層(application layer): 應用層來看,主要有兩個方向得加以思考,一為網路的 「容錯程度(fault tolerance)」 ,對不同的應用,無線感測網路的容錯程度亦有所不同。 [30]中,作者提出一個評估感測網路容錯效能的模式,可用來檢驗網 路的容錯能力;[31][32]則提出針對資料融合的功能,針對感測器發生 故障時,感測網路依然能夠保持正常的感測工作,並將誤差率在一定 程度以內的資料送回基地台,作者們結合編碼理論的概念設計資料融 合規則,並結合偵測理論(detection theory)設計感測器的感測功能, 當有若干感測器故障時,具有容錯能力的資料融合規則依然可正確的 將 結果送 回基 地台。 另一 個方向 則是 指稱「網路 安全 (network security) 」 ,受限於感測器有限的記憶體及能源容量,大多傳統網路的 保密或安全機制無法直接應用於感測器網路上,尤其是非對稱性的加 密系統(例如 RSA 等)更加無法運用於感測器網路上。於 SPINS[33] 中,作者們提出一個依賴基地台的安全架構,此架構要求每一個感測 器與基地台分享一個秘密鑰匙,而感測器之間如果要建立一個安全通 道,則需要透過基地台的幫助,這套機制的缺點在於必須將大量的資 料傳輸至基地台進而消耗相當多的能量,因此此方法僅適用於基地台 將資料安全地廣播給感測器的功能上。[34]中作者提出了隨機前置秘 密鑰匙分配的概念(random key pre-distribution) ,其方法是將感測器 佈置於環境之前,事先將一定數量的秘密鑰匙內存於感測器中,網路 開始運作時,感測器會利用本身的密鑰與鄰居建立安全通道,如果兩 個相鄰的感測器沒有共同的秘密鑰匙時,他們會利用其他的感應器形 成另一個安全路徑,再經由此路徑配對出一個新的雙方共用的秘密鑰 - 18 -.
(28) 匙,進一步的改進於[35]中提出。基於隨機前置秘密鑰匙分配的概念, [36]大幅改進以上兩方法的安全機制,作者們利用並改進密碼學中 Blom 的鑰匙分配方法後,成功地將其運用於無線感測網路的安全機 制上,同時也透過數學分析成功估計此方法的運算複雜度,進而證明 安全機制在無線感測器上實現的可能性。由於前面所提之資料融合技 術是無線感測網路上最關鍵的技術之一,因此資料融合的安全性便是 十分重要的課題,[36]中作者利用證人(witness)機制確認融合後的 資料並未遭到負責資料融合的節點竄改過,如此可保證基地台收到的 資料是未經偽造的。. - 19 -.
(29) 第參章、室內火警感測網路「PHOENIX」之服務功能. 鳳凰亦稱為永生鳥、不死鳥,本系統「PHOENIX」的命名乃源自於 古埃及的神話故事,據聞神鳥每間隔五百年會自焚一次,並在飆竄烈火及 裊繞濃煙裡結束生命,再從死寂的灰燼當中洗煉獲得重生,變得比原來還 要絢爛與茁壯,如此循環不已,故取其「浴火重生」之義。本系統設計之 初的主要動機,是希望藉由現今無線感測網路這項前瞻性科技,發展出一 套有助益於人類與社稷有實際貢獻的應用系統,針對火災情境,我們所設 計的服務功能有:室溫偵測、災情回報以及逃生導引三大主要項目,接下 來在本章的內文當中,將以此三大功能項目為主軸,分節詳述並探討其內 部運作流程。. 第一節、系統綜觀與環境佈署 在深入解說 PHOENIX 系統的三大主要功能項目之前,我們首先概述 環境與系統的部署方式。應用的環境主要是設定於一般規模的建築結構 體,此類型的建築物在結構上大多清晰整齊,並且依造完善的設計藍圖所 建構完成;系統本身是由一部設置於建築物內控制中心的基地台(base station) ,搭配諸多部署於室內的微型感測器所組成的靜態無線感測網路架 構,這些龐大數量的感測器以人工方式逐一被安置於室內所有需要重視的 位置,各自在其感應範圍之內監測週遭的溫度指數,由於微型感測器本身 礙於有限電量的考量,一般而言其傳輸距離僅介於數公尺至一百公尺之 內,為了維持整體網路系統的連通性,系統假設感測器之間的距離不允許 超過 25 公尺,系統管理者在擺設每個感測節點時,必須考慮其周圍均至 少需要存在一個鄰近節點。. - 20 -.
(30) 由於目前多數的建築物皆有所謂的安全逃生出口(emergency exit) , 因此在於合理的假設下,基地台端能夠依據建築藍圖掌握所有的安全出口 處,同時當系統管理者設置妥定每一個感測器時,可以同時將這些感測器 標記於藍圖上,如此便完成系統硬體方面的佈署程序,本系統,俟此步驟 完成之後,系統管理者已經全然掌握網路節點與結構的搭配情形,必須將 感測器以及逃生出口的位置資訊輸入至基地台內部資料庫中,以便於後續 系統運作時,方能夠使充分發揮下面所提及之三項主要功能項目,下圖(四) 是系統整個部署完成之後的想像情境圖例。. 圖(四)、系統部署圖。. 第二節、功能項目—「室溫偵測」之設計與研究 本系統對於室溫偵測的功能,是利用感測器上所提供的溫度感測單元 負責偵測裝置本身的週遭環境,在網路連通的前提下,透過繞徑協定將室 溫資料回報基地台端來完成。對於無線感測網路而言,由於數據通訊是消 耗電源最嚴重的一項因素,因此在多數的實際範例中,為了有效達到節約 - 21 -.
(31) 電源消耗的目地,感測裝置會設計以短距離的通訊方式來傳輸,一般而言 感測器裝置電量消耗的目標被規範於-20dbm 左右[1]。感測網路中,降低 電源的消耗主要可以從兩個方向來改進,分就軟、硬的平台的設計而言, 在硬體設計的角度上,應該著重於低功率電波收發器的研發,致力發展出 相同耗電卻可進行更遠傳輸功能的收發裝置,根據著名的摩爾定律2所述, 硬體技術上的里程每隔一年半將成長一倍;另一個方面則是依系統軟體設 計來著手,搭配效率更高、失誤率更低的通訊協定機制,避免網路壅塞或 碰撞,讓整體效能得以提升。本研究的探討範圍是屬後者,我們從系統整 體的觀點,利用網路拓樸的概念來省電,設計良好的拓樸結構能夠降低資 料繞徑協定的運算複雜度,進而達成省電功能。 相較於無線隨意網路,無線感測網路有一項極為不同的特點,在隨意 網路中,大部分資料的傳輸是屬於點對點的通訊模式,然而在感測網路 裡,由於感測資料最終目地是監控中心裡面的基地台,因此是多對一的通 訊模式,且多數的應用裡,系統會預設收集資料的基地台固定且唯一,換 言之,這項特點讓我們可以容易地掌握感測網路中傳輸的目地端。觀察此 項特點,我們設計以圖論當中的「樹狀拓樸(tree topology)」作為系統通 訊的基礎結構,根據圖論中對於樹的定義,每棵樹的組成可分為三種類 型:根節點(root node) 、中間節點(intermediate node)與葉節點(leaf node) , 鄰近節點之間的關係就類似於親屬關係,除了根節點以外,網路上所有的 節點均存在唯一的父節點做為通訊時的上行連結(uplink) ,對於沒有子節 點的感測節點被稱為樹的葉節點,其餘的節點則皆屬中間節點,可想而 知,普遍來說一棵樹上的葉子數量應該多與根節點,僅次於中間節點;就 整體網路所形成的樹狀拓樸而言,倘若樹的成員節點裡包含了所有的網路 元件,則稱此樹為一棵「展延樹」 。 2. 摩爾定律是由英特爾(Intel)名譽董事長摩爾經過長期觀察發現得之,是指 IC 上可容納的電晶體 數目,約每隔 18 個月便會增加一倍,性能也將提升一倍。 - 22 -.
(32) 建構網路中展延樹拓樸的方法,在此可以不失ㄧ般性地令基地台作為 展延樹的根節點,透過根節點來啟動網路的初始化程序,基地台將發送系 統初始化訊息 PHOENIXCMD_BEACON3,位於基地台週遭的感測節點將 首先收到此訊息,並將本身的區域變數 Parent 設定為發送端的識別碼,俟 此接收與設定程序完成後,隨即再依同樣的方式將此初始化訊息傳送其鄰 近的其他節點,依此過程持續地重複操作,直到網路上所有的節點都收到 資料且建立起與其父節點之間上行連結為止,其程序如下表(一)。 Procedure 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:. Network Initiation Process. For Base Station: Let BS be the base station of network. BS broadcast msg= (PHOENIXCMD_BEACON, BSid, myid(BS)); For all sensors si in the network do Initially Parent ← φ ; If receive msg(PHOENIXCMD_BEACON, rootid, uplink) If Parent == φ Root← rootid; Parent← uplink; si broadcast msg= (PHOENIXCMD_BEACON, rootid, myid(si));. 表(一)、網路初始化程序。 3. PHOENIX 系統中所有使用的訊息型態請參照表(七)。 - 23 -.
(33) 在網路上的每一個感測器會週期性地執行所謂的「鄰居偵測程序 (neighbor discovery) 」,這項程序是感測器用來收集週遭節點資訊的一個 過程,由欲偵測的節點廣播 PHOENIXCMD_DISCOVERY4訊息至其周圍的 鄰居節點,受限於感測器本身的傳輸範圍,僅有那些相對於感測器的距離 小於傳輸範圍之內的周圍節點能夠接收到此訊息,在其鄰近節點接收到此 訊息之後,主動以 PHOENIXCMD_REPLY4 訊息回覆,以便完成鄰居偵測 的程序,如下表(二)。. Procedure 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:. Neighbor Discovery Process. For every sender si: si broadcast msg=(PHOENIXCMD_DISCOVERY, myid(si)); If receive msg(PHOENIXCMD_REPLY, senderid, neighborid) If neighborid is not in si’s NeighborList Add neighborid into si’s NeighborList; For all proximal sensors sj near si do Initially NeighborList ← φ ; If receive msg(PHOENIXCMD_DISCOVERY, senderid) If senderid is not in sj’s NeighborList Add senderid into sj’s NeighborList; sj unicast msg=(PHOENIXCMD_REPLY, senderid, myid(sj));. 表(二)、鄰居偵測程序。. 4. PHOENIX 系統中所有使用的訊息型態請參照表(七)。 - 24 -.
(34) 我們已經介紹網路的初始化程序,倘若網路本身保持完整的連通性, 這項程序必然使得每一個感測節點依據距離基地台的遠近關係,依序地被 加入網路的展延樹狀拓樸當中,這個初始過後所形成的展延樹狀拓樸稱為 「主要展延樹(primary spanning tree) 」。每當感測器依照程序設定 Parent 及 Root 變數後,它將立即以單一傳播(unicast)的通訊方式回報其本身的 基本狀態,包含識別碼、電量等資料,同時也會一併回傳其周圍的鄰近資 訊(proximity information) ,而鄰近資訊則是透過上述的鄰居偵測(neighbor discovery)程序獲得。 經由上述的初始過程之後,所有的訊息流向便可據此主要展延樹為基 礎,進而達成系統訊息流通的功能。感測器可將尋常室溫或特定回應資料 以己身作為起始的發送端點,依循主要展延樹的樹枝向上回朔至基地台 端,根據圖論中的定義而言,樹狀結構本身即是一幅不存在迴路的連接圖 (acyclic connected graph) ,這使得我們可以利用這項優點,輕易地設計出 具有無迴路(loop-free)性質的繞徑回報制度,透過上述的初始過程,每 個感測節點會記錄其上行連結的節點識別碼,此方式是讓感應器僅需要沿 著主要展延樹的樹枝路徑,將資料單一傳播給其父節點,層層接續傳遞便 可完成整個回報的程序。反之,若當基地台端有關於查詢或命令的訊息欲 發送至下屬特定的感測器時,可以依源頭繞徑的概念指定路徑,同樣地依 照樹枝連接的情形,將命令下達至特定感測器端,這些訊息在主要展延樹 之間的傳遞皆屬於單一傳播的通訊方式。. 第三節、功能項目—「災情回報」之設計與研究 依主要展延樹拓樸作為 PHOENIX 火警系統通訊時的基礎結構,不僅 能夠使資料回報更加有具有效率,並且透過這樣的設計亦能有效地降低繞 徑協定的運算複雜度,進而達成節省耗電,藉此以延長整體網路的運作時. - 25 -.
(35) 程。然而,在真實的世界中永遠充滿著許多不確定的因素,這些環境外在 的變因導致實際狀況經常發生改變,以火警災難的實際情境舉例說明,感 應器隨時存在著遭受到瞬間火勢的高溫而燒損的機率,加上感測器本身亦 有零件故障的可能性,諸如此類的種種因素都將使得主要展延樹拓樸發生 斷裂的現象,以至於網路失去連通性。尤其是這些特殊的應用中,系統針 對於網路本身的存活程度有著非常嚴格的要求,在此所謂的網路「存活程 度(survivability)」是指當系統面臨意外情況發生時,本身尚且可以完成 主要的任務之能力,意即系統對於這些意外情形的抵抗程度。以 PHOENIX 火警系統來說,正當部署於建築物內部的無線感測網路遭逢祝融侵擾時, 瞬時高漲的火勢使得部分的感測器失靈,下面我們繼續深入探究本系統該 如何面臨在這樣的情形下,依然能夠完成其回報災情的任務。 火災隨時可能發生於建築物內部的任何位置,就主要展延樹拓樸來 看,由於網路上所有的節點與基地台之間均僅存在一條可行路徑,假設其 中任何一個非葉子的節點出現故障現象時,必然使得這樣的拓樸發生分 裂、不連通的情況,此時不僅該節點無法順利作業,亦會一併導致其下屬 所有分枝與基地台失聯,遂使整個系統效能受到影響,嚴重影響災情回報 功能。針對於此,我們將提出以「交錯展延樹(Edge-disjoint spanning tree) 」 的概念改善這樣的情形,增加網路拓樸的存活程度,亦即其網路的連通程 度(connectivity)。 所謂「交錯展延樹」的概念是利用數棵展延樹並存於網路中,用以提 升網路的存活程度,系統於平常時候預設以主要展延樹為繞徑的基礎,一 旦遭遇危急情形時,其他備份的展延樹(backup spanning tree)則會發揮 作用,這種利用重複資源以增進系統對於災害抵抗力的論述,曾經在許多 容錯式計算的相關研究報告中被指出,主要是利用備份的數棵交錯展延樹 來彌補一棵主要展延樹對於系統存活程度的缺陷,但是倘若數棵交錯展延 樹彼此之間存在共用的樹枝,我們發現這些共用的連結將限制了系統中提 - 26 -.
(36) 升存活程度的功效,換言之,我們希望建構出儘量交錯的數棵展延樹,意 即它們所共用的連結應該越少越好,在下圖(五)中是 5 個節點所形成的完 整圖(complete graph)以及其數棵交錯展延樹。. 圖(五)、完整圖(K5)之四棵交錯展延樹範例。. 本篇研究論文中,我們提出一套建構交錯展延樹的演算法,為了便於 討論,在此先將整個網路轉換成圖論的數學模型來輔助思考。假設系統存 在有 n 個網路節點,這些網路節點將隨機地分佈於二維的歐基里德幾何平 面 Ω 上,仳鄰的節點之間能夠利用無線通訊來連結,如果 a 點能夠與 b 點 之間進行通訊,則表示 b 點亦可與 a 點進行通訊,這個網路可以用 G=(V, E) 來表達這張圖形,其中 V={v1, v2, …, vn}是由所有感測器節點所形成的有限 集合,|V|=n,無向的邊(undirected edge)來表示感應器之間的通訊鏈結, 而由所有的無向邊構成的有限集合則為 E={e1, e2, …}。 在網路初始過後,感測器網路會建立起主要的展延樹拓樸通訊結構, 並利用它來回報本身狀態與鄰近節點的相關資訊,經歷這個步驟之後,可 - 27 -.
(37) 以使基地台能夠掌握整個網路所構成的連通圖,即 G=(V, E)。我們所提出 的演算法必須能夠依據任意一幅連通圖形,在有效率的時間複雜度內依序 計算出 k 棵展延樹,需要注意的是,此演算法將於基地台端進行運算,而 計算過後的結果,會依循主要展延樹樹枝路徑以反向的單一傳播方式發送 至每一個感測節點。 交錯展延樹的演算法計算過程是採用疊代(iterative)的形式,循序完 成第 1、2、...、至 k 棵交錯展延樹,其中在第 i 棵展延樹的計算過程中, 必須參考先前第 1 至 i-1 棵建立的歷史記錄,最後將所有交錯展延樹的計 算結果,存至集合 Ψ 當中, 演算法整體程序如下表(三)。. 1:. Ψ EDSTs (G, k); Ψ , return the k EDSTs Ψ ←φ ;. 2:. for(i=1…k). 3:. Ψ ← Ψ ∪ EDST(G, Ψ ); return Ψ ;. Algorithm. 4:. Comment Ψ. The set of k EDSTs. 表(三)、交錯展延樹之演算法(A)。. 接著我們針對建立第 i 棵交錯展延樹來說明,第 i 棵樹的建立是以第 0 節點作為樹的根節點,再從與它連接的邊當中,挑選出最合適的其中之一 加入第 i 棵展延樹,重複地挑選直至整個程序總共執行了 n-1 次,這代表 已經收集了所有的節點並完成展延樹的建構動作。在程序執行的過程中, 圖形中的邊線可分為三種類型:treed edge(樹枝) 、sprout edge(枝芽)與 free edge(自由邊);treed edge 是指那些在挑選過程中已經被納入為展延 樹組成元素的邊,sprout edge 是指那些經由篩選過後可能成為 treed edge 的候選邊,而 free edge 則是指仍屬於 E(G),但不屬於展延樹的組成邊,在 每一輪的挑選過程中,free edges 所形成的組合將包含著 sprout edges。 - 28 -.
(38) 所謂「挑選」的方式,則必須依據圖形的連結狀況(意即 E(G)),及 其之前所有 i-1 棵展延樹的建構歷程紀錄來決定。舉例說明,兩個邊 e1 與 e2,e1 在歷史紀錄中未被挑選過,則我們應該挑選 e1 為這一階段的 sprout edge,透過這樣的挑選機制可以篩選出在先前的樹尚未使用過的邊,也就 是與先前所建立的樹互相交錯的邊,在此階段的執行過程當中,合適的 sprout edges 或許不只有一條,而每一條 sprout edge 皆有兩個端點,根據上 述的定義,其中一端屬於目前所建立的第 i 棵展延樹,另外一端屬於原本 圖形的 E(G),對於這些 sprout edge 而言,靠近樹的端點必定與之連接的 free edges,我們將該端點的 free edge 數量稱之為「free degree」 ,此時則可 依據較大 free degree 為進階的篩選條件,進一步地進行挑選,這個步驟的 設計是為了避免第 i 棵展延樹的建立過程,對後續第 i+1、...、k 棵展延樹 的挑選程序造成過大的影響。倘若經由上述的篩選條件抉擇出來的 sprout edges 數量仍然大於一,則任意選擇之,最後選擇出來的結果邊,即為此 階段中最合適的邊;其演算法如下頁表(四)所示,執行示範結果於下頁圖 (六)。. - 29 -.
(39) Algorithm 1: 2: 3: 4: 5: 6: 7:. Τ EDST (G); Τ , return the requested EDST. Τ ← {v0 | v0 ∈V } ; // Initially, we pick the vertex v0 to be the root of i-th EDST. while( | V (Τ) |<| V | ) /* Termination condition. */ ξ ← sprout edges with the minimal edge utilization ; ϒ ← {v | v ∈V (ξ ∩ Τ)} with η (v) is maximal. ; Τ ← Τ ∪ {random pick one edges in ξ which ends in ϒ} ; return Τ ;. Comment Τ The i-th EDST structure. ξ The set of sprout edges. Treed vertex with maximal free degree. ϒ η ( v) Free degree of vertex v. 表(四)、交錯展延樹之演算法(B)。. 圖(六)、交錯展延樹演算法之執行結果。. - 30 -.
(40) 演算法的時間複雜度為 O(k × n3 ) ,從矩陣中挑選出適合的 sprout edge 需要花費 O(n2 ) ,建立一棵展延樹需要挑選 n-1 次的最適合之 sprout edge, 而此步驟則花費 O(n − 1) 的時間複雜度,整個演算法共執行 k 次的 EDST 程 序,因此需要 O(k × (n − 1) × n 2 ) = O (k × n3 ) 的時間複雜度。 交錯展延樹確實能有效地提升網路拓樸的連通性,避免單獨一棵展延 樹易於造成斷裂的缺點。接著我們續談如何利用這種特殊的拓樸來完成災 情回報的機制,在此首先必須談及感測器判斷火災可能發生的條件。 建構於數棵交錯展延樹的拓樸上,本系統的回報方式預設是採用合作 方式完成,系統中所有的感測器均會週期性地執行鄰居偵測功能,如下圖 (七),以確保網路連通性,在此系統設計的週期間隔是以秒為單位,因此 當鄰居在數秒延遲時間內尚未回覆時,加上感測器本身已偵測到週遭溫度 高於危險臨界溫度,隨即判斷目前周圍已經失火了,立即啟動回報機制。. 圖(七)、鄰居偵測程序之圖解範例。 - 31 -.
(41) 當火災發生時,預設的反應路徑是基於主要展延樹拓樸,在順利情狀 下,反應訊息可透過其上行節點,以類似室溫回報的流程完成傳報動作, 但由於其上行節點亦可能為遭受燒損的受災區之一,使得預設路徑失效, 此時我們利用多棵交錯展延樹所形成的拓樸,感測器可以選擇距離基地台 最近的上行節點進行回報,與基地台的遠近關係決定於先前於基地台端計 算過後的結果,此結果在運算完畢後,將由基地台端以源頭繞徑(source routing)方式逐一發佈,因此每個感測器在無意外的情形下,便能夠掌握 其與基地台之間的跳躍數(hop count) 。 利用交錯展延樹拓樸所設計的反應機制,概念上是利用在多棵展延樹 之間選擇一較適路徑所完成,然而這樣的反應機制並不能夠保證火災緊急 訊息能夠確實抵達基地台完成任務,如下圖(八),因此我們輔以一個簡單 的機制來改進我們的回報措施,稱之為「區域性廣播(local broadcast) 」 , 區域性廣播是指透過封包的存活時間(time-to-live,TTL)來限制回報封 包散佈至整個網路,假設 TTL 設定為 3,表示災情回報封包由被發送端開 始計算,最多僅經過三次的跳躍傳達給較多的鄰近感測器,並請求協助共 同向基地台回報,透過這樣的補強措施,可大幅提高災情確實反應的機率。. 圖(八)、區域性廣播之圖解範例。 - 32 -.
(42) 當位於周圍的感測器接獲由災區感測器所發出之回報訊息,在我們的 設計當中,我們令位於主要展延樹上屬於災區感測器之子節點轉換至次要 的展延樹來傳遞,至於其他非屬災區感測器子節點之感測器則依舊以主要 展延樹上所記載的父節點當作是上傳目標,如此的方式來完成我們在本節 當中所要求之回報功能。. 第四節、功能項目—「逃生導引」之設計與研究 繼災情回報功能項目之後,使得系統能夠於第一時間內掌握有關火災 事故的實際情形,此時系統將更進一步地提供「逃生導引」的服務功能, 希望能透過這項進階的服務功能,讓受災人員能夠迅速地根據感測器裝置 導引最正確的逃生方向,儘速脫離火場,將人員傷害減至最低。 假設基地台能夠參照藍圖資訊,掌握整個網路部署於建築物內部的實 際情況。透過位於出口處的感測節點啟動逃生導引功能,企圖通知網路上 的其他節點利用本身的顯示輸出設備,顯示出目前距離最近的逃生出口 處, 提供 人員 最適合 的逃 生方向 ;在 上一節 中, 我們曾 報告 過關於 PHOENIX 系統反應災情的措施,當基地台端在上述的回報措施完成後, 將能夠確切地掌握火災區域,此時基地台將即刻依源頭繞徑的路由方式發 派緊急命令通知那些位於出口處的感測器裝置,促使這些出口處節點啟動 此節中的導引功能。 這個方式是以各個逃生出口為根節點,動態計算出相對於這些逃生出 口的逃生展延樹,令基地台掌握建築物中有 n 個緊急出口,正常情形而言, 網路中所有連通的節點均可接收到 n 次泛洪機制的訊息,在此泛洪訊息中 將包含有由逃生出口起算至任何接收端之跳躍數(hop count),因此感測 器能夠選擇跳躍數最小的出口處,導引人員逃生,此處選擇最小跳躍數的 原因在於表示該逃生路線能夠通往距離最近的出口處。. - 33 -.
(43) Procedure 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:. Survival Guiding Process. For every exit: Let E be a survival exit. SurvivalHopCount ← 0 ; E Broadcast msg=(Eid, myid(E), SurvivalHopCount) For all sensors si in the network do Initially SurvivalHopCounti ← ∞ ; Initially SurvivalParent ← φ ; If received(e, k, hops) If SurvivalHopCounti + 1 < hops SurvivalHopCounti ← hops + 1; SurvivalParent← k; si Broadcast msg=(Eid, myid(si), SurvivalHopCounti);. 表(五)、逃生導引程序之示範圖例。. 例如上表(五)中的附圖說明,假設第 12 號感應器判斷出有火災情況發 生,則該感應器將自己設定為紅色來標示目前此處為危險區域,並廣播通 知在其周圍其他感應器,俟週遭感測節點接收到此緊急訊息 PHOENIXEMG_WARNING3 時,則將自己設定為黃色用以代表警戒區域, - 34 -.
(44) 此時系統處於火場正在延燒的時候,藉由上一節的回報機制,緊急訊息將 被設法回覆至基地台處,然而當基地台處接獲緊急訊息時,立即以源頭繞 徑的方式下達導引命令給四個出口處的感應器,要求四個感應器隨即廣播 導引訊號給網路上的所有節點,以發揮導引的功能。. 第五節、研究結語 在本章當中,我們以系統的三大主要功能項目為主軸,深入探討其細 部的運作流程,在第二章當中,我們提及如何建構主要展延樹以作為室溫 資料回傳路徑,完成室溫偵測的功能,接下來,在第三章的內容中,我們 呈現出針對單棵展延樹的缺點,所設計的交錯展延樹之建構演算法,並利 用多棵展延樹的概念提升網路抵抗意外災難的存活程度,以及利用交錯展 延樹達到緊急災難回報的機制,第四節中則是本系統為求更進一步地減低 火災對於人員的傷害,而設計的逃生導引功能。透過這三大功能要項,確 實改良了傳統的建築火警系統,在下一章當中,我們將延續重點,深入介 紹系統實作的過程與操作程序。. - 35 -.
(45) 第肆章、室內火警感測網路「PHOENIX」之系統實作. 根據內政部消防署的統計資料顯示,於民國九十三年元月份迄今,全 台本島總共發生三千多起消防事故5,而其中建築起火的相關項目共占所有 的 34%,是所有火警事故中所占比例最大的一部份,換言之,每天至少平 均有七次以上的火災事件是發生於建築物內的。然而這些不幸事件歸咎起 原因,多半是由人為疏失所引起的,倘若建築物本身能夠具備適當的防災 應變系統,將這些意外發生的機率減至最低,勢必能有效地避免災後對於 人員、財物所造成的嚴重傷害。因此現代化的建築規劃在設計之初,除了 考量空間格局的美觀與結構穩定性之外,更應該積極思考有關災前預防的 安全性議題。 多數的建築物會在室內隔間或走廊通道等處佈置煙霧溫度探測器,用 以偵測判斷室內是否可能發生火警事故,然而目前這些探測器的設置是利 用鋪埋於牆壁內的實體線路直接與監控中心(管理室)連接,彼此之間乃 獨立運作並無互相協調、配合的功能,這使得系統在實際防災的應用上打 了折扣,線路本身亦造成維護上的困難,基於種種因素,在本篇研究論文 當中,我們利用前瞻性的無線感測網路技術為基礎,設計出一套針對於建 築物內適用的智慧型防火救援系統,這套系統在佈置上相當地簡易,微型 的感測裝置能夠無礙於室內美觀,透過本身具備的通訊功能,進而可自我 組態形成一個防火互聯的網路系統。目前主要提供的三大服務項目有室溫 偵測、災情回報與逃生導引等,其背後設計理念已於上一章當中詳述,本 章將進一步地探討如何實作本系統,我們利用美國柏克萊大學所研發的微 塵感測器硬體平台(Mote-MECAII),同時輔以微型作業系統(TinyOS) 的嵌入式控制技術,內容著重於系統的架構配置、協定流程與效益評估。 5. 請參照內政部消防署全球資訊網,網址:http://www.nfa.gov.tw/。 - 36 -.
(46) 第一節、通訊協定堆疊與訊息封裝 PHOENIX 火警系統是透過基地台以及部署於建築物內部的諸多感測 器硬體所共同構築而成的無線感測網路,基地台與感測器均必須遵守共通 的無線網路協定(protocol) ,才能彼此交換控制訊息與資料封包。一般而 言,在網路協定的描述當中,首先談到的就是「分層(layer)」概念,這 是指網路運作時依照功能項目,將網路諸多程序規劃成不同的模組區塊, 每個模組之間互相搭配與支援,進而堆砌成龐大且細膩的系統架構,即所 謂「協定堆疊(protocol stack) 」,這項概念是現代化系統設計的一個重要 技巧,例如在網際網路上早已盛行許久的 OSI 七層式網路架構就是一個典 型的示範,然而礙於無線感測網路對於省電、計算及有限資源等限制考 量,我們必須針對本系統量身打造一套合適的協定推疊,下面進而闡述本 系統中所設計的推疊架構。 整體來說,PHOENIX 系統的網路協定堆疊可分為四層,如下頁圖(九) 中所示,包含了實體層(Physical Layer) 、媒介存取控制層(Medium Access Control Layer) 、網路層(Network Layer)以及應用層(Application Layer) 等四個層面;其中實體層與媒介存取控制層分別負責底層的載波傳輸與媒 介控制等基礎通訊功能,搭配專門定義網路訊息交換行為的網路層以及制 定 系 統 服 務 流 程 的 應 用 層 。 PHOENIX 系 統 屬 於 一 種 任 務 導 向 (mission-centric)的應用型架構,在規劃上,我們將應用層再細分為兩項 次層次,即物件層(PHOENIX Object)與應用支援層(Application Support Sub-Layer),裡面描述了所有火警應用時需要參照的元件模組,以及針對 物件層所提供的特殊輔助功能模組。. - 37 -.
(47) 圖(九)、PHOENIX 系統之通訊協定堆疊。. 在微型作業系統 TinyOS 上實作所設計的協定堆疊,必須使用一套稱 為「NesC」的程式語言,這套程式語言本身是由柏克萊大學所負責維護, 具備有類似 C 語言的文法結構,支援客戶端撰寫與編譯程式,下圖(十)為 我們所實作的協定堆疊模組配置圖,配合上頁圖(九)中所設計的堆疊架 構,可分為四大項模組,由上至下分別為 PhoenixAPL、PhoenixNWK、 PhoenixMAC 及 PhoenixCOM,各自對應於上述的四個協定堆疊層次,在 圖(十)中亦表現出資料與控制訊號的聯接關係。. - 38 -.
(48) 圖(十)、協定堆疊模組之連接關係圖。. 搭配著協定堆疊的佈局,接著再介紹 PHOENIX 系統中的「訊息封裝 (massage encapsulation) 」之前,首先得談及在 TinyOS 中所制定的訊息結 構 TOS_Msg,如下表(六)所示,TOS_Msg 訊息結構的大小僅為具有十三個 位元組大小,包含一般通訊傳輸時的基本資訊,諸如: addr(目地端位址 資訊) 、type(訊息型態) 、length(訊息長度) 、crc(錯誤校驗碼)等等資 訊,特別值得一提的是其中一項用來存放 data(資料)的欄位,這個欄位 是一個整數型態的指標,指向另外一處長度為 TOSH_DATA_LENGTH6的. 6. 依據 TinyOS 中 AM.h 的定義: #define TOSH_DATA_LENGTH. 29 - 39 -.
(49) 陣列位置,在 PHOENIX 系統中的所有訊息將利用這個 data 的部份加以封 裝,封裝的技巧在於明確地區分出資料所屬的堆疊層次。. Declaration 1:. Structure of TOS_Msg in TineOS Source Code typedef struct TOS_Msg {. 2:. uint16_t addr;. 3:. uint8_t type;. 4:. uint8_t group;. 5:. uint8_t length;. 6:. int8_t data[TOSH_DATA_LENGTH];. 7:. uint16_t crc;. 8:. uint16_t strength;. 9:. uint8_t ack;. 10:. uint16_t time;. 11:. } TOS_Msg;. 表(六)、訊息封裝格式。. PHOENIX 系統中訊息封裝主要分為 type、srcaddr、destaddr、hopcnt、 seqno 以及 data 等,型別依據所有堆疊層次共分 31 種,如下表(七)所示, 其中以標示 CMD、SET、ASK、RPT、EMG 分別表示為命令、設定、詢 問、回報與緊急等形態之訊息,主要是以 type 來作為訊息封裝與解封裝時 的判斷;srcaddr、destaddr 是紀錄發送來源端的識別碼;每當訊息流路經 過一次地跳躍轉傳,hopcnt 欄位會被加一,設計於傳輸時確保收方能無誤 地接收資料;seqno 是記載該訊息相對於 srcaddr 節點之發出紀錄,用以避 免 destaddr 節點重複接收相同的訊息,也助於了解網路訊息失落的情形。. - 40 -.
(50) Message Type. Enum.. Comment. Broadcast Message Form Base Station To Sensor PHOENIXCMD_RESET_ALL. 0. Reset PHOENIX WSN.. PHOENIXCMD_BEACON. 1. Initiate PHOENIX WSN.. PHOENIXCMD_TIMESYNC. 2. Time synchronize PHOENIX WSN.. PHOENIXCMD_IDLE_ALL. 3. Idle PHOENIX WSN.. PHOENIXCMD_ACTIVE_ALL. 4. Active PHOENIX WSN.. Unicast Message Form Base Station To Sensor PHOENIXCMD_RESET. 5. Reset the specified sensor.. PHOENIXCMD_IDLE. 6. Idle the specified sensor.. PHOENIXCMD_ACTIVE. 7. Active the specified sensor.. PHOENIXSET_PARAMS. 8. Set parameters to the specified sensor.. PHOENIXSET_POSITION. 9. Set potion to the specified sensor.. PHOENIXSET_DATE. 10. Set date to the specified sensor.. PHOENIXSET_TIME. 11. PHOENIXSET_NBR_DIR. 12. PHOENIXSET_EDST. 13. Set time to the specified sensor. Set neighbor direction information to the specified sensor. Set edge-disjoint spanning trees to the specified sensor.. PHOENIXASK_PARAMS. 14. Ask parameters to the specified sensor.. PHOENIXASK_STATUS. 15. Ask status to the specified sensor.(including date, time, position, ...etc). PHOENIXASK_READING. 16. Ask reading data to the specified sensor.. PHOENIXASK_NBR_DIR. 17. PHOENIXASK_EDST. 18. Ask neighbor direction information to the specified sensor. Ask edge-disjoint spanning trees to the specified sensor.. PHOENIXEMG_GUIDE. 19. Initiate the emergency guiding procedure.. Unicast Messages Form Sensor To Base Station PHOENIXRPT_PARAMS. 20. Report parameters to the specified sensor.. PHOENIXRPT_STATUS. 21. Report status to the specified sensor.(including date, time, position, ...etc). PHOENIXRPT_READING. 22. Report reading data to the specified sensor.. PHOENIXRPT_NBR. 23. PHOENIXRPT_EDST. 24. PHOENIXRPT_WARNING. 25. Report neighbor direction information to the specified sensor. Report edge-disjoint spanning trees to the specified sensor. Report warning sensing data to the specified sensor.. PHOENIXRPT_DANGER. 26. Report danger sensing data to the specified - 41 -.
相關文件
in Proceedings of the 20th International Conference on Very Large Data
Lange, “An Object-Oriented Design Method for Hypermedia Information Systems”, Proceedings of the Twenty-seventh annual Hawaii International Conference on System Sciences, 1994,
[23] Tiantong You, Hossam Hassanein and Chi-Hsiang Yeh, “PIDC - Towards an Ideal MAC Protocol for Multi-hop Wireless LANs,” Proceedings of the IEEE International Conference
Kyunghwi Kim and Wonjun Lee, “MBAL: A Mobile Beacon-Assisted Localization Scheme for Wireless Sensor Networks,” The 16th IEEE International Conference on Computer Communications
Krishnamachari and V.K Prasanna, “Energy-latency tradeoffs for data gathering in wireless sensor networks,” Twenty-third Annual Joint Conference of the IEEE Computer
Selcuk Candan, ”GMP: Distributed Geographic Multicast Routing in Wireless Sensor Networks,” IEEE International Conference on Distributed Computing Systems,
[16] Goto, M., “A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings,” Proceedings of the 2000 IEEE International Conference
Harma, “Automatic identification of bird species based on sinusoidal modeling of syllables,” in Proceedings of IEEE International Conference on Acoustics, Speech,