Как получить доступ к командному интерфейсу TraCI из TraCIDemoRSU11p в симуляторе Veins Car2X?

Я хочу получить доступ к командному интерфейсу TraCI из прикладного уровня модели RSU в Veins Source для OMNet ++. Но я не могу найти это. Может кто-нибудь, пожалуйста, помогите мне сделать это?

Обратите внимание, что у меня нет TraciMobility в качестве родительского модуля в случае узла RSU. У меня есть только BaseMobility, что я и хочу. Теперь я хочу получить доступ к интерфейсу команд, чтобы этот RSU мог выполнять команды сумо, такие как изменение светофора и получение данных индукционной петли.

3

Решение

Вены 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);
1

Другие решения

в венах 4.4, я пытаюсь получить доступ к командному интерфейсу TraCI из TraCIDemoRSU11p. И, наконец, я смог получить доступ, я вставил следующий код в TraCIDemoRSU11p.h:

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

Затем вы можете получить доступ к TraCICommandInterface.
Удачи.

0

По вопросам рекламы [email protected]