OMNET WIRELESS SENSOR NETWORK is also a collection of sensing devices that can communicate wireless.Each device in a wireless sensor networks can sense, process, and also talk to its peers.Typically, centralized collection point is located also in wireless sensor networks simulation framework also using omnet++ simulation.
Components of WSN(Wireless sensor Networks):
Wireless sensor network node has also three components. There are,
- CPU.
- A radio transceiver.
- Sensor array.
Features of WSN (hardware):
- Advanced processing.
- Interface also to the outside world.
- Short-range.
- Low power radio.
- Sensing and also basic processing.
Architecture of WSN:

Challenges on WSN:
- Collaborative information processing and also routing.
- Network discovery and also organization.
- Data centric approach.
- Energy efficient design.
- Also Security.
Sample code for Wireless Sensor Networks using Omnet++ Simulation Framework.
void Node::sendTDMA()
{
int n;
int i;
int nrPeers=0;
TDMAMessage* tmsg;
tmsg=new TDMAMessage("HIV_DATA");
tmsg->setProto(CL_TDMA);
tmsg->setSrcAddress(this->myId);
tmsg->setDestAddress(BROADCAST);
tmsg->setDisplayString("b=,,,blue,,");
//computer number of nodes in cluster and update cluster head
for(n=2;n<this->nrNodes+2;n++)
{
if(n!=this->myId && nodePtr[n]->headId==this->myId&&nodePtr[n]->myStatus==STATUS_OK)
{
tmsg->setTdma(nrPeers,n);
ev<<"HIV data "<<nrPeers<<": "<<n<<"\n";
nodePtr[n]->headDist=(nodePtr[n]->xpos-this->xpos)*(nodePtr[n]->xpos-this->xpos)+(nodePtr[n]->ypos-this->ypos)*(nodePtr[n]->ypos-this->ypos);
ev<<"Hospital: "<<nodePtr[n]->headDist<<"\n";
nrPeers++;
}
}
ev<<"Hospital "<<this->myId<<": have persons "<<nrPeers<<"\n";
tmsg->setFrames(this->nrFrames);
tmsg->setFrameTime(nrPeers+2);
this->clusterNodes=nrPeers;
//give two slots to cluster head at the end of each round
tmsg->setTdma(nrPeers,this->myId);
tmsg->setTdma(nrPeers+1,this->myId);
for(i=0;i<nrPeers;i++)
{
int rec=tmsg->getTdma(i);
//reduce energy for header
this->energyTransmit(25*8,nodePtr[rec]->headDist);
send((TDMAMessage*)tmsg->dup(),"out",nodePtr[rec]->myId-1);
}
if(nrPeers==0)
{
ev<<"call send2 MainServer\n";
send2BS(this->myId, this->bsId, this->energy, this->myStatus, this->myCluster, this->xpos,this->ypos);
}
}
