Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Sensor Networks & TinyDB
Author: Roman KolcunSupervisor: Julie A. McCann
2
Index
Sensor Motes Sensor Networks Real world deployments TinyDB
3
What a Sensor Can Sense?
4
What a Sensor Can Sense?
Temperature Humidity Acceleration Noise Light Magnetic Field Gravity Pressure
Heart Rate Motion Toxins Nutrients Glucose Level Oxygen Level Hormones Proteins
5
Sensor Mote
CPU ?
6
Sensor Mote
CPU 4 MHz 8 bit ATmega 128L, RISC
Memory ?
7
Sensor Mote
CPU 4 MHz 8 bit ATmega 128L, RISC
Memory 128KB Program Flash Memory 4KB RAM 512KB Flash – serial access, max. 10-100k rewritten
Wireless ?
8
Sensor Mote
CPU 4 MHz 8 bit ATmega 128L, RISC
Memory 128KB Program Flash Mem. 4KB RAM 512KB Flash – serial access, max. 10-100k rewritten
Wireless IEEE 802.15.4 - 2.4GHz 250kbps 70 – 100m outdoor, 20 – 30m indoor
9
Beastie – Imperial
8k bytes Flash program memory 1k byte SRAM 512 bytes EEPROM 4MHz FM radio at 434.65MHz 10kbps maximum data rate (run at 5kbps as
standard) Maximum range 500m
10
1 mm3 Sensor
Designed at Michigan University Measures pressure in an eye every 15 minutes Average Power Consumption 15 nW To charge batteries:
10 hours of artificial light
1.5 hours of sun light
11
Power Consumption
Typically supplied by small batteries 1000 – 3000 mAh 1 mAh – 1 milliamp current for 1 hour Power = Watts (W) = Amps (A) * Volts (V) Energy = Joules (J) = W * time
Power consumption Processor: 8mA active, <15μA sleep Radio: 19.7mA receive, 11 – 17.4mA xmit,
~20ms/packet Sensor: 1μA – 100's mA, 1μs – 1s to sample
12
Example
Battery: 1000mAh How long a node can last and how much data
can a node receive?
13
Example
Battery: 1000mAh How long a node can last and how much data
can a node receive?
1000mAh / 19.7mA = ~50.7h50.7h = 182 741s * 250kbps = ~5.7MB
in real world approx. half of it = 2.85MB
14
Example
Battery: 1000mAh Sense 1 value every 30 seconds, receive 1
packet and send 1 packet. How long will battery last?
15
Example
Battery: 1000mAh Sense 1 value every 30 seconds, receive 1
packet and send 1 packet. How long will battery last?
8+29*0.015+1+19.7*0.02+13*0.02 = = ~10mA/30s = ~ 0.3363 mA/s1000mAh = 3 600 000 mAs / 0.3363 = ~124 days
16
Sensor Networks - Problems
Lossy, Ad-hoc radio communication Really lossy radio communication Node / link failures Severe power constraints Asymmetric links – if I can hear you, it does not
mean you can hear me Interference Hidden node problem
17
Sensor Networks
18
Sensor Networks
19
Sensor Networks - Problems
Duty cycling Time synchronization Node / link failure
20
Duty Cycling
… zzz … … zzz …
timewake-up period
epoch time
21
Real World Deployments
Great Duck Island temperature relative humidity infra-red termophile
22
Real World Deployments
Golden Gate Bridge vibrations temperature
23
Redwood
Humidity vs. Time
35
45
55
65
75
85
95
Rel
Hu
mid
ity (
%)
101 104 109 110 111
Temperature vs. Time
8
13
18
23
28
33
7/7/039:40
7/7/0313:11
7/7/0316:43
7/7/0320:15
7/7/0323:46
7/8/033:18
7/8/036:50
7/8/0310:21
7/8/0313:53
7/8/0317:25
7/8/0320:56
7/9/030:28
7/9/034:00
7/9/037:31
7/9/0311:03
Date
Tem
pera
ture
(C
)
36m
33m: 11132m: 110
30m: 109,108,107
20m: 106,105,104
10m: 103, 102, 101
24
Imperial Deployment
Mobile Node (Mule) Experiment
25
Other Deployments
Monitoring Space environmental and habitat monitoring (Duck Island,
Redwood Trees) precision agricultures climate control surveillance intelligent alarms
26
Other Deployments (cont.)
Things structural monitoring ecophysiology condition based maintenance (plane, bridges,
buildings, pipes) medical diagnostics terrain mapping
27
Other Deployments (cont.)
Interactions with things and encompassing space monitoring wildlife habitats disaster management emergency response ubicomp process flow
28
Motivations for TinyDB
Create an application which measures temperature. Make an average of temperatures over 15°C.
29
Motivations for TinyDB
Create an application which measures temperature. Make an average of temperatures over 15°C.
How would you change the application to make an average of temperatures over 20°C ?
30
Motivations for TinyDB
Create an application which measures temperature. Make an average of temperatures over 15°C.
How would you change the application to make an average of temperatures over 20°C ? Recode the application and manually update every
node. Think about it while programming the application
and let it accept commands from the basestation Use TinyDB
31
TinyDB
Supports a subset of Stream SQL Whole network could be seen as ”sensor” table Query syntax:
SELECT <aggregates>, <attributes>[FROM {sensors} | {buffer}][WHERE <predicates>][GROUP BY <expression>][SAMPLE INTERVAL <const> | ONCE][INTO buffer][TRIGGER ACTION <command>]
32
TinyDB
Example:SELECT light, magFROM sensorsWHERE light > c1AND mag > c2SAMPLE INTERVAL 1s[FOR 3600s]
33
TinyDB
Example:SELECT light, magFROM sensorsWHERE light > c1AND mag > c2SAMPLE INTERVAL 1s
E(sampling mag) » E(sampling light)
1500 μJ vs 90 μJ
In which order the predicates should be evaluated?
34
TinyDB
Do we need to notify all sensors in the network?
SELECT lightFROM sensorsWHERE node_id > 20SAMPLE INTERVAL 10s
35
What if the Result Depends on More than One Node?
36
What if the Result Depends on More than One Node? (cont.)
37
What We Do
Adjust power transmission in order to minimise interference using game theory
Duty-cycling Time synchronization Mules In-network data processing (joining data & data
filtering)
38
References
[1] Decentralised & Volatile Self-Adaptive,Self Organising WSNs by Julie A. McCann[2] Implementation and Research Issues in Query Processing for Wireless Sensor Networks by Wei Hong & Sam Madden[3] Modelling the Golden Gate Bridge using Wireless Sensor Networks by Guilherme Rocha, Shamim Pakzad and Bin Yu[4] http://www.coa.edu/greatduckisland.htm – College of the Atlantic – Great Duck Island Project
39
Where You Can Find Us
Julie A. McCann: [email protected] Roman Kolcun: [email protected] Lab: Huxley Building, 563