OMNET++ ZIGBEE
OMNET++ ZIGBEE is used In order to satisfy the demand of low power dissipation and low speed among wireless communication devices, a new type of wireless net technology-ZIGBEE.
Types of feature sets in ZIGBEE:
- ZIGBEE PRO
- ZIGBEE
These are all the two different feature sets present in ZIGBEE
Features of ZIGBEE:
- Security key generation mechanism.
- Supports alliance standards.
- Regional operation in the 915Mhz.
- Various transmission options including broadcast.
- Global operation in the 2.4Ghz frequency band according to IEEE 802.15.4.
- Discovery mechanism with full application confirmation etc.
ZIGBEE device types:
There are three different standard types are as follows,
- ZIGBEE physical device type.
- Combination of application.
- ZIGBEE logical.
Sample code for ZIGBEE:
[code lang="js"] void TimerService::setTimer(int timerIndex, simtime_t time) { if (timerIndex < 0) opp_error("setTimer(): timerIndex=%i negative index is not allowed",timerIndex); if (timerIndex >= TIMER_MAX_SIZE) opp_error("setTimer(): timerIndex=%i is too large",timerIndex); cancelTimer(timerIndex); if (timerIndex >= timerMessages.size()) { int newSize = timerMessages.size() + TIMER_MIN_SIZE; if (newSize > TIMER_MAX_SIZE) newSize = TIMER_MAX_SIZE; else if (timerIndex >= newSize) newSize = timerIndex + 1; timerMessages.resize(newSize,NULL); } timerMessages[timerIndex] = new TimerServiceMessage("Timer message", TIMER_SERVICE); timerMessages[timerIndex]->setTimerIndex(timerIndex); scheduleAt(simTime() + timerDrift * time, timerMessages[timerIndex]); } void TimerService::handleTimerMessage(cMessage * msg) { int msgKind = (int)msg->getKind(); if (msgKind == TIMER_SERVICE) { TimerServiceMessage *timerMsg = check_and_cast<TimerServiceMessage*>(msg); int timerIndex = timerMsg->getTimerIndex(); if (timerIndex < 0 || timerIndex >= timerMessages.size()) return; if (timerMessages[timerIndex] != NULL) { timerMessages[timerIndex] = NULL; timerFiredCallback(timerIndex); } } } [/code]