Predix Edge Protocol Adapters Overview

Learn about where to download the Predix Edge Protocol Adapters and their corresponding sample configurations and understand how the blocks section is used.

Protocol-Specific Information

Specific protocol adapter information is available for:

Download the Adapters

The Protocol Translator Apps and sample configurations in the table below are stored in Artifactory. Use the following information to ensure you can access the apps.

To access Artifactory downloads, you will require a GE SSO (single sign-on) username and approval to access Artifactory.

Use the following steps to obtain a GE SSO if you do not already have one.

  1. Complete the Your GE SSO Account request form. All fields marked with a checkmark are required.
  2. Click Submit.
Note: The only non-alphanumeric characters allowed in your GE SSO are an underscore (_) and a period (.). Using any other non-alphanumeric characters for your username will result in an invalid authentication in Artifactory.

Request Artifactory Access

Once you have an SSO, use the following steps to request access to Artifactory.
  1. Complete the Edge Artifactory Access Requests form.
  2. Click Submit.

Protocol Adapter Downloads

Deployment

Go to your specific adapter documentation for a sample docker-compose.yml file, and use it as you follow the Packaging and Deployment instructions.

Configuration

Each adapter requires a configuration file, and a sample is available in the documentation for each adapter. The samples are named config.json, but the file name can be changed, as long as the change is reflected in the docker-compose.yml. The configuration file is required as part of the Packaging and Deployment process.

The configuration file is a JSON file that contains two sections—blocks and mappings. The format is as follows:

{
	"blocks": {
		...
	},
	"mappings": {
		...
	}
}

The Blocks Section

The blocks section is used to initialize the blocks that will be used by the protocol translator. Declaring a block in this section will instantiate it but it will not wire it to any other blocks.

Every block must have a type and config field in the configuration file. The type field defines what type of block is to be instantiated. The config section defines the configuration fields for that block and will look different depending on the type of the block. The config section is passed to the block when it is instantiated.

In the example below, two blocks are defined—one named block1 of type fooblock, and another named block2 of type barblock.

{
    "blocks": {
        "block1": {
            "type": "fooblock",
            "config": {
                ...
            }
        },
        "block2": {
            "type": "barblock",
            "config": {
                ...
            }
        },
        ...
    },
    "mappings": {
        ...
    }
}