2008年4月30日 星期三

MoteView測試

首先要先將成是燒錄到mote上面
先將mote1放到Gateway上面,且開啟它

然後開啟MoteView

上面有個圖示叫做program

按它,出現MoteConfig的程式介面

這是圖形化的燒錄介面

首先要先設定使用的是MIB510,Serial Port是多少,

還有baudrate,這裡我使用57600

然後選擇燒錄的程式

首先我先燒Base Station的程式

到MoteView資料夾裡面有一個xmesh的資料夾

切換到/xmesh/micaz/XmeshBase/

選擇XMeshBase_2420_hp.exe

然後記得Base Station的mote一定要設成ID為0

然後按下program的按鍵

帶出現successful的訊息之後

取下mote(0),這裡mote的ID設為零故我直接稱呼它為mote(0)

切將之電源切到off

換上第二顆mote

打開電源

然後切換到資料夾

/xmesh/micaz/XMDA300/

選擇XMDA300_2420_hp.exe

然後將ID設為1

接著按下program的按鍵

一樣等successful的訊息出現

接下來關掉MoteConfig

然後將mote(0)接在MIB510上

mote(1)接上MDA300

然後都打開電源

接著在MoteView的視窗介面

選左上角一個Connect to WSN的圖示

然後設定Gateway、Serial Port、Sensor board之後

按下"DONE"

出現以下的畫面


要注意的地方是MIB510的上面有一個switch 2(SW2)要切成off

今天切到on了

一直都沒注意到

結果就是一直都沒東西跑出來

最後看到了

顯示有資料在接收

不過有個問題

就是顯示上面

Gateway的Node的圖一直是顯示沒收到資料的

沒收到資料是灰色旁邊有打個叉叉的圖

但是卻又有顯示感測到的溫度和濕度的資訊

所以覺得有些奇怪

另外,在接收資料的過程中

如果有東西阻擋住就無法接收到資料

例如:把mote(1)放到冰箱去

然後關起來

會發現沒收到任何的資料

門一打開

就馬上有看到資料

大概是這樣

接下來的之後再做報告

XSniffer測試

先切換到資料夾

Directory: C:\Crossbow\cygwin\opt\MoteWorks\apps\tutorials\lesson_3\
然後將第一顆mote裝上Gateway上面


打開PN2,在Tools的選單選shell,會出現可以輸入的方格


輸入下列命令


make micaz install,1 mib510,com4


等上面的命令結束之後


拔下第一顆mote,接上另外一顆mote


然後接換到下列資料夾
Directory: C:\Crossbow\cygwin\opt\MoteWorks\apps\general\XSniffer\
然後一樣在Tools的選單選shell,出現輸入方格


輸入下列命令


make micaz install,2 mib510,com4


待命令執行結束之後

(這時候這兩顆mote電源都是"on")

開啟XSniffer

選好所使用的Serial Port之後

就按下Start按鈕

會看到下面的情形

2008年4月16日 星期三

MoteWorks_CH1~CH3

第一章、 介紹

MoteWorks是產生無線感測網路的end-to-end enbling platform

1-1. MoteWorks Network Landscape

1-1-1. The Mote Tier, XMesh software 提供必須的網路演算法

去形成可靠的通訊骨幹,如此可連接網路中的所有節

點連到伺服器. (Refer to XMesh User’s Manual)

1-1-2. The Server Tier, XServe and XOtap are server tier

applications that can run on a PC or Stargate.

(Refer to XServe User’s Manual)

1-1-3. The Client Tier 提供使用者形象化的軟體和圖形化的介

面來管理網路。Crossbow提供免費的客戶端軟體稱做

MoteView,但 XMesh 也可被介面化的客製化客戶端

軟體

(Refer to MoteView User’s Manual)

1-2. Low Power Operating System – TinyOS

MoteWorks已經有包含TinyOS在裡面,TinyOS是由美國加州

柏克萊大學發展出來的開放原始碼的操作系統,無線感測網

路操作系統很多都用TinyOS,他是以元件組合基礎、事件驅

動操作系統,TinyOS支援範圍從8-bit架構的微處理器(2 KB

RAM)32-bit處理器(32MBRAM或更多)

1-3. Software Development Tools

MoteWorks提供一套發展工具,用來客製化Mote應用,包含客

製化感測板驅動、感測訊號條件反應和程序和訊息處理等。

第一章、 安裝(安裝部分已寫在另一份文件,這裡跳過)

第二章、 操作環境客製化

這章告訴我們可以學到

Customizing Programmer’s Notepad

Cygwin interface

Compiling and Programming Tools

Environment variables

Interoperability between TinyOS 1.1.10 and MoteWorks

3-1.Programmer’s Notepad 2

MoteWorks包含一個可編譯nesC code的簡單整合開發環境的

