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 {
}