基于OMNeT_的无线传感器网络仿真实验教学

72

2011年第1期总第113期

ISSN1672-1438

基于OMNeT_的无线传感器网络仿真实验教学

CN11-4994/T 基于OMNeT++的无线传感器网络仿真实验教学研究

诸燕平

常州大学 江苏常州 213164

摘 要:随着物联网技术的蓬勃发展,通信和计算机专业本科教学中开设无线传感器网络课程。本文引入一款优秀的开源无线网络仿真软件—OMNeT++,并将它应用于无线传感器网络教学中,可仿真无线传感器网络中的大部分信道、拓扑和协议。在对OMNeT++进行研究的基础上,给出一个具体的网络仿真实例。实践表明,利用OMNeT++进行演示教学,课堂教学气氛活跃,教学效果好,学生对无线传感器网络信道、拓扑和协议的理解也更加深刻。关键词:OMNeT++;仿真教学;无线传感器网络

收稿日期:2010-09-04

作者简介:诸燕平,博士,讲师。

无线传感器网络是目前备受关注的热点研究领域之一。它综合了传感器、微机电系统、嵌入式计算、现代网络及无线通信、分布式信息处理等多个技术,实现物理世界、计算世界以及人类社会的连通,提高人类认识自然和改造自然的能力。

物联网技术的蓬勃发展要求教师在教学的过程中不断更新和追踪最新技术,以更加适应无线传感器网络课程教学的要求。但目前无线传感器网络教学中存在缺少必要的实验设备的问题。无线射频收发、网关等实验设备比较昂贵,一般的院校无法为学生配备,学生无法更好地通过真正的实验环境亲自动手来理解和掌握无线网络通信原理、锻炼无线传感器网络工程应用能力。因此,尝试将网络仿真软件OMNeT++(Objective Modular Network TestBed in C++)运用到无线传感器网络课程教学中,利用它的动画演示可以清晰地向学生演示网络协议的运行过程。通过O M N e T++进行教学,学生可以直观地看到无线传感器网络协议的行为,了解各种拓扑结构、信道环境等对无线传感器网络的影响,将抽象的概念形象化,把枯燥的原理具体化。

1 OMNeT++原理和结构

O M N e T++是由布达佩斯大学通信工程系开发的一个开源的、基于组件的、模块化的开放网络仿真平台,是近年来在科学和工业领域里逐渐流行的一种优

秀的网络仿真平台。O M N e T++作为离散事件仿真器,具备强大完善的图形界面接口和可嵌入式仿真内核,同NS2,OPNET和JavaSim等仿真平台相比,OMNeT++可运行于多个操作系统平台,可以简便定义网络拓扑结构,具备编程、调试和跟踪支持等功能。本文中使用的仿真环境为OMNeT++4.0,该版本自带了Mingw编译环境,而不再需要V i s u a l C编译环境。在4.0版本中还加入了基于Eclipse的IDE,可以直接使用。

1.1 OMNeT++的体系结构

O M N e T ++主要由6个部分组成:仿真内核库(Simulation Kernel Library, Sim),网络描述语言的编译器(Network Description Compiler, nedc),图形化的网络编辑器(Graphical Network Description Editor,GNED),仿真程序的图形化用户接口Tkenv,仿真程序的命令行用户接口Cmdenv,图形化的向量输出工具Plove。OMNeT++具有模块化的结构,图1是O M N e T++仿真的高层体系结构(箭头表示

基于OMNeT_的无线传感器网络仿真实验教学

两组件之间的交互)。

图1 OMNeT++仿真程序的体系结构

其中,S i m为嵌入式仿真内核,它是处理和运行仿真的核心。当有事件发生时,仿真内核就调用执行模型中的模块。在Sim和用户接口CMDENV或TKENV之间是一个通用接口E N V I R,用户可以通过替换用户接口

73

2011年第1期

基于OMNeT_的无线传感器网络仿真实验教学

总第113期

2011年1月

来定义仿真的运行环境。模型组件库包含所有已经编译好的简单模块和复合模块。仿真模型包含一些常用的网络协议、应用和通信模型。

无线传感器网络的设计需要同时考虑能量效率、容错率、同步、服务质量、调度方法、系统拓扑等的影响。因此,N S-2等网络模拟器对于无线传感器网络的仿真是有局限的。O M N e T++是一款非常适合无线传感器网络课程教学的仿真。首先,O M N e T++的用户接口用于实现仿真程序的人机交互,O M N e T++提供强大完善的图形用户界面,具有模块输出窗口、监测器和自动生成动画3个输出工具,可以动态地观察仿真程序的运行情况,而且内存消耗小、速度快。允许模型内部机制对用户可视化,也允许用户启动和终止仿真,并更改模型内部的变量。用户可以在强大图形化用户接口下测试和调试仿真程序,并最后可在简单快速的用户接口中运行,而且该接口支持批处理。其次,作为一款开源软件,O M N e T++所有源代码公开,任何人都可以获得、使用和修改其源代码,因此使用O M N e T++来构建特殊的无线传感器网络仿真实验教学环境变得很灵活。

1.2 OMNeT++工作原理

