Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

** Soft Launch Starting May 18, 2021 **

Note:  This wiki page is updated frequently.  You may need to clear your browser cache to see the latest edits

Announcement

With the Hanoi release, EdgeX Foundry announces the availability of EdgeX Ready.

What It Is

The EdgeX Ready program is about demonstrating the ability to work with EdgeX.  The designation helps other community participants and solution vendors identify vendors who have gone through a self-assessment process to demonstrate that they are able to integrate one of their offerings with solutions using EdgeX.  Those vendors who have joined the program are highlighted on the EdgeX Foundry website with an EdgeX Ready badge next to their logo.

The initial, “crawl,” phase of the “self-assessment process” is to simply validate a device profile.  Users attest that they have authored a device profile and moved device-specific data through an EdgeX instance that they had set up themselves thereby demonstrating some familiarity with EdgeX and, more specifically, of device services and their associated device profiles.  Upon submission and approval of their device profiles and sample data, the users’ logos will be badged on the EdgeX Foundry website.

We are initially launching with MQTT- and REST-based device profiles.  This is just the beginning.  With community interest, we will expand the program to support additional device services.

EdgeX Ready Development Workflow

We ask the vendors to do the following:

  1. Instantiate an instance of the reference implementation of EdgeX with their device profile
  2. Using a device that is described by their device profile, generate sample data, and send it to the appropriate device service

  3. Confirm that the data arrives in Core Data
  4. Validate their device profile using one of the tools provided by the Certification WG
  5. Submit their validated device profile and sample data to the EdgeX Ready program

This workflow diagram below may help with understanding the process:




Anchor
JoinEdgeXUserEcosystem
JoinEdgeXUserEcosystem
1  Join the EdgeX User Program

Before you can participate in the EdgeX Ready program, we require that you have already joined the EdgeX User Ecosystem, a free program wherein you can let others in the community know that your organization is using EdgeX, collaborate with other EdgeX users, and participate in community activities.  To join, please click here.  To learn more about the EdgeX User Ecosystem and see who’s already there, please click here.

Anchor
WriteDeviceProfile
WriteDeviceProfile
2  Write at Least One Device Profile

In our documentation, you will find a specification for device profiles (see: Device Profile Reference).  For those that prefer reading the code to infer the specification, you can still do that, too!  Start here with our Getting Started - Developers guide or hop right over to the EdgeX Foundry Project on GitHub and dive in deep.

Anchor
LaunchEdgeX
LaunchEdgeX
3  Launch EdgeX Using a Cloud Template

We provide cloud-specific templates and how-to guides for instantiating a reference implementation of EdgeX in the cloud to minimize the domain knowledge required outside of the immediate device service and its associated IoT protocol.  With these cloud EdgeX instances, users can verify that their device profile and sample data achieves the desired form within EdgeX.  See our Examples Repository for both Azure and AWS cloud templates.

Anchor
SendData
SendData
4  Send Data to EdgeX

Using your device, send device-specific data to the cloud- or local-based EdgeX instance that you've set up in Step 3 above.  Verify that the incoming data achieves the desired form within EdgeX.

Anchor
CaptureData
CaptureData
5  Capture Data Sent to EdgeX

We require that you provide a sample data set of data typically sent by your device.  This sample data helps members within the community better understand how your device behaves and how it interacts with EdgeX.  This sample data should be provided in JSON format.

Anchor
WriteSchema
WriteSchema
6  Write Schema for Sample Data

 We further require a schema for the sample data set from Step 5 in order for members of the community to be able to properly understand the sample data itself.

Anchor
ValidateSyntax
ValidateSyntax
7  Validate Device Profile Syntax

We ask that you validate your device profiles using one of the tools provided by the Certification WG:

  1. Device Configuration Tool, hosted by IOTech Systems
  2. Have the Certification WG validate the syntax.  Simply leave the UUID field blank on the submission form.

Anchor
ParticipationForm
ParticipationForm
8  Complete and Sign the EdgeX Ready Participation Form

Please complete and sign the EdgeX Ready Participation Form.  These are our Terms and Conditions.

Anchor
SubmitMaterials
SubmitMaterials
9  Submit Materials to EdgeX Ready

The following materials must be included in the EdgeX Ready Program submission:

  • Participation Form – PDF (.pdf) (from Step 8)
  • Device Profile – YAML (.yaml) (from Step 2)
  • Associated sample data – JSON (.json) (from Step 5)
  • Sample data schema – JSON (.json) (from Step 6)
  • (Optional) UUID of the device profile, if validated using IOTech's DCT website, in the form of 123e4567-e89b-12d3-a456-426614174000 (from Step 7)

Click here to submit these materials.


Availability

EdgeX Ready will be announced before the end of 2021.  A soft launch of the program started on May 18th, 2021.


Contributions

We at the EdgeX Foundry are very much interested in providing the EdgeX community with multiple options for validating device profiles for the EdgeX Ready Program.  If you have your own EdgeX validator and would like to contribute the implementation as open-source or share the service with the EdgeX community and the EdgeX Ready program specifically, we are interested in hearing from you!  Please reach out to us on Slack at #edgex-ready, email us at edgex-ready@edgexfoundry.org, or contact the Certification Team WG Chair directly at rodney@beechwoods.com and we can discuss next steps.


FAQ

What does it cost to join the EdgeX Ready program?

Nothing; it is a free program.

Do I need to have real sensors or devices to become EdgeX Ready?

No.  You simply need to be able to demonstrate that you can get device-specific data into EdgeX as the sensor or device would—whether that be with an actual sensor or device, with a simulator, or manually injecting device-accurate data samples into EdgeX via the device's respective IoT protocol—to accomplish the EdgeX Ready program.  Please remember that the community may use your sample data set to see if their EdgeX integration works with your device profile, so accurate sample data will lead to successful collaborations.


To-Do's

  • A guide on how to use IOTech's Device Configuration Tool for validating device profile syntax
  • A guide on how to use the "manual" option for device profile syntax validation
  • More insight as to what it means to validate device profile syntax—it is more than just a YAML linter
  • Best practices on how to capture incoming data, re:  5. Capture Data Sent to EdgeX
  • How to capture timing when coming up with a sample data set, re:  5. Capture Data Sent to EdgeX
  • More details on what is accomplished with each step in the development workflow
  • Do we address EdgeX Ready in relationship to a particular version (perhaps address this in the FAQ)?
  • Link to the community page hosting EdgeX Ready approved device profiles and their sample data sets and schemas