Wireless Data Logger Networks by Javier González My name is Javier González, I am 24 and I started my 3-year Ph.D in November 2011 at the IT University of Copenhagen. My Ph.D is partly funded by the FP7 infrastructure project INTERACT, under the supervision of associate professor Philippe Bonnet. xxxxxxaa CONTEXT Data Management & Time Series How do we integrate a sensor net with a DBMS? • Flexible Data Loading How to deal with data sets coming from diverse sources and structure? DBMS data data data • Enforce Usage Control Define some kind of usage control policies for data generated in the arctic ecologists community is an open issue. Designing an infrastructure for enforcing these policies is also an open issue. IT UNIVERSITY OF COPENHAGEN Javier González - [email protected] supervisor: Philippe Bonnet April, 2012 Ph.D Forum - IPSN'12 After obtaining both my Bachelor and Master's at the University of Valladolid I moved to Denmark, where I carried out my Master's Thesis and stayed as a Ph.D. Data Forwarding at High-Baudrates Sustaining high speed serial data forwarding is a problem for EPIC and TELOS motes running TinyOS. For a mote to support a 115200 baud data rate, the UART must be available every 0.07ms. Since (i) the UART is interrupt-driven and since (ii) there are components in TinyOS that either are non- interruptible or disable interrupts, this cause the UART to miss interrupts and thereby data. Stand-Alone data loggers Networked System Integrating stand-alone digital devices not affected by the MEMS revolution, and equipped with a high-speed serial interface (115200bps) into a networked system has proven to be a challenge for commercially available EPIC and TelosB based systems. We refer to this problem as Wireless Serial Data Transmission (WSDT). RS-232 Monolithic, Bulky, Expensive and Energy Inefficient sensors 115200bps Biography We focus on how to handle vast amounts of diverse, small data sets. Also, we aim to provide a tool to organize the management, publication and archival of these data sets. This problem was originally pointed out by Jim Gray. Access and usage control are necessary to enforce existing data policies. Data Set 2 Data Set 3 Data Set 6 Data Set n Data Set 7 Data Set 4 Data Set 5 Data Set 1 Data Set 6 Data Set 4 Data Set 5 Data Set n Efficient Data Loading, Access Control & Usage Control COLLABORATIVE DATA INFRASTRUCTURE Publica- tion Data Set 7 Data Set 2 Data Set 3 Data Set 6 Data Set 4 Data Set 5 Data Set 1 Data Set n OTHER DATA + + Ownership Author (Researcher) Research + Feedback Usage Control Recognition Researcher Researcher Field Work Collected Data Data Sharing Data Set 2 Data Set 1 Data Set 7 Data Set 3 Data Sharing (INTERACT) Who accesses data? - Access Control How data is used? - Usage Control PROBLEMS ONGOING WORK INTERACT INTERACT is an EU-founded, FP7 infrastructure project. Its main goal is to build capacity for research and monitoring along a network of 33 terrestrial field bases in northern Europe, Russia, US, Canada, Greenland, Iceland, the Faroe Islands and Scotland. www.eu-interact.org/ Equip data-loggers with wireless capabilities (INTERACT - WP5) Reliable, precise, stand- alone sensor + data loggers RS-232 Serial Data RS-232 Send Command Command Send Packet 1 ACK ... Send Packet n ACK Poke - Wake Up Answer End Comm for (i=0;i<n;i++) send_Packet(i); t Act as a Routing Device 115200bps In the context of INTERACT (Work Package 5 - Virtual Instrumentation), our initial goal is to equip data loggers with wireless capabilities to forward serial data at high baud-rates (115200bps) without data-loss (sensible data) in single-hop and multi-hop topologies. Adding routing capabilities while keeping up this high rates pushes current platforms to their limits. Serial Data Base Station How should a wireless data logger network be programmed? Who is programming it? Which are the needed abstractions? How generic should a data logger network Programming Framework actually be? There is a mismatch between the current incarnation of TinyOS (genericity & hardware independence) and actual needs of sensor net programming. Including a lack of an agile data forwarding capability among serial interfaces, Radio and FLASH due to shared SPIs. Arduino motes + XBee modules can easily achieve this. Hardware Design & Programming Frameworks Arduino Mega TelosB & EPIC μC Serial Serial Serial Serial UART 0 UART 1 UART 2 UART 3 XBee RS-232 FLASH SPI μC FLASH Radio Serial SPI RS-232 * We revisit the importance of hardware design on embedded network programming. TelosB & EPIC Arquitecture *Different FLASH chip for Telosb (m25p80) and EPIC (AT45DB041D ) RS-232 μC FLASH Radio Serial UART 0 Shared SPI UART 1 M430f1611 P44 P42 * Scientists are more interested in precision than in spatial coverage. Reliability and Robustness are top requirements. Internal Cyclic Buffer (RAM) ... UART Clock FLASH Radio μC RS-232 115200bps 115200bps User Provider Interface Commands Events Image taken from TinyOS Programming Also, the event-based nature of TinyOS combined with atomic statements obscures the real processes being taken inside the internal components of the motes. WSDT in TelosB+TinyOS leads to unacceptable data-loss rates and mote hanging. We are pushed to develop smart software strategies in order to make up for hardware deficiencies Impact the Design of monitoring components Generalizing from the WSDT example, we investigate the interplay between hardware design and programming framework for specific classes of network embedded systems. μC Serial Serial Serial Serial UART 0 UART 1 UART 2 UART 3 XBee RS-232 FLASH SPI μC FLASH Radio Serial SPI RS-232 * + The level of genericity as w e l l a s t h e l e v e l o f abstraction are key elements when choosing a hardware platform and a programming framework in order to solve a concrete problem. Hardware Software Generic Generic Specific Specific • Arduino/XBee • EPIC/TinyOS • Campbell RF Tradeoff: Flexibility vs. Enforced Reliability