ubuntu下Veins安裝教程
(注:此次平臺搭建是在ubuntu linux12.04LST升級版下完成的,建議使用英文版,便於系統識別檔案。)
Veins是一個由基於事件的網路模擬器和道路交通模擬模型構成的具有開放資源的車間通訊模擬系統。其中,網路模擬器使用OMNeT++軟體,道路交通模擬使用SUMO軟體。在進行模擬時,兩個模擬器平行執行,通過TCP介面連線。從而完成道路交通與網路的雙向互聯。Veins可以工作在Windows,Linux,Mac7三種不同的平臺之上,本文將介紹其在Linux平臺上的搭建方法。在非Windows平臺上工作時,veins模擬環境執行依賴一些特殊的軟體包,這些軟體包需要在其他安裝之前進行安裝。具體辦法是在終端執行命令:
其中,
dev前的英文表示不同的軟體包,類似於
zliblg,tk8.4等軟體包可以在
ubuntu軟體中心找到,直接下載安裝即可;而
sun-java6-jre不是
unbuntu預設的
java,在軟體中心沒有資源,可以參見參考文獻
在其中找到下載資源。但是本次搭建中使用預設的java也順利的完成了搭建任務。
Veins平臺的搭建其實就是在系統中安裝組成veins的幾個軟體,所以基本步驟就是下載和安裝,只是一些具體的操作會有所不同,下面將一一介紹。
1、下載及安裝sumo
1.1下載sumo0.15.0版本
本次平臺搭建使用sumo0.15.0版本,原因是veins不支援高版本的sumo ,為了使用起見,採用0.15.0版在http://sourceforge.net/apps/mediawiki/sumo/index.php?title=Downloads中選擇sumo olderreleases下的sourceforge download portal,之後選擇vesion 0.15.0,如圖1-1所示:
圖1-1 sumo安裝版本選擇
再選擇sumo-all-0.15.0.tar.gz出現圖1-2中的對話方塊:
圖1-2 sumo下載對話方塊介面
選擇save file後點擊OK,即可完成下載。
1.2解壓檔案
在資料夾的下載頁找到下載完成的sumo-all-0.15.0.tar.gz檔案,解壓有兩種方法:一是右鍵選擇extract here完成解壓,解壓後將之移動到/home/software目錄中;二是使用命令列,開啟終端,輸入cd /home/cang/Downloads進入資料夾,輸入tar xvfz sumo-all-0.15.0.tar.gz即可完成解壓,解壓後終端顯示如圖1-3所示,資料夾內顯示如圖1-4所示:
圖1-3 sumo解壓完成終端介面的顯示
1.3安裝
將解壓後的檔案移動至/home/cang/software後,安裝將在終端中繼續進行,匯入解壓檔案的當前目錄如cd/home/cang/software/sumo-0.15.0,輸入./configure,完成後如圖1-5所示:
圖1-4 sumo解壓完成後資料夾內的顯示
圖1-5 sumo配置完成後的終端介面
之後順序輸入make ;sudo make install兩個命令,完成編譯和安裝。此時在sumo的資料夾中的bin檔案內看到GUI檔案,即說明安裝成功,以後開啟sumo時亦是使用此圖示,可將之移動至桌面方便以後使用。
1.4檢驗是否安裝成功
開啟GUI檔案,選擇file,open simulation,到達目錄/home/cang/veins-2.0/examples/veins,選擇erlangen.sumo.cfg出現圖1-6即說明安裝成功:
圖1-6 sumo示例
出現圖1-6後在工具欄點選綠色start按鈕即可開始模擬,一段時間後可觀察到運動的小車,滑動滑鼠滑輪進行放大或點選工具欄放大工具可近距離觀察小車的運動。
2、下載及安裝OMNeT++
2.1下載軟體
開啟http://omnetpp.org,在OMNeT++4.2.2 released中點選download link出現如圖2-1所示:
圖2-1 OMNeT++安裝版本選擇
選擇OMNet++4.2.2(source+IDE,tgz),在新頁面的第一行選擇4.2.2版本即可出現圖2-2所示下載對話方塊:
圖2-2 OMNeT++下載對話方塊界
對話方塊上面的即為新頁面中需要點選的專案。選擇save file後點擊OK即可開始下載。
2.2安裝OMNeT++
安裝前的解壓工作同解壓SUMO,也有兩種方法,採用命令列時也需要匯入檔案目錄之後使用tar xvfz omnetpp-4..2-src.tgz。安裝前還需要安裝幾個必備的軟體gcc,g++,這可以再ubuntu軟體中心直接找到;或者也可以點選ubuntu圖示輸入synaptic package manager,在這裡也可找到相應需要的軟體,具體還有別的需要更新的軟體將會在安裝過程中給出提示,按提示安裝即可。
安裝在終端中進行,匯入相應資料夾後依次輸入
cd omnetpp-4.2.2 ;匯入omnet++
. setenv ;設定環境變數
gedit ~/.bashrc ;設定永久環境變數
exportPATH=$PATH:$HOME/omnetpp-4.2.2/bin;匯出路徑之後關閉終端
./configure
make
omnetpp ;啟動軟體
makeinstall-desktop-icon ;在桌面設定快捷方式
安裝完成後即可立即執行軟體,此處不一一截圖。
2.3檢驗是否安裝成功
執行OMNeT++,開啟後在左側的Project explorer中雙擊dyna,右鍵omne
tpp.ini選擇run as—OMNeT++Simulation出現圖2-3所示的主介面,圖2-4所示的Tkenv介面以及圖2-5所示的scenario介面:
圖2-3 執行示例後的OMNeT++主介面
圖2-4 執行示例後的OMNeT++的Tkenv介面
圖2-5 執行示例後的OMNeT++的scenario介面
此時說明安裝成功。
3、下載及建立Veins元件系統
3.1下載及建立系統
開啟omnet,選擇file—import在出現的對話方塊中選擇general—existingprojects into workspace,在impot對話方塊中選擇root directory,入/homg/cang(這是與解壓的目錄相對應),點選browse後在project下選擇mixim,點選finish即完成veins元件系統的建立過程,此時主介面的左側project explorer中出現mixim如圖3-1所示:
圖3-1 veins元件系統建立後OMNeT++主介面中的顯示
3.2完成示例
此示例展示了OMNeT++驅動如何對真實城市(埃朗根)中由移動車輛組成的無線車載網路進行的模擬,如何選擇起點至終點的路線,一個節點(車輛)發生事故時如何對訊息進行廣播以及其他節點(車輛)收到訊息後如何轉化路線。由之前知識我們知道,veins是通過sumo和omnet聯合模擬完成車聯網模擬,在這裡需要在終端使用sumo-launchd命令在後臺啟動一個sumo,然後通過tcp埠同omnet模擬器進行互動完成車聯網模擬。
具體步驟如下:
1.啟動omnet,開啟sumo-launchd在後臺啟動一個sumo。當前的目錄改變至sumo-launchd.py檔案的目錄(這個檔案在veins2.0中)
使用命令列cd /home/cang/veins-2.0;
開啟sumo-launchd一建立監聽連線,執行命令列:
./sumo-launchd.py –vv–c /home/cang/software/sumo-0.15.0/bin/sumo
此時終端顯示如圖3-2所示:
圖3-2 監聽連線建立完成的終端介面
2.利用OMNeT++驅動模擬的進行。在OMNeT主介面project explorer中依次選擇mixim—example—veins,右鍵omnetpp.ini選擇runas—omnet++simulation。
出現圖3-3所示視窗則此次示例執行成功:
圖3-3 示例完成後scenario介面
在圖3-3中,移動的車輛被表示為獨立的節點node,節點顏色變綠表示車輛接收到發生事故車輛所傳送的廣播訊息。在動態的scenario介面中,執行過程中還會出現的紅色節點以表示發生事故的車輛,它將向其他節點廣播事故訊息,受影響車輛受到訊息後會作出執行其他路線的決定。
至此,Veins平臺完成搭建。