What is Sensor Network
A wireless sensor network is a wireless network consisting of spatially distributed autonomous devices using sensors to cooperatively monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants, at different locations. The development of wireless sensor networks was originally motivated by military applications such as battlefield surveillance. However, wireless sensor networks are now used in many civilian application areas, including environment and habitat monitoring, health care applications, home automation, and traffic control.
In addition to one or more sensors, each node in a sensor network is typically equipped with a radio transceiver or other wireless communications device, a small micro controller, and an energy source, usually a battery. The envisaged size of a single sensor node can vary from shoebox-sized nodes down to devices the size of grain of dust, although functioning 'motes' of genuine microscopic dimensions have yet to be created. The cost of sensor nodes is similarly variable, ranging from hundreds of dollars to a few cents, depending on the size of the sensor network and the complexity required of individual sensor nodes. Size and cost constraints on sensor nodes result in corresponding constraints on resources such as energy, memory, computational speed and bandwidth.
A sensor network normally constitutes a wireless ad-hoc network, meaning that each sensor supports a multi-hop routing algorithm (several nodes may forward data packets to the base station). In computer science and telecommunications, wireless sensor networks are an active research area with numerous workshops and conferences arranged each year.
Sensor networks are the key to gathering the information needed by smart environments, whether in buildings, utilities, industrial, home, shipboard, transportation systems automation, or elsewhere. Recent terrorist and guerilla warfare countermeasures require distributed networks of sensors that can be deployed using, e.g. aircraft, and have self-organizing capabilities. In such applications, running wires or cabling is usually impractical. A sensor network is required that is fast and easy to install and maintain.
Applications
The applications for WSNs are many and varied, but typically involve some kind of monitoring, tracking, and controlling. Specific applications for WSNs include habitat monitoring, object tracking, nuclear reactor control, fire detection, and traffic monitoring. In a typical application, a WSN is scattered in a region where it is meant to collect data through its sensor nodes.
Characteristics
Unique characteristics of a WSN include:
• Limited power they can harvest or store
• Ability to withstand harsh environmental
conditions
• Ability to cope with node failures
• Mobility of nodes
• Dynamic network topology
• Communication failures
• Heterogeneity of nodes
• Large scale of deployment
• Unattended operation
Sensor nodes can be imagined as small computers, extremely basic in terms of their interfaces and their components. They usually consist of a processing unit with limited computational power and limited memory, sensors (including specific conditioning circuitry), a communication device (usually radio transceivers or alternatively optical), and a power source usually in the form of a battery. Other possible inclusions are energy harvesting modules, secondary ASICs, and possibly secondary communication devices.
The base stations are one or more distinguished components of the WSN with much more computational, energy and communication resources. They act as a gateway between sensor nodes and the end user.
Platforms
Standards
Several standards are currently either ratified or under development for wireless sensor networks. ZigBee is a mesh-networking standard intended for uses such as embedded sensing, medical data collection, and consumer devices like television remote controls, and home automation. Zigbee is promoted by a large consortium of industry players. WirelessHART is an extension of the HART Protocol and is specifically designed for Industrial applications like Process Monitoring and Control. WirelessHART was added to the overall HART protocol suite as part of the HART 7 Specification, which was approved by the HART Communication Foundation in June 2007. 6LoWPAN is the IETF standards track specification for the IP-to-MAC-Layer mapping for IPv6 on IEEE 802.15.4. ISA100 is a new standard under development that makes use of 6lowpan and provides additional agreements for industrial control applications.
Hardware
The main challenge is to produce low cost and tiny sensor nodes. With respect to these objectives, current sensor nodes are mainly prototypes. Miniaturization and low cost are understood to follow from recent and future progress in the fields of MEMS and NEMS. Some of the existing sensor nodes are given below. Some of the nodes are still in research stage.
An overview of commonly used sensor network platforms, components, technology and related topics is available in the SNM - Sensor Network Museum.
Software
Energy is the scarcest resource of WSN nodes, and it determines the lifetimes of WSNs. WSNs are meant to be deployed in large numbers in various environments, including remote and hostile regions, with ad-hoc communications as key. For this reason, algorithms and protocols need to address the following issues:
• Lifetime maximization
• Robustness and fault tolerance
• Self-configuration
Some of the "hot" topics in WSN software research are:
• Security
• Mobility (when sensor nodes or base stations are moving)
• Middleware: the design of middle-level primitives between the software and the hardware
Operating systems
Operating systems for wireless sensor network nodes are typically less complex than general-purpose operating systems both because of the special requirements of sensor network applications and because of the resource constraints in sensor network hardware platforms. For example, sensor network applications are usually not interactive in the same way as applications for PCs. Because of this, the operating system does not need to include support for user interfaces. Furthermore, the resource constraints in terms of memory and memory mapping hardware support make mechanisms such as virtual memory either unnecessary or impossible to implement.
Wireless sensor network hardware is not different from traditional embedded systems and it is therefore possible to use embedded operating systems such as eCos or uC/OS for sensor networks. However, such operating systems are often designed with real-time properties. Unlike traditional embedded operating systems, however, operating systems specifically targeting sensor networks often do not have real-time support.
TinyOS is perhaps the first operating system specifically designed for wireless sensor networks. Unlike most other operating systems, TinyOS is based on an event-driven programming model instead of multithreading. TinyOS programs are composed into event handlers and tasks with run to completion-semantics. When an external event occurs, such as an incoming data packet or a sensor reading, TinyOS calls the appropriate event handler to handle the event. Event handlers can post tasks that are scheduled by the TinyOS kernel some time later. Both the TinyOS system and programs written for TinyOS are written in a special programming language called nesC which is an extension to the C programming language. NesC is designed to detect race conditions between tasks and event handlers.

