siemens x
傳感器

基于Rabbit控制器與Wi-Fi以太網(wǎng)橋的通訊

2025China.cn   2008年11月03日

想知道怎樣才能使您能深入應(yīng)用的無線電通訊嗎?如果你已經(jīng)有了一個以態(tài)網(wǎng)的基本解決方案,那么就簡單多了,僅需要加一個Wi-Fi以態(tài)網(wǎng)橋就可以了,本篇將描述一個Wi-Fi激活深入的應(yīng)用.首先,讓我們來看一下背景資料.

一、Wi-Fi 背景
Wi-Fi, 是802.11b 的常用名,是可用到的在802.11組中的無線結(jié)構(gòu)中的一個,802.11b 描述了為多媒體通道和數(shù)據(jù)連路層控制執(zhí)行的一個2.4G協(xié)議,該協(xié)議可以在一個最高11M的傳輸速率下通訊.他可以擴展到22Mbps.其他的標準描述了一個在2.4GHZ(802.11b)協(xié)議中更快的執(zhí)行速度(54Mbps)和在5.6GHz段中一個54Mbps的工具,. 當(dāng)前,Wi-Fi (802.11b)是一個最常用的工具,802.11 標準也描述了那些設(shè)備怎樣互相通訊。最簡單的方案是,調(diào)用一個ad-hoc程序,每一個設(shè)備都設(shè)定一個通道號和一個代碼。一旦他們匹配,他們就可以彼此通訊了。當(dāng)所有的設(shè)備可以互相通訊,或者僅僅有兩個站時,這個工作的很好。
802.11 也定義了一個叫做內(nèi)部結(jié)構(gòu)的方案。這里有一個通道指向中斷和管理設(shè)備。他為各設(shè)備分配時間和帶寬。當(dāng)一個設(shè)備想要加入到一個工作組時,它將監(jiān)聽通道并且通知這個設(shè)備他將加入。
對于我們的應(yīng)用,我們將使用Wi-Fi網(wǎng)橋。他將把標準的以太網(wǎng)數(shù)據(jù)包轉(zhuǎn)換成802.11b 數(shù)據(jù)包,這樣就可以被其他的802.11b設(shè)備接收了。大多數(shù)Wi-Fi以太網(wǎng)橋可以運行在ad-hocor底層結(jié)構(gòu)模式。大多數(shù)的Wi-Fi 以太網(wǎng)橋可以工作在ad-hocor 底層結(jié)構(gòu)模式。為了有此應(yīng)用,我們將與在一個PDA或者筆記本電腦的Wi-Fi卡通訊,在一個ad-hoc 模式下。
為了得到更多的在使用帶Rabbit產(chǎn)品的無限應(yīng)用網(wǎng)絡(luò),請看技術(shù)手冊TN230,” Off-the-Shelf Solutions for 802.11b Wireless Networking.”此文檔您可以訪問:

二、應(yīng)用
我們運行一個基于Wi-Fi自動調(diào)溫器。控制器將使用一個電熱調(diào)節(jié)器測量溫度,輸出一個加熱器信號和風(fēng)扇信號來控制溫度與預(yù)設(shè)的溫度相符。用戶接口是作為一個嵌入式Web服務(wù)器應(yīng)用執(zhí)行,因此,任何一個擁有HTML瀏覽功能的Wi-Fi設(shè)備將是可以作為我們客戶的接口設(shè)備。圖1顯示了系統(tǒng)圖表.

[IMGURL]圖1 基于Wi-Fi的自動調(diào)溫器塊圖表

三、硬件解決方案
我們不再使用Bl200,因為它的緊湊的外形、以太網(wǎng)和現(xiàn)存的輸出設(shè)備。其他好的選擇如BL2100、BL2500、OP7200等。
在一個使用10K寄存器電壓設(shè)備電路中,一個基于溫度傳感器的加熱器是與ADC0和DAC0連接。在25oC,ADC0的輸入將讀到DAC0提供電壓的50%.
[IMGURL]

圖2 電壓設(shè)備電路

