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

发布者:Asawen最新更新时间:2010-12-18 来源: 单片机与嵌入式系统关键字:MD600G  无线传感器网络  温度传感器节点 手机看文章 扫描二维码
随时随地手机看文章

  引言

  随着微机电系统(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无线模块;
②嵌入式Linux系统,包含TCP/IP协议栈以及ETCPTM协议,保证传输数据不丢失;
③提供独立RS232配置串口及标准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,"www.stuelab.cn");
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;
}

  结语

  经过实际运行和测试证明,系统稳定可靠,系统误差达到了规定的要求。本系统虽然是以无线温度传感器节点为例,但同样也适合其他各种类型的无线传感器节点,因此可以推广到无线传感器网络的其他应用领域或行业,如电力抄表、配电自动化、路灯监控、道路交通等。

关键字:MD600G  无线传感器网络  温度传感器节点 引用地址:基于MD600G的Internet无线传感器网络设计

上一篇:AI仪表在软化水装置供水系统中的应用
下一篇:基于无线传感器网络的海洋水环境监测系统的设计

推荐阅读最新更新时间:2024-03-30 21:32

基于蚁群算法的无线传感器网络路由算法
随着无线通信技术、电子技术、传感器技术和微电系统的飞速发展,无线传感器网络的研究越来越受到人们的重视。传感器网络是由部署在观测环境内的大量微型传感器节点通过无线通信方式组成的一种无线网络。 组成传感器网络的节点包括传感器和汇聚节点(Sink)。传感器节点的能量十分有限,并且在部署后难以再次补充能量,因此传感器网络存在严重的能量约束问题 。 参考文献 提出一种无线传感器网络AODV(AdhocOn-DernandDistanceVector)路由协议改进方案,通过改进RREQ协议帧,使节点的剩余能量值参与到路径中,优化RREQ洪泛传播。但该算法是基于单路径数据传输,没有考虑节点的负载状况,节点容易产生拥塞,导致数据包的重传或
[嵌入式]
煤矿瓦斯报警无线传感器网络节点设计与实现
瓦斯气体浓度是煤矿监控系统的重要指标之一,目前绝大多数矿用瓦斯气体传感器设备都采用有线方式传输信号,即采用光缆、电力线缆或信号线缆等。但这种传统的有线布设方式存在着本质的缺陷:部线繁琐、线路依赖性强、安装部设维护成本较大等。矿井一旦出现事故,特别是发生爆炸事件时,传感器设备及线缆往往会受到致命的破坏,不能为搜救工作及事态检测提供信息。 把无线传感器网络应用到煤矿监控系统中,通过各种传感器实时采集矿井的环境信息,由嵌入式系统对其进行处理,通过自组织无线网络以多跳中继方式将信息传输到井外的监控终端,能够弥补有线设备的缺陷,具有价廉、便携、可靠性高、易于校正等优点。本文设计并实现了煤矿瓦斯报警无线传感器网络的节点系统。 1 煤矿瓦斯
[单片机]
煤矿瓦斯报警<font color='red'>无线传感器网络</font><font color='red'>节点</font>设计与实现
基于无线传感器网络的交通信息采集系统研究
0 引言 城市交通问题是世界各国的普遍性问题,智能交通系统(Intelligenee Transportation System)是解决日益严重的城市交通问题的有效途径。交通信息采集系统是智能交通系统的关键子系统,是发展智能交通系统的基础和交通管理智能化的前提。 目前常见的交通信息采集方式有感应线圈、红外、视频等。其中感应线圈是侵入式检测(Intrusive Detection),需要大面积的凿开路面安装,影响公路的使用寿命,而且在维修和更改应用的时候需要再次挖开路面,对路面的破坏很大。而红外、视频等属于非侵入式检测(Non-intrusive Detection),安装不用挖开地面,但是仍需铺设大量线路,而且检测结果受大
[测试测量]
基于<font color='red'>无线传感器网络</font>的交通信息采集系统研究
基于IEEE 802.15.4的无线传感器网络的设计与实现
0 引言 基于IEEE802.15.4的无线传感器网络由于廉价、简单、低功耗、低数据传输速率(250Kbit/s)以及工作在免申请的ISM(工业、科学和医疗)频段的特点 ,将在自动控制、环境监测等领域得到广泛应用,在对无线传感器网络深入研究的基础上,我们选用了Helicomm公司新推出的IP-link1200模块搭建了一个验证系统,实现了对目标点温度指标与湿度指标的实时监测控制功能。 1 验证系统总体方案设计 无线传感器网络采用大量具有多功能多信息信号获取能力的传感器,利用自组织无线接入网络与传感器控制器连接,构成无线传感器网络,典型的网络结构如图1所示。 无线传感器节点经多跳转发,通过网关接入网络,在网络
[应用]
基于6LOWPAN的IPv6传感器网络报头压缩方案的设计与实现
0 引言     无线传感器网络是由大量按需随机分布的集成有传感器、数据处理单元和通信模块的微型节点以自组织方式构成的无线网络。传感器网络具有成本低、能耗代、灵活性高等优点,可以应用于国防军事、环境监测、交通管理、医疗卫生、反恐抗灾等领域,具有重要的研究价值和应用前景。无线传感器网络节点的资源非常有限,因此需要一个轻量级的无线通信规范。IEEE 802.15.4标准定义了一个短距离、低复杂度、低功耗、低数据速率的介质访问控制层(MAC)和物理层(PHY)规范,该标准的技术特点决定了它特别适合传感器网络、智能家庭网络、工业控制网络等节点众多、数据率较低的应用环境。IPv6作为下一代网络协议,具有地址资源丰富、地址自动配置、安全性高、移
[嵌入式]
无线传感器网络——放飞你的测量应用
自人类踏入信息时代,自然界的信息通过传感器源源而来。而随着技术的发展,人们已不满足于原有单一的、独立的传感器系统。很多时候,我们需要将来自不同区域的信息联合汇总,从而实现对现场状况的综合判断。 在农场里,我们需要了解各处作物的灌溉情况,土壤空气质量,以确保农作物健康生长;在矿区,我们需要知道瓦斯浓度,矿工位置以及地下矿场温湿度,粉尘浓度以保证工人人身安全;在大型建筑中,我们又需要了解建筑各个位置受环境湿度,风速的影响以及自身老化程度,以及时维护建筑的结构健康。通常,在这些情况下,用来采集数据的传感器被放置在相距上千米的位置,并且需要在长达几个月甚至几年的时间内进行连续数据检测工作,工作人员无法经常进行维护。这时,长距离布线,数据的汇
[嵌入式]
无线传感器网络:一种低功耗、无线型应用
近年来,无线技术的爆炸式发展催生了多种工业、科学及医疗(ISM)频带无线标准。由于有了这些新标准,各种无线应用渗透到我们日常生活的方方面面。毫无疑问,无线传感器网络(WSN)便是一种最为受益于这些标准的重要应用。 我们可以设想有一位美国中西部的农民正面临着一个这样的挑战:如何对几千头牛的体温进行日常监控,以便防止诸如口蹄疫等危及其牛群生存的动物疾病发生。利用无线技术,在每头牛的身上安装一个带有无线发射器的温度传感器,将其体温读取数据发射至一个主端子便可以轻松地克服这些挑战。这是一个WSN的简单例子,其表明无线技术的使用可以节省大量的时间和成本。本文将简单介绍ISM频带和WSN,以及支持它们的一些无线标准。 工业科学及医疗频
[工业控制]
<font color='red'>无线传感器网络</font>:一种低功耗、无线型应用
无线传感器网络体系结构研究
  0 引言   无线传感器网络由大量高密度分布的处于被观测对象内部或周围的传感器节点组成、其节点不需要预先安装或预先决定位置,这样提高了动态随机部署于不可达或危险地域的可行性、传感器网络具有广泛的应用前景,范围涵盖医疗、军事和家庭等很多领域。例如,传感器网络快速部署、自组织和容错特性使其可以在军事指挥、控制、通信、计算、智能、监测、勘测方面起到不可替代的作用、在医疗领域,传感器网络可以部署用来监测病人并辅助残障病人、其他商业应用还包括跟踪产品质量、监测危险地域等。   本文对无线传感器网络体系结构进行了较为深入的研究,从物理体系结构、软件体系结构和通信体系结构三个层面进行了分析。   1 体系结构概述   无线传感器网络
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved