2008年9月8日 星期一

Mesh,sensorboard

下圖為作用在MDA300上的原始檔
makefile.component為設定使用的元件、感測板、訊息大小

下圖為感測板mda300的各個元件設定


雖然知道應該是需要在感測板部分設定能抓取GPS資料的程式
但對於各個環節的相扣還不是很了解>"<
以及感測板與此二元件(GPS,CCD)的PIN腳接合也不是很清楚該如何接才是正確的
MDA300 datasheet

OV9640FBG 視訊CCD

裝在板子上的方式很土法煉鋼,PIN的位置都是用捲線的方式接在上面,
再將線拉至背後,與M-89的外接線方式一樣,是用杜邦外接。

OV9640FBG datasheet

M-89 GPS晶片

經由學長幫忙bound線的GPS晶片

每個PIN腳用現成的杜邦外接



M-89 datasheet

2008年7月21日 星期一

近期的預計進度

將GPS晶片和CCD(針孔攝影機)和感測板連接
不過有點不知道兩邊的pin腳要怎麼接(ex. A的pin腳接到B的哪個pin腳)
可能要再看文件或是找人問問

GPS由於是晶片
焊接不易
透過學長的關係找到篤信407的學長幫忙(高媽的學生)
是用bound線的方式
把每個晶片的pin腳拉線出來
然後接在板子上
這樣我們要將線接在感測板上比較容易
預計是星期三可以拿到。

CCD的部分,Crossbow裡面附的MoteView沒有可以看針孔攝影的部分
可能必須要自己寫一個轉換CCD的和觀看的介面!

p.s.
專題學弟來實驗室的時間:
專題第一組:星期一下午
專題第二組:星期四下午

2008年5月21日 星期三

關於使用programmers Notepad 2

試了一下
首先要先設定好參數
在MoteWork的資料夾裡的MakeXbowlocal做設定
然後apps/xmesh/
用裡面的xmeshbase和xmda300
做燒錄
在"shell"下打指令
make micaz install, mib510,com
結果跟我想的一樣
裡面給的程式跟 MoteView給的程式是一樣的
燒錄完
可以使用moteview觀看

2008年5月12日 星期一

近期將要做的進度

1.使moteview的資料能放上網,且能即時更新資料
2.做個小實驗,觀察接收資料的強度,什麼樣的情況會造成接收不到?什麼樣的情況能有較好的接收?室內?室外?

2008年5月7日 星期三

See state of the base statiion

故意用XMDA300的燒錄檔燒錄Gateway的Mote
如下圖所示
可以看到Gateway的Mote的資訊狀態

又燒錄了第二的Mote 如此可以看到有兩個感測到的資訊

發現前一天沒關掉的mote,今天才發現,結果已經快沒電了

在想是因為一直開啟的關係,還是因為在開啟的過程中他還是會一直的試著傳遞訊息

如此會一直造成能量損失

也造成電池壽命快數縮短

說真的開一天就快沒電有點短= =

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


2008年3月28日 星期五

感測板MDA300CA

MDA300CA

WARNING靜電放電現象(ESD)會使MDA300CA壞掉。

ESD 造成的損壞範圍可以從微小的表現下降

到整個裝置的故障。

MDA300CA是被設計成用在MICAzMICA2 Mote的一個量測平台,

它主要的應用是a)無限低功率設備,b)天氣量測系統,c)精確的農耕

和灌溉控制,d)動物棲息地監測,e)土壤分析,和遠端遙控。

圖表 1.MDA300CA,它可以與MICAzMICA2 Mote結合

類比感測器基於準確性和動態範圍可以被用在different channels

數位感測器可以被用在digital or counter channelsMote取樣類比、

數位和計數器channels,且可以經由數位輸出或繼電器而被啟動。

MICAz(MPR2400CA) MICA2(MPR400CB) MDA300CA 的結合可

以被使用如一個低功率無線資料取得裝置或程序控制機器。下面的

Table 7-1給了絕對最大值額定功率給各式各樣的電子參數。