Programmer’s Notepad版本。在”Tools”選單有”make mica2”

”make micaz””make mica2dot””make iris”的選項。如果安裝的

時候不是使用預設資料夾的話就必須手動修改工具的路徑才能讓

他正常使用。下面是Option的畫面。

“make micaz”make命令是做編譯的動作

(我認為是如此,如有錯誤之後會再回來修正)

“Tools”選單有一個shell的指令,在這個指令下輸入”make micaz”

此動作的結果是等同於直接在Tools下按”make micaz”,如此看來

shell是一個可以讓你就像在cygwin下輸入指令一樣。

Note:要做編譯或燒錄都必須在.nc檔的應用資料夾底下執行。

3-2.Cygwin

Cygwin是在Windows底下模擬Unix/Linux的環境。它包含兩部分

1).A DLL(cygwin1.dll),模擬Linux API

(DLL的全名為Dynamic Link Library,一般翻為「動態連結資料庫」)

2).集合提供的類似 linux tools

Cygwin的一些有用常用的指令稍後再補上

3-3.Setting Aliases

這是可以設定進入特定資料夾的捷徑,設定的檔案是在

C:Crossbowcygwinetc裡面的profile

打開它,然後輸入

alias cdMoteWorks=”cd Crossbow/cygwin/opt/MoteWorks”

alias cdtools=”cd Crossbow/cygwin/opt/MoteWorks/tools”

alias cdapps=”cd Crossbow/cygwin/opt/MoteWorks/apps”

然後存檔,打開cygwin發現出現下圖的訊息

喔喔出現問題了>”<

算了,暫時不管它,沒設捷徑不影響

profile裡面有做增加的部分刪除,改回原本的檔案內容

結果就沒再出現那個訊息了。

3-4.Compiling MoteWorks Applications

Cygwin裡面做compiling(building) application code的語法是

make <platform>

下表是對照表

3-5.Programming Boards

燒錄程式的時候需要定義所使用的燒錄板是什麼型號的,

下表示對照表

3-5-1.MIB510/Serial Port Programmers

MIB510這塊版子是使用RS-232來和電腦連接傳輸資料的,如果

PCRS-232的插孔,可以使用RS-232USB的線,我們所使用

的就是RS-232USB的線

這裡簡單的說明一下燒錄的語法

Ex: make micaz install mib510,com1

micaz : <platform>

mib510 : <programmer>

com1 : 是連接埠(PC’s serial port),這個設定要先進到裝置

管理員查看

install : 是燒錄

3-6.Installing MoteWorks Application into a Mote

燒錄工具包含一個設定node ID的燒錄方法,且不需要直接去修改

原始碼。語法如下所示

Make <platform> reinstall,<n> <programmer>,<port>

Platformprogrammerport已經在前面提過了就不再說一遍。

<n>n是設定節點的ID

install : 編譯程式到指定的platform

reinstall : 下載之前編譯好的程式到Mote,且不再重做編譯

3-7.Setting the Group ID and Node Address for the Mote Network

The Mote Message的標頭檔包含了一個Group ID(群組ID),這可以允許

區別各群組的Motes分享相同的通道。如果想要各群組的Motes在各自

群組的通道,需要設定Group ID 成一個獨特的8-bit的值來濾除那些訊

息。預設的Group ID0x7d。設定Group ID的資料夾在

C:CrossbowcygwinoptMoteWorksapps,裡面的MakeXbowlocal的檔

案裡面的DEFAULT_LOCAL_GROUP的地方可以做設定。此外,訊息

的標頭檔有帶一個16-bitdestination node number

3-8.The MakeXbowlocal file

MakeXbowlocal file提供一個方便的方法讓使用者改變Group ID

channel(RX/TX frequency)RF transmission power

使用它只要在特定的application的最上層的資料夾有一個叫做Makefile

的檔案,點兩下打開它。會看到一行寫著

Include ../MakeXbowlocal

經由增加了這一行在Makefile會使的application在編譯的時候把

MakeXbowlocal包含進去。

Note : MoteConfig不讀也不使用MakeXbowlocal的參數設定

因此是在MoteConfig的介面上自行另外設定的。

下面我把MakeXbowlocal的檔案部分print下來放在下面,且大概說一下設定

參數的位置。

Note : 如要使設定work只要把那行前面的”#”消掉就可以了

第一張圖:設定Programming Board,我們是使用MIB510,所以把

MIB510前面的#號拿掉,Port的話我們的是COM4

所以這裡要改成MIB510=COM4

第二章圖:設定MICA2RF BandRF Channel

第三張圖:設定MICA2RF Power

第四張圖:設定MICAzIRISRF Channel,紅色框框上面有顯示各通

到號碼相對應的頻率是多少。

