EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides [email protected] Office: AKW 212 Tel 432-1275 Course Website http://www.eng.yale.edu/enalab/courses/eeng460a
Jan 03, 2016
EENG 460a / CPSC 436 / ENAS 960Networked Embedded Systems &
Sensor Networks
Andreas [email protected]
Office: AKW 212Tel 432-1275
Course Websitehttp://www.eng.yale.edu/enalab/courses/eeng460a
Welcome to EENG 460a!
Course Overview• Embedded Systems• Sensor Networks & Applications
Course details• Requirements & Grading• Logistics• Lecture format• Topics covered
Why take this course?
Learn the basics of embedded systems design Learn about sensor networks and emerging
technologies Undergraduates
• Good opportunity to exercise many of the things you learned in your previous classes
• Learn things that will help you with your senior design projects• Get ready for graduate school or industry
Graduate students• Good breadth topic, good chance to jump-start your research project• Get some hands-on experience on tools and platforms to support your
research
Why networked embedded systems?
Technology is reaching a point where it can significantly impact our everyday lives• Low power processors and radios, MEMs and other sensors
Enable “orthogonal spikes of progress” in many other fields• Medical applications, understanding nature & more• Intelligent environments, smart offices, optimized assembly
lines etc• Many opportunities with existing technologies, many things
up to your imagination An interface to other disciplines
Applications in All Aspects of Life
Slide from Intel Presentation
What are Embedded Systems?
More Examples...
Signal processing systems• radar, sonar, real-time video, set-top boxes, DVD players,
medical equipment, residential gateways Mission critical systems
• avionics, space-craft control, nuclear plant control Distributed control
• network routers & switches, mass transit systems, elevators in large buildings
“Small” systems• cellular phones, pagers, home appliances, toys, smart cards,
MP3 players, PDAs, digital cameras and camcorders, sensors, smart badges
Why do we care?Some Market Tidbits...
Specialized devices and information appliances are replacing the generalist PC• variety of forms: set-top boxes, fixed-screen phones, smart mobile
phones, PDAs, NCs, etc.• IDC predicts that by 2002 > 50% of inter access devices will be such
into appliances and not PCso In 1997, 96% of internet access devices sold in the US were PCso By 2004, unit shipments will exceed those of PCs
Traditional systems becoming dependent on computation systems• Modern cars: up to ~100 processors running complex software
o engine & emissions control, stability & traction control, diagnostics, gearless automatic transmission
o http://www.howstuffworks.com/car-computer.htm An indicator: where are the CPUs being used?
Where are the CPUs?
Estimated 98% of 8 Billion CPUs produced in 2000 used for embedded apps
Where Has CS Focused?Where Has CS Focused?Where Has CS Focused?Where Has CS Focused?
InteractiveInteractiveComputersComputersInteractiveInteractiveComputersComputers
Servers,Servers,etc.etc.
Servers,Servers,etc.etc.
200M200Mper Yearper Year
200M200Mper Yearper Year
In VehiclesIn VehiclesEmbeddedEmbeddedIn RobotsIn Robots
Where Are the Processors?Where Are the Processors?Where Are the Processors?Where Are the Processors?
Look for the CPUs…the Opportunities Will Follow!Look for the CPUs…the Opportunities Will Follow!Look for the CPUs…the Opportunities Will Follow!Look for the CPUs…the Opportunities Will Follow!
Embedded ComputersEmbedded Computers80%80%
Embedded ComputersEmbedded Computers80%80%
8.5B Parts 8.5B Parts per Yearper Year
8.5B Parts 8.5B Parts per Yearper Year
RobotsRobots6%6%
VehiclesVehicles12%12%
DirectDirect2%2%
Source: DARPA/Intel (Tennenhouse)Source: DARPA/Intel (Tennenhouse)
Typical Characteristics of Embedded Systems
Part of a larger system• not a “computer with keyboard, display, etc.”
HW & SW do application-specific function – not G.P.• application is known a priori• but definition and development concurrent
Some degree of re-programmability is essential • flexibility in upgrading, bug fixing, product differentiation, product
customization Interact (sense, manipulate, communicate) with the external
world Never terminate (ideally) Operation is time constrained: latency, throughput Other constraints: power, size, weight, heat, reliability etc. Increasingly high-performance (DSP) & networked
Key Recent Trends
Increasing computation demands• e.g. multimedia processing in set-top boxes, HDTV
Increasingly networked• to eliminate host, and remotely monitor/debug• embedded Web servers
o e.g. Mercedes car with web servero e.g web servers on wireless cameras
• embedded Java virtual machineso e.g. Java ring, smart cards, printers
• cameras, disks etc. that sit directly on networks Increasing need for flexibility
• time-to-market under ever changing standards!
Need careful co-design of h/w & s/w!
“Traditional” Software Embedded Systems = CPU + RTOS
“Traditional” Hardware Embedded Systems = ASIC
A direct sequence spread spectrum (DSSS) receiver ASIC (UCLA)
ASIC FeaturesArea: 4.6 mm x 5.1 mm
Speed: 20 MHz @ 10 Mcps
Technology: HP 0.5 m
Power: 16 mW - 120 mW (mode dependent) @ 20 MHz, 3.3 V
Avg. Acquisition Time: 10 s to 300 s
Modern Embedded Systems?
Embedded systems employ a combination of• application-specific h/w (boards, ASICs, FPGAs etc.)
o performance, low power
• s/w on prog. processors: DSPs, controllers etc.o flexibility, complexity
• mechanical transducers and actuators
Application Specific Gates
Processor Cores
Analog I/O
Memory
DSP Code
Course Goals
Learn the basics of embedded systems• Learn how to program an embedded processor• Learn the basics of embedded OS• Find out about new technologies that are out there• Apply this knowledge in the context of sensor networks
This knowledge allow you• Complete projects from beginning to end in shorter time• Design and implement complex systems to support your
research or industry career• An opportunity to utilize the knowledge you acquired from
previous engineering courses
What about Sensor Networks?
Networks of small devices equipped with sensors Embedded systems become more powerful when
they are networked! From a networking and computing perspective:
• Device-to-device communication instead of person-to-device
Want to have massive distributed systems of low-cost collaborative devices to achieve large tasks• Such as?
Large Diversity in PlatformsC
apabili
tie
s
Size, Power Consumption, Cost
MICA Mote
iBadge
MK - II
StarGate
Design Lineage of Motes
COTS dust prototypes (Kris Pister et al.)
weC Mote (~30 produced) Rene Mote (850+ produced) Dot (1000 produced) Mica node ( 5000+ produced) Mica2 (Current) Spec (Prototype)
Ack: Jason Hill, UC Berkeley
Sensor Node Energy Roadmap
20002000 20022002 20042004
10,0010,0000
1,0001,000
100100
1010
11
.1.1
Ave
rag
e P
ow
er
(mW
)
• Deployed (5W)
• PAC/C Baseline (.5W)
• (50 mW)
(1mW)
Rehosting to Rehosting to Low Power Low Power COTSCOTS (10x)(10x)
-System-On-Chip-System-On-Chip-Adv Power -Adv Power ManagementManagementAlgorithms (50x)Algorithms (50x)
Source: ISI & DARPA PAC/C Program
Traffic/Load/Event Models: Dimensions
Frequency (spatial, temporal)• Commonality of events in time and space
Locality (spatial, temporal)• Dispersed vs. clustered/patterned
Mobility• Rate and pattern• Diversity
Example early adopter applications: CENS Systems under design/construction
Biology/Ecosystems• Microclimate monitoring• Triggered image capture• Canopy-net (Wind River
Canopy Crane Site)
Contaminant Transport• County of Los Angeles
Sanitation Districts (CLASD) wastewater recycling project, Palmdale, CA
Seismic monitoring• 50 node ad hoc, wireless,
multi-hop seismic network• Structure response in USGS-
instrumented Factor Building w/ augmented wireless sensors
Event Detection
Localization &Time Synchronization Calibration
Programming Model
In Network Processing
Systems: Challenges and Services
Resource constrained nodes (energy, comm, storage, cpu)
Irregular deployment and environment
Dynamic network topology Hand configuration will fail
• Scale, variability, maintenance
Routing and transport in a Tiered architecture Channel/connectivity characterization Time synchronization and Localization
services In Network Processing Programming model
Tiered Architecture for scalability, longevity
One size does not fit all….Combine heterogeneous devices as in memory hierarchies• Small battery powered Motes (Mica2 8 bit microcontrollers, TOS,
10s of Kbps, ~600kbytes storage) hosting in situ sensors
• Larger solar powered Microservers (32-bit processors, linux OS, 10s of Mbps, ~100 Mbytes storage)
• Data centric routing/transport at both levels• Pub/sub bus over 802.11 to Databases, visualization, analysis• Tinydiffusion: multihop transport, tasking over duty-cycling MAC
Network Architecture: Can we adapt Internet protocols and “end to end” architecture?
Internet routes data using IP Addresses in Packets and Lookup tables in routers• Humans get data by “naming data” to a search engine• Many levels of indirection between name and IP
address• Works well for the Internet, and for support of Person-
to-Person communication
Embedded, energy-constrained (un-tethered, small-form-factor), unattended systems cant tolerate communication overhead of indirection
Sensors
• Passive elements: seismic, acoustic, infrared, strain,
salinity, humidity, temperature, etc.
• Passive Arrays: imagers (visible, IR), biochemical
• Active sensors: radar, sonar
– High energy, in contrast to passive elements
• Technology trend: use of IC technology for increased
robustness, lower cost, smaller size
– COTS adequate in many of these domains; work remains to be
done in biochemical
What are the challenges?
Sensors are not perfect Sensor measurements are affected by changes in
surrounding conditions and obstacles affect propagation characteristics
Need to understand and combine multipoint measurements
Power consumption always an issue Numerous issues associated with the
programmability and management of sensor devices
Two Main Components
Understanding sensormeasurements and emerging behaviors
Architectural optimizations,
Small form factors, low power
Tiered/Heterogenous/Integrated Sensor Networks
Dependencies on both new algorithms and technological components
How can networked embedded systems scale?
Make them self-configuring• Position and time• Calibrate sensors to a common base
New ways of addressing and administering• Not interested in the temperature reading of sensor X, we
are interested in the temperature of a specific place or room Nodes should autonomously organize themselves into
groups, understand their environments and respond to changes in the environment
Programmability requirements change
In Network Processing:Distributed Representation, Storage, Processing
In network interpretation of spatially distributed data• Statistical or model based filtering
• In network “event” detection and reporting
• Direct queries towards nodes with relevant data
• Trigger autonomous behavior based on eventso Expensive operations: high end sensors or sampling
o Robotic sensing, sampling
Support for Pattern-Triggered Data Collection• Multi-resolution data storage and retrieval
o Index data for easy temporal and spatial searching
• Spatial and temporal pattern matchingo Trigger in terms of global statistics (e.g., distribution)
• Exploit tiered architectures
K V
K VK V
K V
K V
K V
K VK V
K V
K VK V
Tim
e
Multidisciplinary Nature
Networked embedded systems create opportunities to utilize, blend and create knowledge from other disciplines• Statistical Signal Processing• Information Theory• Communication Theory• Operating Systems and Languages• Databases• VLSI systems and MEMS • Many more…
Sample Layered Architecture
Resource constraints call for more tightly integrated layers
Open Question:
Can we define anInternet-like architecture for such application-specific systems??
In-network: Application processing, Data aggregation, Query processing
Adaptive topology, Geo-Routing
MAC, Time, Location
Phy: comm, sensing, actuation, SP
User Queries, External Database
Data dissemination, storage, caching
NIMS Architecture: Robotic, aerial access to full 3-D environment Enable sample acquisition
Coordinated Mobility Enables self-awareness of
Sensing Uncertainty Sensor Diversity
Diversity in sensing resources, locations, perspectives, topologies
Enable reconfiguration to reduce uncertainty and calibrate
NIMS Infrastructure Enables speed, efficiency Low-uncertainty mobility Provides resource transport for
sustainable presence* (Kaiser, Pottie, Estrin, Srivastava,
Sukhatme, Villasenor)
Networked Info Mechanical Systems (NIMS)*
XYZ Sensor Node
Sensor node created for experimentation
• Low cost, low power, many peripherals
• Integrated accelerometer, light and temperature sensor
Uses an IEEE 802.15.4 protocol• Chipcon 2420 radio
OKI ARM Thumb Processor• 256KB FLASH, 32KB RAM• Max clock speed 58MHz, scales
down to 2MHz• Multiple power management
functions Powered with 3AA batteries & has
external connectors for attaching peripheral boards
Designed at Yale Enalab and Cogent computer systems, will be used as the main platform for the course
Em*: Software environment for developing and deploying wireless sensor networks
Radio
Topology Discovery
Collaborative SensorProcessing Application
NeighborDiscovery
ReliableUnicast
Sensors
LeaderElection
3d Multi-Lateration
Audio
TimeSync
AcousticRanging
StateSync
Domain Knowledge
Reusable Software
Hardware
(Flexible Interconnects;not a strict “stack”)
Em* Supports A Slow Descent into Reality
EmStar allows the same Linux code to be used• In a pure (low-fidelity) simulation• Mostly simulated, but using a real wireless channel• In a real testbed, small-scale but high-visibility• Deployed, in-situ, at scale -- but low visibility
Advantage over traditional simulators: the debugged code itself, not just the high-level concepts, flow from simulation into the real world
To maintain high visibility, we trade scale for reality
Systems Taxonomy: Dimensions
Spatial and Temporal Scale• Sampling interval• Extent• Density (of sensors relative to stimulus)
Variability• Ad hoc vs. engineered system structure• System task variability• Mobility (variability in space)
Autonomy• Multiple sensor modalities• Computational model complexity
Resource constrained• Energy, BW• Storage, Computation
Course Logistics
Text Principles of Embedded Network Design by Kaiser and Pottie –
Available at TYCO on Broadway StWireless Sensor Networks, an Information Processing Approach by Zhao and Guibas – order online
Both texts are on reserve at the Engineering Library Lab: lab and software used for the course available in CO-
40. My office hours Wed 11:00am – 12:00pm & by appointment TA: Dimitrios Lymberopoulos
Who should take this course?
Senior students • Combine with senior design project• Get some hands-on experience before entering industry or
graduate school• Start early so that you have something to show for when you
start with your applications Graduate students
• Build up background in wireless embedded systems• Use the course to jump-start or support your research
Graduate students will be graded on a different curve and would have slightly different requirements
Requirements and Grading
Class requirements• Attendance is mandatory • Class Discussion & Participation 5%• Homeworks 25%• 2 Midterms 30%• Final Project 40%
Students must have taken EENG 350 or CS 323 or operating systems
Senior or graduate standing Be motivated and be willing to work independently
Course Policies
You cannot reuse the same material from other courses, projects or independent studies for this course
You must turn in the homework at the deadline
Cheating and Plagiarism will not be tolerated
Homeworks and Programming Assignments
Three “basic” programming exercises to get you going with embedded processors
3 homework problems 1 in class presentation in class 2 midterm exams
Course Projects
Opportunity to go deeper in a specific area on your own• Lectures and homework will give you broader coverage, the project will
be more focused Project should have a novelty component
• Does not have to be nobel price but you should add your own flavor to the project
Project proposal due by• Topic suggestions will be online at the end of Week 2 but I also
encourage you to pick your own topic• Come and talk to me about projects
Project goal• Pick something that you can realistically do in a semester• Keep focused and aim for high quality
More about Projects
Project may have one or more components:• A theoretical or evaluation project• Detailed simulation or optimization of a
specific algorithm or protocol• Evaluation or building of new hardware• Data collection and analysis of sensor
measurements• Design new sensor interfaces
Lecture Organization
At the beginning full lecture will cover new material by me
Later on, some of the lectures will be split in 2• First half will cover new material
• Second half will be one of the followingo Follow-up discussions on embedded system problems
o Topic presentations
o Guest lecture presentation (e.g Prof. Cullurciello – sensors, Prof. Koser MEMS, Prof. Ganesan – Emstar, query processing)
Topics and Tentative Lecture Schedule
Week 1: Intro
Week 2: Motivating applications and embedded systems intro
Week 3: Embedded Programming
Weeks 4 –5: Study case: Location Discovery
Week 6: Sensor and Radio Technologies
Week 7: MAC and Routing Protocols
Week 8: Data Aggregation, Storage and Clustering
Week 9: Mobility and Collaborative Control
Week 10: Learning in Sensor Networks
Week 11: Collaborative Signal Processing
Week 12: Security and Data Integrity
Week 13: Misc Topics
Some “neat” Applications
CodeBlue Project at Harvard Networked Cows at Dartmouth & MIT Great Duck Island Habitat Monitoring (initiated by UC
Berkeley) Boundary Estimation at Yale Elder Home Monitoring by Intel
For more details take a look at the WAMES2005 Program at:http://lcawww.epfl.ch/luo/WAMES%202004%20-%20Program.htm
Reading for this week
• D. Tennenhouse, “Proactive Computing”• Kaiser & Pottie, “Wireless Sensor Networks”
Articles posted on the course websitehttp://www.eng.yale.edu/enalab/courses/eeng460a/
To order the book: Go to TYCO and place your order. Ask for EENG460a text, Prof. Savvides
The book will be ready for you to pick up on the next day