O M N e T++仿真要经历模型建立、模拟实现和结果分析3个阶段。O M N e T++采用了混合式的建模方式,同时使用了O M N e T++特有的网络描述(N e t w o r k Discription,NED)语言和C++进行建模。NED是模块化的网络描述语言,包括大量的对组件的描述,如通道、简单和复合模块的类型。N E D还可以实现动态加载,便于更新仿真模型的拓扑结构。C++用来实现模型的仿真和消息的处理等功能,而且N E D文件可以编译为C++代码,连接到仿真程序中。

O M N e T++中的消息传输主要由简单模块完成,消息传输有端口传输和直接传输两种方式。端口传输是通过模块之间的端口和连接,按照一定的规则,将消息逐步传输到目的模块。而直接传输是通过仿真内核直接传输消息到目的模块。通过这套机制,可以灵活地使用C++或者OMNeT++本身定义的几个基本类,就可以实现对目前几乎所有网络模型的仿真。

1.3 仿真结果输出

OMNeT++提供了TKENV和CMDENV两种用户界面。TKENV是OMNeT++的GUI(Graphical User Interface,图形用户界面)用户接口,C M D E N V是纯命令行的界面。对仿真进行的测试和调试可以在T K E N V接口下进行,T K E N V是一个简便易用的图形窗口化的用户接

口,T K E N V支持跟踪,调试和执行仿真的功能。它在执行仿真过程中的任意时刻都能够提供详细的状态信息。T K E N V的主要特征有:各模块的文本输出有其独立的窗口,仿真过程中可以在T K E N V窗口中看到自传消息,支持仿真动画,标记断点,具有检查窗口,可以检查和改变模型中的变量,执行过程中仿真结果的图形化显示并且结果可以用柱状图和时间序列图显示,仿真可重新进行,快照文件用于显示模型的详细信息。

2 仿真实例

因为O M N e T++软件为英文版,使用时有一定的复杂性,所以在课堂教学和实验实践中,首先由教师通过数个具体的实例来演示和说明无线传感器网络信道、拓扑和协议等,使学生能直观、生动地理解课本上的理论知识。然后再进一步深化,考虑引导学生自主编程。

下面通过无线传感器网络中经典的路由协议LEACH(Low Energy Adaptive Clustering Hierarchy)算法的实现来说明O M N e T++在无线传感器网络实验教学中的应用(Windows XP和OMNeT++4.0环境下)。

2.1 仿真场景和拓扑结构

L E A C H算法是一种自适应分簇拓扑算法,它的执行过程是周期性的,每轮循环分为簇的建立阶段和稳定的数据通信阶段。用O M N e T++仿真L E A C H算法的模块图(如图2所示),传感器节点由4个模块构成,sm_application主要是应用层模块的程序,sm_cordinator模块是一个协调模块,协调各部分的模块工作,s m_l a y e r0模块负责节点间的数据包的传送,以及路由的选择,sm_energy模块是能量模块。

基于OMNeT_的无线传感器网络仿真实验教学

基于OMNeT_的无线传感器网络仿真实验教学

图2 OMNeT++仿真模块图

74

2011年第1期总第113期

ISSN1672-1438

基于OMNeT_的无线传感器网络仿真实验教学

CN11-4994/T

基于OMNeT_的无线传感器网络仿真实验教学

基于OMNeT_的无线传感器网络仿真实验教学

OMNeT++建模的流程如图3所示。

图3 OMNeT++的建模流程图

OMNeT++生成的无线传感器网络的拓扑结构如图4

基于OMNeT_的无线传感器网络仿真实验教学

基于OMNeT_的无线传感器网络仿真实验教学

所示。

图4 无线传感器网络拓扑图

2.2 仿真结果

结果演示图(如图5所示)解释:大的黑色实心圆节点标识S i n k节点,星型空心节点标识普通源节点,小的黑色实心圆节点标识簇头节点,源节点之间通过随机簇头选举机制选出簇头节点,簇头节点然后直接

基于OMNeT_的无线传感器网络仿真实验教学

基于OMNeT_的无线传感器网络仿真实验教学

基于OMNeT_的无线传感器网络仿真实验教学

将收集到的数据传送给Sink节点。

图5 LEACH算法结果演示图

3 结束语

利用O M N e T++软件在无线传感器网络课程教学中引入仿真教学,可实现网络拓扑仿真、协议仿真和通信量仿真并模拟网络流量在实际网络中传输、交换等过程。O M N E T++可仿真无线传感器网络课程中的大部分原理和协议,通过在课堂教学中给学生演示,使得课堂教学气氛活跃,教学效果好。学生一致认为用O M N E T++学习无线传感器网络不再感到枯燥,同时对原理、协议的理解也更加深刻。下一步,将考虑引导学生自主编程,将部分成绩优异的学生尽早引入导师的课题,从事网络技术课题的研究。只有在教学中将理论演示教学与实践环节有机地结合起来,优势互补,互相渗透,才能更好地帮助学生理解、掌握知识,培养学生的创新精神和综合实践能力,培养高层

基于OMNeT_的无线传感器网络仿真实验教学

次的物联网技术人才。

相关推荐
相关主题
热门推荐