一個12V的不帶電刷的風(fēng)扇是屬于在RAW電源和OUT2,它被分配到一個但前的接收模式。風(fēng)扇汲取0.16 A,這個電流是在the 200 mA的當(dāng)前極限輸出電流的范圍之內(nèi)的。下面是計算執(zhí)行一個有阻值的"heater"最小電阻。
R = 12/0.200 = 60 Ohm
P = 12*0.200 = 2.4 Watt
可以用一個更大阻值用于符合你現(xiàn)有寄存器的額定電源。例如,如果你想要用一個1W的寄存器,那么最小的阻值將是:
P = V2/R
R = 144/1 = 144 Ohm
您可以使用一個更小的寄存器的額定電源,如果你加熱的目標可以接受外擴電源。這個"heater"傳送在BL2000的RAW和OUT1之間。

[IMGURL]

下面的圖片顯示了一個適應(yīng)如圖2中的無線電報的電壓設(shè)備。
[IMGURL]

圖4 電壓設(shè)備

接連來的圖片中比圖片3增加了接頭和風(fēng)扇.
[IMGURL]圖5 接頭、風(fēng)扇和自動調(diào)溫器與BL2000的連接

現(xiàn)在BL2000已經(jīng)按照一個Wi-Fi 加熱器連接起來,我們已經(jīng)將注意力轉(zhuǎn)換到我們即將用到的應(yīng)用軟件和Wi-Fi 設(shè)備。

三、軟件解決方案
下載一些關(guān)于BL2000的軟件。壓縮文檔(AN400.zip)和應(yīng)用軟件可以到這里下載:
http://www.zworld.com/support/downloads/downloads_feat.shtml
運行Dynamic C的第一個版本,并且打開源文件Temp_bl.c。將Z-World的BL2000產(chǎn)品的編程下載線的一端與BL2000連接好,在編程線的另一端的串口連接器與PC機的COM口連接,這樣就可以運行Dynamic C了。在下載Temp_bl.c到目標之前,有兩件事情是你必須要做的:
1.設(shè)置控制器的IP地址。為此我們要打開下面的文件
/lib/tcpip/tcp_config.lib and edit the macro _PRIMARY_STATIC_IP.
您需要使用一個IP地址,它可是看作是Wi-Fi網(wǎng)橋,例如,在同一個網(wǎng)絡(luò)里,Wi-Fi網(wǎng)橋用來在這個應(yīng)用中擁有默認的IP地址:192.168.1.30 因此macro _PRIMARY_STATIC_IP被設(shè)置為192.168.1.75,可以參考tcp_config.lib文件,以獲得更多的信息。
2.確定我們要用到的Web界面的HTML網(wǎng)頁和圖片的路徑名,在源文件里,可以找到下面的幾行:
#ximport "h:/examples/web/pages/temp.shtml" index_html
#ximport "h:/examples/web/pages/rabbit1.gif" rabbit1_gif
并且可以使他們以適應(yīng)但你是否解壓縮帶來的改變。
現(xiàn)在你要準備下載Bl2000 的Temp_bl.c。按F9,程序?qū)⒈痪幾g,下載和運行。接下來您好斷開編程下載線的連接。

軟件的詳細信息
軟件包含3個邏輯成分,被分開的兩個函數(shù)和一個庫調(diào)用。這個庫調(diào)用執(zhí)行循環(huán),TCP和Web服務(wù)器需要處理輸入輸出包和各種必要的定時器。其他的兩個函數(shù)update_temp()和 update_outputs()做如他們的名字所顯示的相應(yīng)的工作。
函數(shù)update_temp()設(shè)定DAC0期望的輸出電壓,DAC0是用BL2000庫函數(shù)程序anaOutVolts(),在我們這種情況下是1.0 V。anaInVolts()函數(shù)庫調(diào)用用來讀取輸入電壓,它是使用電熱調(diào)節(jié)器和一個固定的、可知阻值的寄存器(圖2所示)網(wǎng)絡(luò)設(shè)備電壓的結(jié)果.
為了計算電熱調(diào)節(jié)器的阻值,我們是用下面的等式:
Rth = VADC0·REXT / (VDAC0-VADC0)
當(dāng):
VADC0 - voltage read by ADC0
VDAC0 - voltage applied by DAC0 (1.0 V)
REXT - external resistor (10k)
Rth - computed resistance of thermistor
一旦我們知道了阻值,我們可以使用電熱調(diào)節(jié)器提供的常量計算溫度
T = 1/(A + ((1/Bth)·log(Rth)))
Bth是一個電熱調(diào)節(jié)器提供的常量,A是用下面的等式計算的
A = 1/TK - 1/Bth·log(Rth)
當(dāng):
TK = 298oK (25oC)
Rth = 10k (25oC)
在使用Web接口和我們的輸出程序更形溫度變量之前,我們?nèi)?0個讀數(shù)的平均值.
輸出程序簡單地比較了當(dāng)前平均溫度和設(shè)定點并且正確地設(shè)定輸出OUT1, OUT2。如果整數(shù)代表的溫度和設(shè)定點相符,那么沒有輸出。這個執(zhí)行一個絕對的段以至于控制器不會持續(xù)地在加熱和制冷之間徘徊。
Webj接口是基于簡單得Html網(wǎng)頁的,表格說明了組織在3排2列的顯示:


