EECS-194 The Internet of Everyday Things David E. Culler Jonathan Hui EECS University of California Berkeley 6/27/2016 1 Introductions – EECS194 Staff David E. Culler - Instructor culler@cs.berkeley.edu http://www.eecs.berkeley.edu/~culler 627 Soda Hall, 643-7572 Office hours: W 1-3, Th 1-3 Jonathan Hui - TA jwhui@cs.berkeley.edu http://www.eecs.berkeley.edu/~jwhui/ Prabal Dutta – development TA prabal@eecs.berkeley.edu 6/27/2016 2 Plan for Today • 11-~12 – – – – Introduction to the Course Broad concepts and Technology Trends Term plan Logistics Discussion • ~1-4 Interactive Embedded Internet Lab – – – – Break for lunch about 12:30 1-1 Interviews wrt Survey Scheduling Launch “between lab” study • 3-4 Repeat parts of Intro for those not here yet 6/27/2016 3 1997 - The Internet of Every Computer 6/27/2016 4 2007 - The Internet of Every Body 6/27/2016 5 2017 - The Internet of Everyday Things Low resolution Sensor, Test4, Increasing frequency 1 Acceleration (g) 0.5 0 -0.5 -1 0 2 4 6 8 10 12 14 16 18 Time (sec) 6/27/2016 6 Why “Real” Information is so Important Save Resources Improve Productivity Enable New Knowledge Increase Comfort Enhance Safety & Security Preventing Failures High-Confidence Transport Improve Food & H20 Protect Health 6/27/2016 7 Everyday Things • Appliance • Stand-alone electrical, mechanical, informational system integrated for a particular function • Why stand-alone? • Why so particular? 6/27/2016 8 Universality of Information Technology • Computing • Communication • What is it used for? 6/27/2016 9 Example “Every Day Thing” User Control Loop UI Sensors: - Knob position - Timer UI Display: - Temp - Time - Status Inner Control Loop Sensors: - thermocouples - gas flow - door open Actuators: -relay / valve -relay / light Set Point Controller 6/27/2016 10 A Programmable Networked “Thing” UI Display: - Temp - Time - Status UI Sensors: - Knob position - Timer Sensors: - thermocouples - gas flow - door open Actuators: -relay / valve -relay / light Set Point Controller 6/27/2016 11 Broad Technology Trends Moore’s Law: # transistors on Bell’s Law: a new computer cost-effective chip doubles every 18 months class emerges every 10 years Computers Per Person 1:106 1:103 Mainframe Mini Workstation PC Laptop 1:1 Today: 1 million transistors per $ PDA Cell 103:1 years Mote! Same fabrication technology provides CMOS radios for communication and micro-sensors 6/27/2016 12 ‘Low-Tech’ Enabling Technology Network Microcontroller Flash Storage Radio Communication IEEE 802.15.4 Sensors 6/27/2016 13 The Systems Challenge Monitoring & Managing Spaces and Things applications data mgmt service network system architecture Comm. sensing Store Proc actuate technology Power Miniature, low-power connections to the physical world 6/27/2016 14 UCB => A worldwide community Wireless Sensor Networks SmartDust Wireless NEST Sensors Storage Processing 6/27/2016 15 The Berkeley Mote WINS (UCLA/ROckwell) Intel rene’ LWIM-III (UCLA) SmartDust WeC zeevo BT Intel/UCB dot Rene BTNodeEyes Intel cf-mica trio Mica Telos XBOW mica XBOW rene2 Intel MOTE2 Intel iMOTE XBOW cc-dot Bosch cc-mica XBOW mica2 XBOW micaZ digital sun rain-mica Dust Inc blue cc-TI 04 05 06 07 CyberPhysical 03 NETS/ NOSS 02 CENS STC 01 NSF 00 NEST Expedition 99 SENSIT LWIM DARPA 97 98 6/27/2016 16 Example for today: TelosB jtag user button reset button TSR photodiode PAR photodiode SHT11 humidity / temp 6 pin expansion LEDs USB-serial reset support (bottom) TI MSP430 F1611 ST M25P80 flash serial ID 10 pin expansion PIFA Antenna CC2420 IEEE 802.15.4 radio 6/27/2016 17 Mote the Next Generation - EPIC • http://www.eecs.berkeley.edu/~prabal/projects/epic/ 6/27/2016 18 TinyOS 2.0 TinyOS Over-the-air Programming Network Protocols Link Radio Serial Applications and Services Blocks, Logs, Files Flash Scheduling, Management Streaming drivers MCU, Timers, Bus,… ADC, Sensor I/F WSN mote platform Wireless Storage Processing Communication Centric Resource-Constrained Event-driven Execution Sensors 6/27/2016 19 Self-Organized Mesh Routing 2 2 2 2 1 1 2 0 6/27/2016 20 Why Multihop Routing • Power! 140 – to transmit D grows as D3 or worse – to route distance D grows linearly 120 • Bandwidth (spatial multiplexing) 100 – With n nodes in a single cell, each gets at most 1/n bandwidth – Many small cells => many simultaneous transmissions. 80 60 • Reliability (spatial diversity) 40 20 0 0 1 2 3 4 5 – Individual links experience interference, obstacles, and multipath effects – Even short-range “wireless wires” require human nurturing » IRDA, Bluetooth, WiFi, Cell – Provides spatial diversity and receiver diversity » rather than antenna diversity – Protocol level reliability 6/27/2016 21 What we mean by “Low Power” • 2 AA => 1.5 amp hours (~4 watt hours) • Cell => 1 amp hour (3.5 watt hours) Cell: 500 -1000 mW WiFi: 300 - 500 mW GPS: 50 – 100 mW => few hours active => several hours => couple days WSN: 50 mW active, 20 uW passive 450 uW => one year 45 uW => ~10 years * System design * Leakage (~RAM) * Nobody fools mother nature Ave Power = fact * Pact + fsleep * Psleep + fwaking * Pwaking 6/27/2016 22 Routing Mechanism • Upon each transmission, one of the recipients retransmits. • Which one? • What determines a link? 6/27/2016 23 Question If Wireless Sensor Networks represent a future of “billions of information devices embedded in the physical world,… why don’t they run THE standard internetworking protocol? Web Services XML / RPC / REST / SOAP / OSGI HTTP / FTP / SNMP TCP / UDP IP Ethernet Sonet Enet 10M Enet 100M Enet 1G10G Enet GPRS Serial Plugs and People 802.11 802.11a 802.11b 802.11g RFM,CC10k,…,802.15.4 Self-Contained 6/27/2016 24 The Answer They should • Substantially advances the state-of-the-art in both domains. • Implementing IP requires tackling the general case, not just a specific operational slice – Interoperability with all other potential IP network links – Potential to name and route to any IP-enabled device within security domain – Robust operation despite external factors » Coexistence, interference, errant devices, ... • While meeting the critical embedded wireless requirements – – – – High reliability and adaptability Long lifetime on limited energy Manageability of many devices Within highly constrained resources 6/27/2016 25 Web Services XML / RPC / REST / SOAP / OSGI HTTP / FTP / SNMP Proxy / Gateway Emerging Standards LoWPAN – 802.15.4 • 1% of 802.11 power, easier to embed, as easy to use. • 8-16 bit MCUs with KBs, not MBs. • Off 99% of the time TCP / UDP IP Ethernet Sonet 802.11 802.15.4, … IETF 6lowpan 6/27/2016 26 6LoWPAN: IPv6 over IEEE 802.15.4 IEEE 802.15.4 Frame Format D pan S pan Dst EUID 64 Src EUID 64 Dst16 Src16 Fchk dsp FCF DSN Len preamble SFD 127 bytes Network Header Application Data IETF 6LoWPAN Format 01 0 0 0 0 0 1 01 0 0 0 0 1 0 Uncompressed IPv6 address [RFC2460] HC1 40 bytes Fully compressed: 1 byte Source address Destination address Traffic Class & Flow Label Next header : derived from link address : derived from link address : zero : UDP, TCP, or ICMP • Deep compression by breaking the layering abstraction and putting it all back together again. 6/27/2016 27 Extending the Internet to the Real World LoWPAN-Extended IP Network IP Network (powered) IP/LoWPAN Router IP Device IP/LoWPAN Sensor Router 6/27/2016 28 Embedded Web Services Web Services < get temp … set sample_rate set alarm … > <request www.weather.com service> Service Description <value> <value> source=library source=library time=12:53 time=12:31 temp=26.7 temp=25.1 <\value> <\value> XML information Wireless Packets Sampled Value int temp; 802.15.4 11 010110111 010010001 010010001 Low resolution Sensor, Test4, Increasing frequency 1 Physical Signal Acceleration (g) 0.5 0 -0.5 -1 0 2 4 6 8 10 12 14 16 18 Time (sec) 6/27/2016 29 Real World – “Signals” and “Information” • What is the bandwidth of the weather? • What is the nyquist of the soil? • What is the placement noise? • What is the sampling jitter error? • How do you classify it? • How do you search it? 6/27/2016 30 The Macroscope - Keck HydroWatch Sagehen wireless data infrastructure Colored digital vegetation and topography from 6/27/2016 31 a lidar survey Networking the Physical World Bi-directional Patch Antenna Mote + Accelerometer Board) Battery 6/27/2016 32 Ambient Vibration SF (south) 500 ft 1125 ft 4200 ft 246 ft 8 nodes Sausalito (north) 51 nodes 300 Time (sec) 400 500 600 5 0 PSD (mg/Hz) 2 PSD (mg/Hz) -5 45 2 50 55 Time (sec) 60 65 1 0 0 5 10 15 20 25 30 frequency (HZ) 35 40 45 50 1 0 0 0.5 1 1.5 2 2.5 frequency (HZ) Vertical Sensor at Quarter-span 365m North of the South Tower Accel (mg) 200 0 -50 0 100 200 300 Time (sec) 400 500 600 10 0 -10 45 PSD (mg/Hz) 100 50 4 PSD (mg/Hz) 0 Accel (mg) Time and Frequency plots, Vertical sensors, s284n45 0 -20 Accel (mg) Accel (mg) Time and Frequency plots, Vertical sensors, s284n62 20 4 50 55 Time (sec) 60 65 2 0 0 5 10 15 20 25 30 frequency (HZ) 35 40 45 50 2 0 0 0.5 1 1.5 2 2.5 frequency (HZ) Vertical Sensor at Quarter-span 6/27/2016 335m South of the North Tower 33 Bonus – Spectacular Views 6/27/2016 34 Real World … 6/27/2016 35 Networking Every Day Things 6/27/2016 36 Kitchen 6/27/2016 37 Bath / Health / Clinic 6/27/2016 38 Fitness 6/27/2016 39 Typical Week • Meet on Monday • 1st Hour: student presentations on results of previous week’s Team Activity Assignment • Brief Presentation providing technical background for Lab • Interactive Lab with 1-1 and whole class discussion • Team Activity Assignment • Office and lab hours during the week 6/27/2016 40 Plan for the Term • http://www.eecs.berkeley.edu/~culler/eecs194/ • • • • • • • W1: Embedded Internet W2: Embedded Applications / MCUs / PCB design W3: Sensing W4: Networking and Web Services W5: Actuation / HW Fab W7-9: Class Starter Project W10-15: Team Projects 6/27/2016 41 Discussion 6/27/2016 42