2016-03-04 32 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);