5

我想从 Veins Source for OMNet++ 中 RSU 模型的应用层访问 TraCI 的命令接口。但我找不到。谁能帮我这样做?

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

4

2 回答 2

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);
于 2016-03-07T14:56:57.503 回答
1

在静脉 4.4 中,我尝试从 TraCIDemoRSU11p 访问 TraCI 命令界面。最后我能够访问,我在 TraCIDemoRSU11p.h 中插入以下代码:

#include "veins/modules/mobility/traci/TraCICommandInterface.h"
[...]
using Veins::TraCICommandInterface;
[...]   
protected:
        TraCICommandInterface* traci;

然后,您可以访问 TraCICommandInterface。祝你好运。

于 2019-01-07T11:45:20.090 回答