我想知道如何开始编写一个能够在车辆靠近 RSU 时发送消息的程序。
首先,我仍然对一些定义感到困惑,但是,一点一点地,我想我会学习静脉。
module = simulation.getModuleByPath("rsu[0]");
c = MobilityAccess().get(module)->getCurrentPosition();
我在这个线程中找到了这部分代码:获取两个不同模块的位置 https://stackoverflow.com/questions/31302789/getting-the-location-of-two-different-modules
但还是有一些疑问:
1) Module
是什么样的物体?我猜TraCIMobility*
2) 怎么样simulation
?我不知道。
那么,有人可以先向我解释一下如何在 TraCIDemo11p.cc 中获取 RSU 坐标吗?
Thanks!
如果您研究 Veins 4.4 教程模拟(例如,通过在 OMNeT++ 的 TkEnv 中运行它),您将看到rsu[0]
包含一个名为的子模块mobility
这是类型BaseMobility
。如果您调查BaseMobility
类你会看到它有一个方法getCurrentPosition()
。想必通过阅读 OMNeT++ 用户手册,您已经知道如何获取指向模拟中任何模块的指针。
将这些知识放在一起,您就找到了一种方法(多种可能的方法)来获取静脉模拟中(命名)节点的位置。
假设您使用的是 Veins 4.4,则模拟中的任何 OMNeT++ 模块都可以执行以下代码来获取名为的节点的位置rsu[0]
:
Coord pos = check_and_cast<BaseMobility*>(getSimulation()->getModuleByPath("rsu[0].mobility"))->getCurrentPosition();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)