2016-03-04 47 views
3

我想從VeNet Source for OMNet ++的RSU模型的應用層訪問TraCI的命令接口。但我無法找到。任何人都可以請幫我這麼做嗎?如何在Veins Car2X模擬器中從TraCIDemoRSU11p訪問Traci命令界面?

請注意,在RSU節點的情況下,我沒有TraciMobility作爲父模塊。它只有BaseMobility,這是我想要的。現在我想訪問命令界面,以便這個RSU可以執行相撲指令,比如更換紅綠燈並獲得感應循環數據。

+0

這將是很好的補充關於靜脈版本的一些信息和OMNET你使用,IIRC有隨着新靜脈版本的發佈,最近對TraCI代碼進行了一些更改。 –

回答

1

Veins 4.3提供了一個TraCIScenarioManagerAccess幫助程序類,它可以用來快速訪問代碼中處理TraCI的類(並通過它,轉換爲包裝命令接口的類)。

有關如何使用這個接口,請參閱TraCIScreenRecorder下面的代碼示例:

#include "veins/modules/mobility/traci/TraCIScenarioManager.h" 
#include "veins/modules/mobility/traci/TraCICommandInterface.h" 
[...] 
TraCIScenarioManager* manager = TraCIScenarioManagerAccess().get(); 
ASSERT(manager); 
TraCICommandInterface* traci = manager->getCommandInterface(); 
if (!traci) { 
    error("Cannot create screenshot: TraCI is not connected yet"); 
} 
TraCICommandInterface::GuiView view = traci->guiView(par("viewName")); 
view.takeScreenshot(filename);