What’s New with Tiny Devices David Culler U.C. Berkeley Endeavour MiniRetreat 1/9/2001.

Slides:



Advertisements
Similar presentations
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Advertisements

David Culler, Jason Hill, Robert Szewczyk, Alec Woo U.C. Berkeley 2/9/2001 TinyOS Programming Boot Camp Part IV – Tiny OS 4.3 Component Overview.
How to use TinyOS Jason Hill Rob Szewczyk Alec Woo David Culler An event based execution environment for Networked Sensors.
Phil Buonadonna, Jason Hill CS-268, Spring 2000 MOTE Active Messages Communication Architectures for Networked Mini-Devices Networked sub-devicesActive.
A System Architecture for Tiny Networked Devices
Towards System Architecture for Tiny Networked Devices Jason Hill U.C. Berkeley.
SELF-ORGANIZING MEDIA ACCESS MECHANISM OF A WIRELESS SENSOR NETWORK AHM QUAMRUZZAMAN.
A Transmission Control Scheme for Media Access in Sensor Networks Lee, dooyoung AN lab A.Woo, D.E. Culler Mobicom’01.
S-MAC Sensor Medium Access Control Protocol An Energy Efficient MAC protocol for Wireless Sensor Networks.
Medium Access Control in Wireless Sensor Networks.
PERFORMANCE MEASUREMENTS OF WIRELESS SENSOR NETWORKS Gizem ERDOĞAN.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks
Current Proposal: Secure Language-Based Adaptive Service Platform (SLAP) for Large-Scale Embedded Sensor Networks David Culler Eric Brewer Dave Wagner.
Towards System Architecture for Tiny Networked Devices David Culler U.C. Berkeley Wireless hoo-hah 5/30/2000.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Wei Ye, John Heidemann, Deborah Estrin -- Adapted the authors’ Infocom 2002 talk.
PEDS September 18, 2006 Power Efficient System for Sensor Networks1 S. Coleri, A. Puri and P. Varaiya UC Berkeley Eighth IEEE International Symposium on.
System Architecture Directions for Networked Sensors Qiuhua Cao Computer Science Department University of Virginia.
Mica: A Wireless Platform for Deeply Embedded Networks Jason Hill and David Culler Presented by Arsalan Tavakoli.
Jason Hill, Robert Szewczyk, Alec Woo Spring 2000 TinyOS Operating System for Networked Sensors Networked SensorsSystem Structure Composing Components.
TinyOS Meets Silicon Jason Hill NEST Retreat Summer 2002.
Generic Sensor Platform for Networked Sensors Haywood Ho.
Integrated  -Wireless Communication Platform Jason Hill.
Generic Sensor Platform for Networked Sensors Haywood Ho.
A System Architecture for Tiny Networked Devices Jason Hill U.C. Berkeley 9/22/2000.
1 TinyOS Mohammad Rahimi CSCI599-Spring Motivation  The new class of distributed tiny devices  The new generation of software.
TinyOS Software Engineering Sensor Networks for the Masses.
1 Ultra-Low Duty Cycle MAC with Scheduled Channel Polling Wei Ye Fabio Silva John Heidemann Presented by: Ronak Bhuta Date: 4 th December 2007.
Architecture David Culler University of California, Berkeley Intel Research Berkeley
David Culler, Jason Hill, Robert Szewczyk, and Alec Woo U.C. Berkeley 2/9/2001 TinyOS Programming Boot Camp (V) Communication.
A Transmission Control Scheme for Media Access in Sensor Networks Presented by Jianhua Shao.
5/5/2003MobiSys 2003 Tutorial TinyOS Tutorial, Part II Robert Szewczyk, Joe Polastre, Phil Levis, David Culler Mobisys 2003.
SPINS: Security Protocols for Sensor Networks Adrian Perrig, Robert Szewczyk, Victor Wen, David Culler, and J.D. Tygar – University of California, Berkeley.
TinyOS – Communication and computation at the extremes Jason Hill U.C. Berkeley 1/10/2001.
Introduction to TinyOS. Networking Open Experimental Platform Small microcontroller 8 kB code 512 B data Simple, low-power radio 10 kbps ASK EEPROM (32.
1 EE249 Discussion System Architecture Directions for Networked Sensors (J. Hill, et al) Presented By: Sarah Bergbreiter EE249 Discussion Section October.
A Transmission Control Scheme for Media Access in Sensor Networks Alec Woo, David Culler (University of California, Berkeley) Special thanks to Wei Ye.
On the Energy Efficient Design of Wireless Sensor Networks Tariq M. Jadoon, PhD Department of Computer Science Lahore University of Management Sciences.
Intel ® Research mote Ralph Kling Intel Corporation Research Santa Clara, CA.
Empirical Analysis of Transmission Power Control Algorithms for Wireless Sensor Networks CENTS Retreat – May 26, 2005 Jaein Jeong (1), David Culler (1),
Source : System Architecture Directions or Networked Sensors - Jason Hill, Robert Szewcyk, Alec Woo, Seth Hollar, David Culler, Kristofer Pister The Mica.
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
MICA: A Wireless Platform for Deeply Embedded Networks
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
A Transmission Control Scheme for Media Access in Sensor Networks Alec Woo and David Culler University of California at Berkeley Intel Research ACM SIGMOBILE.
DESIGN & IMPLEMENTATION OF SMALL SCALE WIRELESS SENSOR NETWORK
1 An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks The First ACM Conference on Embedded Networked Sensor Systems (SenSys 2003) November.
An Energy Efficient MAC Protocol for Wireless Sensor Networks “S-MAC” Wei Ye, John Heidemann, Deborah Estrin Presentation: Deniz Çokuslu May 2008.
Wireless Sensor Networks Based On MICA Platform Wei Zhou Sep 8, 2004.
Extreme Networked Systems: Large Self-Organized Networks of Tiny Wireless Sensors David Culler Computer Science Division U.C. Berkeley Intel
Component-Based Development of Networked Embedded Applications Peter Volgyesi and Akos Ledeczi Institute for Software Integrated Systems, Vanderbilt University.
Overview of: System Architecture Directions for Networked Sensors John Kerwin CSE 291 Sensor Networks Paper by: Jason Hill, Robert Szewczyk, Alec Woo,
Dhanshree Nimje Smita Khartad
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
Presenter: Abhishek Gupta Dept. of Electrical and Computer Engineering
REED: Robust, Efficient Filtering and Event Detection in Sensor Networks Daniel Abadi, Samuel Madden, Wolfgang Lindner MIT United States VLDB 2005.
TinyOS and UC Berkeley Motes Hardware and Programming Tools Some slides and information was taken from Boot1.ppt and Boot2.ppt on the Berkeley TinyOS website.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James.
An Energy-Efficient MAC Protocol for Wireless Sensor Networks Speaker: hsiwei Wei Ye, John Heidemann and Deborah Estrin. IEEE INFOCOM 2002 Page
Active Message Application: CONNECT Presented by Xiaozhou David Zhu Oommen Regi July 6, 2001.
0.1 IT 601: Mobile Computing Wireless Sensor Network Prof. Anirudha Sahoo IIT Bombay.
TinyOS By Valliappan Annamalai. Hardware Mica motes (Mica2 and Mica2Dot) Hardware –Radio –Microcontroller –Flash memory –ADC –Sensor Board (MTA310)
Medium Access in Sensor Networks. Presented by: Vikram Shankar.
Low Power Management for CC2430 Jinho Son Real-Time System Lab.
Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
MAC Protocols for Sensor Networks
MAC Protocols for Sensor Networks
Introduction to Wireless Sensor Networks
A Network-Centric Approach to Embedded Software for Tiny Devices
Distributing Queries Over Low Power Sensor Networks
Presentation transcript:

What’s New with Tiny Devices David Culler U.C. Berkeley Endeavour MiniRetreat 1/9/2001

Endeavour Retreat2 Ready for “Prime Time” Hardware Platform suited for Experimentation TinyOS well exercised and ready for release Several Exciting Studies digging in deeper Time for applications and serious tools

1/9/2001Endeavour Retreat3 “Rene” wireless networked sensor platform 1” x 1.5” motherboard –ATMEL 4Mhz, 8bit MCU, 512 bytes RAM, 8K pgm flash –900Mhz Radio (RF Monolithics) ft. range –ATMEL network pgming assist –Radio Signal strength control and sensing –I2C EPROM (logging) –Base-station ready –stackable expansion connector (all ports, i2c, pwr, clock…)

1/9/2001Endeavour Retreat4 “Rene”simple sensor card proto 1” x 1.5”sensorboard –Stackable connector –Thermistor (temp, analog) –Proto –Breadboard area

1/9/2001Endeavour Retreat5 “Rene” motion sensor card 1” x 1.5” sensorboard –Accelerometers –Magnetrometers –Humidity, light, temp, sound, …

1/9/2001Endeavour Retreat6 Laptop “lab kit” Parallel Port for programming serial Port for base station “Sensor stacks” on central connector

1/9/2001Endeavour Retreat7 Lab analysis board Logical analyzer connectors Serial port Device bay

1/9/2001Endeavour Retreat8 Power Breakdown… But what does this mean? –Lithium Battery runs for 35 hours at peak load and years at minimum load! »That’s three orders of magnitude difference! –A one byte transmission uses the same energy as approx cycles of computation. –Idleness is not enough, sleep! ActiveIdleSleep CPU5 mA2 mA5 μA Radio7 mA (TX)4.5 mA (RX)5 μA EE-Prom3 mA00 LED’s4 mA00 Photo Diode200 μA00 Temperature200 μA00 Panasonic CR mAh

1/9/2001Endeavour Retreat9 TinyOS Extremely small code & data Address two appln behavior modes –Bursts of high concurrency (multiple streams) –Long periods of no important activity Efficient fine-grain multithreading –Bit-by-bit processing in software »hard real-time requirements –Percolate events through multiple levels Power control on every interface –Shut it all down when idle Simple two-level scheduler Modularity for robustness & specialization

1/9/2001Endeavour Retreat10 TinyOS Program Structure Application = graph of components + schedule RFM Radio byte i2c Temp photo Messaging Layer clocks bit byte packet Radio Packet Routing Layer sensing application application HW SW ADC messaging routing UART Packet UART byte

1/9/2001Endeavour Retreat11 Application Demo Code size for ad hoc networking application Scheduler: 144 Bytes code Totals: 3430 Bytes code 226 Bytes data

1/9/2001Endeavour Retreat12 Program Representation: component Component = foo.comp + foo.c.comp defines interface –Commands it accepts –Events it signals –Commands it uses –Events it handler.c file is the implementation –TOS_COMMAND- interface –TOS_SIGNAL_EVENT –TOS_CALL_COMMAND –TOS_EVENT –TOS_FRAME- internal state –TOS_TASK- internal concurrency –TOS_POST_TASK Only refer to internal and interface names All commands/events may return “No” Messaging Component AM_SUB_INIT AM_SUB_POWER AM_SUB_TX_PACKET AM_TX_PACKET _DONE AM_RX_PACKET _DONE Internal State AM_INIT AM_POWER AM_SEND_MSG AM_MSG_REC AM_MSG_SEND_DONE Internal Tasks CommandsEvents

1/9/2001Endeavour Retreat13 Example Component Messaging Component AM_SUB_INIT AM_SUB_POWER AM_SUB_TX_PACKET AM_TX_PACKET _DONE AM_RX_PACKET _DONE Internal State AM_INIT AM_POWER AM_SEND_MSG AM_MSG_REC AM_MSG_SEND_DONE Internal Tasks CommandsEvents //AM.comp// TOS_MODULE AM; ACCEPTS{ char AM_SEND_MSG(char addr, char type, char* data); void AM_POWER(char mode); char AM_INIT(); }; SIGNALS{ char AM_MSG_REC(char type, char* data); char AM_MSG_SEND_DONE(char success); }; HANDLES{ char AM_TX_PACKET_DONE(char success); char AM_RX_PACKET_DONE(char* packet); }; USES{ char AM_SUB_TX_PACKET(char* data); void AM_SUB_POWER(char mode); char AM_SUB_INIT(); };

1/9/2001Endeavour Retreat14 Component graph Application described by.desc file List of components “wiring” on interface ports Including “dispatch” ports –Active message demux –ADC (shared resource) demux May “name” connections or not Descriptions may be hierarchical Tools translate names across component interfaces Structured wiring => optimize across component boundaries Can interpose or exchange components

1/9/2001Endeavour Retreat15 Example description include modules{ MAIN; CHIRP; GENERIC_COMM; PHOTO; CLOCK; LEDS; }; MAIN:MAIN_SUB_INIT CHIRP:CHIRP_INIT MAIN:MAIN_SUB_SEND_MSG DUMMY:vSTART CHIRP:CHIRP_START DUMMY:vSTART … CHIRP:CHIRP_CLOCK_INIT CLOCK:CLOCK_INIT CHIRP:CHIRP_CLOCK_EVENT CLOCK:CLOCK_FIRE_EVENT … CHIRP:CHIRP_SUB_SEND_MSG GENERIC_COMM:GENERIC_COMM_SEND_MSG CHIRP:CHIRP_SUB_MSG_SEND_DONE GENERIC_COMM:GENERIC_COMM_MSG_SEND_DONE …

1/9/2001Endeavour Retreat16 Example (cont) GENERIC_COMM.desc include modules{ AM; RED_PACKETOBJ; FOUR_B_RADIO_BYTE; RFM; }; …. TOS_MODULE GENERIC_COMM; IMPLEMENTED_BY GENERIC_COMM; ACCEPTS{ char GENERIC_COMM_INIT(); void GENERIC_COMM_POWER(char mode); char GENERIC_COMM_SEND_MSG(char addr, char type, char* data); }; SIGNALS{ char GENERIC_COMM_MSG_REC(char type, char* data); char GENERIC_COMM_MSG_SEND_DONE(char success); };

1/9/2001Endeavour Retreat17 Real time operating systems QNX context switch = 2400 cycles on x86 pOSEK context switch > 40 µs Creem -> no preemption

1/9/2001Endeavour Retreat18 Thoughts about robust Algorithms Active Dynamic Route Determination –When route_beacon handler fires with M(hops) < hops »UP = M(source); hops = M(hops)++; M(source) = self; send; –Periodically increase hops Radio cell structure very unpredictable Builds and maintains good breadth-first forest Each node only records own state and parent(s) Fundamental operation pruning retransmission –Monotonic variables –Message signature caches Exercise: no beacons, just piggyback on data

1/9/2001Endeavour Retreat19 Low-Power Listening (J. Hill) Costs about as much to listen as to xmit, even when nothing is received Only way to save power is to turn radio off when there is nothing to hear. Can turn radio on/of in about 1 bit –Can detect transmission at cost of ~2 bit times  Small sub-msg recv sampling  Application-level synchronization rendezvous to determine when to sample Xmit: Recv: preamblemessage sleep b Optimal Preamble = (2/3 Sxb) 1/2

1/9/2001Endeavour Retreat20 Packet Encoding / Layers Radio requires rough DC balance –No more than three ones between zeros Manchester encoding 4b/6b Bit error rate significant and increases with distance CRC, 3-redundant …or SECDED with DC-balanced coding Radio byte components Radio packet components

1/9/2001Endeavour Retreat21 Channel Utilization (A. Woo) Per-cell channel utilization important near base MAC studies revealed subtle TinyOS jitter bug Simple CSMA algorithm proved effective –Listen random delay (16 bit LFB SR) –On busy, wait till idle 1.Aggregate Util 2.Detected collisions 3.Fraction of attempted BW delivered

1/9/2001Endeavour Retreat22 Bandwidth Management Hidden nodes between each pair of “levels” –CSMA is not enough RTS/CTS acks too costly (power & BW) P[msg-to-base] drops rapidly with hops –Investment in packet increases with distance  Local rate control to approx. fairness  Priority to forwarding, adjust own data rate  Additive increase, multiplicative decrease  Listen for retransmission as ack ~ ½ of packets get through 4 levels out

1/9/2001Endeavour Retreat23 Proximity / Location detection Signal strength sensing –Circuit works, falls off cleanly in good environment –Incredibly sensitive to obstructions! Error rates a useful proximity metric –Bit errors vs. packet errors Klemmer,Waterson, Whitehouse study => signal strength + Kalman filter provides good position detection

1/9/2001Endeavour Retreat24 Authentication / Security (Szewczyk, et al) mote basestation authentication and confidentiality –stream cipher RC5 encryption => no extra bits transmitted on encryped data –8 byte MAC, based on RC5 –authenticated basestation broadcast based on TESLA »protocol based on delayed key disclosure and time synch. »distribute routing beacons using authenticated broadcast => authenticated routing –additional protocols to guarantee freshness Implementation of above consumes about 1/3 of the mote resources (code space, RAM, processing) Shared key cryptography based on RC5 –public key cryptography is much too expensive –heavy code reuse - RC5 used for a variety of tasks –a key shared between mote and basestation programmed into the mote at initial programming time –first computationally expensive application on the motes

1/9/2001Endeavour Retreat25 Application-Specific Virtual Machine Small byte-code interpreter component –Code, static data, stack Accepts clock-event capsules –Other events too Hides split-phase operations below interpreter HW + collection of components defines space of applications –Allows very efficient coding within this space Capsules define specific query / logic

1/9/2001Endeavour Retreat26 Application Deployment Light sensing + location inference based on landmarks 16 motes deployed on 4 th floor Soda Hall 10 round motes as office landmarks 2 base stations around corners of the building 4 Rene motes as active badges for location tracking AA batteries (3 weeks) Tracking precision +/- one office berkeley.edu:8080/tracking

1/9/2001Endeavour Retreat27 Open Projects / Problems Ambient-power devices Debugging Many-mote simulator Logging component + trace analysis Message fragmentation Query processing Visualization Static critcal-path, jitter analysis REAL APPLICATIONS