第五張圖:設定MICAzRF Power。一樣上面有對照表。

最後一張圖:是設定IRISRF Power

這些設定在要做編譯之前要先檢查一遍是否都有設好。

3-9.Radio Frequencies

MICA2MICA2DOTMICAz可以使用的頻帶是315MHz433MHz

915MHz2.4GHz ISM頻帶。在Compile之前一定要先確定頻帶沒設錯。

3-10.Automated Build Tools

MoteWorks提供好幾個自動編譯工具來簡化編譯程序

3-10-1.build

這個命令類似”make”。不過編譯之後的訊息只會顯示編譯之後

產生的錯誤和警告。語法是:

$build micaz

3-10-2.Buildall

這個命令跟build一樣,不過不同的是這個命令編譯資料夾內所

有的應用程式。下面是語法:

3-11.Mote Programming Tools

MoteWorks提供好幾個自動化工具來簡化燒錄到Mote的程序

3-11-1.flash

應該是燒錄進Mote的吧!預設node id=1port=COM1

且這命令只能用在MIB510MIB520上。下面是語法:

3-11-2.flashall

範圍同buildall的範圍。下面是語法:

3-11-3.fuses

這命令允許使用者在Programming Board讀和寫Motefuse(查字典是保

險絲@@不懂)設定。下面是語法:

3-11-4.motelist

This command list MIB520 and Telos devices attached to the USB port

(~看不是很懂)

3-12.TinyOS Interoperability and Tree Management

使用者可以在TinyOS(v.1.1.10)MoteWorks之間相互操作,很多的命令提供

方便的切換TinyOSMoteWorks樹狀結構。

3-12-1.gettos

這個命令允許使用者去觀看有多少的TinyOS的環境被編譯。

下圖是在cygwin下輸入gettos之後產生的畫面

3-12-2.settos

使用者可以經由改變一個符號連結來切換到一個新的MoteWorks

兩個樹狀結構都在同樣的/opt/MoteWorks 根目錄,但是使用者可以

保有兩個版本,一個是標準版(2.0)和企業版(2.1),第一次使用這個命

令時,回重新命名現在的MoteWorks樹狀結構成為指定的版本。

下圖是指令:

3-12-3.usetos

這個命令使用者切換MoteWorksTinyOS的環境

下面是指令:

usetos -switch to MoteWorks

usetos tinyos -switch to TinyOS 1.x

usetos tinyos-2.x -switch to TinyOS 2.x

下圖是切換功能顯示,告訴我們怎麼用此命令。

3-13.Compiling Utilities

MoteWorks提供了好幾個實用的編輯。

3-13-1.make

這命令允許使用者編譯nesC code,且提供幾個選項直接的輸入在

命令列,platformXMesh power modegroup ID和無線電頻率。

輸入方式如下圖所示:

3-13-2.mote-mem

看編譯韌體之後模組記憶體使用的情形。

下圖是手冊上的例子

3-13-3.treediff

顯示兩個不同的應用的來源差異。

(不是很懂)

3-14.XSniffer

XSniffer是一個Crossbow發展的工具,它可以讓使用者去透過XMesh觀看通訊傳

輸的情形。這個軟體使用在電腦上,且使用一個MICA2MICAzMote來觀看

RF packet traffic,要使用XSniffer需要下列兩個需求

1. XSniffer TinyOS code : 這個程式碼是被建立給使用在MIB510MIB520的基

地台上的一個MICAzMICA2的。這個原始碼放在

/MoteWorks/apps/general/XSniffer

2. XSniffer的圖形化見面是被安裝和執行在電腦上的。它被安裝在

C:/Crossbow/XSniffer

3-14-1.Building and Starting XSniffer

在資料夾(/MoteWorks/apps/general/XSniffer),編譯和燒錄程式到正

確的平台。對於MICAz MIB510的命令是

make install micaz mib510,/dev/ttyS0

WARNING: XSniffer不作用在XMesh,編譯時不使用route,hp2

route,lp2的變數,XSniffer使用

TOSH_DATA_LENGTH=64,它能提供最大的使用者

資料封包。

開啟XSniffer圖形化介面,選擇適合的COM port然後START,網路訊息

會顯示紀錄。

3-14-2.Using XSniffer

XSniffer可以被習慣用於監事mesh的行為,它會顯示無線電範圍的無線電

訊息的監聽。Use XSniffer to :

1. 如果一個mote加入mesh就會被監看,當發生資料封包將改變重廣播

位址到基地台位址或其它的基地台。

2. 監看個別的mote無線電封包序號。

3. 監看從基地台的無線電通訊。

4. 監看無線電訊息的重試

5. 監看最新的路由和時間同步訊息

關於更多XSniffer的細節,參照XMesh User’s manual