Written by Dell’s Jim White, EdgeX Foundry TSC Member and Chair of Core Services Working Group
As you explore EdgeX Foundry, one of its strengths is its ability to bring on connectivity to new devices and sensors quickly. This is facilitated by the device service SDK and device profiles.
Recently, Chad Young of Dell helped create some wonderful additions to the EdgeX tutorial set in these areas. Chad create a collection of videos to give better examples of how to use the SDK to create a device service in a step by step video guide. These videos can be found on the EdgeX Foundry YouTube channel: https://www.youtube.com/c/EdgeXFoundry. He also created a Wiki page in the EdgeX documentation that covers the same: https://wiki.edgexfoundry.org/display/FA/Modbus+-+Adding+a+device+to+EdgeX.
For additional background, Tyler Cox also from the Dell team added more documentation about the device profile, providing more details and linked in references to examples (https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=7602686).
Device services are the micro service connectors interacting with the devices or IoT objects that include, but are not limited to: appliances in your home, alarm systems, HVAC equipment, lighting, machines in any industry, irrigation systems, drones, traffic signals, automated transportation, and so forth.
The device services communicate with the devices, sensors, actuators, and other IoT “things” through protocols native to the IoT object. The DS Layer converts the data produced and communicated by the IoT object, into a common EdgeX Foundry data structure, and sends that converted data into the Core Services layer, and to other microservices in other layers of EdgeX Foundry.
As one might expect, the device service SDK helps developers create the device service micro services. The SDK provides the boilerplate code – what we can the device service scaffolding – to which a developer can more quickly add the specific elements for communicating with a type of device/sensor and get it plugged into EdgeX.
Each specific device and sensor that is managed by EdgeX Foundry must be registered with Metadata and have a unique ID associated to it. Information, such as the device’s or sensor’s address is stored with that identifier. Each device and sensor is also associated to a device profile. This association enables Metadata to apply generic knowledge provided by the device profile to each device and sensor that is connected via the device service to EdgeX.
The additional tutorials and documentation were as a result of requests from the EdgeX community for more help. We heard and continue to listen to community requests. Please keep the feedback coming!
We hope the community will find these additions in the tutorials and documentation around the SDK and device profile helpful, and our thanks to Chad and Tyler for their great work.