APP下载

OMNet+ +在物联网专业课程教学中的应用研究

2014-01-24蒋云霞

当代教育理论与实践 2014年3期
关键词:配置文件专业课程联网

符 琦,蒋云霞

(湖南科技大学 计算机科学与工程学院,湖南 湘潭411201)

1 物联网与专业课程教学

物联网(Internet of Things)是一种以传感器为基础设备来实现人与人、人与物、物与物互联的新型网络技术。它通过传感器对物理世界各种信息进行收集,并有效结合互联网、移动通信网和计机算等技术实现网络内人员、设备和基础设施的相关信息的传送、交互和分析处理,从而提升网络对外部世界的感知能力,实现人们在生活和工作各方面的智能化科学决策和控制。目前,物联网技术已经成为了我国新兴战略产业未来发展的方向之一,被广泛应用于智能电网、智能交通与物流、智能家居、工业与自动化控制、医疗健康、金融与服务业、国防军事等诸多领域[1]。

在2010年教育部审批通过的140 个高等学校战略性新兴产业相关本科新专业中,物联网专业成为了各高校的新开热门专业。该专业主要以面向物联网产业和领域需求,培养实用型、复合交叉型人才为目标,着重培养学生创业、创新能力,工程研究与开发能力,以及项目组织与管理等综合能力。作为一门新专业,在专业课程教学内容、教学模式、教学实践等各方面均需要进行适用性探讨,以完善其知识体系、课程体系、工程实践等各方面的相关理论与切实可行的教学方案、培养计划等。物联网专业课程一般包括无线传感器原理、无线传感器网络、物联网基础、嵌入式系统、RFID 技术等课程[2]。其中,无线传感器网络(Wireless Sensor Networks,WSNs)是物联网的重要组成部分,其相关课程也是重要的核心专业课程。由于该课程所讲授的网络技术是一种集成创新型技术,知识涵盖了图论、高等数学、计算机网络、无线电射、嵌入式系统等各个方面,因此是一门应用性和理论知识很强的专业课。作为一门新的网络理论技术课程,教学过程中通常会偏向于理论知识的讲授,内容相对较空洞抽象,学生难以了解和掌握网络内部的具体运行方式,不利于知识点的全面了解,而课程实验相关的硬件平台价格通常不菲,且不同的实验需要不同的硬件支撑。因此,有必要在该课程教学中,充分采用合适的开源网络仿真软件进行网络仿真实验,这样既可减少教学成本,又能让学生了解整个网络运行的各个层面的相关工作原理与机制,同时还可以让老师根据不同的教学内容设计相应的仿真实例,更好地进行课堂教学。因此,本文主要介绍了无线传感器网络仿真所需要软件的工作原理与应用流程。

2 相关仿真软件对比分析

无线传感器网络是由大量部署在监测区域内的传感器节点组成的多跳自组织网络系统,用于协作感知、采集和处理监测区域中物理世界的信息。目前已在环境监测、医疗健康、工业控制、家庭智能监控等领域得到了广泛的应用。为了更好地将其应用到具体的环境中,有必要通过一个可控的仿真软件环境来研究其相关技术,如路由技术、MAC 机制等,以提高其实际应用的可行性和效率。因此,该网络仿真所需要的仿真软件应具有以下基本特性[3]:支持大数据量传感节点的仿真,同时保证仿真运行的时间和效率;仿真各功能模块可进行自适应配置,以适应不同应用场景对传感器节点的功能需求;具有良好的人机交互界面,便于学习和二次开发。

目前,主要用于无线传感器网络仿真的软件主要有NS2 和OMNe+ +两种。虽然两者都能有效地对无线传感器网络进行仿真,且开放源代码,有利于使用者根据需要来进行编程,但仍存在下几个方面的区别:

一是NS2 模型库(包括各种协议)过于单一,没有针对WSN 的专用模型库;而OMNet+ +除了拥有和NS2 一样的模型库外(如Internet 网络相关协议),还有专门用于WSNs 和自组织网络、车载网络等特殊网络类型的仿真模型库(如表1 所示),且随着使用人员的增加,正在不断的完善中,完全能满足WSNs 等相关网络的仿真需求。

