2008年5月23日 星期五

Node綜合測試



測試兩個Node時Base接收資料的情況




接收資料的情形




測試兩個Node,一個接感測器,一個不接感測器時Base接收資料的情形




接收資料的情況

--------------------------------------------------------------------------------------------------------------------------------------------

接下來測試Node與Base距離拉遠之後,資料接收的情況



1.首先我們將Node2放403教室裡,Node1放走廊。
我們發現Node2與Base的一直線上只隔著一層牆壁,訊號雖然較微弱,時好時壞,但確實是收得到訊號。
接下來Node1放走廊,但與Base中間隔著一個柱子,這時Node1的資料無法傳遞到Base,但改放在走廊其他地方,只要直線路徑沒有經過柱子,資料就能正常傳遞。所以估計,在Node與Base之間的直線路徑上,不可以有太大的阻礙物。

2.另一個測試是將Base放4樓,Node2放B1靠牆,Node1放1樓中庭空曠處




這樣Node2收不到訊號,Node1能正常接收。這說明如果Node2要傳訊號,無法經由Node1輾轉傳致Base。

所以我們目前想嘗試的,是能將多個Node串聯,使其資料能夠經過其他Node輾轉傳回Base,預計從軟體方面著手。

hp與lp差異測試



1.這次燒錄lp模式,看看與hp有什麼差異。首先燒錄BASE上的Mote




2.跟之前操作沒什麼太大差異




3.現在燒Node的Mote




4.依樣畫葫蘆




5.目前發現到的差異,在燒錄資料中,所給定的資料回傳間隔時間較長,這是lp的資料




6.這是hp的資料,時間間隔差了10倍,也就是hp資料回傳較為頻繁





7.接收資料的情況




8.資料回傳間隔真的也比較久,光是等第一筆資料就等了6分鐘,一度還以為當機了

2008年5月14日 星期三

初次燒錄測試



1.首先,點選MoteConfig開啟,這東西能將程式燒進Mote裡



2.這是開啟之後的樣子



3.檢查連接電腦的連接阜是哪一個,圖上看到的是COM4



4.點MoteConfig上方的Settings,選裡面的第一個選項Interface Board..



5.點進去後會出現跟圖中一樣的選項,將COM改成查到的連接阜



6.點選右上方的Select,選擇要燒入的程式



7.先燒要裝在Base上的Mote,先選用hp



8.這是選用之後,注意左邊的NODE ID,燒BASE時必須為0,確定之後按中右的Program開始燒錄



9.這是燒錄過程



10重複步驟6,這次是要燒錄感測器上的Mote



11.選好之後左邊的NODE ID注意不要為0就好,如果燒錄多組注意不要重複,確定之後按Program



12.燒錄過程



13.點選MoteView開啟,這東西能顯示感測器傳回來的資料



14.開啟之後點選左上角一個很像地球的東西,設定內容



15.Mode



16.GateWay裡interface board選感測器型號,serial port 選目前連接阜



17.Database



18.application name選擇Mote型號



19.這是抓到資料後的樣子,抓到資料時間為當前時間

2008年5月8日 星期四

第5章節 其一

在這個章節將學會:
1.基本nesC 和TinyOS 編程
2.怎麼使用timer和LED元件
3.怎麼編寫和下載對Mote的應用


這種第一種應用稱MyApp 。建議它使用在ATmega128L Mote 的其中 一個定時器。定時器將被設置每秒鐘連續工作並且Mote 的紅色LED 將以改變開關方式顯示。為何要如此麻煩? 因為要幫助對TinyOS不熟悉的開發者, 應付更加複雜的應用之前對nesC & Motes 嵌入編程的概念獲得更多信心。


對於應用,你能採取的對應如下:
1.輸入所有需要的編碼與輔助文件
2.建立(編寫) 並下載應用
3.採用最接近的編碼與輔助文件


5-1硬體需求
1.一個Mote-MICA2 (MPR4x0), MICAz (MPR2400), IRIS (XM2110)標準版或OEM editions MPR600, MPR2600, M2110.
2.一個門戶/編程板-MIB510 、MIB520 、或MIB600 和周邊硬體(電線, 電源)
3.灌有MoteWorks的個人電腦

第4章節

這章節將介紹:

1. TinyOS的程式編輯哲學

2. nesC 語言

4-1

TinyOS是ㄧ種為無線網路感測器而設計的作業系統。他能夠在感測器內有限的記憶體中以非常小的編碼規格做到迅速的更新與執行。TinyOS 的資料庫包含網路協議、分散式服務、感測器驅動程式, 和資料蒐集工具,所有都能視當時狀況使用或進一步被設定為習慣的使用方式。TinyOSevent-driven execution model能夠管理功率的變化在預定的範圍之中。

TinyOS不是傳統觀念的那種作業系統,他是為了各種應用而製作出來的特殊用途OS。因為這個原因,他的編碼也被設計為佔有極小空間的模式。另外TinyOS被設計成不含有文件系統, 支持唯一靜態記憶體分配, 執行單純模式的工作, 並且提供最小的設備和網路抽象概念。

TinyOS 有一個基本結構的資料處理模式(nesC 語言編寫) 。就像其它作業系統, TinyOS 將他的軟體分級。越低級的是對硬體,越高級的是對應用。完全的TinyOS應用是ㄧ個結構圖,每部分都是獨立運作的個體。

