產(chǎn)品分類

      當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 壓力傳感器 > 應(yīng)變式壓力傳感器

      類型分類:
      科普知識
      數(shù)據(jù)分類:
      應(yīng)變式壓力傳感器

      MD600G的Internet無線傳感器網(wǎng)絡(luò)設(shè)計

      發(fā)布日期:2022-08-21 點擊率:52

        摘要: 由MD600G和無線傳感器節(jié)點組成了基于Internet網(wǎng)絡(luò)架構(gòu)的無線傳感器網(wǎng)絡(luò)系統(tǒng),實現(xiàn)了遠程分布節(jié)點的過程行為實時數(shù)據(jù)跟蹤和實時數(shù)據(jù)庫生成。本系統(tǒng)不僅具有低功耗、低成本、分布式和自組織的特點,而且還實現(xiàn)了通信信息的無線透明傳輸和基于Internet可視化動態(tài)數(shù)據(jù)顯示等功能。

        引言

        隨著微機電系統(tǒng)(MicroElectroMechanism System, MEMS)、片上系統(tǒng)(System on Chip,SoC)、無線通信和低功耗嵌入式技術(shù)的飛速發(fā)展,無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks, WSN)也以其低功耗、低成本、分布式和自組織等特點帶來了信息感知的一場變革。無線傳感器網(wǎng)絡(luò)由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,通過無線通信方式形成一個多跳的自組織網(wǎng)絡(luò)。

        無線傳感器網(wǎng)絡(luò)可連接眾多類型的傳感器,可探測包括地震波、電磁場、溫度、濕度、噪聲、光強度、壓力、土壤成分、移動物體的大小和速度等。基于MEMS的微傳感技術(shù)和無線互聯(lián)網(wǎng)技術(shù)為無線傳感器網(wǎng)絡(luò)賦予了廣闊的應(yīng)用前景,在航空、反恐、防爆、救災(zāi)、環(huán)境、醫(yī)療、保健、家居、工業(yè)、商業(yè)等領(lǐng)域有廣泛的應(yīng)用。本文以無線溫度傳感器節(jié)點和無線數(shù)據(jù)終端MD600G為例,介紹了基于MD600G的Internet無線傳感器網(wǎng)絡(luò)的設(shè)計,并給出了對溫度數(shù)據(jù)的可視化處理等操作的實現(xiàn)。

        1  基于Internet的無線傳感器網(wǎng)原理

        1.1  MD600G簡介

        智能無線數(shù)據(jù)終端MD600G可以用于數(shù)據(jù)中心和被監(jiān)控設(shè)備間,實現(xiàn)數(shù)據(jù)的遠程透明傳輸。MD600G的內(nèi)部結(jié)構(gòu)如圖1所示,它有如下特點:

        ①基于ARM平臺、8 MB數(shù)據(jù)緩存,內(nèi)置Siemens MC35i GPRS無線模塊;

        ②嵌入式Linux系統(tǒng),包含TCP/IP協(xié)議棧以及ETCPTM協(xié)議,保證傳輸數(shù)據(jù)不丟失;

        ③提供獨立RS232配置串口及標(biāo)準(zhǔn)RS232/485數(shù)據(jù)接口;

        ④符合電工電子產(chǎn)品低溫GB/T2423.1、高溫GB/T2423.2的要求,適于在氣候條件惡劣的地區(qū)及戶外使用;

        ⑤可以快速連接RTU、PLC、工控機等設(shè)備,實現(xiàn)數(shù)據(jù)透明傳輸,廣泛應(yīng)用于電力抄表、配電自動化、路燈監(jiān)控、道路交通等行業(yè)。


      圖1  MD600G硬件結(jié)構(gòu)圖

        1.2  無線傳感器網(wǎng)絡(luò)

        由MD600G組成的基于Internet無線傳感器網(wǎng)絡(luò)原理圖如圖2所示。


      圖2  無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)原理圖

        圖2中的用戶設(shè)備是自行開發(fā)的溫度傳感器節(jié)點。傳感器節(jié)點采樣的數(shù)據(jù)通過RS232/485接口傳送到智能無線數(shù)據(jù)終端MD600G,MD600G對接收到的數(shù)據(jù)通過GPRS與Internet連接并進行無線數(shù)據(jù)透明傳送,服務(wù)器mSever端通過Internet網(wǎng)將接收到的數(shù)據(jù)生成實時數(shù)據(jù)庫,同時將這些實時數(shù)據(jù)以WEB頁的形式動態(tài)顯示和跟蹤。

        1.3  溫度傳感器節(jié)點

        溫度傳感器節(jié)點模塊主要由溫度傳感器DS18B20組成,并將其輸出的溫度數(shù)據(jù)送往單片機,然后單片機將這些數(shù)據(jù)進行相關(guān)處理,最后再送往后續(xù)的通信設(shè)備,并將溫度數(shù)據(jù)進行數(shù)碼管或液晶屏顯示。這里采用了實時時鐘電路DS1302來實現(xiàn)該系統(tǒng)的實時性。

        2  軟件設(shè)計

        基于MD600G和Internet的無線傳感器網(wǎng)的軟件包括溫度傳感器節(jié)點的軟件設(shè)計、MD600G與溫度傳感器節(jié)點的串口軟件設(shè)計、服務(wù)器mSever端與Internet網(wǎng)的數(shù)據(jù)通信軟件及mSever端溫度數(shù)據(jù)可視化程序的設(shè)計等。

        2.1  mSever端溫度數(shù)據(jù)可視化程序設(shè)計

        利用Visual C++強大的編譯器以及網(wǎng)絡(luò)與數(shù)據(jù)庫的處理能力,開發(fā)出基于Windows平臺的32位數(shù)據(jù)可視化應(yīng)用程序。圖3是mSever端溫度數(shù)據(jù)可視化程序設(shè)計的原理圖。


      圖3  可視化界面的設(shè)計原理圖

        以下為可視化界面模塊源碼:

        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);//背景刷新時間

        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);

        }

        圖4是用Visual C++開發(fā)的mSever端溫度數(shù)據(jù)可視化顯示的界面,圖中顯示的是1個節(jié)點的溫度變化實時曲線。

       


      圖4  服務(wù)器mSever端溫度數(shù)據(jù)可視化顯示界面

        2.2  mSever端Web訪問程序設(shè)計

        為了實現(xiàn)多個客戶端可以同時訪問數(shù)據(jù)中心服務(wù)器,規(guī)定客戶端在打開服務(wù)器的Web頁面時,首先提交客戶端的IP地址,然后服務(wù)器端把客戶端的IP地址收錄入庫,再將接收到的溫度數(shù)據(jù)轉(zhuǎn)發(fā)給指定的客戶端。因此,當(dāng)有多個客戶端同時訪問數(shù)據(jù)中心服務(wù)器時,服務(wù)器端只需要將各個客戶端的IP地址收錄入庫,最后再循環(huán)不斷地往各個客戶端轉(zhuǎn)發(fā)溫度數(shù)據(jù)即可。

        當(dāng)客戶端斷開與服務(wù)器端的連接時,將向服務(wù)器提交斷開請求,從服務(wù)器端的IP地址庫中釋放掉該客戶端的IP地址,從而實現(xiàn)了服務(wù)器端IP地址庫的動態(tài)更新。

        2.3  節(jié)點溫度采集軟件設(shè)計

        以下為溫度傳感器節(jié)點的溫度采集部分代碼:

        #include "Mini51B.h"http://Mini51板頭文件

        #include "LCD1602.h"http://液晶模塊頭文件

        #include "ds18b20.h"http://溫度傳感器頭文件

        #include "stdio.h"http://C標(biāo)準(zhǔn)函數(shù)庫,系統(tǒng)集成

        #include "DS1302.h"

        #define uchar unsigned char

        uchar n,temp;

        uchar a[6]="000000"; //串口字符串

        SYSTEMTIME RTC;

        void main(void) {

        float V; //記錄溫度浮點型

        uchar str_buff[20];//字符緩沖區(qū)

        SCON=0x50;//串口工作在方式1,波特率9600,//晶振為22.1184 MHz

        PCON=0;

        TMOD=0x20;//定時器1工作在方式2

        TH1=0xfa;

        TL1=0xfa;

        IE=0x91;//1001 0001,EA=1,ES=1,EX0=1

        IT0=1;//外部中斷0為低電平觸發(fā)方式

        TR1=1;//定時器T1開始計數(shù)

        ds18b20_init();//初始化溫度傳感器時鐘測試

        Initial_DS1302();//初始化時鐘時間設(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);//時間部分

        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 external0() 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é)語

        經(jīng)過實際運行和測試證明,系統(tǒng)穩(wěn)定可靠,系統(tǒng)誤差達到了規(guī)定的要求。本系統(tǒng)雖然是以無線溫度傳感器節(jié)點為例,但同樣也適合其他各種類型的無線傳感器節(jié)點,因此可以推廣到無線傳感器網(wǎng)絡(luò)的其他應(yīng)用領(lǐng)域或行業(yè),如電力抄表、配電自動化、路燈監(jiān)控、道路交通等。

        

      下一篇: PLC、DCS、FCS三大控

      上一篇: 基于PSoC的無線靜載儀

      主站蜘蛛池模板: 日韩精品一区二区三区不卡| AV无码精品一区二区三区宅噜噜 | 精品一区中文字幕| 亚洲国产一区二区视频网站| 91视频国产一区| 偷拍精品视频一区二区三区| 亚洲国产av一区二区三区丶| 精品亚洲一区二区三区在线观看| 免费无码A片一区二三区| 国产一区二区精品久久| 国产一区中文字幕| 亚洲欧美国产国产综合一区| 亚洲乱码日产一区三区| 国产91精品一区二区麻豆亚洲| 亚洲第一区二区快射影院| 国产精品va无码一区二区| 视频一区在线播放| 国产精品无码一区二区在线观 | 波多野结衣一区在线观看| 国产高清一区二区三区| 秋霞午夜一区二区| 无码日韩人妻AV一区二区三区| 成人免费一区二区三区在线观看| 99久久人妻精品免费一区| 国产精品丝袜一区二区三区| 国产福利电影一区二区三区,亚洲国模精品一区 | 中文字幕在线不卡一区二区| 美女视频在线一区二区三区| 国产成人精品无人区一区| 国产一区二区三区日韩精品| 久久久国产精品无码一区二区三区| 亚洲一区影音先锋色资源| 一本AV高清一区二区三区| 韩国福利一区二区三区高清视频| 无码精品人妻一区| 一区二区不卡视频在线观看| 视频一区二区精品的福利| 一区二区在线免费视频| av无码精品一区二区三区四区| 亚洲视频在线一区二区| 一区二区三区免费看|