Omnet++ 发送无线信息到有限的距离
Omnet++ Send wireless message to limited distance
我开发了移动节点的模拟器,例如每个节点的传输范围为100m。节点之间的通信是基于无线和 TDMA 的。
我注意到,如果 2 个节点(不在同一范围内)同时广播消息,则会导致问题。
如何限制节点发送消息的距离?这样我就可以同时广播 2 个或更多消息,并且只有发送节点范围内的节点才会听到消息?
处理数据包接收的代码应该计算与发送方的距离,如果超出范围则丢弃数据包。
一个不太准确的解决方案:在发送数据包之前,广播节点应该检查到潜在接收节点的距离,如果超出范围则不发送数据包。这样速度更快(因为它生成的数据包更少)并且更清晰(您只会看到实际传送的数据包的广播动画)
更简单的解决方案:使用 INET Framework,它已经具有必要的实现。您只需要实现一个处理 TDMA 协议的 MAC 模块。
我开发了移动节点的模拟器,例如每个节点的传输范围为100m。节点之间的通信是基于无线和 TDMA 的。 我注意到,如果 2 个节点(不在同一范围内)同时广播消息,则会导致问题。
如何限制节点发送消息的距离?这样我就可以同时广播 2 个或更多消息,并且只有发送节点范围内的节点才会听到消息?
处理数据包接收的代码应该计算与发送方的距离,如果超出范围则丢弃数据包。
一个不太准确的解决方案:在发送数据包之前,广播节点应该检查到潜在接收节点的距离,如果超出范围则不发送数据包。这样速度更快(因为它生成的数据包更少)并且更清晰(您只会看到实际传送的数据包的广播动画)
更简单的解决方案:使用 INET Framework,它已经具有必要的实现。您只需要实现一个处理 TDMA 协议的 MAC 模块。