結構上,又分為3個概念1) 命令(commands), 2) 事件(events), 3) 任務and (tasks)。任務被用於表達內部工作,命令與事件就作為元件間溝通的工具。典型的命令意思是要求元件執行一個工作。而相較之下,事件就是傳達工作的完成。事件也會被用來表達不同地方所發出來的訊號,例如硬體的中斷或是消息的到來。命令與事件無法阻攔,但是,當要求執行一個工作時,並不是一口氣完成,而是被分為要求服務(命令)然後完成信號(對應的事件)等幾個階段。

工作並不是馬上被執行,命令與事件經過傳達之後,張貼任務,然後工作被TinyOS執行。當有其他的任務在執行時,命令或事件將會回應,他們基本的作業模式為先將任務完成(run-to-completion),而不是無期限的跑。任務代表著內部的工作與唯一存取的正式資料。TinyOS採取沒有優先權、先進先出("FIFO")的一種作業方式。

4-1.1

TinyOS 作業系統、資料庫, 和應用全部被寫在nesC,一種新被建立的語言。nesC 語言主要針對特殊系統(如感測器網路)而設計的。nesC,有著類似C語言的語法,但是支援與TinyOS相似的系統。主要的目標是讓應用設計師能夠以簡單的組成去完成,並且統一系統,然後在編譯時間中去執行龐大的校對。

4-1.2

TinyOS一 次只能執行一個工作,包括選擇的系統元件與慣用元件,只能邀情實行單一應用。在作業上有兩個相關的概念,任務與硬體事件處理。任務一但被規劃,則會完整的 跑完,誰都沒有優先執行的權利。硬體事件處理被用在回應硬體的中斷,並且也會完整的執行。與任務不同,他的處理續為優先於任務或其他的硬體事件。當命令與 事件希望被當作一部分的硬體事件執行時,那麼在發布時必須使用非同步關鍵字。

4-2

nesCC的延伸,被設計來實現TinyOS的構造概念與執行模式。

4-2.1

元件定義二個領域, 一個為他們的規格(包含他們的接口名字),而另一個是他們的執行結果。元件中有其內部工作以任務形式表現。控制指令串經由接口進入元件之中,這些指令串將被深植在任務或硬體中斷之中。

4-2.2

接口由元件提供或使用。提供的接口表示元件提供他的功能給使用者,被使用的接口表示元件需要他的功能去執行工作。

4-2.3

接口的一端由提供者使用(commands),而另一端則是使用者使用(events).。這使一個接口能夠表達複雜的互動。這是很重要的,因為所有冗長的命令在TinyOS中都不會被阻礙,他們完成的信號經由事件被送回。藉由明確指定接口,元件將無法發送命令,除非他提供sendDone 事件的實行。典型的命令是由上往下,也就是從應用元件到相鄰元件到硬體,而事件則是由下往上。

4-2.4

元件通過他們的接口以靜態連接互相連結。這改善工作效率、促進扎實的設計、並且允許較佳的軟體靜態分析。

4-2.5

NesC的編碼以能被所有使用者編輯而設計。這允許產生或分析出更佳的編碼。

4-2.6

NesC的工作模式以完整跑完任務與一個中斷程式為基礎,中斷程式能中斷任務或其他東西。NesC編輯者以中斷程式發送可能的資料種類根據訊號。

MPR2400(MICz)



MICAzCrossbow科技的最新ㄧ代產品。MPR2400 (2400 兆赫到2483.5 兆赫之間) 使用Chipcon CC2420, IEEE 802.15.4 ,並且 ZigBee 準備以Atmega128L 微型控制器接收訊號。與MICA2ㄧ樣, 51 根針腳的I/O 接口,和ㄧ系列的快取記憶體可使用; 所有MICA2 應用軟體和感測器都與MPR2400 相容。

所有motes 都被設計成以電池為電源。MICA2 MICAz 則被設計成二個AA 電池; 但是任一種電池組合(AAA C D, ) 都可以被使用,只要是在直流電2.7 V 3.6 V 的範圍之內。



MICA2 MICAz 能以其他形式取得電源:

1. 利用51跟針腳的接口

2. 利用2-pin Molex 的接口

MIB510CA



MIB510CA適用於感測器網路資料聚集的電腦或其他標準的工作檯。任一個MICAz/ MICA2 節點當聯接上MIB510CA系列時可作為一個基地功能使用。除資料傳送之外, MIB510CA 也提供一個RS-232 系列的資料處理介面。

MIB510CA 在板上有MICAz, MICA2 MICA2DOT processor/radio 處理資料的處理器。處理器監測MIB510CA 電源電壓並且如果電壓不是在要求的範圍時喪失資料處理能力。兩個51-pin Hirose的接口是可用的,允許附有感測器去行使監視或編碼編輯功能。MIB510CA 也與Atmel JTAG pod編碼編輯相容。

1. 作為無線感測器網路的基地

2. 為所有的MICA硬體工作檯作一系列接口的資料處理

3. 支持JTAG編碼除錯功能

應用

1. 資料處理介面

2. RS-232系列網路系統連結在一起

3. 使MICAz, MICA2 MICA2DOT互相通信