在.cc文件中获取类的参数和属性

时间:2018-07-06 19:42:21

标签: networking simulation omnet++

问题是:几个移动元件(ME)被用来从野外收集感官数据。首先,应将节点进行群集,并应选择一些能量丰富的CH作为会合节点(RN)。传感器节点将其数据传递给RN,最后,移动元素应访问这些RN以收集数据。 这项工作的主要部分是估计到RN的路由路径。 1)如何进行群集和确定RN? 2)如何强制移动元素通过我定义的移动路径? 我使用INET无线展示柜来模拟此问题。 第一部分:我不知道。请帮忙! 作为问题的第二部分(ME运动),我做了:

module MEpath extends AdhocHost
{
    parameters:
    @display("i=device/cellphone");
    @class(MEpath);
    mobilityType = "MassMobility";
}
network MyNet
{
parameters:
    int numHost;
    int numME;
    string mediumType = default("IdealRadioMedium");

submodules:
    visualizer: IntegratedCanvasVisualizer {
        parameters:
            @display("p=47,16");
    }
    configurator: IPv4NetworkConfigurator {
        parameters:
            @display("p=47,97");
    }
    radioMedium:  <mediumType> like IRadioMedium {
        parameters:
            @display("p=55,271");
    }
    lifecycleController: LifecycleController {
        parameters:
            @display("p=34,176");
    }
    host[numHost]: AdhocHost {
        parameters:
            @display("p=222,300");
    }
    mobileHost[numME]: MEpath {
        @display("p=296,207;i=device/pocketpc");
    }
}

定义MEpath模块是否正确?我应该更改哪个类或.cc文件?我应该在MEpath.cc中写些什么?

  

也许这很不寻常,但是在使用omnet ++和inet手册时,我一点都没有问题。我找不到应该更改的类的属性和参数? !

1 个答案:

答案 0 :(得分:0)

广告。 2。。您可以使用BonnMotionMobility。它在INET Framework 4.0 User's GuideINET API Reference中都有解释。它需要一个包含几个值的文件:时间,x和y,以空格分隔。您可以在examples的{​​{1}}目录中找到此文件的示例,例如:INET
要使用这种类型的移动性,您应该在examples\mobility\bonnmotion_small.movements中进行以下设置:

omnetpp.ini

此外,您应该删除以下行:

**.mobileHost*.mobility.typename = "BonnMotionMobility"
**.mobileHost*.mobility.traceFile = "your_trace_file"

来自您的mobilityType = "MassMobility"; 定义(因为它是hardcoded,因此无法通过MEpath进行控制)。
omnetpp.ini的定义是正确的。它需要包含MEpath个C ++类的*.h*.cc个文件。