In addition to one or more sensors, each node in a sensor network is typically equipped with a radio transceiver or other wireless communications device, a small micro controller, and an energy source, usually a battery. The envisaged size of a single sensor node can vary from shoebox-sized nodes down to devices the size of grain of dust, although functioning 'motes' of genuine microscopic dimensions have yet to be created. The cost of sensor nodes is similarly variable, ranging from hundreds of dollars to a few cents, depending on the size of the sensor network and the complexity required of individual sensor nodes. Size and cost constraints on sensor nodes result in corresponding constraints on resources such as energy, memory, computational speed and bandwidth.
A sensor network normally constitutes a wireless ad-hoc network, meaning that each sensor supports a multi-hop routing algorithm (several nodes may forward data packets to the base station). In computer science and telecommunications, wireless sensor networks are an active research area with numerous workshops and conferences arranged each year.
Sensor networks are the key to gathering the information needed by smart environments, whether in buildings, utilities, industrial, home, shipboard, transportation systems automation, or elsewhere. Recent terrorist and guerilla warfare countermeasures require distributed networks of sensors that can be deployed using, e.g. aircraft, and have self-organizing capabilities. In such applications, running wires or cabling is usually impractical. A sensor network is required that is fast and easy to install and maintain.
Applications

The applications for WSNs are many and varied, but typically involve some kind of monitoring, tracking, and controlling. Specific applications for WSNs include habitat monitoring, object tracking, nuclear reactor control, fire detection, and traffic monitoring. In a typical application, a WSN is scattered in a region where it is meant to collect data through its sensor nodes.
Characteristics
Unique characteristics of a WSN include:
• Limited power they can harvest or store
• Ability to withstand harsh environmental

• Ability to cope with node failures
• Mobility of nodes
• Dynamic network topology
• Communication failures
• Heterogeneity of nodes
• Large scale of deployment
• Unattended operation
Sensor nodes can be imagined as small computers, extremely basic in terms of their interfaces and their components. They usually consist of a processing unit with limited computational power and limited memory, sensors (including specific conditioning circuitry), a communication device (usually radio transceivers or alternatively optical), and a power source usually in the form of a battery. Other possible inclusions are energy harvesting modules, secondary ASICs, and possibly secondary communication devices.
The base stations are one or more distinguished components of the WSN with much more computational, energy and communication resources. They act as a gateway between sensor nodes and the end user.
Platforms
Standards
Several standards are currently either ratified or under development for wireless sensor networks. ZigBee is a mesh-networking standard intended for uses such as embedded sensing, medical data collection, and consumer devices like television remote controls, and home automation. Zigbee is promoted by a large consortium of industry players. WirelessHART is an extension of the HART Protocol and is specifically designed for Industrial applications like Process Monitoring and Control. WirelessHART was added to the overall HART protocol suite as part of the HART 7 Specification, which was approved by the HART Communication Foundation in June 2007. 6LoWPAN is the IETF standards track specification for the IP-to-MAC-Layer mapping for IPv6 on IEEE 802.15.4. ISA100 is a new standard under development that makes use of 6lowpan and provides additional agreements for industrial control applications.
Hardware

The main challenge is to produce low cost and tiny sensor nodes. With respect to these objectives, current sensor nodes are mainly prototypes. Miniaturization and low cost are understood to follow from recent and future progress in the fields of MEMS and NEMS. Some of the existing sensor nodes are given below. Some of the nodes are still in research stage.
An overview of commonly used sensor network platforms, components, technology and related topics is available in the SNM - Sensor Network Museum.
Software
Energy is the scarcest resource of WSN nodes, and it determines the lifetimes of WSNs. WSNs are meant to be deployed in large numbers in various environments, including remote and hostile regions, with ad-hoc communications as key. For this reason, algorithms and protocols need to address the following issues:
• Lifetime maximization
• Robustness and fault tolerance
• Self-configuration
Some of the "hot" topics in WSN software research are:
• Security
• Mobility (when sensor nodes or base stations are moving)
• Middleware: the design of middle-level primitives between the software and the hardware
Operating systems
Operating systems for wireless sensor network nodes are typically less complex than general-purpose operating systems both because of the special requirements of sensor network applications and because of the resource constraints in sensor network hardware platforms. For example, sensor network applications are usually not interactive in the same way as applications for PCs. Because of this, the operating system does not need to include support for user interfaces. Furthermore, the resource constraints in terms of memory and memory mapping hardware support make mechanisms such as virtual memory either unnecessary or impossible to implement.
Wireless sensor network hardware is not different from traditional embedded systems and it is therefore possible to use embedded operating systems such as eCos or uC/OS for sensor networks. However, such operating systems are often designed with real-time properties. Unlike traditional embedded operating systems, however, operating systems specifically targeting sensor networks often do not have real-time support.
TinyOS is perhaps the first operating system specifically designed for wireless sensor networks. Unlike most other operating systems, TinyOS is based on an event-driven programming model instead of multithreading. TinyOS programs are composed into event handlers and tasks with run to completion-semantics. When an external event occurs, such as an incoming data packet or a sensor reading, TinyOS calls the appropriate event handler to handle the event. Event handlers can post tasks that are scheduled by the TinyOS kernel some time later. Both the TinyOS system and programs written for TinyOS are written in a special programming language called nesC which is an extension to the C programming language. NesC is designed to detect race conditions between tasks and event handlers.