Upload
doanduong
View
212
Download
0
Embed Size (px)
Citation preview
System Energy Efficiency Lab
seelab.ucsd.edu
Pietro Mercati
In the Rrevious Seminar
Technology and architectures
IoT devices
IoT network
Mohsen’s presentation last time on “Low level architectures”
This presentation
Introduction
§ What is an IoT application? How to summarize? § Device level: Embedded Interaction: “the technological
and conceptual phenomena of seamlessly integrating the means for interaction into everyday life” [Schmidt2010]
Introduction
§ What is an IoT application? How to summarize? § Network level: the effort to “enable the machine perception
of the real world and seamless interaction with it” [Mitton2011]
Introduction
§ You just wrote a C program § It’s compiling with no errors § How do you make sure it is properly working? § You test it !
§ How do we test IoT applications? What is required?
Introduction
§ Goal 1 (IoT devices): § Integrate sensing, networking and actuation capabilities
into everyday objects
§ Goal 2 (IoT networks): § Design network systems that can interchangeably and
efficiently support a large range of applications § Make it available for developers to test applications (IoT
testbed)
In this Presentation
§ Look at how to test IoT: § Device level
§ How do we build new devices for the IoT by integrating sensing/networking capabilities into everyday objects?
§ Network level § What are the requirements of a network of interconnected
devices? § How can users leverage an IoT testbed?
Outline
§ IoT devices § Challenges § Design guidelines § Commercial devices for IoT
§ IoT testbeds § The Motelab example § IoT testbeds requirements § IoT testbeds classification § Some examples more into details
§ Motelab § SmartSantander § Other projects
§ Actuation and control § IoT in industry
IoT Devices
Embedded Interaction: Netgets
§ We can modify everyday objects to become a part of the IoT by integrating sensing/networking/actuation.
§ Netgets: “specialized networked gadgets with sensors and actuators that let users seamlessly manipulate digital information and data in the context of real-‐world usage” [Schmidt2010]
HapiFork More on http://iotlist.co/
Kolibree
Challenges [Schmidt2010]
§ Embedded Vs. Interaction Devices § Invisibility Dilemma § Implicit Vs. Explicit interaction § Context dependence § Interaction and multimodality § Development support
Design Guidelines [Schmidt2010]
§ Information when and where it’s useful § Information provision without explicit interaction § Overprovisioning § Specialized components § Visibility § Accidental use § The invisibility dilemma § Short and long term life cycle § Rapid prototyping § Modeling support
Commercial Devices for IoT Prototyping
§ Nodes, sensors, SBCs: § PanStamps § TinyDuino § Arduino § RF Duino § Pinoccio § Raspberry Pi § BeagleBone § Cubieboard § Nanode
Arduino Uno
Raspberry Pi 2
PanStamp
More at http://postscapes.com/internet-of-things-hardware
PanStamp
https://github.com/panStamp/panstamp/wiki/First-steps
Hardware specifications • Dimmensions: 0.7 x 1.2 in (17.7 x 30.5
mm) • MCU: Atmel Atmega328P at 8MHz • Flash: 32 KB • RAM: 2 KB • EEPROM: 1 KB • RF frontend: TI CC1101 • Frequency bands: 868/915 MHz • Operating voltage: from 2.5 VDC to 3.6
VDC • Current consumption: 1 uA when in
deep sleep mode. 2.5mA whilst transmitting
• On-board LED
panStamp AVR 2 ($16)
PanStamp
https://github.com/panStamp/panstamp/wiki/First-steps
panStamp sensor board ($6)
• Hardware specifications • Size: 1.0 x 2.2 in (25.4 x 55.8 mm) • Pin spacing: 0.1 in (2.54 mm) • Optional on-board sensors:
• 10KOhm NTC temperature sensor • SI7021 I2C humidity/temperature sensor • BMP180 I2C pressure/temperature
sensor • lSM9DS0 I2C accelerometer/gyroscope/
magnetometer sensor • Default input voltage (Vcc): 2.0 to 3.6 VDC • Optional input voltages:
• 2.7V to 13.2V with MCP1702 LDO • 0.8V to 3.3V with MAX1724 boost regulator
https://github.com/panStamp/panstamp/wiki
panStamp AVR 2 ($16)
PanStamp
https://github.com/panStamp/panstamp/wiki/First-steps
https://github.com/panStamp/panstamp/wiki
panStamp provides three different API's, which are often combined in the same application. Each API has a special purpose and provides control over different cores and peripherals: • Arduino API : generic delay functions and I/
O control, including digital I/O's, ADC's, PWM's, UART, SPI and I2C.
• panStamp API : core functions and power management.
• SWAP API : SWAP (protocol) functions. This API is implemented in a separate library.
Get the libraries from github and program devices using Arduino IDE
https://code.google.com/p/panstamp/wiki/firststeps
panStamp sensor board ($6)
panStamp AVR 2 ($16)
Raspberry Pi
§ Low cost (~35$) single-‐board computer § A fully functional ARM-‐based Linux
machine
Raspberry Pi 2 WHAT YOU WILL NEED REQUIRED • SD Card • Display and connectivity cables • Keyboard and mouse • Power supply
NOT ESSENTIAL BUT HELPFUL TO HAVE • Internet connection • Headphones
https://www.raspberrypi.org/help/quick-start-guide/
Raspberry Pi
Raspberry Pi 2
Raspberry projects to learn IoT: http://www.informationweek.com/software/enterprise-applications/10-raspberry-pi-projects-for-learning-iot/d/d-id/1320757
Temperature and humidity monitor: http://www.instructables.com/id/Raspberry-Pi-Temperature-Humidity-Network-Monitor/
Raspberry and IoT: https://www.raspberrypi.org/blog/tag/internet-of-things/
Internet doorbell: https://www.raspberrypi.org/blog/internet-doorbell/
Raspberry Pi Bluetooth In/Out Board: http://www.instructables.com/id/Raspberry-Pi-Bluetooth-InOut-Board-or-Whos-Hom/
Innovative Raspberry projects: http://www.pcworld.com/article/2895874/10-insanely-innovative-incredibly-cool-raspberry-pi-projects.html#slide9
Raspberry quadcopter: http://www.pcworld.com/article/2895874/10-insanely-innovative-incredibly-cool-raspberry-pi-projects.html#slide10
§ Low cost (~35$) single-‐board computer § A fully functional ARM-‐based Linux
machine
PanStamp Vs Raspberry
§ PanStamp § Low cost § Reliable communication
stack § Line of compatible
products § Battery powered § Requires IDE
§ Raspberry § Low cost (~$35) § A Linux machine § Supports multiple
programming languages (Python, C, C++, etc)
§ In general requires power cable
How to Test IoT?
§ Are we done yet? § So far we looked at how to make the single pieces of IoT § Netgets:
§ Custom devices for embedded interaction § Challenges and design guidelines
§ Nodes, sensors, SBC: § Rapid prototyping
§ How to obtain a realistic environment for IoT? § Build an IoT testbed and make it available to everybody
IoT Testbeds
IoT Testbeds
§ Simulations § Pros:
§ Good for having a preliminary understanding of the problem and of tradeoffs
§ Can be run in general purpose machines
§ Cons: § Rely on assumptions and models which may be not accurate
and/or not general § This is even more dramatic for IoT:
§ Real–world processes § Very large scale interactions
IoT Testbeds
§ Need for § Interdisciplinary, multitechnology, large-‐scale, realistic testbeds § Test IoT outside of research labs
§ To enable § Technical evaluation of IoT under realistic conditions § Assessment of social acceptance of IoT § Quantification of performance with real users in the loop
§ How do we build an IoT testbed? § What are the requirements? § How do we classify IoT testbeds?
The Motelab Testbed (2005)
§ A software infrastructure implemented on a network of 30 sensor nodes distributed over three floors of ECE dept building at Harvard University.
§ A web interface allows remote users to program nodes and run experiments.
§ One of first and long lasting testbeds (635 citations on [Welsh2005])
§ Remote users can connect and use the interface for job scheduling, node programming, data logging.
§ Used as basis for other testbeds, e.g. CCNY-‐CWSNET and INDRIYA
Requirements [Mitton2011] § Scale
§ Thousands of interconnected devices § Minimize human intervention § Maximize plug-‐and-‐play § Automate fault management § Support resource selection
§ Heterogeneity § IoT networks are composed by different devices § The testbed should reflect such heterogeneity
§ Repeatability § Experiments should be easily re-‐executed and compared § Agreements on standards for experiment specifications,
collection of traces, packaging of results
Requirements § Federation
§ Enable integration with other IoT testbeds § Requires a common framework for authentication,
authorization, accounting, reservation and experimental scheduling.
§ Concurrency § Multiplexing of concurrent experiments § Virtualization to enable resource selection while avoiding
conflicts § Experimental Environment
§ Moving testbeds out of labs requires higher robustness § Every connection should be wireless § Overhead of maintenance
Requirements
§ Mobility § Real IoT devices may move around § Control and exploit realistic mobility of devices and
entities
§ User Involvement and Impact § IoT application are centered on users § Require active participation § Mechanisms to evaluate social impact of IoT applications
Testbeds Classification
§ Scope § Architecture § Hardware features § Testbed services
Testbeds Classification
§ Scope and architecture
Testbeds Classification
§ Hardware features
Testbeds Classification
§ Testbed services § Web interfaces § Application programming interfaces § Experiment description § Experiment scheduling § Reprogramming § Execution control § Monitoring and data collection § Resource discovery and configuration § Fault management § Performance monitoring § Co-‐simulation
Example 1: Motelab (2005)
§ Federation: § “Motelab software can manage any lab of
nodes providing remote reprogramming and data logging capabilities”
§ Concurrency: § “User quota system facilitates sharing the
lab between multiple users” § Repeatability:
§ “Once a job is created, Motelab stores the configuration information allowing the same job to be run multiple times”
§ What is missing? § Mobility § Scale
Requirements Scale Heterogeneity Repeatability Federation Concurrency Experimental Environment Mobility User Involvement and Impact
Example 1: Motelab (2005)
§ Scope: § Application domain
§ Generic
§ Technology domain § Single domain (WSN)
§ Architecture: § Two-‐tier § Homogeneous § Indoor § Permanent/portable ?
§ HW features: § WSN § Limited to TinyOS
§ Testbed services: § Web interface for
experiment specification
§ Data collection § Power monitoring
Example 2: SmartSantander (2009-‐ present)
§ SmartSantander proposes a unique in the world city-‐scale experimental research facility in support of typical applications and services for a smart city.
§ The project envisions the deployment of 20,000 sensors in Belgrade, Guildford, Lübeck and Santander (12,000)
Example 2: SmartSantander (2009-‐ present)
§ Key Functions: § Validation of approaches to the architectural model of IoT. § Evaluation of the key building blocks of the IoT architecture § Evaluation of social acceptance of IoT technologies and services.
§ Scale, Federation, Mobility, User involvement
Other Interesting Projects
§ WISEBED [Pfisterer2009] § SensLab [Vandaele2011 ] § SmartCampus [Headley2013] § IoT-‐LAB [Ziegler2015] IoT-LAB testbeds are located at six different sites across France which gives forward access to 2728 wireless sensors nodes: Inria Grenoble (928), Inria Lille (640), ICube Strasbourg (400), Inria Rocquencourt (344), Inria Rennes (256) and Institut Mines-Télécom Paris (160)
Other Interesting Projects
§ WISEBED [Pfisterer2009] § SensLab [Vandaele2011 ] § SmartCampus [Headley2013] § IoT-‐LAB [Ziegler2015]
https://www.iot-lab.info/get_started/ https://www.iot-lab.info/what-is-iot-lab/
1. Build your application Build one or several firmwares to use during your experiment for WSN430, M3 or A8 hardware platform. 2. Select resources Choose number and type of nodes or choose a specific topology. 3. Configure nodes Associate a firmware to each node and define the activity of the control node during the experiment 4. Submit your experiment A scheduler will program your experiment, immediately if resources are free. The deployment will be automatic.
Actuation and Control § Smart grids
§ Detailed energy measurement § Energy control and distribution
A problem of distributed control: • Move control to subcomponents • Achieve optimal solutions by
intelligently orchestrate distributed controllers
https://www.terraswarm.org/
REFERENCES Demo Abstract: Distributed Control of a Swarm of Buildings Connected to a Smart Grid Multi-Agent Systems in a Distributed Smart Grid: Design and Implementation Management and Control of Domestic Smart Grid Technology The Path of the Smart Grid Control Mechanisms for Residential Electricity Demand in SmartGrids
IoT Platforms
§ ThingWorx § Carriots § iDigi
http://postscapes.com/internet-of-things-platforms
IoT Startups
§ SmartThings § Chui § Sensoria
IoT in Large Companies
§ Intel § http://www.intel.com/content/www/us/en/internet-‐of-‐
things/overview.html § ARM
§ https://www.arm.com/products/internet-‐of-‐things-‐solutions/
§ Google § https://cloud.google.com/solutions/iot/
§ Cisco § http://www.cisco.com/c/en/us/solutions/internet-‐of-‐
things/overview.html
Conclusion
§ Potentially every object can be augmented with sensing, networking and actuation capabilities.
§ There is a proliferation of commercial smart devices, sensor boards, single-‐board computers
§ Invisibility dilemma, rapid prototyping.
§ IoT applications require large and flexible testbeds § IoT testbeds should be developed to fulfill important requirements § Some recent effort realized large-‐scale testbeds for IoT
experimentation (SmartSantander, IoT-‐lab)
§ Important companies are striving to drive IoT development § Proliferation of IoT-‐related startups
Backup