Wireless Sensor Networks - University of Wisconsin
Wireless Sensor Networks - University of Wisconsin
Wireless Sensor Networks:
Nicholas J. Larson
University of Wisconsin-Platteville
What is a Wireless Sensor Network
Where WSNs are used
Brief history of WSNs
What a design pattern looks like
Samples of code written for WSNs
What is a Wireless Sensor Network?
embedded devices each
with a processing unit,
interface and sensors
Chip: 16-bit Texas Instruments MSP430, Atmel
ATMega family 8 or 16 bit chip, Intel PXA or
Volitile Memory: 2KB – 512KB for run-time data
Dedicated Memory: 32KB – 128KB; Normally
equipped with external memory card
Communication: 2.4GHz ISM band; IEEE 802.15.4
compliant, 868/916 MHz band using ChipCon
1000 transcevier or Bluetooth.
Where WSNs are used.
Monitoring areas at risk for forest fires.
Ocean temperature and current data.
Machinery manufacturing performance
• Traffic condition monitoring
• Military surveillance and tracking
• Smart home monitoring
• Cold War – Sound Surveillance System project used
• 1980 – Defense Advanced Research Projects Agency
used Arpanet to disperse many sensing nodes
• Late 1980 – MIT tracked helicopters using acoustic
microphones. Advanced Decision Systems created a
multi target algorithm
• Late 1980 – 1990’s – US Navy developed Cooperative
Engagement Capability which monitored airborne units
• 2000s – DARPA SensIT program
L. Mottola’s and G.P. Picco’s model
Sense-only – Nodes
gather data for offline
analysis at a later time.
Sense-and-react – Nodes
gather data, test the
data, and react
One-to-Many – Typically used in situations where
configuration data is need to be pushed to all nodes.
Many-to-Many – Systems using this will most likely be
ones where multiple types of readings are needed.
Typically sense-and-react systems.
Many-to-One – Used by most sense-only systems where
many sensing nodes relay all the data to a single
Static – Once deployed, no nodes nor sinks move within
Mobil Nodes – Nodes that sense from mobile objects.
Used in wildlife monitoring.
Mobil Sinks – This is used in systems where data
collection happens opportunistically when sinks move in
range of the sensors.
Global – Data processing uses the data from the entire
Regional – Data processing only uses the data from some
limited region within the system.
Periodic – This is used on systems designed to
continuously process data. The systems gathers data from
the nodes in regular intervals.
Event-Triggered – This is carried out in two phases: i) The
detection of desired event. Data is tested against a
threshold at each node or as a whole system. ii) The
threshold is met at the node or for the whole system. The
network will start its collection and processing.
Space and Time
Contiki - http://www.contiki-os.org/index.html
LiteOS - http://www.liteos.net/
Mantis - http://mantisos.org/index/tiki-index.php.html
Nano-RK - http://www.nanork.org/projects/nanork/wiki
RETOS - http://retos.yonsei.ac.kr/retos.html
t-Kernal - http://www.t-engine.org/t-kernel-2-1
TinyOS - http://www.tinyos.net/
• Middleware software
• 3 extensions:
Remote Data Access
• Many distributed algorithms for low overhead
• Loose synchrony
• Logically named integer identifiers
• Exports operators like equality, ordering, type
• Provides a node_list iterator for manipulating
Karios: One-Hop Neighbor
• get_neighbors() function returns a list of
nodes that are one-hop away from current
• Typically specified in terms of operations on
Karios: Remote Data Access
• [email protected]
• Compiler respects the scoping, lifetime, and
access rules imposed by the extended
• Node synchronization: provides shared
• Only nodes may write to its variables
• Eliminates need for mutual exclusion
Karios’ Programming Architecture
Karios Shortest-Path Routing Tree
Karios Localization Code Sample
DsWare Explosion Detection
Baronti, Paolo, et al. "Wireless sensor networks: A survey on the state of the art and
the 802.15. 4 and ZigBee standards." Computer communications 30.7 (2007):
Chong, Chee-Yee, and Srikanta P. Kumar. "Sensor networks: evolution, opportunities,
and challenges." Proceedings of the IEEE 91.8 (2003): 1247-1256.
Gummadi, Ramakrishna, Omprakash Gnawali, and Ramesh Govindan. "Macroprogramming wireless sensor networks using kairos." Distributed Computing in
Sensor Systems (2005): 466-466.
Hadim, Salem, and Nader Mohamed. "Middleware: Middleware challenges and
approaches for wireless sensor networks." Distributed Systems Online, IEEE 7.3
Mottola, Luca, and Gian Pietro Picco. "Programming wireless sensor networks:
Fundamental concepts and state of the art." ACM Computing Surveys (CSUR) 43.3
Perrig, Adrian, John Stankovic, and David Wagner. "Security in wireless sensor
networks." Communications of the ACM 47.6 (2004): 53-57.
1 – http://www.dei.unipd.it/~schenato/pics/SensorNetwork.jpg
2 – Mottola, Luca, and Gian Pietro Picco. p.4.
3 – Mottola, Luca, and Gian Pietro Picco. p.4.
4 – Mottola, Luca, and Gian Pietro Picco. p.6.
5 – Gummadi, Ramakrishna, Omprakash Gnawali, and Ramesh
6 – Gummadi, Ramakrishna, Omprakash Gnawali, and Ramesh
7 – Gummadi, Ramakrishna, Omprakash Gnawali, and Ramesh
8 – Mottola, Luca, and Gian Pietro Picco. p.27.