1. 程式人生 > 實用技巧 >Ubuntu 18.04 上安裝水下網路模擬器Aqua-Sim NG

Ubuntu 18.04 上安裝水下網路模擬器Aqua-Sim NG

目錄

目前水下感測網的研究內容並不多,模擬軟體就更加匱乏了,目前比較完善並且在持續更新的模擬軟體有DESERT-Underwater(基於NS-2), Unet-Stack(基於JVM開發), 和Aqua-Sim NG(基於NS-3)。

本文主要是介紹Aqua-Sim NG 的安裝。

NS-3原始碼下載: 首先先去網址 https://www.nsnam.org/releases/ 下載NS-3的原始碼,目前Aqua-Sim NG經過測試可以使用的是 3.24, 3.26, 3.27三個版本。

我這裡下載的是3.26版本,將下載下來的檔案使用如下命令解壓: tar xjf ns-allinone-3.26.tar.bz2

Aqua-Sim NG原始碼下載: Aqua-Sim NG去GitHub https://github.com/rmartin5/aqua-sim-ng 下載,然後將下載下來的壓縮包解壓。將解壓後的檔案複製到ns-allinone-3.26/ns-3.26/src/目錄下。從這裡可以看出Aqua-Sim NG其實是被作為NS-3的一個模組一起被編譯安裝。

後續的步驟基本上就是ns-3的安裝過程了。

第一步:處理gcc版本

ns3的安裝需要使用gcc和g++編譯,但是Ubuntu18.04系統預設的gcc/g++版本一般在7.X多,而ns3的編譯不支援太高版本的gcc/g++,如果不將gcc/g++降級的話,在編譯安裝ns3時會失敗。

可以先通過命令gcc -v檢視一下系統中當前gcc/g++版本。

如果確實較高則執行如下命令降低gcc和g++版本:

#安裝低版本gcc和g++
sudo apt-get install gcc-5
sudo apt-get install g++-5
#進入/usr/bin目錄
cd /usr/bin
#先備份
sudo mv gcc gcc.backup
sudo mv g++ g++.backup
#然後將我們下載的5.幾版本的gcc和g++連結過去
sudo ln -sf gcc-5 gcc
sudo ln -sf g++-5 g++
#參看是否降級成功
gcc -v

注意:sudo apt-get install gcc-5

這條命令如果寫出具體的gcc版本在我的系統上無法成功執行,但是模糊的寫一個gcc-5就可以成功執行,命令會自動下載一個gcc-5.5。g++同理。

第二步:安裝相關依賴

在正式編譯安裝ns3之前,要先安裝很多依賴軟體,執行以下命令安裝這些依賴即可:

sudo apt-get update
sudo apt-get install gcc g++ python
sudo apt-get install gcc g++ python python-dev
sudo apt-get install mercurial
sudo apt-get install bzr
sudo apt-get install gdb valgrind
sudo apt-get install gsl-bin libgsl-dev libgsl2 
sudo apt-get install flex bison libfl-dev
sudo apt-get install g++ gcc
sudo apt-get install tcpdump
sudo apt-get install sqlite sqlite3 libsqlite3-dev
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libgtk2.0-0 libgtk2.0-dev
sudo apt-get install vtun lxc
sudo apt-get install uncrustify
sudo apt-get install doxygen graphviz imagemagick
sudo apt-get install python-sphinx dia
sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev
sudo apt-get install libboost-signals-dev libboost-filesystem-dev 
sudo apt-get install openmpi*
sudo apt-get install texlive texlive-extra-utils texlive-latex-extra

可以把這些命令複製到一個指令碼檔案裡一次性執行,免得一條一條執行太麻煩。

第三步:正式安裝

1、先進入到目錄ns-allinone-3.26,然後執行如下命令:

cd ns-allinone-3.26
sudo ./build.py 

2、然後進入到目錄ns-3.26,執行命令

cd ns-3.26
sudo ./waf clean

3、在目錄ns-3.26下,執行如下命令完成編譯安裝

sudo ./waf -d debug --enable-example --enable-tests configure
sudo ./waf

如圖下圖所示,出現該情況表示編譯成功

第四步:測試

在ns-allinone-3.26/ns-3.26目錄下,執行如下命令,測試是否安裝成功:

sudo ./waf --run hello-simulator

輸出Hello Simulator表示NS-3安裝成功

也可以執行如下命令執行Aqua-Sim NG的一個示例程式,如果正常輸出不報錯誤,則表明Aqua-Sim NG成功安裝。

sudo ./waf --run broadcastMAC_example