• 沒有找到結果。

系統實際操作與示範

本節將深入說明本系統實作過程,系統中分為兩個方向來併行開發,

在感測器的操控方面,我們利用微型作業系統 TinyOS 所提供之嵌入式平 台,在其上撰寫 NesC 程式碼,所使用的 TinyOS 是 1.1.6 的版本,它包容 於 Cygwin 系統底下,讓我們得以在微軟視窗系統中藉以無虞地開發與實 現;感測器在實行之前必須透過可程式子板載入我們所設計的程式,這些 程式描述著已於前兩節所提及之程序,除了底層藉由 PhoenixCOM 來與感

測器聯繫外,其上尚可區分出 PhoenixMAC、PhoenixNWK 以及 PhoenixAPL 三層,前兩層所司網路點對點以及路由等相關工作,最上一層則負責以讀 秒計時器來觸發感測器之收集資料功能,在收集資料時,會呼叫 TinyOS 本身對於 Mote 所支援的 ADC 模組來採集光度、溫度、縱向與橫向加速度 等值,而這些數值將要求下層的 PhoenixNWK 來遞送,當 PhoenixNWK 接 收到由上層而來需要傳送之訊息時,首先會檢查之前再網路初始時所探詢 到的父節點,在一般情形下,所有欲回報至基地台端的訊息均是以此程序 完成傳送;PhoenixMAC 則是位於 PhoenixNWK 層之下的另一個網路子 層,當其上層將來源端、目的端識別碼封裝好後,欲遞送之訊息會來到此 TOS_BCAST_ADDR 為 TinyOS 本身所定義作為廣播用途之識別碼,為常 數 0XFF,而 TOS_LOCAL_ADDRESS 則為各顆感測器本身之識別碼,這 是在載入執行程式前就得為每個感測器分別指定清楚的,如此一來每顆感

息,我們以 seqno 來判別,具有先前收集過的相同 seqno 欄位之訊息將不 會被接收第二次,類似此般的作法亦常見於許多這名協定當中,如同 TCPIP;若當收到單點寄送至此的訊息封包時,此類型封包均為基地台端 要求設定某依參數(SET-),則再依命令指示之後,以回覆(RPT-)20~24 等型態之訊息回覆給基地台端,以利基地台處控管整個網路中,各個感測 器之最新即時狀況。

至於基地台端,我們採用昇陽公司(Sun Microsystems)之 Java 語言,

提供出一套圖形化管理介面,如下圖(十五)所示。

圖(十五)、PHOENIX 火警系統之圖形介面。

在圖(十五),我們可以透過其中之觀景窗來瀏覽目前網路的各項動 態,包括節點數、感測器部署位置,而實際執行起來之畫面實例為下頁圖 (十六)所示。

觀景窗

訊息紀錄處

感測器狀態 系統狀態 訊息發送處

圖(十六)、PHOENIX 火警系統之執行實例。

各個感測器所回報之訊息可由介面中之下方看到,這些訊息會記錄著 建築內部各個有佈署感測節點之室溫等資訊;另外,可以透過右方的表格 顯示出感測器目前的最新狀態。

在系統端,我們設計了一個獨立的元件 PhoenixCommunication,單獨 負責與部署過後的感測器進行通訊,這個元件會自動監聽底層序列阜7所回 報上來的訊息,並分派至系統的各個主要元件,所接收到的信號的各項 Java Swing 元件在自動反映出即時情境。

系統除了透過感測器所回傳之定期訊息來掌握感測器最新動態以 外,將會隨機發送 ASK 型態的訊息去試探各個感測器,這裡是基於考量 到硬體本身的不穩定性,進而由基地台主動查詢感測器。

以上我們已經將一般正常的情形報告妥,依上圖示範的小規模場景,

7 序列阜是指以 RS-232 連線,並設定系統監聽 MOTECOM=serial@57600 0

1

4

2 3

5 6

7 8

我們可以清楚地看到以藍色的線段表示網路連結情狀,我們可利用上一章 所談論之利用多棵展延樹之拓樸於基地台端預先計算出來,接著我們發送 至各個感測器端,假設系統中預設發送出兩棵多重展延樹,此時我們知道 本套系統中共存在有三顆展延樹的架構,在平時系統優先以主要展延樹為 主要路由依據,然而當火警災變事故發生時,將改以次要的展延樹繼續維 持訊息得以繞徑回基地台端,在一般的考量下,誠如第三章所述,我們並 不會設定過多的次要展延樹拓樸置網路中,一則是減輕對於訊息過往頻繁 的感測網路之負擔,另一則是考量至現實場景中,只有極少的情況允許每 一顆感測器彼此均能夠互相通聯,而在這樣的考慮之下,實際感測節點所 能探測到的鄰居節點均不至於太多,若我們滋生出過多無謂的展延樹,則 勢必有許多連結是被重複到的。

然而,為了在本份論文中方便示範,我們依舊假設目前這五個節點是 得以 彼此 通聯的;首 先我 們 將所 有感 測器內 部對 於溫度 探測 的參數 LOWER_THRESHOLD 設定為 60,HIGHER_THRESHOLD 為 80,在接下 來的文字當中,我們實際已適當的熱源接近編號為 1 號之感測器,即刻可 由管理介面中看出目前在網路中已有區域著火,如下圖(十七)所示,此時 我們可以觀看出 1 號感測器適時地反映在管理台端,而目前網路的連線路 由亦重先前的主要展延樹改變為次要展延樹。

圖(十七)、PHOENIX 火警系統之實際操作圖。