《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于Internet網絡架構的無線傳感器網絡系統
基于Internet網絡架構的無線傳感器網絡系統
摘要: 摘要:由MD600G和無線傳感器節點組成了基于Internet網絡架構的無線傳感器網絡系統,實現了遠程分布節點的過程行為實時數據跟蹤和實時數據庫生成。本系統不僅具有低功耗、低成本、分布式和自組織的特點,而且還實
Abstract:
Key words :

     摘要: 由MD600G和無線傳感器節點組成了基于Internet網絡架構的無線傳感器網絡系統,實現了遠程分布節點的過程行為實時數據跟蹤和實時數據庫生成。本系統不僅具有低功耗、低成本、分布式和自組織的特點,而且還實現了通信信息的無線透明傳輸和基于Internet可視化動態數據顯示等功能。

  引言

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

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

  1  基于Internet的無線傳感器網原理

  1.1  MD600G簡介

  智能無線數據終端MD600G可以用于數據中心和被監控設備間,實現數據的遠程透明傳輸。MD600G的內部結構如圖1所示,它有如下特點:

  ①基于ARM平臺、8 MB數據緩存,內置Siemens MC35i GPRS無線模塊;

 ?、谇度胧絃inux系統,包含TCP/IP協議棧以及ETCPTM協議,保證傳輸數據不丟失;

 ?、厶峁┆毩S232配置串口及標準RS232/485數據接口;

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

  ⑤可以快速連接RTU、PLC、工控機等設備,實現數據透明傳輸,廣泛應用于電力抄表、配電自動化、路燈監控、道路交通等行業。

MD600G硬件結構圖

圖1  MD600G硬件結構圖

  1.2  無線傳感器網絡

  由MD600G組成的基于Internet無線傳感器網絡原理圖如圖2所示。

 

無線傳感器網絡結構原理圖

圖2  無線傳感器網絡結構原理圖

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

  1.3  溫度傳感器節點

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

  2  軟件設計

  基于MD600G和Internet的無線傳感器網的軟件包括溫度傳感器節點的軟件設計、MD600G與溫度傳感器節點的串口軟件設計、服務器mSever端與Internet網的數據通信軟件及mSever端溫度數據可視化程序的設計等。

  2.1  mSever端溫度數據可視化程序設計

  利用Visual C++強大的編譯器以及網絡與數據庫的處理能力,開發出基于Windows平臺的32位數據可視化應用程序。圖3是mSever端溫度數據可視化程序設計的原理圖。

可視化界面的設計原理圖
 


圖3  可視化界面的設計原理圖

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

  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) { //接收數據端的程序

  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++開發的mSever端溫度數據可視化顯示的界面,圖中顯示的是1個節點的溫度變化實時曲線。

服務器mSever端溫度數據可視化顯示界面


圖4  服務器mSever端溫度數據可視化顯示界面

  2.2  mSever端Web訪問程序設計

  為了實現多個客戶端可以同時訪問數據中心服務器,規定客戶端在打開服務器的Web頁面時,首先提交客戶端的IP地址,然后服務器端把客戶端的IP地址收錄入庫,再將接收到的溫度數據轉發給指定的客戶端。因此,當有多個客戶端同時訪問數據中心服務器時,服務器端只需要將各個客戶端的IP地址收錄入庫,最后再循環不斷地往各個客戶端轉發溫度數據即可。

  當客戶端斷開與服務器端的連接時,將向服務器提交斷開請求,從服務器端的IP地址庫中釋放掉該客戶端的IP地址,從而實現了服務器端IP地址庫的動態更新。

  2.3  節點溫度采集軟件設計

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

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

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

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

  #include "stdio.h"//C標準函數庫,系統集成

  #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];//字符緩沖區

  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為低電平觸發方式

  TR1=1;//定時器T1開始計數

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

  Initial_DS1302();//初始化時鐘時間設定,執行一次后刪除該部分

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

  delay_ms(1000);

  while(1) {

  for(n=0;n<10;n++) { //10*0.5 s=5 s數據發送周期

  V=ReadTemperature()/100.0; //溫度部分

  sprintf(str_buff,"%2.2f",V); //格式轉換

  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發送數據

  for(n=0;n<6;n++) {

  SBUF=a[n];

  while(!TI);

  TI=0;

  }

  delay_ms(1100);

  }

  void receving() interrupt 4 {//串口中斷程序接收數據

  temp=SBUF;

  RI=0;

  }

  結語

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


 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲人成在线观看| 国产91免费在线观看| 免费欧洲美女牲交视频| 亚洲综合色区中文字幕| 好妈妈5高清中字在线观看| 久久青青草原亚洲av无码| 特级xxxxx欧美| 国产中文字幕电影| 182在线播放| 日本边添边摸边做边爱的网站| 免费A级毛片无码视频| 韩国三级理论在线电影网| 国产色综合天天综合网| 一本大道香蕉视频在线观看| 日韩在线视频线视频免费网站| 亚洲欧美中文日韩v在线观看 | 1000部羞羞禁止免费观看视频 | 好男人好资源在线影视官网| 久久婷婷香蕉热狠狠综合| 欧美成年黄网站色视频| 偷拍区小说区图片区另类呻吟| 边摸边吃奶边做爽免费视频网站| 国产精品人人做人人爽人人添| bbbbbbbbb欧美bbb| 成人欧美视频在线观看| 亚洲国产美女在线观看| 狠狠色狠狠色综合日日五| 周妍希美乳三点尽露四季图片| 黄网在线免费看| 国产精品亲子乱子伦xxxx裸 | 欧美性生交xxxxx久久久| 免费A级毛片无码免费视频| 美女扒开屁股让男人桶 | 中文字幕亚洲第一| 日韩午夜福利无码专区a| 亚洲乱亚洲乱少妇无码| 欧美精品国产综合久久| 人人妻人人添人人爽日韩欧美 | 久久精品国产精品亚洲蜜月| 欧美成人免费全部色播| 亚洲自国产拍揄拍|