60 likes | 192 Views
This overview focuses on the fragmented landscape of building data and the need to break down data silos for better access by consumers and developers. It introduces a novel design approach that starts with smarter sensors while keeping the system lightweight. Utilizing an embedded IPv6 stack, the application employs HTTP and JSON for streamlined communication and control. It emphasizes the importance of integrating raw data with metadata, supporting various functionalities like reporting and calibration, thereby enabling efficient data management and utilization across SCADA and building management systems.
E N D
Embedded Building Application Stack Stephen Dawson-Haggerty
Overview • Current state of world: building data exists in application stovepipes • SCADA/building management systems • Sensors accessed over RS485/Modbus • Goal: break open the data silos and make the data available to consumers, developers • Start with the sensor: make it smarter • Not too smart, though: keep things small
System Designor, REST in 36kB • Build on blip, embedded IPv6 stack • Use HTTP for control channel • Standards in IETF, IEEE moving along nicely, but don’t get held up by them! Application Interface HTTP Engine TCP TinyOS/BLIP HYDRO Routing 6lowpan HC 802.15.4 Link
Meter Interface: HTTP + JSON • Use HTTP as app-level control protocol • JSON is concise object transport • Also defined a compressed application/x-binaryjsoncontent type • Distinguish metering from sensing • Integrate raw data with metadata • Calibration • Engineering units • Reporting support allows pushing of sensor data
Meter Interface /meter # meters of quantities of flow provide this service [GET] /channelID # a particular channel [GET] /reading # meter reading [GET] /format # calibration and units [GET/POST] /parameter # sampling parameter [GET/POST] /profile # history of readings [GET] /report # create and query periodic reports [GET/POST] POST requests supply JSON objects as arguments: POST: http://meter1.cs.berkeley.edu/report { "ReportResource" : "/meter/*/reading", "ReportDeliveryLocation" : "http://webs.cs.berkeley.edu/receivereports.php", "Period" : 60, "Minimum" : 50, "Maximum" : 100 }
More information • Schema + API Documentation • http://webs.cs.berkeley.edu/blap/ • BLIP http://smote.cs.berkeley.edu:8000/tracenv/wiki/blip