s MAP a Simple Measurement and Actuation Profile

  • Slides: 22
Download presentation
s. MAP – a Simple Measurement and Actuation Profile for Physical Information Stephen Dawson-Haggerty,

s. MAP – a Simple Measurement and Actuation Profile for Physical Information Stephen Dawson-Haggerty, Xiaofan Jiang, Gilman Tolle, Jorge Ortiz, and David Culler Computer Science Division University of California, Berkeley © 2010 All rights reserved

Physical data is everywhere Buildings Timeseries Wed Oct 27 12: 35: 00 Wed Oct

Physical data is everywhere Buildings Timeseries Wed Oct 27 12: 35: 00 Wed Oct 27 12: 40: 00 Wed Oct 27 12: 45: 00 Wed Oct 27 12: 50: 00 Wed Oct 27 12: 55: 00 Wed Oct 27 13: 05: 00 Wed Oct 27 13: 10: 00 Wed Oct 27 13: 15: 00 Wed Oct 27 13: 20: 00 2010, 92. 8 2010, 91. 6 2010, 92. 76 2010, 89. 445 2010, 95. 0 2010, 94. 005 2010, 96. 3 2010, 91. 61 2010, 97. 475 2010, 95. 825 Shade or Passive Solar Natural Ventilatio n. Ambient Lighting Core HVAC Task Lighting & Sen. Sys '10: Zurich, Switzerland Power Load Mgmt HVAC Perimeter HVAC Electrical Conditioning Transport Light Information from the world BMS

Why buildings? • 72% of electrical consumption, 40% of total consumption, 50% with construction,

Why buildings? • 72% of electrical consumption, 40% of total consumption, 50% with construction, 42% of GHG footprint • Commercial building consumption 2 x 1980 -2000, 1. 5 x more by 2025 [NREL] • Where the coal is used • The prime target of opportunity for renewable supplies Electricity source Renewable energy consumption Sen. Sys '10: Zurich, Switzerland

Cyber / Physical Building ng i ild u -B n a m face u

Cyber / Physical Building ng i ild u -B n a m face u H ter In Control Plan and Schedule External BIM PIB Cyber Process Loads Legacy Instrumentation & Control Interfaces Physical Sen. Sys '10: Zurich, Switzerland Building BMS HVAC Physical Models Pervasive Sensing Occupant Demand Electrical Multi-Objective Model. Driven Control Activity/Usage Streams Transport Light Activity Models Fault, Attack, Anomaly Detect &Management Building Integrated Operating System

“Smart Buildings” Protocol Year Network Example Applications Modbus 1979 RS-485, TCP/IP Panel monitoring, alarms

“Smart Buildings” Protocol Year Network Example Applications Modbus 1979 RS-485, TCP/IP Panel monitoring, alarms Fieldbus/HART 1988 various Industrial Control BACnet 1995 ARCNET, Ethernet, IP, HVAC, Lighting, Fire… RS-232, etc. Wireless. HART 2007 802. 15. 4 e Zigbee SEP 2. 0 2011? 802. 15. 4 Industrial control, wire replacement BMS HVAC Sen. Sys '10: Zurich, Switzerland Electrical • HUGE installed/legacy base • Multiple generations of hardware and software in the same building • Typical integration: proprietary vertical Building Management System (BMS) • Data in at the bottom • Data products out at the top Transport Light Plug-load monitoring

What is “RSS” for physical data? Applications • Make available diverse information sources •

What is “RSS” for physical data? Applications • Make available diverse information sources • Support publishing to the Internet Personal Feedback Modeling Continuous Commissioning Visualization Control Actuation Location Storage JSON Objects Debugging Authentication REST API Physical Information s. MAP Electrical Water Structural Weather Geographical Occupancy Environmental Actuator Horizontal Architecture Sen. Sys '10: Zurich, Switzerland HTTP/TCP … Vertical Protocol Layering

Design goals “Uniform” access to real-time data from an instrument Open data to a

Design goals “Uniform” access to real-time data from an instrument Open data to a new class of application developers RESTful: “representations of resources” What resources, what do we “represent”? Dive in: application oriented design Sen. Sys '10: Zurich, Switzerland

Example s. MAP Interaction Discover GET /data [“cory”] GET /data/cory [“sensor”, “meter”] GET /data/cory/sensor

Example s. MAP Interaction Discover GET /data [“cory”] GET /data/cory [“sensor”, “meter”] GET /data/cory/sensor [“temperature”, “wind”, “humidity”] GET /data/cory/sensor/temperature/reading { “Reading” : 23, “Reading. Time” : 1288385832, “Reading. Sequence” : 123123 } Sen. Sys '10: Zurich, Switzerland Access

Support three things: metering, sensing, actuation Measuring: instantaneous values Metering: accumulated values i. e.

Support three things: metering, sensing, actuation Measuring: instantaneous values Metering: accumulated values i. e. , temperature i. e. , electricity Units Conversion to Engineering Units Other metadata (? ) Sen. Sys '10: Zurich, Switzerland

Identify sense points and channels Sense points: physical point of instrumentation i. e. ,

Identify sense points and channels Sense points: physical point of instrumentation i. e. , the sensor; “the weather station” Channel: single stream of scalars “temperature” Sen. Sys '10: Zurich, Switzerland

Map these to HTTP resources / # list resource under URI root [GET] /data

