一种无线传感器网络数据采集系统的设计与实现

2016-06-18 05:37
舰船电子对抗 2016年2期
关键词:数据采集传感器

王 涛

(中国电子科技集团公司第20研究所,西安 710068)



一种无线传感器网络数据采集系统的设计与实现

王涛

(中国电子科技集团公司第20研究所,西安 710068)

摘要:提出了一种无线传感器网络数据采集系统的设计方法,并以温度数据采集为例,介绍了该系统的软硬件实现方法。系统使用短距无线传输与远距离以太网传输将多个传感器数据传输到后台监测中心,并在后台监测程序开发中使用监视与控制通用系统(MCGS)组态软件实现数据的可视化。本系统通用性强,只要更换传感器就可实现对任意传感器数据的采集,可满足各种使用需要。

关键词:数据采集;传感器;监视与控制通用系统

1技术背景

随着传感器技术的广泛使用,传感器被布放于各种环境下以获取人们关心的物理量(如温度、气压、场强等)。传统嵌入式传感器数据采集系统使用微控制单元(MCU)将传感器原始数据采集后通过有线信道如通用异步收发传输器(UART)或以太网传输至后台处理程序,由后台处理程序对传感器数据进行解算、保存、分析等操作。笔者基于MSP430、S3C2440处理器与无线数传模块,提出了一种典型的无线传感器网络数据采集系统。与传统传感器数据采集系统相比,该系统具有开发周期短、实时性高、环境适应性强、可拓展性强等特点,并以温度采集为例进行了系统实现。

2系统组成概述

本系统由数据采集前端以及后台监测端组成。数据采集前端包括无线数据采集节点和数据集中器。后台监测端是安装于PC上的监测程序。多个无线数据采集节点收集的数据会被发送到数据集中器,由数据集中器处理之后通过以太网发往后台监测PC。

2.1无线数据采集节点

无线数据采集节点以MSP430超低功耗处理器为核心,配有高速无线收发模块。在接收到数据集中器的数据采集指令后,获取传感器数据,通过高速无线收发模块向数据集中器发送传感器数据。由于MSP430芯片具有超低功耗性能,使得无线数据采集节点可以使用电池供电,这样无线数据采集节点可以被安装到不便布线的特殊环境中。

2.2数据集中器

数据集中器的核心是一块基于S3C2440处理器的嵌入式数据处理板,数据集中器通过轮询方式访问多个无线数据采集节点,在获取到足够多的数据之后通过以太网将数据组帧发至后台监测软件。通常在每个数据监测点配置一个无线数据采集节点,数个无线数据采集节点则需要配置一个数据集中器用以将数据进行更远距离的传输。

2.3后台监测中心

后台监测中心开始运行后,会不断向连接到以太网上的远端数据集中器发送数据请求指令,远端数据集中器将自己所处范围内的数据采集节点的数据通过以太网传输给后台监测软件。多个数据集中器的数据通过以太网传输到后台监测中心,监测中心对数据进行实时存储、分析。

3系统硬件设计

系统的硬件设计主要包括数据采集节点和数据集中器的设计。以温度采集为例,温度采集节点采用TI公司的MSP430处理器和利尔达LSDRF2401M05无线透传模块,温度数据来源于MSP430处理器[1]内置温度传感器。温度集中器使用三星S3C2440处理器和利尔达LSDRF2401M05无线透传模块开发。示例系统的开发目的是要对距离较远的多个建筑内的机房温度进行监测,如图1所示,在每个机房安装一个无线温度采集节点,在每个建筑安装一个温度集中器用于收集本建筑内无线采集节点的数据,所有温度集中器都通过以太网与后台监测中心连接。

图1 系统结构图

3.1温度采集节点

温度采集节点使用MSP430G2231作为主芯片,由于MSP430G2231芯片没有内置的UART接口资源,需要用2个通用输入/输出(GPIO)口模拟UART接口,模拟UART与利尔达LSDRF2401M05无线透传模块连接,可以将温度数据发送至温度集中器。

