iSense
The coalesenses iSense Wireless Sensor Networking Software System

iSense is not only a modular wireless sensor network hardware platform, but also a modular, multi-platform software system for sensor networks. It enables lean but comprehensive applications, because it is based on object oriented programming in C++ and provides dynamic memory and optional floating point support. It provides hardware abstractions for convenient, secure programming and enhanced portability.

Functionality of the iSense Software System

The iSense Software System provides a large number of ready-to-run services and protocols:

Routing protocols

iSense comprises a large number of routing protocols, the most important ones are

IPv4 and IPv6 Support

Besides the proprietary networking stack, iSense comprises an IPv4 and IPv6 stack, which includes all functionality required for connecting wireless sensor networks with existing Ethernet installations using the internet protocol family.

Within the sensor network, the 6LoWPAN protocol suite (including implementations of neighbor discovery, header compression and fragmentation) is used to transmit IPv6 datagrams over the IEEE 802.15.4 link layer radio interface. The stack supports both the Route-Over and Mesh-Under mode in the sensor network, functionality for routers within the network as well as for 6LoWPAN border routers is included.

Besides UDP and TCP, a simple HTTP server including Digest Authentication is part of the stack. In addition, it provides a full-featured Constrained Application Protocol (CoAP) server (including the Observe Draft). Hence, the stack is ready to offer Restful Webservices within your wireless network.

Services

iSense offers an OS-like functionalities, such as

Platform support

So far, iSense has been ported to a number of different hardware platforms: Besides the

it runs on

which is especially beneficial for wireless sensor network software development. It allows application simulation in the SHAWN wireless sensor network simulator without extra effort. Applications just need to be compiled for a different target to be ready to run within the simulator.