表1 OMNet+ +仿真库举例

二是NS2 采用了TCL 语言和C + +的分离编译模式,且无有效的GUI 操作界面,入门较难;而OMNet + +采用了基于Eclipse 框架的GUI 环境,且采用了基于模型分级的网络描述语言NED,可对网络拓扑和节点内部结构进行可视化的自定义,直观易学,且模型可自定制(见图1)。

图1 OMNet+ +运行示意图

三是NS2 缺少有效的调试环境,查错和纠错十分不便;OMNet+ +利用Eclipse 框架及其C+ +编辑编译相关插件,能有效地定位错误,并进行跟踪调试。

基于以上分析,本文采用OMNet+ +作为WSNs 网络仿真的首选工具进行仿真流程的介绍。

3 OMNet+ +在仿真教学中的应用研究

3.1 OMNet+ +原理与构成

OMNet+ +是一个具备完善GUI 和可嵌入式仿真内核的基于组件的开源网络仿真软件,可运行于Windows、Linux 等多种操作系统,主要由网络描述语言的编译器、仿真内核库、消息编译器、网络编辑器和仿真程序的图形化/命令行用户接口等几个部分组成,可以迅速定义网络拓扑结构,并具备网络协议源码编程和跟踪调试等功能,仿真结果可通过Plove 或Scalar 等工具进行可视化输出[4]。

如图2 所示,一个完整的OMNet + +仿真模型通常由.ned、.msg 和.cc 三类源文件组成。.ned 源文件通过NED(Network Description)语言进行网络拓扑的描述,包括定义节点设备、节点间的连接方式等与网络拓扑和仿真相关的对象及其参数。.msg 源文件用于定义仿真过程中的数据包、消息和事件等格式和内容,该类文件并非必须,根据仿真具体需求来生成;.cc 源文件用于实现网络各部分的功能,如某个具体的协议或机制等。在上述源件的基础上,OMNet + +通过NED 编译器、消息编译器、仿真内核库、用户接口等模块进行联合编译,以生成不同操作系统环境下的可单独运行的仿真程序,并根据定义生成输出结果文件,作为数据分析的基础。

图2 OMNet+ +仿真流程示意图

3.2 OMNet+ +在无线传感器网络仿真教学中的应用

无线传感器网络课程是物联网专业的一门核心专业课程,主要讲授了无线传感器平台和网络架构,军事和生活应用,设计影响因素等内容,涵盖了网络层的路由协议、传输层的技术和协议、跨层方案、定时同步技术、定位技术和拓扑管理等网络相关的各方面知识。而OMNet ++针对该网络也提供了大量的开源仿真库,如Castalia、MiXiM、InetManet 等,以便有效地为不同环境下的无线传感器网络的相关算法和协议的仿真提供支持,同时支持使用者进行二次开发。下面以Castalia 仿真库为例,简单介绍该WSNs 仿真库的安装与使用。

