【发布时间】:2016-04-18 13:13:25
【问题描述】:
我想使用一些在 omnet++/veins 中似乎没有实现的 sumo/traci 命令,例如:
- 以红绿灯命令 setRedYellowGreenState(tlsID, state) 为例
- 连接命令
- 和其他命令
从 omnet++/veins 使用这些命令的最简单方法是什么?
非常感谢您的帮助。 问候:)
【问题讨论】:
我想使用一些在 omnet++/veins 中似乎没有实现的 sumo/traci 命令,例如:
从 omnet++/veins 使用这些命令的最简单方法是什么?
非常感谢您的帮助。 问候:)
【问题讨论】:
您可以在TraCICommandInterface.cc, for example to set a TL program找到现有的与SUMO交互的客户端源代码:
TraCIBuffer buf = connection->query(CMD_SET_TL_VARIABLE, TraCIBuffer()
<< static_cast<uint8_t>(TL_PROGRAM)
<< trafficLightId
<< static_cast<uint8_t>(TYPE_STRING)
<< program
);
对应的服务器源码可以在TraCIServerAPI_TLS.cpp, for example to set a TL program找到:
// variable & id
int variable = inputStorage.readUnsignedByte();
std::string id = inputStorage.readString();
// [...] case TL_PROGRAM:
server.readTypeCheckingString(inputStorage, subID)
vars.switchTo(tlsControl, subID);
通过调查服务器准备如何与客户端交互(以及客户端如何与服务器交互),您应该能够根据自己的意愿扩展客户端。
【讨论】: