基于无线传感网的移动监测系统

时间:2022-10-13 02:50:49

基于无线传感网的移动监测系统

摘 要:利用STM32W108平台进行无线传感网的数据采集、控制及传输,通过移动终端的软件设计,可以实现工业数据的全时段移动监测,满足对工业现场的远程实时监测需求,大大提高了工业生产管理的效率,减少了巡检工人的劳动强度。

关键词:无线传感网;移动终端;移动应用

引言

无线传感网络是由大量小体积、低成本,具有无线通信能力、也能采集和处理相关数据的传感器节点组成。无线传感网络涵盖了多门学科的理论与技术,因此在各个领域收到了广泛的关注。无线传感网络的产生和高速发展得益于现代网络技术、无线通信技术、传感器技术和嵌入式系统技术的快速发展。由于无线传感网络具备快速获取信息、精确度高、延时短等特点,因此在军事、农业、工业、智能家居、医疗和环境监控等多个领域得到了广泛应用。[1][2]

在工业现场数据监测采集这方面,目前我国大多是采用有线方式,现场需要大量布线,安装费时费力,维护难度高,成本高,布局固定,这些因素降低了系统的灵活性、扩展性和性价比。

本系统基于Zigbee无线网络技术,利用无线网络节点组成了工业数据采集系统,灵活度高,可随意更改节点位置,而无需担心布线和维护的问题,且设计并开发了可应用于移动终端的软件,实现在工业现场以外也能通过手机等便携设备实时监测工业现场的数据。

1 系统工作原理

本系统由无线传感网络节点、无线传感网关、数据库、移动终端等几部分组成。无线传感网络节点是整个系统的基础,节点彼此间通过Zigbee网络进行数据的传输,可安置在工业现场,进行各种工业数据的采集。采集后的数据及时上传到无线网关,经过无线网关的处理,将数据通过Internet网络传输到移动终端,在移动终端可进行数据查询,以达到实时监测工业现场的目的。

本系统的无线传感网络主要是通过Zigbee技术来实现的。Zigbee技术具有传输距离较近、能耗低、成本低、延时短等特点,是一种双向的无线通讯技术,主要服务于规模小、成本低的无线网络,进行网络连接与相关控制。在工业领域中,使用以Zigbee技术为基础的传感器网络,能够大大方便相关数据的采集与整合。[3]

2 系统架构

2.1 无线传感网节点

本系统中的无线传感网络节点,即在工业现场进行工业数据采集的端设备。端设备节点由处理器模块、采集模块、电源模块及其他模块组成。节点以STM32W108芯片作为处理器模块,该处理器也是整个节点的核心,用于完成数据发送,数据处理、数据存储、执行通信协议和节点调度管理等工作;采集模块包括各种传感器和执行器, 用于采集工业数据和执行各种内部功能;电源模块直接为该系统所有硬件部分供电;其他模块包括按键模块、LED模块、低电量检测电路等,这些模块同样为系统进行服务、执行相关指令。

STM32W108与其他2.4GHzSoC芯片对比来看,其优势非常明显。首先,在保持低功耗的基础上,STM32W108采用了32 位的 ARM Cortex-M3内核,提高了强大的处理能力,处理速度远超其他 8、16 位处理器;其次,芯片内部自带功率放大器(PA),发射输出功率可达+7dBm,与其他外置PA的系统相比,在保持了发射功率的同时更加简单、便捷;除此之外,STM32W108 芯片不同版本分别固化了 802.15.4MAC、ZigBee、RF4CE 等协议栈, 用户无需理解开发网络协议,就可以进行符合相关标准的无线网络产品开发,从而降低开发难度,简化开发流程,缩短开发周期。

2.2 无线传感网关

2.2.1 网关功能分析

智能家居、智能交通等智能化网络在实现过程中往往涉及到两种或多种不同结构的网络,如无线传感器网络和Internet网络。无线网关是连接无线传感网络与Internet网络之间的桥梁。基于ZigBee 的无线网关整体结构包含ZigBee协调器节点部分和以太网控制部分,协调器节点负责收集无线传感网络节点所采集到的数据,并处理收集的数据,将数据经内部处理打包传输给以太网控制单元,以太网控制单元模块将数据转换成以太网协议数据,使得数据能够通过 Internet网络和移动终端之间互相传输,实现与移动终端之间的数据交互。[4][5]