Table 7-1. The MDA300CAs Absolute Maximum Ratings

+VDD to GND*……………………-0.3V to +5.5V

Digital Lines:

Input voltage range**-……0.5V to Vdd +0.5V

Continuous output low current…………50 mA

Continuous output high current…………-4 mA

Analog Lines:

Input voltage range……………-0.2V to Vcc +0.5V

Counter Line:

Input voltage range…………………0V to 5.5V

Relays:

Maximum Contact Voltage…………………100V

Maximum Contact current…………………150mA

*Users are strongly encouraged to stay within the MICAz or MICA2 nominal

input voltage of 2.7 to 3.3 VDC

**The input negative-voltage rating may be exceeded if the input and output

current ratings are observed

Theory of Operation

簡單的描述在MDA300CA上面可用的pins的作用,

下圖是腳位和腳位的敘述。

Single Ended Analog Operation (Channels A0 to A6)

NOTE: 這些通道是共同分享給differential channels A11-A13,且它

們不能在同一時間使用。

訊號的動態範圍在0V 2.5V之間的可以被接在這些通道,最小的有

意義的值是0.6mV。類比數位轉換器(ADC,Analog-to-Digital Converter)

結果可以被轉換成

Voltage= ADC_READING/4096

電阻需要被增加(焊接)MDA300CA板上,正確的比例編排外部的類比

感測器的電壓等級,如此最大電壓是2.5VDC。有兩排電阻─RARB與個

別的ADC channels有關聯。這些電阻形成一個簡單的電阻電壓分配者。

因此選擇RARB的值如此的RB/(RA+RB)的值是經由感測器小魚2.5V的最

大輸出,電阻是相對應於一個特定的ADC channel 是被列在下表Table 7-2

且此區在板子上的位置也在下圖Figure 7-3

NOTE:R30R36位置的電阻是0Ω,在為通道焊接相對應的電阻實

需要移除。

Differential Analog Signals(Channels A11 to A13)

通道A11 A13可以被differential analog channels使用,動態範圍和

轉換公式是和single ended channels相同。

Differential Precision Analog Signals(Channels A7 to A10)

通道A7A10precision differential channels,它們有增益100的感測

前端,這些通道的動態範圍是±12.5mV,偏移量會經由不段的偏移量的

量測而被消去,且對於軟體相消被寫在E2PROMADC的結果可以被

轉換成

Voltage(in mV)=12.5×(ADC_READING/2048-1)

Digital Channels(Channels D0 to D5)

通道D0 - D5digital channels且可以被用在數位輸入、輸出,基於外

部事件或啟動外部訊號他們可以被使用在計算外部現象、引起的反應。

如果發生電源重置,感測器為避免遺失數值,這些通道的結果可以被

儲存在EEPROM,這些通道可以免受於開關跳躍,當設置有內部提升

的電阻輸入,它們可以插入感測器開關。

Counter Channel

這個通道用在高速計算或頻率量測。他有一個Schmitt triggered front-end

Internal Channels

有一個溫度和濕度的內部感測器。這可以被用在監控系統的健康,在溫差

量測應用中它也可以被用在”cold junction compensation”,可以使用MICAz’s

MICA2’s的內部監控來得知裝置電壓,進而得到裝置還能使用多久。

Relay Channels

有兩個relay channels可以被用在啟動外部事件,在最大離析和最小能源消

耗,這裡個relays是光學的固體狀態,一個relay正常是開啟,另一個則是

關閉。

External Sensors Excitation

有三個激發電壓─5.0V3.3V2.5V,能激發外部感測器,(They can be

used for turning on active external sensors or they can be used in half bridge

or full bridge sensors such as strain gauge, force or pressure measurement.)

LEDs

LED 訊號顯示由一些應用使用Motes的上的附件,且想要用LEDs顯示事件。

Power Supply(VCC)

它可以使用外部電源的附加裝置。


p.s.有很多不懂的,翻得不好還請高手多指教,翻不出來的日後會在繼續補上。