Wireless Sensor Networks - University of Wisconsin-Platteville

klapdorothypondMobile - Wireless

Nov 24, 2013 (4 years and 1 month ago)

65 views

Wireless Sensor Networks:
Programing Reactions

Nicholas J. Larson

Software Engineering

University of Wisconsin
-
Platteville

larsonn@uwplatt.edu


Overview


What is a Wireless Sensor Network


Where WSNs are used


Brief history of WSNs


What a design pattern looks like


Operating systems


Development tools


Samples of code written for WSNs


Some Manufacturers

What is a Wireless Sensor Network?


Typically contain
embedded devices each
with a processing unit,
wireless communication
interface and sensors
and/or actuators


Figure 1.

Common Hardware

Chip: 16
-
bit Texas Instruments MSP430, Atmel

ATMega

family 8 or 16 bit chip, Intel PXA or

ARM920T

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.


Monitoring wildlife.


Earthquake monitoring.


Machinery manufacturing performance
evaluations


Traffic condition monitoring


Military surveillance and tracking


Smart home monitoring


Brief History


Cold War


Sound Surveillance
System project used
hydrophones


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

Design Pattern

L.
Mottola’s

and G.P.
Picco’s

model

Figure 2.

Goal

Sense
-
only



Nodes
gather data for offline
analysis at a later time.


Sense
-
and
-
react



Nodes
gather data, test the
data, and react
appropriately.


Figure 3.

Interaction Pattern

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
collection point.

Mobility

Static



Once deployed, no nodes nor sinks move within
the network.


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.


Space

Global



Data processing uses the data from the entire
network


Regional



Data processing only uses the data from some
limited region within the system.

Time

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
)
T
he
detection of desired event.
D
ata is tested against a
threshold at each node or as a whole system.
i
i) The
threshold is met at the node or for the whole system. The
network will start its collection and processing.

Space and Time

Figure 4.

Operating Systems


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
/


Mate


Magnet


Cougar


SINA


DsWare


TinyDB


Impala


Milan


Mires


EnviroTrack


Abstract Regions


Karios

Development Tools

Karios


Middleware software


3 extensions:


Node


One
-
Hop Neighbor


Remote Data Access


Many distributed algorithms for low overhead


Loose synchrony


Karios
: Node


Logically named integer identifiers


Exports operators like equality, ordering, type
testing


Provides a
node_list

iterator for manipulating
node sets.

Karios
: One
-
Hop Neighbor


g
et_neighbors
() function returns a list of
nodes that are one
-
hop away from current
node.


Typically specified in terms of operations on
neighbors.

Karios
: Remote Data Access


variable@node


Compiler respects the scoping, lifetime, and
access rules imposed by the extended
language.


Node synchronization: provides shared
memory abstraction


Only nodes may write to its variables


Eliminates need for mutual exclusion

Karios

Programming Architecture

Figure 5.

Karios

Shortest
-
Path Routing Tree
Code Sample

Figure 6.

Karios

Localization Code Sample

Figure 7.

DsWare

Explosion Detection

Figure 8.

Manufacturers

Refrences

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):
1655
-
1695.

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
. "Macro
-
programming 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
(2006): 1
-
1.

Mottola
, Luca, and
Gian

Pietro

Picco
. "Programming wireless sensor networks:
Fundamental concepts and state of the art."
ACM Computing Surveys (CSUR)

43.3
(2011): 19.

Perrig
, Adrian, John
Stankovic
, and David Wagner. "Security in wireless sensor
networks."
Communications of the ACM

47.6 (2004): 53
-
57
.



Figures

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

Govindan
.
p
.6.

6


Gummadi
, Ramakrishna,
Omprakash

Gnawali
, and Ramesh

Govindan
.
p.7.

7


Gummadi
, Ramakrishna,
Omprakash

Gnawali
, and Ramesh

Govindan
.
p.9.

8


Mottola
, Luca, and
Gian

Pietro

Picco
.
p.27.