对于无线网关应该具有如下功能:(1)无线网关能够管理无线传感网络节点,实现数据的收集、发送。(2)无线网关能储存数据,实现数据的实时调用。(3)网关不仅要完成两个协议之间数据的互联互通,而且能够保证高效、稳定、可靠的传输数据。(4)网关能够实现接入以太网络时网络参数的灵活匹配。

2.2.2 网关总体方案设计

基于无线传感网络和以太网转换的网关系统包括无线传感网络数据收集和以太网驱动实现两部分。无线网关通过无线传感网络协调器节点收集 ZigBee网络内的节点数据,并解析ZigBee网络数据包,将数据包中的有效数据发送到网关控制部分,网关控制部分接收到数据包后,控制以太网驱动单元根据以太网协议进行数据转换并发送数据包,最后通过Internet网络将数据发送到移动终端,完成整个网络的数据传输。(如图1所示)

2.3 数据库

SQLite是一种开源的、与底层无关的,轻量级的数据库 , 最大支持2048 GB的数据存储,与其它大多SQL数据库不同的是, SQLite没有独立的服务进程。 SQLite中的数据库文件是跨平台的,可以在32位和64位系统之间,甚至Big-Endian和Little-Endian两种不同的架构之间自由的拷贝数据,SQLite数据库被用在大量的消费类电子产品中 。

SQLite数据库具有以下特点:(1)零配置。SQLite数据库不需要安装和管理配置,在系统崩溃或失电之后可自动恢复;(2)支持标准SQL。特别是SQLite支持视图、触发器,支持嵌套SQL;SQLite还具有事务处理功能;(3)无中间服务器。SQLite数据库没有中间服务器进程。在使用SQLite时,访问数据库的程序直接从磁盘上的数据库文件读写;(4)精简性。当尺寸优化后,在不减少功能的情况下,整个SQLite小于225kB。如果在编译时去掉一些不需要的特征,能被减少到170kB;(5)存储量大。最高能支持2TB的数据库,运行速度比MySQL快1到2倍;(6)数据可自由共享。SQLite数据库在PC机和嵌入式设备中采用相同的数据格式,其数据库文件可以在PC机和嵌入式设备上自由共享;(7)无数据类型的限制。SQLite支持绝大部分的 SQL92标准,允许开发人员使用 SQL语句操作数据库中的数据,但它不像MySQL、Oracle数据库那样需要安装、启动服务器进程,它是一种被嵌入到应用程序中的数据库,它将存储的数据都放在一个文件里面,这种方式非常适合移动终端平台下的数据处理。SQLite的操作方式是一种很便捷的文件操作,应用程序只需打开一个文件进行读写操作即可。它不适合项目中有大量数据存储及用户并发储存的场合,因为它的计算和存储能力都不足以让它充当服务器的角色。

SQLite支持目前Linux、Android、Windows、IOS等几乎目前所有主流操作系统,同时对Java、C、C++等主流编程语言也支持完好。综合它的小巧、易操作、易管理、易维护、占用资源少及查询速度高等各方面优点,只会有更多的嵌入式设备都用它来进行数据存储。

结合以上分析,本平台终端最终选择SQLite数据库来实现移动终端的部分数据存储及管理功能。SQLite数据库是一个真正的轻量级的数据库,它没有所谓的后台进程,整个数据库就对应于一个几百KB的文件,这样可以非常方便地在不同设备之间移植。[6]-[9]

2.4 移动终端

2.4.1 Android平台

Android 是 Google 于 2007 年开发的基于 Linux 平台的、开源的、免费的、智能手机系统,也是一个专为移动设备设计的软件平台,它包括一个操作系统、中间件和一些关键性的平台应用。而且还可被移植到不同的硬件平台上去,目前的 Android SDK 提供了使用Java语言开发Android平台应用的必要工具和API。

