首页 » 技术文章 » MD600G的Internet无线传感器网络设计

MD600G的Internet无线传感器网络设计

作者:  时间:2010-12-08 14:26  来源:EDN

  引言

  随着微机电系统(MicroElectroMechanism System, MEMS)、片上系统(System on ChipSoC)、无线通信和低功耗嵌入式技术的飞速发展,无线传感器网络(Wireless Sensor Networks, WSN)也以其低功耗、低成本、分布式和自组织等特点带来了信息感知的一场变革。无线传感器网络由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成一个多跳的自组织网络。

  无线传感器网络可连接众多类型的传感器,可探测包括地震波、电磁场、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小和速度等。基于 MEMS的微传感技术和无线互联网技术为无线传感器网络赋予了广阔的应用前景,在航空、反恐、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域有广泛的应用。本文以无线温度传感器节点和无线数据终端MD600G为例,介绍了基于MD600GInternet无线传感器网络的设计,并给出了对温度数据的可视化处理等操作的实现。

  基于Internet的无线传感器网原理

  1.1  MD600G简介

  智能无线数据终端MD600G可以用于数据中心和被监控设备间,实现数据的远程透明传输。MD600G的内部结构如图1所示,它有如下特点:

基于ARM平台、8 MB数据缓存,内置Siemens MC35i GPRS无线模块;
嵌入式Linux系统,包含TCP/IP协议栈以及ETCPTM协议,保证传输数据不丢失;
提供独立RS232配置串口及标准RS232/485数据接口;
符合电工电子产品低温GB/T2423.1、高温GB/T2423.2的要求,适于在气候条件恶劣的地区及户外使用;
可以快速连接RTUPLC、工控机等设备,实现数据透明传输,广泛应用于电力抄表、配电自动化、路灯监控、道路交通等行业。


1  MD600G硬件结构图

  1.2  无线传感器网络

  由MD600G组成的基于Internet无线传感器网络原理图如图2所示。


无线传感器网络结构原理图

  图2中的用户设备是自行开发的温度传感器节点。传感器节点采样的数据通过RS232/485接口传送到智能无线数据终端 MD600GMD600G对接收到的数据通过GPRSInternet连接并进行无线数据透明传送,服务器mSever端通过Internet网将接收到的数据生成实时数据库,同时将这些实时数据以WEB页的形式动态显示和跟踪。

  1.3  温度传感器节点

  温度传感器节点模块主要由温度传感器DS18B20组成,并将其输出的温度数据送往单片机,然后单片机将这些数据进行相关处理,最后再送往后续的通信设备,并将温度数据进行数码管或液晶屏显示。这里采用了实时时钟电路DS1302来实现该系统的实时性。

  软件设计

  基于MD600GInternet的无线传感器网的软件包括温度传感器节点的软件设计、MD600G与温度传感器节点的串口软件设计、服务器mSever端与Internet网的数据通信软件及mSever端温度数据可视化程序的设计等。

  2.1  mSever端温度数据可视化程序设计

  利用Visual C++强大的编译器以及网络与数据库的处理能力,开发出基于Windows平台的32位数据可视化应用程序。图3mSever端温度数据可视化程序设计的原理图。


可视化界面的设计原理图

  以下为可视化界面模块源码:

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端温度数据可视化显示界面

相关推荐

Linear收购Dust Networks强化无线传感器解决方案

Linear  无线传感器  2011-12-30

凌力尔特收购Dust Networks拓展无线传感器能力

凌力尔特  无线传感器  2011-12-27

基于射频识别的无线传感网节点设计研究

电子标签  无线传感器  2011-09-15

无线传感器网络3G网关的设计与研制

网关  无线传感器  3G  2011-08-25

基于无线传感器网的智能交通信号控制设计

交通信号  无线传感器  2011-08-24

基于射频识别的无线传感网节点设计研究

在线研讨会
焦点