Drahtlose Kommunikation
Sensornetze
Übersicht
Beispielanwendungen
Sensorhardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Environmental Monitoring
Example: Great Duck Island, Berkeley, Culler et al.
Precision Agriculture
Example: LOFAR project
Fighting Phytophtora using micro-climate
Temperature and relative humidity
Forest-Fire Detection
Exploration of Unknown Territory
Traffic Telematics
More Scenarios
Building Automation
Home Automation
Industrial Automation
Logistics
Übersicht
Beispielanwendungen
Sensorhardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Sensor Node Hierarchy
Components of a Sensor Node
Power unit Sensor ADC Processor
Storage
Transceiver unit
Location finding system Mobilizer
Sensing unit Processing unit
Power generator
Example: Tmote Sky Sensor Module
Example: Tmote Sky Sensor Module
But there are much more …
BEAN
BTnode
COTS
Dot
Ember
Eyes
FireFly
Fleck
IMote
Imote2
KMote
Mica
Mica2
Mica2Dot
MicaZ
Mulle Nymph
Particles
Rene
ScatterWeb
Sensinode
SHIMMER
SquidBee
SunSPOT
Telos
TinyNode 584
T-Mote Sky
T-Nodes
WeBee
weC
XYZ
WINS
WiseNet
...
Example Generic Sensor Hardware
BTNode
Mica2
Mica2Dot
Tmote Sky
Serial attached Flash in kB
Internal RAM in kB
Flash RAM in kB
Example Sensor Network Transceivers
CC1000 CC1021 CC2420 TR1000 XE1205
Bit Rate [kbps]
76.8 153.6 250 115.2 1.2 - 152.3
Sleep Mode [uA]
0.2 - 1 (osc.
core off)
1.8 (core off) 1 0.7 0.2
RX [mA] 9.3 (433MHz) / 11.8
(868MHz)
19.9 19.7 3.8 (115.2kbps)
14
TX Min [mA] 8.6 (-20dBm) 14.5 (- 20dBm)
8.5 (-25dBm) 33 (+5dBm)
TX Max [mA] 25.4 25.1 17.4 (0dBm) 12 62 (+15dBm)
How much is 250 kbps?
250 kbit transmit bit rate can serve
Two 128 kbit 320 x 240 thumbnail video streams
Four 64 kBit digital high quality audio streams
250 * 1000 / 8 32000 8 bit samples per second
Can we use 250 kbps?
Error correcting codes
Retransmissions
Shared media
S A
B
A B S
Parallel stream transmissions
Network Architecture
B C
D A Sink
Sensor Field
Sensor Nodes Internet and
satellite
Task manager node
User
Deployment options for WSN
Dropped from aircraft Random deployment
Usually uniform random distribution for nodes over finite area is assumed
Well planned, fixed Regular deployment
E.g., in preventive maintenance or similar
Not necessarily geometric structure, but that is often a convenient assumption
Mobile sensor nodes
Can move to compensate for deployment shortcomings
Can be passively moved around by some external force (wind, water)
Can actively seek out “interesting” areas
Übersicht
Beispielanwendungen
Sensorhardware und Netzarchitektur
Herausforderungen und Methoden
Limitierender Faktor Batterie
Schlafzyklen
In-Network-Processing
Multihop-Kommunikation
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Limiting Factor: Battery Capacity
Batteries: Joule and Ah (1/2)
1 Ah means one can draw current of 1A for 1 hour
Lifetime of 2000 mAh Battery under 1 A current consumption?
1 Joule means the amount of energy stored in a battery
Lifetime of Battery storing 7.2 kJ Energy used to run a 1 W electricity?
Batteries: Joule and Ah (2/2)
Lifetime of a 2000 mAh 1.5V battery used to run a 2 W electricity
Battery examples
Non-Rechargeable
Chemistry Zinc-air Lithium Alkaline Energy
(J/cm
3) 3780 2880 1200
Rechargeable
Chemistry Lithium NiMHd NiCd Energy
(J/cm
3) 1080 860 650
Übersicht
Beispielanwendungen
Sensorhardware und Netzarchitektur
Herausforderungen und Methoden
Limitierender Faktor Batterie
Schlafzyklen
In-Network-Processing
Multihop-Kommunikation
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
WSN-Programmierung
How long do they last?
Tmote sky product description
Processor: 500 uA
Radio TX: 17.4 mA
Standard AA Alkaline Battery
Single battery: 2200 mAh
Tmote battery pack: 2 Batteries
Sensor Gateway
Constant data stream
while(true) {
x = read sensor;
transmit x;
}
Sensor node’s lifetime L
:How to extend the lifetime?
Idea: sample periodically
Tmote sky product description
Processor: 500 uA
Radio TX: 17.4 mA
Radio on: 365 uA
250 * 1024 Bits per second 16 Bits
Sensor Gateway
while(true) {
x = read sensor;
transmit x;
await next sec;
}
Lifetime L for one 16 bit sample per second; idealized channel:
Transceiver states
Transceivers can be put into different operational states , typically:
Transmit
Receive
Idle – ready to receive, but not doing so
Some functions in hardware can be switched off, reducing energy consumption a little
Sleep – significant parts of the transceiver are switched off
Not able to immediately receive something
Recovery time and startup energy to leave sleep state can be significant
Research issue: Wakeup receivers – can be woken
Can they Survive a whole Year?
Idea: switch off unnecessary current consumers
Tmote sky product description
Processor: 500 uA
Radio TX: 17.4 mA
Radio power down: 1 uA
while(true) {
turn on consumers;
x = read sensor;
transmit x;
turn off consumers;
await next sec;
}
Example: one 16 bit sample per second; idealized channel:
Can they Survive for many Years?
Idea: set MCU in sleep mode
Example: one 16 bit sample per second; idealized channel
Transmission time = 16/(250*1024) s = 62.5 us
Duty cycling
250 * 1024 Bit/s 16 Bit
Wakeup 62.5 us
Transmit Sleep
Can they Survive for many Years?
Tmote sky product description
Processor: 500 uA
Processor sleep@32kHz: 2.6 uA
Radio TX: 17.4 mA
Radio Idle: 365 uA
Radio power down: 1 uA
Processor wakeup: 6 us
Radio oscillator startup: 580 us
10^6 – (6 + 580 + 62.5) usIdle MCU6 us Radio
580 us TX
62.5 us
500 uA
+ 1 uA 500 uA + 365 uA 500 uA
+ 17.4 mA 2.6 uA + 1 uA
Current consumption: Y = 6/10^6 * (500+1) + 580/10^6 * (500+365) +
62.5/10^6 * (500+17400) +
(10^6-6-580-62.5)/10^6 * (2.6+1)
Y = 5.22 uA
Lifetime: 4400 mAh / 0.00522 mA ≈ 842912 h ≈ 35121days ≈ 96years
In practice lifetime of a few years:
• More sources of power dissipation
• Synchronization of communication nodes
• Battery looses current
Übersicht
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
Limitierender Faktor Batterie
Schlafzyklen
In-Network-Processing
Multihop-Kommunikation
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Where to Process the Data?
Example determine max value
How to reduce communication load on S3?
S3 Sink: compute
max(d1,d2,d3) S1
S2
send(d1)
send(d2)
send(d3)
Data Aggregation
S3 Sink
S1
S2
send(d1)
send(d2)
compute
m = max(d1,d2,d3) send(m)
Übersicht
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
Limitierender Faktor Batterie
Schlafzyklen
In-Network-Processing
Multihop-Kommunikation
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Observation: Energy Efficiency
100 m 100 nJoule/Bit
Observation: Energy Efficiency
10 m 1 nJoule/Bit
…
Bluetooth Example
100m in one hop: 100nJ/Bit
100m in ten hops: 10nJ/Bit
Signal Strength
Broadcast Property
Sender Receiver
Übersicht
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Case Study: IEEE 802.15.4 (1/3)
PAN Coordinator
Guaranteed time slots (GTS) Other things
Star topology
v1
v2 v3
v4 v5
v1
v4 v5 v2
sl2 : v4 sl4 : v1 sl5 : v5 sl7 : v2
Beacon
But how will v3 be able to send data?
not possible
Case Study: IEEE 802.15.4 (2/3)
PAN Coordinator
Contention Access Period (CAP) Super frame Star topology
v1
v2 v3
v4 v5
tnext Beacon
Slotted CSMA with random backoff in CAP
v2 GTS
needs GTS
v3 needs GTS
(Remark: CAP can also be used to send data directly)
Case Study: IEEE 802.15.4 (3/3)
PAN Coordinator
CAP
Star topology v1
v2 v3
v4 v5
Beacon GTS And what happens here?Nothing ?!?
Active period Inactive period
Übersicht
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
S-MAC und T-MAC
B-MAC
X-MAC und Wise-MAC
Idle Listening Wastes Energy
Psleep Pactive
t P
“Traditional” MAC schemes:
Psleep Pactive
P
An ideal power minimizing MAC scheme:
Power Consumption
Power Consumption
Power Savings
TX/RX TX/RX TX/RX
The S-MAC Approach (1/8)
Psleep Pactive
t P
Idea: periodic listen and sleep cycles
Power Consumption Power Savings
TX/RX TX/RX TX/RX
active sleeping …
TX/RX
active sleep
Power Savings:
The S-MAC Approach (2/8)
S
1T
1…
?
Just follow own sleep cycle? Clock drift problem!
The S-MAC Approach (3/8)
S
1T
1…
Idea: synchronizer and follower node
SYNC SYNC
The S-MAC Approach (4/8)
Multihop: (1) Who follows whom? (2) Avoid Synchronization Islands.
SYNC SYNC
s1 s2
The S-MAC Approach (5/8)
(1) Who follows whom?: Contention scheme
SYNC
s1 s2
The S-MAC Approach (6/8)
(2) Avoid Synchronization Islands: Follow all known synchronizers
SYNC(t2) SYNC(t1)
s1 s2
Wakeup Schedule(v) v
The S-MAC Approach (7/8)
Question: How can u and v communicate? Additional Requirement?
SYNC(t2) SYNC(t1)
s1 s2
v u
The S-MAC Approach (8/8)
Solution: When becoming a follower resend SYNC once
SYNC(t2) SYNC(t1)
s1 s2
v u
Neighbor Table (v) Neighbor Table (u)
v t2
… …
From S-MAC to T-MAC
Further Reducing Energy Consumption in S-
MAC: the T-MAC approach
wakeup period
Communication in S-MAC: RTS/CTS
s
f1
f2
f3
data
sleep period
no data
no data
no data data for f1
t1 t2 t3
Contention period Contention period
wakeup period
Sleeping after overhearing CTS
s
f1
f2
f3
data
sleep period
no data
no data
no data data for f1
t1 t2 t3
sleep
sleep
wakeup
wakeup
Problem: energy waste at
Contention period Contention period
wakeup period
Solution: Adaptive Duty Cycle of T-MAC
s
f1
f2
f3
data
sleep period
no data
no data
no data data for f1
t1 t2 t3
Contention period Contention period wakeup
sleep wakeup
sleep
sleep
sleep
sleep
sleep
wakeup period
The Early Sleeping Problem
f1
f2
s
f3
data
sleep period
t1 t2 t3
Contention period Contention period sleep
sleep ???
wakeup
wakeup period
Solution: Future Request to Send
f1
f2
s
f3
data
sleep period
t1 t2 t3
Contention period Contention period sleep
sleep
wakeup
wakeup data
Übersicht
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
S-MAC und T-MAC
B-MAC
X-MAC und Wise-MAC
B-MAC: Preamble Sampling (1/3)
S
1S
2S
3wakeup/sleep w/s
w/s
w/s w/s w/s w/s
w/s w/s w/s
B-MAC: Preamble Sampling (2/3)
S
1S
2S
3wakeup/sleep w/s
w/s
w/s w/s w/s w/s
w/s w/s w/s
Packet for s1 How to wake up s1?
t1
B-MAC: Preamble Sampling (3/3)
S
1S
2S
3wakeup wakeup
wakeup wakeup
Preamble
t1 t2
sleep again receive packet
Packet(s1)
Question: Power over Offered Load
packet arrivals Power [mW]
one packet per packet time
CSMA + preamble sampling ???
Benefits over plain CSMA?
Example Plot (1/2)
Number of nodes n = 10
Delay + turnaround time = 1 ms
Message transm. time T
M= 5 ms
Preamble transm. times T
P= 25, 75, and 150 ms
Time used to check for preamble T
C= 1 ms
Transmission power consumption P
TX= 9 mW
Example Plot (2/2)
P()
Plain
CSMA
Übersicht
Beispielanwendungen
Sensorhardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
S-MAC und T-MAC
B-MAC
X-MAC und Wise-MAC
Problem: Sources of Energy Waste
S
1S
2S
3wakeup wakeup
wakeup wakeup
t1 t2
sleep again receive packet
Packet(s1)
Preamble
1
3 2
1 2
Useless reception of remaining preamble Useless overhearing of preamble
X-MAC: Strobe Preamble Sampling (1/2)
S
1S
2S
3wakeup
wakeup
strobe(s1)
not for me, sleep again
receive packet
Data strobe(s1) strobe(s1)
ack for me, send ack
send packet Conceptually, if |strobe(s)| 0 and |ack| 0, this looks like …
X-MAC: Strobe Preamble Sampling (2/2)
S
1S
2S
3wakeup
wakeup
receive
Data send Strobes for s1
sleep full sleep cycle again sleep again
wakeup
t
Problem: Source of Energy Waste
S
1S
2S
3wakeup
wakeup
receive
Data send
sleep full sleep cycle again sleep again
wakeup
t Strobes for s1
Strobes immediately before time t when s1 wakes up would be sufficient. But, how to know time t ?!?
WiseMAC: Announce Wakeup Schedule
S
1S
2S
3wakeup
wakeup
receive
data
sleep again
wakeup
t2 prb
Schedule list s1 : t2 = t1 + x
…
ack
Nextwakeup in x ms
t1 t2
data
Previous transmission Next transmission
Zusammenfassung und Literatur
Beispielanwendungen
Sensor-Hardware und Netzarchitektur
Herausforderungen und Methoden
MAC-Layer-Fallstudie IEEE 802.15.4
Energieeffiziente MAC-Layer
Zusammenfassung
Herausforderungen
Energieeffizienz
Geringe Rechen- und Speicherkapazität
Wenig Hardware-Features (z.B. idR. keine Memory-Management-Unit)
Geringe Kommunikationsbandbreite
Erfordert neue Ansätze auf den einzelnen Protokollschichten: z.B.
energieeffiziente MAC-Layer
Aufweichen von striktem Protokoll-Layering: „Cross-Layer- Optimierungen“
Geräte sind in der Regel keiner Person direkt zugeordnet
Neue Sichtweise auf Kommunikation
ID-Zentrisch versus Datenzentrisch
Maschine-zu-Maschine-Kommunikation
Literatur
Holger Karl and Andreas Willig, „Protocols and Architectures for Wireless Sensor Networks”, John Wiley & Sons, 2005.
Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David E.
Culler and Kristofer S. J. Pister, “System Architecture Directions for Networked Sensors”, Proceedings of the 9th International ACM Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2000.
Philip Buonadonna, Jason Hill and David Culler, “Active Message Communication for Tiny Networked Sensors”, Proceedings of the 20th Annual Joint Conference of the IEEE Computer and
Communications Societies (INFOCOM), 2001.