MSP430G2231是一种通用型的超低功耗单片机,由于其功耗低、成本低,非常适合本系统的应用。超低功耗的特性使单片机内部温度和外部温度基本相等,因此在温度采集节点的电路设计时没有外接单独的传感器模块,而是以单片机内部温度传感器的数据加以修正,作为室内温度值。

LSDRF2401M05是一种串口无线透传模块,工作在2.4 GHz全球工业、科学、医学(ISM)频段,只需通过串行通信接口(UART)对模块进行简单的配置,就可以实现无线数据的收发功能,具有1.2~500 kBps的数据传输速率。

电路原理图如图2所示,温度采集节点实物图如图3所示。

图2 温度采集节点原理图

图3 温度采集节点实物图

3.2温度集中器

温度集中器使用基于S3C2440处理器的ARM9数据处理板,并运行Wince 6.0系统,S3C2440的串口与LSDRF2401M05无线透传模块连接,可以接收多个温度采集节点上传的温度数据,集中处理后通过网络接口传送至远程监测中心。

电路原理图如图4所示,温度集中器实物图如图5所示。

图4 温度集中器原理图

图5 温度集中器实物图

4系统软件设计

系统的软件设计主要包括:温度采集节点的程序设计、温度集中器的软件设计和远程监测中心的软件设计。

4.1温度采集节点程序设计

MSP430的程序开发使用IAR公司的Embedded Workbench for MSP430作为开发环境。开发语言使用单片机C语言。由于MSP430G2231属于低端系列产品,没有串口,需要通过Timer_A定时器产生波特率时钟,再通过IO口来模拟串口的收发。图6为Timer_A模拟串口收发流程图。

图6 Timer_A模拟串口收发流程图

4.2温度集中器软件设计

温度集中器程序是使用VS2005开发的智能设备MFC程序,主要功能是与后台监测程序建立TCP连接、接收远程后台的数据请求帧、轮询访问无线温度传感器模模块、向远程后台发送温度数据帧,具体流程如图7所示。温度集中器与远程后台之间的通信遵循Modbus TCP协议[2]。

图7 温度采集节点程序流程图

由于温度集中器与各个无线温度采集节点的通信是在同一频率上进行,温度集中器发出的数据请求帧采用广播方式发出,为了使得温度集中器可以成功轮询每一个无线温度采集节点,温度集中器以及每一个无线温度采集节点都被设置一个ID,ID的分配如表1所示。

表1 设备ID分配

温度集中器与无线温度采集节点相互通信的帧中带有源ID域和目的ID域,任何一方收到一帧数据后,只有当该帧的目的ID域值与本地ID匹配时才会进行后续的处理,否则抛弃该帧。帧的结构如图8所示。

由于无线信道本身的不可靠性,温度集中器与无线温度采集节点之间的通信使用停等自动重传请求(ARQ)的方式,当温度集中器等待无线温度采集节点回传数据帧频繁超时,或者无线温度采集节点回传的数据帧频繁校验出错则将异常信息发送至后台监测软件。

温度集中器初始化后首先会作为传输控制协议(TCP)服务器端监听指定的端口,等待后台监测软件建立TCP连接并等待接收数据请求帧,由于TCP连接提供可靠的数据传输服务,所以帧中不再含有循环冗余码校验(CRC)域,帧的结构必须符合Modbus TCP协议规范,帧结构如图9和图10所示。

图8 温度集中器与温度采集节点通信的帧格式

图9 监测软件发送的数据请求帧格式

图10 温度集中器回传的数据帧格式

在本系统中用到Modbus TCP协议中数据请求帧和数据帧,数据请求帧中的“读寄存器开始位置”与“读寄存器个数”域不再具有其本来的含义,集中器中的程序会将其解析为其他的意义。集中器收到数据请求帧之后,就会逐一轮询下游的温度采集节点,获取温度与传感器状态信息,组帧回传给监测软件。集中器的工作流程如图11所示。

图11 温度集中器软件流程图

