因毕业设计做无线传感器网络LEACH路由协议方面的研究,需要在NS2平台下进行仿真。NS2更适合在linux操作系统下运行,然而大多数人对linux操作系统不太熟悉更习惯于windows操作系统,所以就需要把NS2安装在windows平台下,前提条件是先安装一个cygwin模拟Unix系统软件。
一 cygwin模拟软件的安装
具体安装过程可以参考http://140.116.72.80/~smallko/ns2/setup.htm 其中叙述的比较详细,按照上面的步骤安装即可。
第一次执行的時候,会根据目前电脑的使用者和电脑的名称等咨询,在cygwin的home的目录下生一个使用者的文件夹,并放入环境参数设定等相关文件(.bashrc、.bashrc_profile和.inputrc)。例如c:\cygwin\home\Administrator
二 NS2的安装
首先下载NS2.27安装文件,下载地址:http://www.isi.edu/nsnam/dist/ns-allinone-2.27.tar.gz,将ns-allinone-2.27.tar.gz 文件放在家目录下,如本文应置于Administrator下。
1、使用命令tar xvfz ns-allinone-2.27.tar.gz解开该压缩文件夹。
2、将补丁文件ns227-gcc34.patch放在Administrator目录下,执行命令:
patch -p0 < ns227-gcc34.patch
3、使用cd命令将当前路径指向ns-allinone-2.27下,执行安装命令,./install。在安装的过程中,由于我们沒有安装diff,所以安装过程中会问使用者要不要继续,选择y继续安裝。
完成ns2的编译后,要开始設定环境参数。
请编译家目录下的.bashrc,把ns2相关的路径加入PATH中。(.bashrc)
export NS_HOME=`pwd`/ns-allinone-2.27
export PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.8:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library
4、以一个范例来检验ns和nam。在命令列中输入startxwin.bat。会产生一个新的视窗,在此新视窗中输入
cd ns-allinone-2.27/ns-2.27/ns-tutorial/examples
ns example2.tcl
三 LEACH协议的安装
1、下载mit.tar.gz
2、把mit.tar.gz放在ns-allinone-2.27/ns-2.27下面,先后用gunzip mit.tar.gz和tar -xvf mit.tar命令解压缩。
3、修改makefile文件。
在makefile中的DEFINE后面添加-DMIT_uAMPS;在INCLUDES = \后添加-I./mit/rca -I./mit/uAMPS
再找到OBJ_CC = \后面也跟了一大串,串的末尾是$(OBJ_STL),在它之上填上
mit/rca/energy.o mit/rca/rcagent.o \
mit/rca/rca-ll.o mit/rca/resource.o \
mac/mac-sensor-timers.o mac/mac-sensor.o \
mit/uAMPS/bsagent.o \
4、修改环境变量
修改在home\(用户名)下的.bashrc文件。设置RCA_LIBRARY和uAMPS_LIBRARY环境变量
export RCA_LIBRARY=`pwd`/ns-allinone-2.27/ns-2.27/mit/rca
export uAMPS_LIBRARY=`pwd`/ns-allinone-2.27/ns-2.27/mit/uAMPS
可以用echo $RCA_LIBRARY查看一下。
5、在命令行中 make clean,然后make。如果编译通过,执行ns-2.27下的./leach_test就可以运行得到结果。
注:在编译的过程中文件mac中的wireless-phy.cc出现一个错误,可以参看编译过程中的错误提示,然后找到相对应的文件,把“min”改成“MIN”(需要修改两处),然后再在命令行中输入make就OK了。
安装过程用到的几个文件 /Files/taojingtao/leach.rar