2009年7月10日 星期五

Source Code 分析筆記-6 修改程式

我們接下來試的是Zigbee-Wireless-Sensor-Network 的應用範例來更改程式,這個程式的目的是修改Voltage讀取的訊息,利用終端機連接Router來輸入字元,並透過無線的方式將字元轉換成ASCII code傳給Coordinator並顯示再另外一台電腦的終端機上。


先修改終端機的設定,在終端機能夠輸入字元



接著在終端機上打入字元
EX:順序是1、a、2、b
*此程式會在周期時間內會自動讀取最後一個字元




可以看見終端機上的Voltage 由0開始變化
當輸入的值會轉換成ASCII code 顯示
圖上的Voltage變化的順序是依照前一張圖輸入值的順序做改變
當無輸入值的時候,之後的Voltage會顯示Router最後一次輸入的值



此圖為字元與ASCII的轉換的關係
我們可以看圖來證明此結果為真


完成此程式的修改代碼後,對於我們是一大幫助,接下來我們將嘗試更多的修改

期望順利的讀取外接的感測器。  加油~!

2009年7月8日 星期三

ZigBee之概要原理-3

既然要了解ZigBee當然要知道它的優點好處是什麼,ZigBee的優點有很多,低耗電、低費用、高安全性、可靠性高、相互相容性等等,這篇針對ZigBee的Reliable(可靠性)作介紹。
關於ZigBee的"Reliable(可靠性)"︰

1.採用CSMA/CA方式
CSMA = Carries Sense Multiple Access,CA = Collision Avoidance,中文意思是載波偵測多重存取,在發送信號時先確認傳輸路徑的狀態,如果傳輸路徑空閒則開始發送信號,不空閒的話則必須隨機等待一定時間,這樣是為了避免一起發送多個位元組時發生資料的衝突。舉例來說就像是conversation一樣,等別人把話說完後自己在說話。

2.每個封包都會重複傳送三次,如果傳送4次後還是失敗的話,ZigBee會通知傳送節點讓部份可以傳送到。

3.在網狀網路中會自動搜尋路徑,這項則用圖示來說明。



在這張圖中,傳送訊號要從1傳到2,在由2傳到3,但如果有障礙物遮蔽在1和2之間時,雖然訊號無法從1傳到2,但會自動搜尋鄰近的節點如下圖︰


節點1繞過障礙物搜尋到節點4後,在由節點4傳送到節點5,最後在傳送到節點3。
ZigBeee的這項功能的好處在於架構的網路系統當中,其中一節點的損壞(電力不足or元件損壞)不會導致整個系統癱瘓,讓訊息的傳送能夠維持不至於中斷。

2009年7月6日 星期一

Source Code 分析筆記-5

繼測試 ZigBee Home Sensor Demonstration 範例之後,我們接下來試的是Zigbee-Wireless-Sensor-Network 的應用範例,這個範例主要是在利用無線網路的應用部份

(關於此範例請參閱JN-AP-1015-Zigbee-Wireless-Sensor-Network 1v7.zip)


這個範例程式 Coordinator 並沒有寫 LCD螢幕的部份,所以將燒入Coodinator的晶片插到主版中,LCD螢幕並不會有任何的顯示情況產生,另外將燒入Coodinator 的晶片插在子版當中在ZigBee網路中它一樣能建立起 Coordinator 的位置,說明文件裡頭有提到可利用HyperTerminal來讀取Coordinator接收的值,於是我們開啟了Windows內建的超級終端機來使用,將Comport接在Coordinator 的版子上並將參數如圖設置



實際連線時,如圖可以看到收到的data格式呈現成這樣
Address(Router ID) = 0x143e
Humidity(濕度) = 51
Temperature (溫度)= 28
Voltage(電壓) = 2635(mV)

測試時有兩塊Router(0x143e、0x1)




為了測試是否資料是否是立即傳輸的狀態,我們簡單的對溼度感測器呼了一口氣,使其溼度能短時提昇 ,其溼度的data立即產生變化



專題的目標是要將感測的數據傳回至電腦端顯示,這個測試的範例離我們想要的很接近,往後方向可能將參考其寫法並做修改以及測試