RM新时代官网
您好,歡迎來(lái)到安徽省安全技術(shù)防范行業(yè)協(xié)會(huì)!
0551- 62818875 64280445
安徽省安全技術(shù)防范行業(yè)協(xié)會(huì)
中國(guó)社會(huì)組織評(píng)估等級(jí)
AAAAA
級(jí)協(xié)會(huì)
網(wǎng)站首頁(yè)
協(xié)會(huì)黨建
黨支部介紹
黨支部活動(dòng)
學(xué)習(xí)強(qiáng)國(guó)
協(xié)會(huì)概況
協(xié)會(huì)簡(jiǎn)介
協(xié)會(huì)領(lǐng)導(dǎo)
組織架構(gòu)
協(xié)會(huì)章程
管理辦法
相關(guān)證書
工作簡(jiǎn)報(bào)
協(xié)會(huì)歷程
會(huì)員管理
理事長(zhǎng)單位
副理事長(zhǎng)單位
常務(wù)理事單位
理事單位
團(tuán)體會(huì)員
會(huì)員風(fēng)采
協(xié)會(huì)動(dòng)態(tài)
協(xié)會(huì)通知
協(xié)會(huì)新聞
政策法規(guī)
行業(yè)資訊
政策法規(guī)
標(biāo)準(zhǔn)規(guī)范
下載中心
下載中心
行業(yè)招聘
行業(yè)招聘
聯(lián)系我們
聯(lián)系我們
網(wǎng)站首頁(yè)
>政策法規(guī)
>行業(yè)資訊
行業(yè)動(dòng)態(tài)
行業(yè)資訊
>
政策法規(guī)
>
標(biāo)準(zhǔn)規(guī)范
>
行業(yè)資訊
基于Internet網(wǎng)絡(luò)架構(gòu)的無(wú)線傳感器網(wǎng)絡(luò)系統(tǒng)
來(lái)源:互聯(lián)網(wǎng) 發(fā)布時(shí)間:2011/05/10
引言
隨著微機(jī)電系統(tǒng)(Micro?Electro?Mechanism System, MEMS)、片上系統(tǒng)(System on Chip,SoC)、無(wú)線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)也以其低功耗、低成本、分布式和自組織等特點(diǎn)帶來(lái)了信息感知的一場(chǎng)變革。無(wú)線傳感器網(wǎng)絡(luò)由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信方式形成一個(gè)多跳的自組織網(wǎng)絡(luò)。
無(wú)線傳感器網(wǎng)絡(luò)可連接眾多類型的傳感器,可探測(cè)包括地震波、電磁場(chǎng)、溫度、濕度、噪聲、光強(qiáng)度、壓力、土壤成分、移動(dòng)物體的大小和速度等?;贛EMS的微傳感技術(shù)和無(wú)線互聯(lián)網(wǎng)技術(shù)為無(wú)線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用前景,在航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域有廣泛的應(yīng)用。本文以無(wú)線溫度傳感器節(jié)點(diǎn)和無(wú)線數(shù)據(jù)終端MD600G為例,介紹了基于MD600G的Internet無(wú)線傳感器網(wǎng)絡(luò)的設(shè)計(jì),并給出了對(duì)溫度數(shù)據(jù)的可視化處理等操作的實(shí)現(xiàn)。
1 基于Internet的無(wú)線傳感器網(wǎng)原理
1.1 MD600G簡(jiǎn)介
智能無(wú)線數(shù)據(jù)終端MD600G可以用于數(shù)據(jù)中心和被監(jiān)控設(shè)備間,實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程透明傳輸。它有如下特點(diǎn):
?、倩贏RM平臺(tái)、8 MB數(shù)據(jù)緩存,內(nèi)置Siemens MC35i GPRS無(wú)線模塊;
?、谇度胧絃inux系統(tǒng),包含TCP/IP協(xié)議棧以及ETCPTM協(xié)議,保證傳輸數(shù)據(jù)不丟失;
?、厶峁┆?dú)立RS232配置串口及標(biāo)準(zhǔn)RS232/485數(shù)據(jù)接口;
?、芊想姽る娮赢a(chǎn)品低溫GB/T2423.1、高溫GB/T2423.2的要求,適于在氣候條件惡劣的地區(qū)及戶外使用;
⑤可以快速連接RTU、PLC、工控機(jī)等設(shè)備,實(shí)現(xiàn)數(shù)據(jù)透明傳輸,廣泛應(yīng)用于電力抄表、配電自動(dòng)化、路燈監(jiān)控、道路交通等行業(yè)?!?
1.2 無(wú)線傳感器網(wǎng)絡(luò)
用戶設(shè)備是自行開發(fā)的溫度傳感器節(jié)點(diǎn)。傳感器節(jié)點(diǎn)采樣的數(shù)據(jù)通過(guò)RS232/485接口傳送到智能無(wú)線數(shù)據(jù)終端MD600G,MD600G對(duì)接收到的數(shù)據(jù)通過(guò)GPRS與Internet連接并進(jìn)行無(wú)線數(shù)據(jù)透明傳送,服務(wù)器mSever端通過(guò)Internet網(wǎng)將接收到的數(shù)據(jù)生成實(shí)時(shí)數(shù)據(jù)庫(kù),同時(shí)將這些實(shí)時(shí)數(shù)據(jù)以WEB頁(yè)的形式動(dòng)態(tài)顯示和跟蹤。
1.3 溫度傳感器節(jié)點(diǎn)
溫度傳感器節(jié)點(diǎn)模塊主要由溫度傳感器DS18B20組成,并將其輸出的溫度數(shù)據(jù)送往單片機(jī),然后單片機(jī)將這些數(shù)據(jù)進(jìn)行相關(guān)處理,最后再送往后續(xù)的通信設(shè)備,并將溫度數(shù)據(jù)進(jìn)行數(shù)碼管或液晶屏顯示。這里采用了實(shí)時(shí)時(shí)鐘電路DS1302來(lái)實(shí)現(xiàn)該系統(tǒng)的實(shí)時(shí)性。
2 軟件設(shè)計(jì)
基于MD600G和Internet的無(wú)線傳感器網(wǎng)的軟件包括溫度傳感器節(jié)點(diǎn)的軟件設(shè)計(jì)、MD600G與溫度傳感器節(jié)點(diǎn)的串口軟件設(shè)計(jì)、服務(wù)器mSever端與Internet網(wǎng)的數(shù)據(jù)通信軟件及mSever端溫度數(shù)據(jù)可視化程序的設(shè)計(jì)等。
2.1 mSever端溫度數(shù)據(jù)可視化程序設(shè)計(jì)
利用Visual C++強(qiáng)大的編譯器以及網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)的處理能力,開發(fā)出基于Windows平臺(tái)的32位數(shù)據(jù)可視化應(yīng)用程序。
以下為可視化界面模塊源碼:
void CDemoView::OnInitialUpdate() {
CView::OnInitialUpdate();
CRect Rect;
GetClientRect(Rect);
m_Plot.Create(WS_CHILD|WS_VISIBLE,Rect,this,12000);
m_Plot.SetSerie(0, PS_SOLID, RGB(255,0,0), 0.0, 40.0, "Temperature");//窗口
m_Plot.SetLegend(0, PS_SOLID, RGB(255,0,0), "Temperature");//背景方框
m_Plot.m_bAutoScrollX=TRUE;
SetTimer(1,1000,NULL);//背景刷新時(shí)間
canSize=TRUE;
}
void CDemoView::OnTimer(UINT nIDEvent) {
static BOOL pros={FALSE};
if(!pros) {
pros=TRUE;
CDemoDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
y=pDoc->p.buffer;
m_Plot.AddPoint(0,CTime::GetCurrentTime(),y);
Invalidate();
pros=FALSE;
}
CView::OnTimer(nIDEvent);
}
void CDemoView::OnSize(UINT nType, int cx, int cy) {
CView::OnSize(nType, cx, cy);
if(canSize) {
CRect Rect;
GetClientRect(Rect);
m_Plot.MoveWindow(Rect);
}
}
void CDASocket::OnReceive(int nERRORCode) { //接收數(shù)據(jù)端的程序
char buff[64];
int ret=0;
ret=Receive(buff,64);//AfxMessageBox("OK");
if(ret==ERROR)
{TRACE("ERROR!");}
else
m_pDoc->Presscessding(buff);
CAsyncSocket::OnReceive(nErrorCode);
}
2.2 mSever端Web訪問(wèn)程序設(shè)計(jì)
為了實(shí)現(xiàn)多個(gè)客戶端可以同時(shí)訪問(wèn)數(shù)據(jù)中心服務(wù)器,規(guī)定客戶端在打開服務(wù)器的Web頁(yè)面時(shí),首先提交客戶端的
IP地址,然后服務(wù)器端把客戶端的IP地址收錄入庫(kù),再將接收到的溫度數(shù)據(jù)轉(zhuǎn)發(fā)給指定的客戶端。因此,當(dāng)有多個(gè)客戶端同時(shí)訪問(wèn)數(shù)據(jù)中心服務(wù)器時(shí),服務(wù)器端只需要將各個(gè)客戶端的IP地址收錄入庫(kù),最后再循環(huán)不斷地往各個(gè)客戶端轉(zhuǎn)發(fā)溫度數(shù)據(jù)即可。
當(dāng)客戶端斷開與服務(wù)器端的連接時(shí),將向服務(wù)器提交斷開請(qǐng)求,從服務(wù)器端的IP地址庫(kù)中釋放掉該客戶端的IP地址,從而實(shí)現(xiàn)了服務(wù)器端IP地址庫(kù)的動(dòng)態(tài)更新。
2.3 節(jié)點(diǎn)溫度采集軟件設(shè)計(jì)
以下為溫度傳感器節(jié)點(diǎn)的溫度采集部分代碼:
#include "Mini51B.h"http://Mini51板頭文件
#include "LCD1602.h"http://液晶模塊頭文件
#include "ds18b20.h"http://溫度傳感器頭文件
#include "stdio.h"http://C標(biāo)準(zhǔn)函數(shù)庫(kù),系統(tǒng)集成
#include "DS1302.h"
#define uchar unsigned char
uchar n,temp;
uchar a[6]="000000"; //串口字符串
SYSTEMTIME RTC;
void main(void) {
float V; //記錄溫度浮點(diǎn)型
uchar str_buff[20];//字符緩沖區(qū)
SCON=0x50;//串口工作在方式1,波特率9600,//晶振為22.1184 MHz
PCON=0;
TMOD=0x20;//定時(shí)器1工作在方式2
TH1=0xfa;
TL1=0xfa;
IE=0x91;//1001 0001,EA=1,ES=1,EX0=1
IT0=1;//外部中斷0為低電平觸發(fā)方式
TR1=1;//定時(shí)器T1開始計(jì)數(shù)
ds18b20_init();//初始化溫度傳感器時(shí)鐘測(cè)試
Initial_DS1302;//初始化時(shí)鐘時(shí)間設(shè)定,執(zhí)行一次后刪除該部分
Write1302(DS1302_MINUTE, 0x11);
Write1302(DS1302_HOUR,0x08);
Write1302(DS1302_DAY,0x15);
Write1302(DS1302_MONTH,0x04);
Write1302(DS1302_YEAR,0x08);
lcd1602_init();
lcd_put_xyns(2,1,14,"<http://www.stuelab.cn/>");
delay_ms(1000);
while(1) {
for(n=0;n<10;n++) { //10*0.5 s=5 s數(shù)據(jù)發(fā)送周期
V=ReadTemperature()/100.0; //溫度部分
sprintf(str_buff,"%2.2f",V); //格式轉(zhuǎn)換
lcd_put_xyns(1,1,11,"Temperatur=");
lcd_put_xyns(12,1,5,str_buff);
seg7_disp(V*100);
sprintf(a,"%2.2f",V);//送串口字符串
DS1302_GetTime(&RTC);//時(shí)間部分
DateToStr(&RTC);
TimeToStr(&RTC);
lcd_put_xyns(1,2,8,RTC.DateString);
lcd_put_xyns(9,2,8,RTC.TimeString);
delay_ms(500);
}
for(n=0;n<6;n++) {
SBUF=a[n];
while(!TI);
TI=0;
}
}
}
void external
0 interrupt 0{//外部中斷0發(fā)送數(shù)據(jù)
for(n=0;n<6;n++) {
SBUF=a[n];
while(!TI);
TI=0;
}
delay_ms(1100);
}
void receving() interrupt 4 {//串口中斷程序接收數(shù)據(jù)
temp=SBUF;
RI=0;
}
結(jié)語(yǔ)
經(jīng)過(guò)實(shí)際運(yùn)行和測(cè)試證明,系統(tǒng)穩(wěn)定可靠,系統(tǒng)誤差達(dá)到了規(guī)定的要求。本系統(tǒng)雖然是以無(wú)線溫度傳感器節(jié)點(diǎn)為例,但同樣也適合其他各種類型的無(wú)線傳感器節(jié)點(diǎn),因此可以推廣到無(wú)線傳感器網(wǎng)絡(luò)的其他應(yīng)用領(lǐng)域或行業(yè),如電力抄表、配電自動(dòng)化、路燈監(jiān)控、道路交通等。
上一篇:重復(fù)數(shù)據(jù)刪除——綠色存儲(chǔ)技術(shù)中的一項(xiàng)關(guān)鍵技術(shù)
下一篇:交通管理智能化車牌識(shí)別應(yīng)用與技術(shù)分析
掃一掃二維碼關(guān)注ASPIA
©版權(quán)所有 安徽省安全技術(shù)防范行業(yè)協(xié)會(huì) All rights reserved by aspia.cn
皖I(lǐng)CP備11013162號(hào)-2
皖公網(wǎng)安備 34010302000877號(hào)
RM新时代官网