EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides andreas.savvides@yale.edu Office: AKW 212 Tel 432-1275 Course Website http://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 PCs o In 1997, 96% of internet access devices sold in the US were PCs o 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? Interactive Computers 200M per Year In Vehicles Where Are the Processors? Direct 2% Robots Vehicles 6% 12% 8.5B Parts per Year Servers, etc. Embedded In Robots Look for the CPUs…the Opportunities Will Follow! 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 server o e.g web servers on wireless cameras • embedded Java virtual machines o 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 ASIC Features Area: 4.6 mm x 5.1 mm Speed: 20 MHz @ 10 Mcps Technology: HP 0.5 mm Power: 16 mW - 120 mW (mode dependent) @ 20 MHz, 3.3 V Avg. Acquisition Time: 10 ms to 300 ms A direct sequence spread spectrum (DSSS) receiver ASIC (UCLA) Modern Embedded Systems? DSP Code Application Specific Gates Analog I/O Processor Cores Memory Embedded systems employ a combination of • application-specific h/w (boards, ASICs, FPGAs etc.) o performance, low power • s/w on prog. processors: DSPs, mcontrollers etc. o flexibility, complexity • mechanical transducers and actuators 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-todevice Want to have massive distributed systems of lowcost collaborative devices to achieve large tasks • Such as? Capabilities Large Diversity in Platforms StarGate MK - II iBadge MICA Mote Size, Power Consumption, Cost 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 10,000 Rehosting to Low Power COTS (10x) Average Power (mW) • Deployed (5W) 1,000 • PAC/C Baseline (.5W) 100 • (50 mW) 10 (1mW) 1 .1 2000 Source: ISI & DARPA PAC/C Program 2002 2004 -System-On-Chip -Adv Power Management Algorithms (50x) 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 USGSinstrumented Factor Building w/ augmented wireless sensors Systems: Challenges and Services Localization & Time Synchronization 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 Calibration In Network Processing Programming Model Event Detection 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 sensor measurements 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 K V K V K V K V K V K V K V K V K V 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 events o Expensive operations: high end sensors or sampling o Robotic sensing, sampling Time K V K V Support for Pattern-Triggered Data Collection 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 User Queries, External Database Resource constraints call for more tightly integrated layers In-network: Application processing, Data aggregation, Query processing Data dissemination, storage, caching Open Question: Can we define an Internet-like architecture for such applicationspecific systems?? Adaptive topology, Geo-Routing MAC, Time, Location Phy: comm, sensing, actuation, SP Networked Info Mechanical Systems (NIMS)* 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) XYZ Sensor Node Sensor node created for experimentation • • Uses an IEEE 802.15.4 protocol • • Chipcon 2420 radio OKI ARM Thumb Processor • • Low cost, low power, many peripherals Integrated accelerometer, light and temperature sensor 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 Collaborative Sensor Processing Application Domain Knowledge State Sync Reusable Software (Flexible Interconnects; not a strict “stack”) Topology Discovery Neighbor Discovery Hardware Leader Election Radio Reliable Unicast 3d MultiLateration Acoustic Ranging Time Sync Audio Sensors 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 St Wireless 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 (dimitrios.lymberopoulos@yale.edu) 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 following o 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 website http://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