一、PyViz安装

1.安装依赖包

sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-gnomedesktop python-rsvg

注意:  ‘python-gnomedesktop’安装包问题  将命令python-gnomedesktop换为 python-gnome2-desktop-dev

 

2.安装交互python使得GUI上有控制台按钮

sudo apt-get install ipython

 

3.PyViz测试

1) python脚本

./waf --pyrun src/flow-monitor/examples/wifi-olsr-flowmon.py --visualize

2) C++脚本
对于src/olsr/examples/simple-point-to-point-olsr.cc脚本,要出现GUI界面,使用下面的命名是无法成功的
./waf --run src/olsr/examples/simple-point-to-point-olsr --vis

需要修改wscript文件(都可~)

obj=bld.create_ns3_program('simple-point-to-point-olsr', ['point-to-point', 'internet', 'olsr', 'applications', 'wifi'])
修改成
obj=bld.create_ns3_program('simple-point-to-point-olsr', ['point-to-point', 'internet', 'olsr', 'applications', 'wifi', 'visualizer'])


4.使用方法   

以命令行参数的形式调用,只要编写的脚本(形如xxx.cc文件)中加入下面的语句(需加在创建节点之前):  

1)CommandLine cmd;

2)cmd.Parse (argc, argv);

运行程序时加入参数   --vis

比如:sudo ./waf --run examples/tutorial/third --vis

 

5.使用实例

sudo ./waf --run scratch/first --vis

 

注意:--vis 选项无效

visualizer模块依赖PythonBinding,NS3中的PythonBinding由pybindgen完成,但是pybindgen工具在ns-allinone-3.xx目录下,而不是在ns-3.xx目录下,如果移动了ns-3.xx的目录,就无法定位pybindgen进而完成PythonBinding

解决方法:

重新配置和编译NS-3,配置行用 --with-pybindgen加上pybindgen所在目录:

sudo ./waf -d debug --enable-examples --enable-tests configure --with-pybindgen=~/NS3/ns-allinone-3.25/pybindgen-0.17.0.post49+ng0e4e3bc/

sudo ./waf

注意事项:

1)LTE devices do not support visualizer yet.也就是PyViz不适用于LTE网络设备

2)You cannot use visualizer with simulations that require emulation (EmuNetDevice, TapNetDevice) or real-time scheduler (RealTimeSimulator).

 

二、安装NetAnim

1.安装依赖包并下载
sudo apt-get install mercurial
sudo apt-get install qt4-dev-tools


这里可以下载关于NS3的很多软件包    http://code.nsnam.org/

 

2.安装NetAnim

进入Netanim文件夹

 

cd netanim-3.107
sudo make clean
sudo qmake NetAnim.pro (For MAC Users: qmake -spec macx-g++ NetAnim.pro)
sudo make

 

参考:

1. https://blog.csdn.net/mars_nudt/article/details/7464088

2. https://blog.csdn.net/tttabcgy/article/details/77675853

3. https://blog.csdn.net/wuzhiwuweisun/article/details/79493986

4. https://blog.csdn.net/qq_22634949/article/details/83543311

5. https://blog.csdn.net/wuzhiwuweisun/article/details/79790041