EN.600.450.01.FA11
Network Embedded Systems/Sensor Networks
Week 1: Introduction and Applications
Marcus Chang @ CS JHU
with help from Andreas Terzis and Prabal Dutta
1
Administrivia
2
Tuesday, Thursday 1:30-2:45 Shaffer 202
Instructor: Marcus Chang (mchang AT cs.jhu.edu)
Teaching Assistant: Zainan Victor Zhou (zzn AT jhu.edu)
General course consulting and help with programming assignments
Class website: http://hinrg.cs.jhu.edu/joomla/classes.html
Class material will also be on: http://blackboard.jhu.edu/
Office Hours: By appointment (Shaffer 200)
Embedded System
“An embedded system is a computer system designed to do one or a few dedicated and/or specific functions“
“It is embedded as part of a complete device often including hardware and mechanical parts”
“By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs”
- Wikipedia
3
E.g. Environmental Monitoring: Sample sensors
Store measurements
Process data
Forward results
Wireless Sensor Networks
4
Course Outcomes
Learn about embedded systems and wireless networks Program microcontrollers
Program Android cell phones
Learn about low-power system design Cross-platform optimization
Learn how to (start to) do research Critically review the literature
Learn how to discover and formulate problems
Learn about experiment design, interpreting and presenting results
5
Prerequisites
CS344 or other networking course, Operating Systems, systems programming
Must feel comfortable programming in C
Grad student attitude (self-directed, deal with open ended problems/assignments, highly motivated, critical, dedicated)
6
What will this class be like?
This is partly a seminar course We will be reading and discussing papers (10%)
Class attendance and participation mandatory
Approximately 2-3 papers per week
Tuesdays, topic overview (lecture)
Thursdays, 1-2 students present a paper and lead discussion (10%)
All students hand in a review
2 programming assignments (25%) Introduction to programming embedded systems
Big project (30%)
Work in teams of 2 people
Midterm, but no final!
7
Readings and Reviews
You are responsible for completing assigned readings before lecture
Submit the review through BlackBoard
Review is due before beginning of lecture and should include
At least two thought-provoking questions on the assigned paper
Discussion of any strengths and weaknesses
Two possible directions for extensions on the ideas / topic presented in the paper.
Your questions should critically evaluate the paper (e.g., questioning the assumptions, questioning whether the experiments are lacking (and why), flaws in the analysis, etc).
You are allowed to miss two reviews but send email to let me know
8
Assignments and Project
Implement body sensor network Transmit data from wireless sensors to Android phone
Store measurements in the cloud
Visualize measurements on Android phone and the web
Assignments Android programming (JAVA)
Wireless sensor programming (TinyOS, nesC)
Project Cross-platform optimization
Implement your own device driver (memory mapped IO, C)
Progress reports, give presentation, write final report
9
Moore’s Law:
IC transistor count doubles every two years
10 Photo Credit: Intel
Flash memory cost
11
12
Hendy’s “Law”:
Pixels per dollar doubles annually
Credit: Barry Hendy/Wikipedia
13
Bell’s Law, revised:
Corollary to the Laws of Scale
UMich Phoenix Processor Introduced 2008
Initial clock speed
106 kHz @ 0.5V Vdd Number of transistors
92,499 Manufacturing technology
0.18 µ
Photo credits: Intel, U. Michigan
14
MEMS Accelerometers:
Rapidly falling price and power
[Analog Devices, 2009] ADXL345
10 µA @ 10 Hz @ 6 bits
25 µA @ 25 Hz
[ST Microelectronics, annc. 2009]
O(mA)
15
Energy harvesting and storage
Thermoelectric Ambient
Energy Harvester [PNNL]
Shock Energy Harvesting
CEDRAT Technologies
Electrostatic Energy
Harvester [ICL]
Thin-film batteries
Piezoelectric
[Holst/IMEC]
RF Energy harvesting [Powercast]
Current Generation Mote: Epic Core
Microcontroller CPU: 8 MHz RAM: 10K RAM Program: 48K ROM Energy consumption:
6 mW (active) 60 uW (sleep mode)
Radio
250 kbps Energy consumption:
60 mW
16
Why Wireless Sensor Networks?
Sensors, computation, and communication feasible at small packages and large numbers
Ability to monitor phenomena at fine spatial AND temporal granularities
Vision: Embedded Networked Sensing will reveal previously unobservable phenomena
A new type of scientific instrument: macroscope
17
Example
Arctic lake monitoring
Remote and harsh environment
Manual water sampling expensive and time consuming
18
Wireless sensor network
In-situ sensing
Wireless data collection
19
20
The System Challenge
applications
service
network
system
architecture
data mgmt
Monitoring & Managing Spaces and Things
technology
MEMS
sensing
Power
Comm. uRobots
actuate
Miniature, low-power connections to the physical world
Proc
Store
21
[Ganti06]
A decade of sensor network applications
Mobility High Low
Low
High
Power
[Liu04]
[Tolle05]
[Werner-Allen06]
[Szewczyk04]
[Jiang09]
[Hull06]
[Malinowski07]
[Wark07]
[Abdelzaher07]
[Thiele08]
[Lifton07]
[Lorincz08]
[Aoki09]
SOLVED
ACTIVE ACTIVE
EMERGING
22
Mobility makes energy and communication challenges
fundamentally harder in low-power systems
Energy Must carry it along Or harvest it from the ambient
environment And deal with inherent
uncertainty of harvesting Implies dynamic duty cycles How to measure usage?
Link Topological turmoil Link. What link? Never before seen link What radio channel? When, where to look? Can’t just probe during
deployment History is a poor/no guide
Network Stability of routing peers? Routers, hosts, both?
Transport Disruption-tolerant Store-and-forward
“Weather + mobility = uncertain energy budget”
- Jacob Sorber, Sensys 2007
J. Sorber et al., “Eon: A Language and Runtime for Perpetual Systems”, Sensys’07, Sydney, Australia
23
The fight goes on
Summary of Technical Challenges
24
Energy consumption
Low-power wireless
Resource constraints
Dealing with the physical world
Unattended operation
Coordination
Schedule
25
Week 1: Introduction and Applications
Week 2: Mote Hardware
Week 3: Embedded Programming
Week 4: Medium Access Control
Week 5: Link Estimation and Tree Routing
Week 6: IP Networking
Week 7: Time Synchronization
Week 8: Energy Management
Week 9: Review and Midterm
Week 10: Operating Systems and Programming Languages
Week 11: Advanced Networking Topics
Week 12: Localization
Week 13: Energy Harvesting
Week 14: TBD