Прокси-модули OMNeT ++ для светофоров SUMO доступны с Veins 4.7.
Если у вас есть сеть, включающая светофор, вам нужно добавить следующие строки в ваш файл omnetpp.ini:
*.manager.trafficLightModuleType = "org.car2x.veins.nodes.TrafficLight"
*.manager.trafficLightModuleName = "trafficLight"
*.manager.trafficLightModuleDisplayString = default
*.manager.trafficLightFilter = "MYTRAFFICLIGHTID"
*.trafficLight[*].mobility.x = 0
*.trafficLight[*].mobility.y = 0
*.trafficLight[*].mobility.z = 3
*.trafficLight[*].applType = "YOURAPPLAYERTYPE"
*.trafficLight[*].logicType = "YORUTRAFFICLIGHTLOGIC"
Термин MYTRAFFICLIGHTID
необходимо заменить на идентификатор, который вы используете в своей сети SUMO.Если у вас есть несколько светофоров для управления, вы можете перечислить идентификаторы SUMO, разделенные пробелами.
Светофор состоит из приложения (YOURAPPLAYERTYPE
) и логики (YORUTRAFFICLIGHTLOGIC
).Оба свойства являются обязательными и должны быть указаны в файле omnetpp.ini.
В текущей основной ветке Veins YOURAPPLAYERTYPE
является модулем OMNeT ++, который использует DemoBaseApplLayer
в качестве базового модуля.
class YOURAPPLAYERTYPE: public DemoBaseApplLayer {
....
}
YORUTRAFFICLIGHTLOGIC
- это модуль OMNeT ++, который использует TraCITrafficLightAbstractLogic
в качестве базового модуля.
class YORUTRAFFICLIGHTLOGIC: public TraCITrafficLightAbstractLogic{
....
}