Map these to HTTP resources / # list resource under URI root [GET] /data # list sense points under resource data [GET] / [sense_point] # select a sense points [GET] /meter # meters provide this service [GET] / [channel] # a particular channel [GET] /reading # meter reading [GET] /format # calibration and units [GET/POST] /parameter # sampling parameter [GET/POST] /profile # history of readings [GET] Represent units, sampling parameters of the underlying device, for each channel Sen. Sys '10: Zurich, Switzerland

What else do we need? Events Embedded devices support Sen. Sys '10: Zurich, Switzerland

What else do we need? Events Embedded devices support Sen. Sys '10: Zurich, Switzerland

Event Reporting: add “callbacks” to HTTP POST /reporting/create { “Period” : 0, “Report. Resource”

Event Reporting: add “callbacks” to HTTP POST /reporting/create { “Period” : 0, “Report. Resource” : “~/data/*/*/*/reading”, “Report. Delivery. Location” : “http: //www. openbms. org/add/2133” } Period “ 0” means only changes get pushed Same semantics as a GET on Report. Resource Alternatives are “long get, ” webevents/multipart HTTP style Sen. Sys '10: Zurich, Switzerland

Embedding s. MAP Emerging design pattern: define Internet-scale protocol, use adaptation layer where necessary

Embedding s. MAP Emerging design pattern: define Internet-scale protocol, use adaptation layer where necessary s. MAP Light switch EBHTTP Translation EBHTTP / IPv 6 / 6 Low. PAN Wireless Mesh Network Avro Translation AC plug meter Proxy Server s. MAP Edge Router s. MAP Temperature/PAR/TSR Preserve extensibility and self-describing properties of JSON UDP transport option with stop-and-wait RETX Sen. Sys '10: Zurich, Switzerland

EBHTTP Avro Encoding Pack HTTP into a binary message structure: TLV encode headers, body

EBHTTP Avro Encoding Pack HTTP into a binary message structure: TLV encode headers, body Apache software foundation project for efficient serialization of JSON: documents reference a schema Supports most HTTP features but over connectionless UDP: ideal for 6 lowpan data collection networks Additional specification necessary to use it in a RESTful way GET /. schemas drives an architecture Proxies for accessing end-devices needed for scalability, security anyways Makes “end-to-end” possible again HTTP 1. 0 200 OK Content-encoding: gzip GET /data/*/*/*/reading HTTP 1. 0 200 OK Content-type: application/avro X-Avro-Schema: reading Sen. Sys '10: Zurich, Switzerland

s. MAP That’s it: keep no. . . “external” metadata it simple data repository

s. MAP That’s it: keep no. . . “external” metadata it simple data repository credentials database. . . anything not an instrument property RS-485 s. MAP Google Power. Meter Modbus Internet Cell phone s. MAP IPv 6 / 6 Low. PAN Wireless Mesh Network s. MAP Every. Building Database Sen. Sys '10: Zurich, Switzerland

The s. MAP library • 15 different underlying sensors and stacks • More then

The s. MAP library • 15 different underlying sensors and stacks • More then 100 instruments, > 200 ACme plug-load meters • 4400 channels of high-resolution data • 80 s. MAP “instances” • together 250 samples/sec • It’s easy: simplest service is ~3 lines of Python Sen. Sys '10: Zurich, Switzerland

Dent Powerscout 18 s. MAP Feed / # list resource under URI root [GET]

Dent Powerscout 18 s. MAP Feed / # list resource under URI root [GET] /data # list sense points under resource data [GET] /[sense_point] # select a sense points [GET] /meter # meters provide this service [GET] /[channel] # a particular channel [GET] /reading # meter reading [GET] /format # calibration and units [GET/POST] /parameter # sampling parameter [GET/POST] /profile # history of readings [GET] Sense Point Description Channels A, B, C Single-phase real, apparent, reactive power + energy. power factor. current. phase-neutral voltage AB, BC, AC Phase-to-phase voltage ABC Whole-circuit real, apparent, reactive power + energy. power factor. current. phase-neutral voltage, line frequency Sen. Sys '10: Zurich, Switzerland

Shared Application: Visualization Every deployment needs this http: //www. openbms. org/smap/plot/2989/1 Sen. Sys '10:

Shared Application: Visualization Every deployment needs this http: //www. openbms. org/smap/plot/2989/1 Sen. Sys '10: Zurich, Switzerland

Shared Application: Metadata Repository Sen. Sys '10: Zurich, Switzerland

Shared Application: Metadata Repository Sen. Sys '10: Zurich, Switzerland

s. MAP represents instruments open source library lots of independent tools on top Temperature/

s. MAP represents instruments open source library lots of independent tools on top Temperature/ PAR/TSR s. MAP Dent circuit meter s. MAP storage metadata authentication location and more from the community Archival Sen. Sys '10: Zurich, Switzerland Every. Building

Applications s. MAP Resources s. MAP Gateway California ISO s. MAP Google Power. Meter

Applications s. MAP Resources s. MAP Gateway California ISO s. MAP Google Power. Meter Weather AC plug meter Edge Router EBHTTP Translation EBHTTP / IPv 6 / 6 Low. PAN Wireless Mesh Network Proxy Server Vibration / Humidity Internet Cell phone s. MAP Temperature/PAR/TSR Dent circuit meter Light switch s. MAP Every Building RS-485 Modbus s. MAP Gateway http: //www. openbms. org/smap/plot THANK YOU Sen. Sys '10: Zurich, Switzerland Database