如何从 Veins Car2X 模拟器中的 TraCIDemoRSU11p 访问 TraCI 命令界面?

Nis*_*tri 5 c++ omnet++ veins

我想从Veins Source for OMNet++中RSU模型的应用层访问TraCI的命令接口。但我无法找到。任何人都可以帮我这样做吗?

请注意,在 RSU 节点的情况下,我没有将 TraciMobility 作为父模块。它只有 BaseMobility,这正是我想要的。现在我想访问命令界面,以便此 RSU 可以执行相扑指令,例如更改交通灯和获取感应回路数据。

Chr*_*mer 3

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);
Run Code Online (Sandbox Code Playgroud)