土豆

无线自组网,无线传感器网络
posts - 21, comments - 7, trackbacks - 0, articles - 4
   ::  :: 新随笔 :: 联系 ::  :: 管理

GPSR协议安装

Posted on 2009-04-01 13:59 土豆 阅读(1663) 评论(5)  编辑 收藏 引用 所属分类: 无线传感器网络网络仿真软件

有些同学说GPSR协议(LiuKe )按照自带的readme折腾了好几天安装也没有成功, 在这里我简要地说明一下当初我的安装过程.

说明:$HOME指当前用户所在目录。

1、在 $HOME/ns-allinone-2.30/ns-2.30下新建gpsr文件夹,并将GPSR-KeLiu中的
gpsr_packet.h,   gpsr_neighbor.h,   gpsr_neighbor.cc,   gpsr.h,  gpsr.cc,  gpsr.tcl,
wireless-gpsr.tcl,  gpsr_sinklist.h, gpsr-sinklist.cc,  grid_deploy10x10.tcl,   cbr100.tcl加入刚新建的gpsr文件夹中。
2、进入$HOME/ns-allinone-2.30/ns-2.30/common, 修改packet.h
      在enum packet_t{
      增加 PT_GPSR 
      }
   class p_info {
    增加 name_[PT_GPSR]= “gpsr”
   }
3、进入$HOME/ns-allinone-2.30/ns-2.30/trace,修改 cmu-trace.cc
  (readme遗漏)增加 #include <gpsr/gpsr_packet.h>
在 void CMUTrace::format(Packet* p, const char *why)
{
     增加 case PT_GPSR;
             break;
}

3、进入 $HOME/ns-allinone-2.30/ns-2.30/queue,修改priqueue.cc
void   PriQueue::recv(Packet *p, Handler *h)
{
   增加  case PT_GPSR:

}

4、进入$HOME/ns-allinone-2.30/ns-2.30/tcl/lib, 修改ns-packet.tcl

 foreach prot{
   增加GPSR
 }

5、进入 $HOME/ns-allinone-2.30/ns-2.30/ ,修改Makefile
在OBJ_STL =  的最后按照格式加入( gpsr前为TAB键而不是空格)
 gpsr/gpsr_neighbor.o\
 gpsr/gpsr_sinklist.o\
 gpsr/gpsr.o

如果需要加入调试信息,则在CCOPT =  -Wall 加上 -g,  如下:
      CCOPT =  -g  -Wall

6、重新编译,执行如下命令
cd $HOME/ns-allinone-2.30/ns-2.30/common
touch packet.cc
cd ..
make clean
make

7、在使用脚本wireless_gpsr.tcl进行场景仿真时,需要对 ns-2.30所在的路径进行修改
   将wireless_gpsr.tcl 中的将ns2home 修改成  $HOME/ns-allinone-2.30/ns-2.30/

说明:2007年我下载使用LiuKe写的GPSR协议还存在很多的问题
1、nam文件无法正常打开显示
2、数据莫名其妙丢失,调试跟踪才发现arp功能不正确
3、sink节点位置没有更新。
。。。。。。
想不起来了,呵呵,

当初在仿真调试中花了大量的时间对其进行了修补,遗憾的是,我的笔记已丢失,短时间内还无法与大家共享。等闲下来有空的时候我会慢慢去捡回记忆,大家有何问题,请联系.

Feedback

# 星星枝花  回复  更多评论   

2009-08-30 08:30 by 陈枝
很好看

# 星星枝花  回复  更多评论   

2009-08-30 08:33 by 陈枝
很新颖

# 星星枝花  回复  更多评论   

2009-08-30 08:34 by 陈枝
很不错

# re: GPSR协议安装   回复  更多评论   

2009-09-23 22:20 by hongnix@163.com
# 高手,下次有问题找你!

# re: GPSR协议安装   回复  更多评论   

2011-07-26 17:18 by 子锌
特别感谢
只有注册用户登录后才能发表评论。