Castalia 是基于OMNet+ +4.0/4.1 的WSNs 仿真库,目前最新版本为3.0,只能运行于Linux 或Cygwin 操作系统环境,可 在 相 关 网 站(http://castalia.npc.nicta.com.au)下载其最新源码文件Castalia -3.0.tar.gz。然后,通过下面的命令将其解压至OMNet + +的安装目录下(如~/omnetpp-4.1),并进行编译连接,以生成WSNs 仿真所需要的相关文件,如Castalia 等:

~/omnetpp-4.1 $ tar –xvzf Castalia-3.0.tar.gz#解压Castalia 仿真库源码

~/omnetpp-4.1 $ cd Castalia -3.0/ #进入解压后的Castalia 源码根目录

~/omnetpp-4.1/Castalia -3.0 $./makemake #产生编译Castalia 所需的文件Makefile

~/omnetpp-4.1/Castalia-3.0 $ make #编译Castalia 源码,并生成可执行文件

当编译成功时,在Castalia 安装目录(Castalia/bin)下会生成运行Castalia 所需的可执行文件Castalia,至此便可以用“Castalia -c 配置文件”的方式来运行其所带实例。其中,配置文件描述了网络仿真场景中的各种参数,如节点数,信道数、连接方式等等,默认为omnetpp.ini,使用者可以根据需要自定义。Castalia 在Catalia/Simulations 目录 下 自 带 了BANtest、BridgeTest、simpleAggregation、radioTest 等8 个WSNs 仿真的实例,并附有说明文档,以便使用者根据需要做自适应修改。以Castalia 所带radioTest在命令行下的运行过程为例(图形方式参考Castalia 的使用手册):在radioTest 目录下运行Castalia,则Castalia 会搜索可用的网络仿真场景配置文件(*.ini),并从中分析有效的网络配置信息,以供用户选择不同的场景进行仿真。如下所示,Castalia 在radioTest 目录下发现了可用的配置文件omnetpp.ini,并在其中找到了5 个有效的仿真配置信息,此时,便可选择其中的一个有效仿真信息进行仿真(如General),并生成相应的仿真结果文件(如Castalia-Trace.txt):

~/omnetpp-4.1/Castalia-3.0/Simulations/radioTest$../../bin/Castalia #运行Castalia

List of available input files and configurations #返回可用配置文件和有效配置信息列表

* omnetpp.ini #可用配置文件

General #有效仿真场景信息1

InterferenceTest1 #有效仿真场景信息2

InterferenceTest2 #有效仿真场景信息3

CSinterruptTest #有效仿真场景信息4

varyInterferenceModel #有效仿真场景信息5

~/omnetpp-4.1/Castalia-3.0/Simulations/radioTest$../../bin/Castalia -c General #运行General

~/omnetpp-4.1/Castalia-3.0/Simulations/radioTest$ less Castalia-Trace.txt #查看仿真结果

0.027540267327 SN.node[0].Application Not sending packets

4.068529304763 SN.node[0].Application Received packet #19 from node 1

4.268531555813 SN.node[0].Application Received packet #20 from node 1

4.468533806863 SN.node[0].Application Received packet #21 from node 1

4.668536057913 SN.node[0].Application Received packet #22 from node 1

与此同时,OMNet+ +支持用户功能模块的自定制,以方便用户扩展其对不同网络的仿真能力。以基于Castalia 的功能扩展为例,假设用户要新增加一个MAC 层的仿真模块myMAC,首先应在~/omnetpp -4.1/Castalia -3.0/src/node/communication/mac 目录下建立myMAC 目录,并将myMAC 相关的所有.ned、.msg、.h、.cc 等模块文件复制到该目录下,然后,执行如下命令重新编译Castalia,以更新仿真库,使之有效:

~/omnetpp-4.1/Castalia-3.0 $make clean #清除原有编译信息

~/omnetpp-4.1/Castalia-3.0 $./makemake #重新生成编译Catalia 所需文件Makefile

~/omnetpp-4.1/Castalia -3.0 $make #利用新的Makefile 文件,重新编译Catalia

4 结 语

将OMNeT+ +应用于无线传感器网络课程教学的仿真教学,可实现WSNs 在拓扑控制、路由协议、实时定位等网络各层相关技术的仿真研究,便于学生了解课程中的大部分原理与实现,从而将理论演示教学与实践环节有机地结合起来,更好地促进教师与学生之间的教与学,有利于培养高层次的物联网技术实用人才。

[1]柯 强.物联网专业课程建设探讨[J].物联网技术,2012(1):80 -85.

[2]张建辉,曾 虹.无线传感器研究生课程教学探讨[J].中国现代教育装备,2012(7):79 -81.

[3]石为人,黄 河,鲜晓东,等.OMNet + +与NS2 在无线传感器网络仿真中的比较研究[J].计算机科学,2008(10):53 -57.

[4]吴剑锋,郭 英,范海宁.OMNet+ +网络仿真器的设计原理与分析[J].微计算机应用,2008(5):34 -37.

猜你喜欢

配置文件专业课程联网
“身联网”等五则
《物联网技术》简介
互不干涉混用Chromium Edge
电大学前教育专业课程改革探讨——以福建电大为例
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
抢占物联网
基于“互联网+”的应用经济学专业课程教学改革研究
为View桌面准备父虚拟机
中美综合大学在音乐专业课程上的比较与启示