unlike a desktop, a battery constrained sensor node does not have enough energy to support a full TCP/IP stack, perform complex routing algorithms, exchange data at high rates of speed, and constantly poll the system for data and routing updates thus existing network models that do not take into consideration are not suitable for a sensing network.

Basic Subsystems of Motes

Power: sensor motes don’t have the ability to monitor an environment for unlimited time as they only have limited energy.

Computation: Sensor motes are required to process sensor data and communicate with others. Their computation power of the motes is very less compared to any desktop.

Sensors: sensor motes have the basic sensors for sensing the environment like temperature, pressure, humidity, sound, acceleration.

Communication: communication must be possible between the motes separated by a range of few meters.

The nature of communication in sensor networks requires hardware that supports low power on/off overhead. The transmission distance of the low power radios, < 10 ms, results in significantly different architectures for computation partitioning.

Adhoc networking for sensor networks can be classified as being a

Static Value Added: this is the simplistic network where a user terminal specifies the network structure: perhaps even assigning a X, Y, Z spatial coordinates to each mote. Routing in this case takes a form of calculating which node to forward a packet to based on a spatial XYZ address

Query Processing: A query processing network facilitates the computation of aggregate functions (e.g. min, max, mean) and creates a one to many spanning tree topology to facilitate this.

Collaborative processing: A network for collaborative processing requires Network Embedded System Technology services to provide time synchronization, localization and service coordination.

Active Message

typedef struct _AMMOTE_ROUTE {
    unsigned char Hops;
    unsigned char Route[AMMOTE_MAX_HOPS];
} AMMOTE_ROUTE, *PAMMOTE_ROUTE;

typedef struct _AMMOTE_MSG {
    unsigned char R0;
    AMMOTE_HNDLR_ID Handler;
    unsigned char Hops;
    AMMOTE_HNDLR_ID HandlerF;
    unsigned char R1,R2,R3,R4;
    unsigned char Source;
    unsigned char Data[21];
} AMMOTE_MSG, *PAMMOTE_MSG;

struct _AMMOTE_ENDPOINT {
    unsigned int        ReqCredits;
    double              Timeout;
    double              EstRtt;
    PAMMOTE_HT_ENTRY    HandlerTbl;
    PAMMOTE_ROUTE       RouteTbl;
    AMMOTE_EP_NAME      EpName;
    AMMOTE_MSG          OutsReqMsg;
};

Tinyos Network stack

RFM

Radio Byte

Radio Packet

I2C

photo

Messaging Layer

clocks

bit

byte

packet

Routing Layer

sensing application

HW

SW

ADC

routing

Temp

Multi hop Routing

Stargate

Program for getting routing packets

Analysis of the packets