4.3后台监测软件设计

后台监测程序运行于PC,使用北京昆仑通态公司研发的MCGS 6.2通用版组态软件开发[3],该软件具有良好的动态显示界面以及完善的数据库操作功能,是当前主流的数据采集后台监测开发软件。通过为项目添加“通用TCP/IP父设备”与“标准Modbus TCP子设备”驱动,就可以实现与支持Modbus TCP协议的下位机通信。

本系统的后台监测程序主要功能有:获取温度集中器温度与传感器状态数据、显示实时温度、温度超标自动警报、历史温度数据查询等。

(1) 显示实时温度与传感器状态

程序启动之后会自动建立与温度集中器的TCP连接,按照指定的采样周期向温度集中器发送数据请求帧,如在采样超时之前收到温度集中器回传的数据,则将数据更新至面板与数据库。

通过将MCGS中用户自建数据对象与标准Modbus TCP 子设备的数据通道相连接,MCGS就可将每次收到的数据帧更新至与之关联的数据对象,设置方法如图12所示。MCGS软件同时提供了丰富的显示控件,包括各类仪表、实时曲线、自由表格等,开发者只需将显示控件与数据对象相关联,显示控件就可以实时显示数据对象的数值变化情况。

图12 设置数据对象与Modbus TCP通道的连接

(2) 温度超标自动警报

温度超标自动警报的实现使用的是MCGS 6.2软件自带的数据对象自动警报功能,只需为相应的数据对象设置报警属性并与相应的显示构件关联就可以实现温度超限自动警报、历史警报数据存储等功能。

MCGS中的任意数值型数据对象都可以设置报警属性,设置界面如图13所示,勾选了“允许进行报警处理”并设置了相应的报警限值之后,系统就会在相应的数据对象值超出限值时自动响应,显示效果如图14所示。

图13 为数据对象设置报警属性

图14 后台监测程序房间1实时温度与警报信息

(3) 历史温度数据

通过为工程添加“温度历史数据报表”用户策略并在策略行中添加“存盘数据浏览”策略工具即可实现对于存储于Access数据库中的历史温度数据的浏览。

5结束语

本系统共使用了25个无线温度采集节点与5个温度集中器,后台监测软件可实现单个温度采集节点数据300 ms以内的数据更新。只要更换采集节点传感器,该系统就可改造为任意传感器数据采集系统,满足复杂的传感器数据采集需求。

参考文献

[1]邓鹏,隋波.基于MSP430单片机的多通道数据采集系统[J].舰船电子工程,2009(3):168-170.

[2]金青,戴胜华,欧阳劲松.基于Modbus/TCP的工业以太网通信[J].仪器仪表标准化与计量,2006(1):22-24.

[3]梁伟栋,郭浩.MCGS组态软件设计及其应用[J].广东自动化与信息工程,2005(1):33-35.

Design and Realization of A Data Collection System for Radio Sensor Network

WANG Tao

(The 20th Research Institute of CETC,Xi'an 710068,China)

Abstract:This paper puts forward a kind of design method of data collection system for radio sensor network,and introduces the soft/hardware realization methods of the system taking temperature data collection as an example.The system uses short-distance radio transmission and long-distance ethemet network transmission to transmit multiple sensor data to background monitoring center,and uses monitor and control general system to realize data visualization in background monitoring program development.The system has good generality,can realize the collection to random sensor data if only the sensor is changed,and can satisfy all kinds of usage demands.

Key words:data collection;sensor;monitor and control general system

收稿日期:2016-02-18

中图分类号:TP212

文献标识码:A

文章编号:CN32-1413(2016)02-0099-06

DOI:10.16426/j.cnki.jcdzdk.2016.02.025

猜你喜欢
数据采集传感器
制作二氧化碳传感器
康奈尔大学制造出可拉伸传感器
舰船测风传感器安装位置数值仿真
简述传感器在物联网中的应用
跟踪导练(三)2
光电传感器在自动检测和分拣中的应用
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现