**Draft**
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.
Self-Assessment Process
We ask the vendors to do the following:
- Instantiate an instance of the reference implementation of EdgeX with their device profile
Using a device that is described by their device profile, generate sample data, and send it to the appropriate device service
- Confirm that the data arrives in Core Data
- Validate their device profile using one of the tools provided by the Certification WG
- Submit their validated device profile and sample data to the EdgeX Ready program
This workflow diagram below may help with understanding the process:
Device Profile Validators
[TBD]
Required Public Materials
The following materials are required to included in the EdgeX Ready Program submission:
- Participation Form – PDF (.pdf), Word document (.docx), possibly Open Document Format (ODF) Text Document (.odt)
- Device Profile – YAML (.yaml)
- Associated sample data – JSON (.json)
- Sample data schema – JSON (.json)
- (Optional) UUID of the device profile, if validated using IOTech's DCT website, in the form of 123e4567-e89b-12d3-a456-426614174000
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.
Availability
EdgeX Ready will be announced before the end of 2021.
FAQ
What does it cost to be EdgeX Ready?
No - the only requirement is that you sign up and become an EdgeX User EDGEX USER, which is also free to join.
Do I need to have real sensors or devices to become an EdgeX Ready User?
No - using the MQTT and REST device services, you must be able to demonstrate that you can get data into EdgeX as a sensor or device would do, but you do not need a real sensor or device to accomplish the EdgeX Ready program.
TODO - Other things to address in this Wiki
- More details on the process. Steps in the process. Where to go for the tools. What is accomplished at each step? Wonder if we could create a diagram where each step is "click in" to get detailed instructions?
- Do we address EdgeX Ready in relationship to a particular version (maybe address this in the FAQ)?
- More info on EdgeX User - how to become one and where to go
EdgeX Ready Development Workflow
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.
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.
3 Launch EdgeX Using a Cloud Template
We have provided 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 their 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.
4 Send Data Through EdgeX
Using your device, send data to the cloud- or local-based EdgeX instance that you've set up in Step 3 above.
5 Capture Data Sent Through EdgeX
6 Write Schema for Sample Data
We ask that you provide a sample data set of typical data sent by your device.