NS2.27上安装和分析leach协议

/***************************************************************************************************************/

一、NS2.27上安装LEACH协议

leach协议在ns2.27上是很容易安装的,比较难的是在高版本的linux上安装ns2.27. 在前面的系列中,总结了一些常见的安装错误。

LEACH协议安装步骤:

1. 把协议的安装包mit.tar.gz放到/opt/ns-ailinone-2.27/ns-2.27下;

2.解压这个压缩包,会直接覆盖掉相同的文件(注意,在其它的高版本上并不能这样直接覆盖,因为高版本的文件跟ns2.27的文件有所不同,如果直接覆盖,会导致一些文件不正确,而这个压缩包就是根据ns2.27来修改的,所以只会在ns2.27上增加需要的东西。命令为:、

gunzip mit.tar.gz
tar -xvf mit.tar
3. 然后修改Makefile,可以下载一个修改好的文件,直接覆盖掉原来的,也可以在原来的基础上进行修改,如下:

添加-DMIT_uAMPS到DEFINE列表中(第60行);

添加-I./mit/rca -I./mit/uAMPS到INCLUDES列表中(第71行);

将以下内容添加到gaf/gaf.o \之前(第202行)。

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. 清除以前的缓存:

make clean
5.  重新编译NS2:

make

6.  修改leach-test文件。在ns tcl/ex/wireless.tcl  \  前面添加:

RCA_LIBRARY=mit/rca
export RCA_LIBRARY
uAMPS_LIBRARY=mit/uAMPS
export uAMPS_LIBRARY

添加环境变量。同时在shell的配置文件中(.bashrc)添加:

export RCA_LIBRARY=/opt/ns-allinone-2.27/ns-2.27/mit/rca
export uAMPS_LIBRARY=/opt/ns-allinone-2.27/ns-2.27/mit/uAMPS

这些相当关键,否则会出现错误:

can't read "env(RCA_LIBRARY)": no such variable
    while executing  

很多这些错误都是环境变量没有设置正确造成的(要了解普通用户和root用户环境配置文件的区别)。

7. 运行测试文件(test 的第四行和第五行要互换位置,否则会报错,找不到文件的):

./test

会调用leach-test,终端上会显示DONE!表示已经成功安装了LEACH协议,在leach_sims下的leach.err会记录相关信息。

运行中可能还会报各种错误,这个帖子的解决方案比较好:http://blog.163.com/xiaolh2008@126/blog/static/1355564222011125111927744/

在修改了一些脚本之后,要使用make clean命令清空,之后重新make。

/***************************************************************************************************************/

二、LEACH仿真数据的分析

1. 删除leach.out中的warnings:http://blog.csdn.net/delphiwcdj/article/details/6036109





你可能感兴趣的:(NS2.27上安装和分析leach协议)