43
System Energy Efficiency Lab seelab.ucsd.edu Pietro Mercati

Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Embed Size (px)

Citation preview

Page 1: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

System  Energy  Efficiency  Lab  

seelab.ucsd.edu  

Pietro  Mercati  

Page 2: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

In  the  Rrevious  Seminar  

Technology and architectures

IoT devices

IoT network

Mohsen’s presentation last time on “Low level architectures”

This presentation

Page 3: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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]  

Page 4: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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]  

Page 5: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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?  

Page 6: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)  

Page 7: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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?  

Page 8: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 9: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

IoT  Devices  

Page 10: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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

Page 11: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Challenges [Schmidt2010]

§  Embedded  Vs.  Interaction  Devices  §  Invisibility  Dilemma  §  Implicit  Vs.  Explicit  interaction    §  Context  dependence  §  Interaction  and  multimodality  §  Development  support  

Page 12: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 13: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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

Page 14: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)

Page 15: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)

Page 16: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)

Page 17: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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/

Page 18: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 19: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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    

Page 20: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 21: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

IoT  Testbeds  

Page 22: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 23: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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?  

Page 24: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

 

Page 25: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 26: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 27: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 28: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Testbeds Classification

§  Scope  §  Architecture  §  Hardware  features  §  Testbed  services  

Page 29: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Testbeds  Classification  

§  Scope  and  architecture  

Page 30: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Testbeds  Classification  

§  Hardware  features  

Page 31: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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    

Page 32: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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

Page 33: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 34: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)  

Page 35: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 36: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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)

Page 37: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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.

Page 38: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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

Page 39: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

IoT  Platforms  

§  ThingWorx  §  Carriots  §  iDigi  

http://postscapes.com/internet-of-things-platforms

Page 40: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

IoT  Startups  

§  SmartThings  §  Chui  §  Sensoria  

Page 41: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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    

Page 42: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

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  

Page 43: Pietro’Mercati’ - Home | Computer Science and Engineering · Monitoring’and’data’collection ... “Userquota’system’facilitates’sharing’the ... Multi-Agent Systems

Backup