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互相通信

MDA300CA

MDA300CA是ㄧ個包含溫度、溼度感測器的多功能資料搜集板。以MDA300CA的介面,他為ㄧ般地區的感測器使用方式提供了方便且靈活的使用方法。譬如環境和產地監視而且包含許多其它傳統感測器的應用。

MDA300CA對於各式各樣不同的農業應用是ㄧ個較經濟的選擇,而且還在便宜的無線氣象台下ㄧ代佔了重要的腳色。

1. 多功能資料採集與溼度感測器

2. MICAz/MICA2MoteView驅動程式相容

3. 12位元類比輸入的11Channels

4. 板上高感度感測器與高速計算機

5. 方便以螺絲連接

應用

1. 環境資料彙集

2. 農業和產地監視

3. 葡萄栽培和苗圃管理

4. HVAC 儀器工作和控制

5. 一般資料搜集和擷取

通信和控制特點包括:

1. 7 single-ended 3 種不同的ADC channels

2. 4 種明顯不同的ADC channels

3. 6 位元輸入輸出通道用在事件偵查中斷

4. 2.5, 3.3, 5V 感測器和低功率模式

5. 64K EEPROM 為感測器處理資料

6. 2 relay channels ㄧ個通常為開,一個通常為關

7. 200 赫茲計算通道為風速, 脈衝頻率

8. 外在I2C 接口

第3章節

在這個章節裡:

1.定做程式員的筆記薄

2.Cygwin 介面

3.編寫的和程式設計工具

4.環境變量

5.讓軟硬體在TinyOS 1.1.10 MoteWorks 2.0 之間能有意義的溝通

3-1

MoteWorks 包含以基本的IDE nesC 代碼被裝置著的程式員筆記薄版本。在選單有make mica2”, “make micaz”, “make mica2dot” “make iris” 選擇。如果您安裝了一個non-default 目錄, 您必須手工編輯這些工具讓他們運作

3-2

Cygwin Unix/Linux 模仿視窗環境。Cygwin 是微軟視窗普遍的GNU 開發工具。Cygwin 是任意用戶界面為編寫和下載Mote 應用在MoteWorks

3-3

一旦您成功地安裝了MoteWorks, 建議您對常用的命令和訪問目錄設定別名。別名將被編輯在位於/cygwin/etc/

3-4

Cygwin 中編輯對應編碼的語法是

make

3-5

MoteWorks 開發環境支持各種各樣的程式設計工具。被使用在MoteWorks的標準編寫軟體為the Micro (the Greek letter “μ”) In-System Programmer UISP 。這個軟體採取各種各樣的論據根據程式員硬體和特殊編程需求(刪掉, 核實, 編程, ) 。使用這個工具,MoteWorks 每當您發布安裝或再安裝命令時以正確論據行使UISP。並且必須指定您使用通信的設備類型。

3-6

程式設計工具也包含編輯獨特節點地址的方法沒必要直接編輯原始代碼。設置節點address/ID在程式裝載期間, 一般安裝語法為:

make re|install, ,

install, 編寫對目標平臺的申請, 設置節點ID/address 和編輯程式

reinstall, 設置節點ID/address 和只下載前編寫軟體而不完全重新編寫 。這個選擇明顯的比較快速。

3-7

Mote允許多個小組分享相同頻道。如果您想要分離是在同樣頻道的多個小組, 您需要用獨特的8位數設置ID去過濾掉那些訊息。

3-8

MakeXbowlocal 為用戶提供一個方便方式改變ID, 頻道 (RX/TX frequency) RF 傳輸功率。

3-9

MICAz MICA2, MICA2DOT 支持倍數頻率。提供315 兆赫、433 兆赫、915 兆赫, 2.4 千兆赫ISM bands 所有系數為MICA2 MICA2DOT 包含在TinyOS 文件CC1000Const.h 位於/MoteWorks/tos/platform/mica2/。用戶必須編寫在正確基本的頻道防止無線電通訊失敗。最佳和最安全的方式確定您編寫為正確頻率為替每一個Mote 平臺編輯MakeXbowlocal 文件。

3-10

MoteWorks 提供幾個自動化的工具簡化編輯過程

Build 類似偵錯功能

Buildall 類似對全部資料夾偵錯

3-11

Flash 傳送一個圖像到Mote

Flashall 傳送一個圖像到全部Mote測試台上

Fuses 這個命令允許用戶讀或寫Mote fuse設置在編寫程式的過程

Motelist 這命令表列MIB520 Telos 設備附有USB 接口。

3-12

Gettos 這個命令允許用戶看到他們的流量TinyOS 環境如何被配置。

Settos 藉由改變象徵的聯結用戶能更換一棵新MoteWorks 樹。兩棵樹維持同樣/opt/MoteWorks , 但用戶能維持二個版本,例如:2.0 標準發行和2.1 企業開發商。第一次您跑這個命令, 它給您當前的MoteWorks 樹改名對指定的版本。

Usetos 這個命令允許用戶更換在MoteWorks TinyOS 1.x 環境之間。

3-13

Make 這個命令允許用戶直接地編寫他們的nesC 編碼以幾個選擇從指令列

Mote-mem 這藉由元件有效的顯示編輯固件的記憶體用法,而用法由Program ROM, Constants RAM, Heap RAM 劃分。

Trediff 這有效的顯示來源區別在兩種不同的應用之間。

3-14

XSniffer 是承認用戶監測multi-hop 通信在XMesh 的一個Crossbow-developed 工具。這個節目運行在個人電腦和使用MICA2 MICAz Mote 監測RF 訊號交流。

安裝RS-232轉USB轉接線的驅動程式

1.點選Installation Driver準備安裝



2.選擇電腦作業系統,WINDOWS資料夾



3.選擇PL-2303 Driver Installer開始安裝



4.點下一步繼續



5.安裝完成



6.打開裝置管理員測試是否安裝成功,這是尚未接線時的樣子



7.接上後多了個Prolific USB-to-Serial Comm Port(COM4)表示已經成功的安裝

安裝

1.點選資料夾裡MoteWorks_2.0.F_Setup準備開始安裝

2.按下Next開始安裝

3.選擇I accept答應合約後Next繼續


4.設定安裝路徑,之後Next繼續

5.這裡是選擇要安裝的內容,我們選用預設的安裝,之後Next繼續

6.確認無誤後按Install開始安裝

7.安裝過程





8.按Next開始安裝Programmer's Noteped

9.選擇I accept後按Next繼續

10.安裝過程



11.詢問是否要安裝Microsoft .NET Framework 1.1,選"是"繼續

12.因為電腦已經安裝過了,所以跳出警告,選"確定"繼續



13.按Next繼續安裝MoteConfig 2.0

14.安裝過程

15.安裝完成




16.按Next開始安裝XSniffer 1.0


17.安裝完成

18.全部軟體安裝完畢