[IMGURL]

當(dāng)網(wǎng)頁是作為服務(wù)器一端(包含SSI)時,當(dāng)前的溫度和設(shè)定點是可以取代的。左右箭是可連接到兩個CGI函數(shù)的點,和,他們是在應(yīng)用軟件函數(shù)調(diào)用的映射。函數(shù)通過一個HTML網(wǎng)頁簡單的增加和減少設(shè)定點的值,該網(wǎng)也包含一個META刷新標記,它說明了瀏覽器每隔2秒重新下載相同的頁面。這是一個簡單的執(zhí)行Dynamic Web網(wǎng)頁的設(shè)備,它不需要求助于使用象JavaScript 或Java控件的設(shè)備。
<META HTTP-EQUIV="refresh" contents="2;URL=" >, 不管它是在Wi-Fi 模式還是在以太網(wǎng)中,這項應(yīng)用執(zhí)行的結(jié)果是相同的。如果你計劃在一個ad-hoc Wi-Fi 網(wǎng)絡(luò)中使用這個應(yīng)用,你可以用提供的地址,正如你的 Wi-Fi設(shè)備預(yù)備在同一個網(wǎng)絡(luò)中與它進行通訊,當(dāng)然,它是擁有IP地址的。

設(shè)置 Wi-Fi
首先,你需要配置你將要使用的網(wǎng)橋。根據(jù)用戶手冊中關(guān)于使用ad-hoc的網(wǎng)絡(luò)怎樣配置網(wǎng)橋的說明,為你的網(wǎng)絡(luò)選擇通道號(11)和SSID(默認),它是什么不重要,只要它符合你計劃在網(wǎng)絡(luò)中使用的設(shè)備。不經(jīng)意地,你可能想要設(shè)定在同一個網(wǎng)絡(luò)中的網(wǎng)橋的IP地址,但不是與你的自動調(diào)溫器或者PDA、筆記本等相同的地址。這將代表性地讓你通過網(wǎng)橋使用Web 接口為了進一步的配置和狀態(tài)檢測。
其次,你需要配置你的Wi-Fi顯示設(shè)備(PDA/筆記本電腦)。你將通過配置你的Wi-Fi卡(根據(jù)用戶手冊的說明)來做到這一點,使用相同的通道(11)和分配的相同的SSID(默認)設(shè)置成ad-hoc模式。你也必須設(shè)定網(wǎng)絡(luò)接口,使用靜態(tài)IP地址和在同一網(wǎng)絡(luò)中分配IP地址,下圖顯示了每一個事物的連接.

[IMGURL]圖7 . BL2000 as a Wi-Fi enabled thermostat

在你的PDA筆記本電腦上打開一個瀏覽窗口并且嵌入你所分配的BL2000 的地址。你將可以看到如圖6顯示的HTML網(wǎng)頁。當(dāng)接頭的溫度比設(shè)定的溫度高時,風(fēng)扇將被打開,并且制冷。你使用左右箭可以調(diào)整設(shè)定值。

(轉(zhuǎn)載)

標簽:基于Rabbit控制器與Wi-Fi以太網(wǎng)橋的通訊 我要反饋