Meta Data Deep Dive Part 2 Tech Talks – Session 5
Tyler Cox Dell SW Senior Engineer & Software Architect From Dell End User Computing (EUC) CTO Southbound Developer for Fuse I wrote most of the reference Device Services Dell Fuse => EdgeX Foundry tyler_cox@dell.com
Barcelona Release MVP The Technical Committee met two weeks ago in London MVP, tasks and to-do’s were established for the “Barcelona” release Release to coincide with the IoT Solutions World Congress in Barcelona Oct 3-5 Our first community release Please review the MVP and provide comments https://wiki.edgexfoundry.org/display/FA/Roadmap Also laid out potential future release roadmap Want to contribute to the MVP or additionally? Please get in touch! We have lots of project ideas!
Agenda Device Profile Details Commands Resources Device Resources Provisioning from a Meta Data perspective Provisioning from a Device Service perspective Q&A
Meta Data and Device Services
Meta Data Triumvirate EdgeX A Device represents a physical device or sensor However, another EdgeX gateway or a system could be a “device” Each device / sensor that is managed by EdgeX Foundry must be registered with Meta Data and have a unique ID and name associated to it Device services represent other micro services that manage one or more devices Each device is associated to one and only one device service Each device service has a unique ID and name A Device Profile can be thought of as a template of a type or classification of Device. A device profile provides general characteristics for the types of data a device sends and what types of commands or actions can be sent to the device A device must be associated to a single device profile More details about Device Profiles and device services next week Each profile has a unique ID and name
Device Profile High Level Example A BACnet thermostat device profile would provide general characteristics of thermostats Specifically those communicating via the BACnet protocol It would describe the types of data a BACnet thermostat sends Current temperature (as a float and in Celsius) Current humidity (as a float and a percentage) It would describe what commands it responds to and how to send those commands Get or Set the cooling set point (passing a float as a parameter) Get or Set the heating set point (passing a float as a parameter)
Device Profile Components Commands Resources Device Resources
Device Profile – Commands Example KMC Profile from Virtual Device Service This command defines Cooling and Heating Set Points Supports Get and Set operations Defines REST API REST Endpoint Parameter Names (refers to Value Descriptor) HTTP Response codes Expected Values (refers to Value Descriptor)
Device Profile – Resources Example Resources control logical flow from commands Support mapping to device resources or other resources Get command maps to the Get resource, calls 2 device resources Parameter defines the Value Descriptor passed/collected Put command maps to the Set resource, calls 2 device resources
Device Profile – Device Resources Example Attributes define protocol-specific data (BACnet uses types, instances, and properties) Properties define how data is transformed/typed, feeds Value Descriptor Units define how humans read data All fed to driver interface with device address information
Example Device Service Controller receives command SetPoint with parameters CoolingPoint: 75, HeatingPoint: 68 Handler maps to the SetPoint resource, splits to two device resources Driver executes two calls to the device First sets the CoolingPoint to 75 using device address, type, instance, and property Then set the HeatingPoint to 68 using device address, type, instance, and property Successful completion returns 204 Code
Device Provisioning (Top Down) Operator/Cloud Driven
Device Provisioning (Bottom Up) Operator supplies Provisioning rules and the Device Profile Discovery of device candidates happens at Device Service level Protocol-specific implementation handled by the Device Service Examples include name or MAC filtering, etc. Device Service creates Device object and provisions to Meta Data ProvisionWatcher objects for managing Device Discovery
EdgeX Tech Talks Provide this new community with background on the current system In the future, they may address future architecture or special calls to action Currently scheduled for every week (Thursdays) Alternating weekly times: 9am and 6pm ET Trying to be sensitive to global attendance Topics TBD – email me suggestions
Upcoming Tech Talks Core Command in-depth Consul and Config/Registry micro service Using the SDK to generate a device service Email me other suggestions
Questions and Answer Time