一般Android系统分为了移植开发和上层应用程序开发两个不同的开发方向;手机厂商大多数从事移植开发工作,而上层的应用程序开发则一般由任一单位和个人完成,开发的过程可以基于真实的硬件系统,也可以基于仿真器环境。因为其免费开源,赢得了大多数开发者与厂商的喜爱。

在Android平台中,应用程序之间可以进行非常方便高效的沟通。一个应用程序的组件可以在另一个应用程序中起作用,也可以将Android内置的组件替换成自己开发或修改的组件;而且经过简单的声明后,应用程序之间可以相互交互、访问或调用对方的数据或功能来使用。

与其他平台相比,安卓平台提供了更多的即用型内置服务并且可以对应用程序实行自动化管理,如采用多层的安全措施将应用程序之间彼此分离,使智能电话的稳定性增强,这些功能有利于提高功能标准,同时降低开发成本,并针对低能耗、低内存的设备进行优化。

除此之外,安卓平台还提供了丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成开发环境插件。Android开发包SDK中包含了大量的类库和开发工具。所有的开发代码可以在ARM、X86和其他架构之间进行移植。[10]由于安卓平台具有以上优点及特性,经过综合考虑,选择安卓平台来搭建移动终端软件。

2.4.2 移动应用开发流程

在着手开发应用软件之前,应该把开发流程先确定好,这样按步骤实行,既可以高效完成任务,又不容易出错。首先开发者应对需求进行分析,做好市场调研,根据需求设计移动终端平台上的基本功能模块。接下来进行交互设计,主要设计应用软件与用户的互动界面,使其更加智能化。下一步应进行界面视觉设计,视觉设计会使得应用软件更具操作性和灵活性,用视觉语言去解决逻辑问题,用最简洁的色彩和图片表达出最准确的内容。经过前几个步骤,就可以根据静态样本进行代码设计了。代码设计是重中之重,通过计算机语言具体实现各个模块的功能。实现每一个功能模块完成之后要进行功能测试,完成后再把所有功能模块架构到整体框架下进行整体测试,并进行代码优化和修改。本系统的软件开发流程如图2所示。

2.4.3 功能模块设计

移动终端所实现的功能主要是对工业现场数据的实时显示,并可以在移动终端查询一定时间范围内的历史数据。因此,功能模块主要包括工业数据实时显示模块和历史数据查询模块。图3为系统的运行界面。

3 系统功能

系统在工作人员操作下,由无线传感网络节点采集工业数据,在移动终端即可实现对所有工业数据的实时监测。系统工作流程如图4所示。

4 结束语

文章介绍了无线传感网移动监测系统的设计方案,相对于传统同现场的监测方案,该系统有着成本低、灵活度高、机动性高等诸多优势,解决了传统监测方案中布线难、维护难、成本高等诸多问题,具有创新性和市场应用价值,具有非常好的推广前景。

参考文献

[1]王骥.基于无线传感器网络的环境监测系统[J].传感技术学报,2015,28(11):1732-1740.

[2]Prabhudutta Mohanty,Manas Ranjan Kabat.Energy efficient structure-free data aggregation and delivery in WSN[J].Egyptian Informatics Journal,2016.

[3]杨萌.基于Zigbee技术的无线传感网络研究[J].电子技术与软件工程,2015(1).

[4]陈宁坡.基于STM32的以太网/Zigbee网关设计[D].2014:10.

[5]成金祥.无线传感器网络网关节点的设计与实现[D].2013:3.

[6]刘婕.基于Android系统的移动终端通讯录的研究与设计[D].2012:17.

[7]韩善峰.SQLite数据库在嵌入式程序开发中的应用[J].物探设备,2015,21(3),170-178.

[8]黎阳子.基于Android平台的移动医疗系统的研究与设计[D].2014:34.

[9]Moriki Yamamoto,Hisao Koizumi.An Experimental Evaluation using SQLite for Real-Time Stream Processing[J].

[10]冯馨.一种基于Android平台移动学习系统研究与设计[D].2013:13.

作者简介:张勇(1974-),男,吉林农安,硕士,副教授,研究方向:智能仪器及物联网应用设计。

上一篇:长春机场潜在几种新型干扰源的特点分析和应对... 下一篇:110kV变电站安装与调试施工探讨