我第一次使用 omnet++ (v5.6.2) 和静脉 (v5.1),我试图在特定时间从 RSU 向第一辆车(节点 [0])发送消息在模拟过程中。
我的主要目标是创建一种在 RSU 发送消息时立即停车的方法。我想创建一个布尔变量,它会在经过一定时间后变为真,这将触发 RSU 发送消息并因此强制汽车停止(可能来自已经存在的 handleMessage?)。
我已在示例中的 RSU 设置中将 sendBeacons 设为 true,该示例执行的操作与我想要实现的内容类似,但找不到在给定时间仅向一辆汽车发送一条消息的方法。< /p>
我目前正在研究 MyVeinsApp
和 DemoBaseApplLayer
,但我还没有想出真正做到这一点的方法。
如果您有任何帮助或意见,我将不胜感激!谢谢!
答案 0 :(得分:0)
通常,您会在 OMNeT++ 中对此进行建模,让模块的 initialize 方法在特定时间安排“自我消息”,然后通过在此时执行您想要发生的事情来对收到此“自我消息”做出反应.有关更多详细信息,请参阅 OMNeT++ Tic Toc 教程。
Veins 通过(可选)提供 TimerManager 帮助程序组件 https://github.com/sommer/veins/blob/veins-5.1/doc/manual/timermanager.md 使这变得更容易一些,该组件允许您使用 C++ lambdas 在给定时间执行代码。您可以在 https://github.com/sommer/veins/blob/veins-5.1/subprojects/veins_inet/src/veins_inet/VeinsInetSampleApplication.cc
查看使用此 TimerManager 的示例模块