OMNET++ MIXIM TUTORIAL

OMNeT++ MIXIM Tutorial offers detailed models of radio wave propagation, interference estimation, radio transceiver power consumption and wireless MAC protocols like Zigbee.MIXIM is a combination of various simulator combining different simulator.MIXIM is primarily developed for wireless and mobile simulations.

Mixnet:

It was a project contained in MiXiM’s “inet” folder whichever provides all modules, examples an documentation concerning using MiXiM and INET together in the same network.

Reasons for introducing MIXIM:

  • Fortunately these are the layers for which the INET framework provides a lot of very detailed modules
  • The idea of Mixnet was to bring INET and MIXIM together to be able to use the wireless NICs from MIXIM together with the upper network stack from INET.
  • It concentrates on providing very detailed models of wireless network interface cards it does not provide very sophisticated upper layers

 

Models of MIXIM framework:

  • Protocol library.
  • Connectivity.
  • Collision.
  • Experiment support.
  • Mobility.
  • Reception.
  • Environmental model.

Sample code for MIXIM:

This is the sample code of base module in MIXIM

BaseLayer::initialize(stage);
  if(stage == 0) {
    world = FindModule<BaseWorldUtility*>::findGlobalModule();
    delayTimer = new cMessage("delay-timer", SEND_BROADCAST_TIMER);

    arp = FindModule<BaseArp*>::findSubModule(findHost());
    myNetwAddr = arp->myNetwAddr(this);
    packetLength = par("packetLength");
    packetTime = par("packetTime");
    pppt = par("packetsPerPacketTime");
    burstSize = par("burstSize");
    destination = par("destination");
    nbPacketDropped = 0;
    Packet p(1);
    catPacket = world->getCategory(&p);
  } else if (stage == 1) {
    if(burstSize > 0) {
      remainingBurst = burstSize;
      scheduleAt(dblrand() * packetTime * burstSize / pppt, delayTimer);
    }
  } else {
  }