仿真技术在物联网实践教学中的应用研究
扫描二维码
随时随地手机看文章
引 言
物联网工程专业本身具有鲜明的应用性特点,以培养学生工程实践能力为核心。因此,物联网实验教学在物联网工程专业学生培养中起到至关重要的作用。然而,由于物联网尚处在发展的初级阶段,高校的实践教学也因此碰到了瓶颈。真实的实验设备价格昂贵,实验条件不成熟等诸多特点直接导致了实验教学的窘境。针对难以在真实环境中进行物联网实验的情况,仿真技术对于物联网实践教学来说变得越来越重要。本文正是在这种背景下开展物联网实践教学的仿真技术探讨与应用研究。
1 物联网实践教学中的仿真技术分析
物联网是物物相连的网络,物品和物品、物品和人之间能够交互信息,其本质是通过传感器、射频识别等利用新的方式连接起来。物联网的最终目的归结于应用,与其说物联网是网络,不如说物联网就是应用。物联网应用中的无线传感器网络呈现出一些新的特点,具体体现在,传感器数量规模可能巨大,所部署的环境可能是森林、沙漠及水底等不同环境中, 传感器节点也可能由温度、湿度等不同类型的传感器组成 ;大量的传感器节点所感知的数据信息有一定的相似性,数据融合成为物联网研究的难题之一。因此,在物联网专业课程的教学中,实验课程的开设是人才培养最重要的基础环节之一。
现阶段,高校的物联网实践教学都还处于探索阶段,在信息采集系统设计、通信协议设计及物联网相关技术本身也面临着一系列的挑战,由于外部环境参数设置和各种条件的不满足,部署大型的实验平台价格昂贵且异常困难。因此,搭建仿真平台,研究者可以在可控环境中研究物联网,弥补了在真实环境中进行物联网实践教学的缺陷,有利于学生思维的开拓和创新能力的培养。
在众多的网络模拟仿真软件中,NS2由于其源码开放的特点,完全支持物联网相关算法和协议的仿真,包括对传感器和电池模型,甚至混合仿真支持等。无线传感器网络中传感器节点数目可能很大,节点更容易失效,拓扑变化异常频繁, 且在 NS2无线传感器网络仿真过程中,经常要进行跨层的协议设计和修改。这些协议添加本身很容易在 NS2中实现,通过协议的添加,模拟场景的设置、脚本动态生成,就能通过NS2的模拟得到描述结果、动态运行演示图及性能分析图表。让物联网的实践教学变得形象化和可视化,增强学生的学习兴趣,也迫使学生在仿真平台上获取数据,分析网络性能。
2 物联网实践教学模块的设计及实现
基于对物联网及NS2 仿真技术的分析[8],本文设计出对无线传感器网络进行仿真分析的系统平台。该平台能在物联网实践教学过程中进行模拟过程的可视化,包括 :自动生成无线传感器网络TCL 脚本可视化配置模块 ;运行脚本文件、观看动画可视化模块 ;Awk 数据分析和可视化模块 ;Gnuplot 绘图可视化模块等。
在物联网相关课程的实践教学中,NS2 仿真脚本编写对于初学者来说往往是很繁琐的。学生即使能编写一大堆的脚本程序,也无法把握整个无线传感器网络仿真节点布局及拓扑图。因此,在物联网实践教学中,有必要将无线传感器等网络拓扑的搭建、协议的添加等进行可视化处理,并在此基础上生成脚本。这样既避免了繁琐的脚本编写,又能从全局上把握网络的结构及特点。
生成脚本后,在 NS2 仿真界面通过输入ns *.tcl 进行网络模拟,得到仿真结果Trace 文件,接下来的关键就是对模拟结果进行可视化分析。通过分析这些数据,能够使研究者用较少的时间和费用,了解网络在不同条件下的特性,获取无线传感网研究所需的丰富且有效的数据。网络性能分析包含动态显示模块及静态分析模块。动态显示模块调用NAM 工具实现,将模拟过程进行动画演示,让研究者能够清晰看到分组如何从发送端到达接收端 ;静态分析模块则对无线传感网的关键性能 :延时、丢包、吞吐量和能耗等进行分析,这些关键性能的分析是通过 gawk 语言处理的,最后通过Xgraph 或 gnuplot 绘制图形,将感兴趣的数据直观反映出来,为学习和研究提供便利,NS2 仿真过程的整个过程如图 1 所示。
3 教学案例设计
在实践教学中, 假定我们需要模拟区域为 500 m× 500 m, 采取 random 方式设置拥有 100 个传感器节点的wireless scenario,仿真一个典型的多跳自组织无线环境。对于该实验场景,我们无法真实的去部署传感器,但我们又很有必要去研究当前网络场景下,各种网络性能的表现情况以及了解网络运行的动态过程。
在实践教学过程中, 我们只需要实验室具备计算机以及相应的软件环境即可, 学生在宿舍个人计算机上同样也可以完成实验。本实验假定在 win7 32 位系统下安装了cygwin+NS2.35 环境及Java 运行环境。由于NS2.35 对无线传感器网络并不完全支持,因此,我们只需要完成对面向物联网的无线传感器网络仿真模块的添加,使得仿真环境满足无线传感器网络仿真的要求即可。
在实验场景设置方面,可以避开繁琐的脚本编写,采用开源工具NSG2(NS2 Scenarios Generator 2),通过如图 2 所示的图形界面操作进行无线传感器网络实验拓扑的创建、相关参数的设计以及运动轨迹的设计,然后自动生成仿真如图 3 所示的脚本语言。
脚本生成后,我们在 NS2.35 环境下进行网络的模拟和仿真,就可得到如图 4 所示的仿真trace 数据文件 out.tr 和用于动态显示的out.nam 仿真结果,再将整个网络的运行动态通过动画演示出来,就能增强学生研究该类问题的信心和积极性,也能够从运行动画中把握复杂网络运行的动态过程,从而促使学生对各种网络性能的进一步分析和研究。对于枯燥的仿真数据而言,用户还可以通过 gnuplot 等工具进行图形绘制,使得各种网络性能参数直观地呈现在研究者面前,有助于师生对面向物联网的无线传感器网络的学习和研究,这样, 就达到了物联网实践教学的目的,弥补了无法在真实环境中进行实验的遗憾。
4 结 语
本文探讨了仿真技术在物联网工程专业课程实践教学中的应用,指出了模拟网络环境仿真是物联网实践教学体系中重要的环节。模拟仿真不仅不受客观条件的制约,又能促进学生对复杂网络的研究和认知,是当前物联网实践教学中重要的方法和模式之一。这种模式有利于学生创新能力的锻炼, 同时也促进了物联网专业人才实践能力的培养。