This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Remote connectivity configuration

Customize the remote connectivity and automatic provisioning.

1 - AWS Connector configuration

Customize the remote connectivity.

Properties

To control all aspects of the aws connector behavior.

PropertyTypeDefaultDescription
topicFilterstring ​Regex filter used to block incoming messages by their topic
payloadFiltersstring ​Regex filters used to exclude parts of the incoming messages payload
Remote connectivity
addressstringAddress of the MQTT endpoint that the connector will connect for the remote communication, the format is: scheme://host:port
tenantIdstringdefault-tenant-idTenant unique identifier that the device belongs to
clientIdstringMQTT client unique identifier
Remote connectivity - TLS
alpnstring[]TLS application layer protocol negotiation options space separated for cloud access
caCertstringaws.crtPEM encoded CA certificates file
certstringPEM encoded certificate file to authenticate to the MQTT endpoint
keystringPEM encoded unencrypted private key file to authenticate to the MQTT endpoint
Remote connectivity - TLS over TPM
tpmDevicestringPath to the device file or the unix socket to access the TPM 2.0
tpmHandleintTPM 2.0 storage root key handle, the type is unsigned 64-bit integer
tpmKeyPubstringFile path to the public part of the TPM 2.0 key
tpmKeystringFile path to the private part of the TPM 2.0 key
Local connectivity
localAddressstringtcp://localhost:1883Address of the MQTT server/broker that the aws connector will connect for the local communication, the format is: scheme://host:port
localUsernamestringUsername that is a part of the credentials
localPasswordstringPassword that is a part of the credentials
Local connectivity - TLS
localCACertstringPEM encoded CA certificates file
localCertstringPEM encoded certificate file to authenticate to the MQTT server/broker
localKeystringPEM encoded unencrypted private key file to authenticate to the MQTT server/broker
Logging
logFilestringlogs/aws-connector.logPath to the file where log messages are written
logLevelstringINFOAll log messages at this or a higher level will be logged, the log levels in descending order are: ERROR, WARN, INFO, DEBUG and TRACE
logFileCountint5Log file maximum rotations count
logFileMaxAgeint28Log file rotations maximum age in days, use 0 to not remove old log files
logFileSizeint2Log file size in MB before it gets rotated

Example

The minimal required configuration to connect.

{
    "address": "tls://<AWS-endpoint-address>:8883",
    "caCert": "AmazonRootCA1.pem",
    "cert": "example-device.crt",
    "key": "example-device.key",
    "clientId": "org.eclipse.kanto:exampleDevice",
    "logFile": "/var/log/aws-connector/aws-connector.log"
}

Template

The configuration can be further adjusted according to the use case. The following template illustrates all possible properties with their default values.

{
    "topicFilter": "",
    "payloadFilters": [],
    "address": "",
    "tenantId": "default-tenant-id",
    "clientId": "",
    "alpn" : [],
    "caCert": "aws.crt",
    "cert": "",
    "key": "",
    "tpmDevice": "",
    "tpmHandle": 0,
    "tpmKeyPub": "",
    "tpmKey": "",
    "localAddress": "tcp://localhost:1883",
    "localUsername": "",
    "localPassword": "",
    "localCACert": "",
    "localCert": "",
    "localKey": "",
    "logFile": "logs/aws-connector.log",
    "logLevel": "INFO",
    "logFileCount": 5,
    "logFileMaxAge": 28,
    "logFileSize": 2
}

2 - Azure Connector configuration

Customize the remote connectivity.

Properties

To control all aspects of the azure connector behavior.

PropertyTypeDefaultDescription
tenantIdstringdefaultTenantTenant unique identifier that the device belongs to
connectionStringstring ​The connection string for connectivity to Azure IoT Hub, the format is: "HostName=newHostName.azure-devices.net;DeviceId=deviceId;SharedAccessKey=accessKey"
sasTokenValiditystring1hThe validity period for the generated SAS token for device authentication. Positive integer number followed by a unit suffix, such as ‘300m’, ‘1h’, etc., time units are: m, h, d
idScopestringID scope for Azure Device Provisioning service
Remote connectivity - TLS
alpnstring[]TLS application layer protocol negotiation options space separated for cloud access
caCertstringiothub.crtPEM encoded CA certificates file
certstringPEM encoded certificate file to authenticate to the MQTT endpoint
keystringPEM encoded unencrypted private key file to authenticate to the MQTT endpoint
Remote connectivity - TLS over TPM
tpmDevicestringPath to the device file or the unix socket to access the TPM 2.0
tpmHandleintTPM 2.0 storage root key handle, the type is unsigned 64-bit integer
tpmKeyPubstringFile path to the public part of the TPM 2.0 key
tpmKeystringFile path to the private part of the TPM 2.0 key
Local connectivity
localAddressstringtcp://localhost:1883Address of the MQTT server/broker that the azure connector will connect for the local communication, the format is: scheme://host:port
localUsernamestringUsername that is a part of the credentials
localPasswordstringPassword that is a part of the credentials
Local connectivity - TLS
localCACertstringPEM encoded CA certificates file
localCertstringPEM encoded certificate file to authenticate to the MQTT server/broker
localKeystringPEM encoded unencrypted private key file to authenticate to the MQTT server/broker
Logging
logFilestringlogs/azure-connector.logPath to the file where log messages are written
logLevelstringINFOAll log messages at this or a higher level will be logged, the log levels in descending order are: ERROR, WARN, INFO, DEBUG and TRACE
logFileCountint5Log file maximum rotations count
logFileMaxAgeint28Log file rotations maximum age in days, use 0 to not remove old log files
logFileSizeint2Log file size in MB before it gets rotated

Example

The minimal required configuration to connect.

{
    "connectionString": "HostName=hostName.azure-devices.net;DeviceId=deviceId;SharedAccessKey=cGFzc3AvcKQ=",
    "caCert": "/etc/azure-connector/iothub.crt",
    "logFile": "/var/log/azure-connector/azure-connector.log"
}

Template

The configuration can be further adjusted according to the use case. The following template illustrates all possible properties with their default values.

{
    "tenantId": "defaultTenant",
    "connectionString": "",
    "sasTokenValidity": "1h",
    "idScope": "",
    "alpn" : [],
    "caCert": "iothub.crt",
    "cert": "",
    "key": "",
    "tpmDevice": "",
    "tpmHandle": 0,
    "tpmKeyPub": "",
    "tpmKey": "",
    "localAddress": "tcp://localhost:1883",
    "localUsername": "",
    "localPassword": "",
    "localCACert": "",
    "localCert": "",
    "localKey": "",
    "logFile": "logs/azure-connector.log",
    "logLevel": "INFO",
    "logFileCount": 5,
    "logFileMaxAge": 28,
    "logFileSize": 2
}

3 - Suite connector configuration

Customize the remote connectivity.

Properties

To control all aspects of the suite connector behavior.

PropertyTypeDefaultDescription
Remote connectivity
addressstringmqtts://mqtt.bosch-iot-hub.com:8883Address of the MQTT endpoint that the suite connector will connect for the remote communication, the format is: scheme://host:port
deviceIdstringDevice unique identifier
authIdstringAuthentication unique identifier that is a part of the credentials
tenantIdstringTenant unique identifier that the device belongs to
usernamestringMQTT username that is a part of the credentials. This parameter takes precedence over authId and tenantId
passwordstringPassword that is a part of the credentials
clientIdstringMQTT client unique identifier
policyIdstringPolicy unique identifier of the digital twin
genericboolForce use of modified topics for cloud access
Remote connectivity - TLS
alpnstring[]TLS application layer protocol negotiation options space separated for cloud access
caCertstringiothub.crtPEM encoded CA certificates file
certstringPEM encoded certificate file to authenticate to the MQTT endpoint
keystringPEM encoded unencrypted private key file to authenticate to the MQTT endpoint
deviceIdPatternstringPattern to generate the device identifier, {{subject-dn}} and {{subject-cn}} placeholders can be part of it
Remote connectivity - TLS over TPM
tpmDevicestringPath to the device file or the unix socket to access the TPM 2.0
tpmHandleintTPM 2.0 storage root key handle, the type is unsigned 64-bit integer
tpmKeyPubstringFile path to the public part of the TPM 2.0 key
tpmKeystringFile path to the private part of the TPM 2.0 key
Local connectivity
localAddressstringtcp://localhost:1883Address of the MQTT server/broker that the suite connector will connect for the local communication, the format is: scheme://host:port
localUsernamestringUsername that is a part of the credentials
localPasswordstringPassword that is a part of the credentials
Local connectivity - TLS
localCACertstringPEM encoded CA certificates file
localCertstringPEM encoded certificate file to authenticate to the MQTT server/broker
localKeystringPEM encoded unencrypted private key file to authenticate to the MQTT server/broker
Logging
logFilestringlog/suite-connector.logPath to the file where log messages are written
logLevelstringINFOAll log messages at this or a higher level will be logged, the log levels in descending order are: ERROR, WARN, INFO, DEBUG and TRACE
logFileCountint5Log file maximum rotations count
logFileMaxAgeint28Log file rotations maximum age in days, use 0 to not remove old log files
logFileSizeint2Log file size in MB before it gets rotated

Example

The minimal required configuration to connect the publicly available Eclipse Hono sandbox.

{
    "address": "hono.eclipseprojects.io:1883",
    "caCert": "/etc/suite-connector/iothub.crt",
    "tenantId": "org.eclipse.kanto",
    "deviceId": "org.eclipse.kanto:exampleDevice",
    "authId": "org.eclipse.kanto_example",
    "password": "secret",
    "logFile": "/var/log/suite-connector/suite-connector.log"
}

Template

The configuration can be further adjusted according to the use case. The following template illustrates all possible properties with their default values.

{
    "address": "mqtts://mqtt.bosch-iot-hub.com:8883",
    "deviceId": "",
    "authId": "",
    "tenantId": "",
    "username": "",
    "password": "",
    "clientId": "",
    "policyId": "",
    "generic": false,
    "alpn" : [],
    "caCert": "iothub.crt",
    "cert": "",
    "key": "",
    "deviceIdPattern": "",
    "tpmDevice": "",
    "tpmHandle": 0,
    "tpmKeyPub": "",
    "tpmKey": "",
    "localAddress": "tcp://localhost:1883",
    "localUsername": "",
    "localPassword": "",
    "localCACert": "",
    "localCert": "",
    "localKey": "",
    "logFile": "log/suite-connector.log",
    "logLevel": "INFO",
    "logFileCount": 5,
    "logFileMaxAge": 28,
    "logFileSize": 2
}

4 - Local digital twins configuration

Customize the local digital twins persistency, access and synchronization.

Properties

To control all aspects of the local digital twins behavior.

PropertyTypeDefaultDescription
thingsDbstringthings.dbPath to the file where digital twins will be stored
Remote connectivity
addressstringmqtts://mqtt.bosch-iot-hub.com:8883Address of the MQTT endpoint that the local digital twins will connect for the remote communication, the format is: scheme://host:port
deviceIdstringDevice unique identifier
authIdstringAuthentication unique identifier that is a part of the credentials
tenantIdstringTenant unique identifier that the device belongs to
passwordstringPassword that is a part of the credentials
clientIdstringMQTT client unique identifier
policyIdstringPolicy unique identifier of the digital twin
Remote connectivity - TLS
caCertstringiothub.crtPEM encoded CA certificates file
certstringPEM encoded certificate file to authenticate to the MQTT endpoint
keystringPEM encoded unencrypted private key file to authenticate to the MQTT endpoint
deviceIdPatternstringPattern to generate the device identifier, {{subject-dn}} and {{subject-cn}} placeholders can be part of it
Remote connectivity - TLS over TPM
tpmDevicestringPath to the device file or the unix socket to access the TPM 2.0
tpmHandleintTPM 2.0 storage root key handle, the type is unsigned 64-bit integer
tpmKeyPubstringFile path to the public part of the TPM 2.0 key
tpmKeystringFile path to the private part of the TPM 2.0 key
Local connectivity
localAddressstringtcp://localhost:1883Address of the MQTT server/broker that the local digital twins will connect for the local communication, the format is: scheme://host:port
localUsernamestringUsername that is a part of the credentials
localPasswordstringPassword that is a part of the credentials
Local connectivity - TLS
localCACertstringPEM encoded CA certificates file
localCertstringPEM encoded certificate file to authenticate to the MQTT server/broker
localKeystringPEM encoded unencrypted private key file to authenticate to the MQTT server/broker
Logging
logFilestringlog/local-digital-twins.logPath to the file where log messages are written
logLevelstringINFOAll log messages at this or a higher level will be logged, the log levels in descending order are: ERROR, WARN, INFO, DEBUG and TRACE
logFileCountint5Log file maximum rotations count
logFileMaxAgeint28Log file rotations maximum age in days, use 0 to not remove old log files
logFileSizeint2Log file size in MB before it gets rotated

Example

The minimal required configuration to enable the local digital twins and their synchronization with the publicly available Eclipse Hono sandbox.

{
    "address": "hono.eclipseprojects.io:1883",
    "caCert": "/etc/local-digital-twins/iothub.crt",
    "tenantId": "org.eclipse.kanto",
    "deviceId": "org.eclipse.kanto:exampleDevice",
    "authId": "org.eclipse.kanto_example",
    "password": "secret",
    "thingsDb": "/var/lib/local-digital-twins/thing.db",
    "logFile": "/var/log/local-digital-twins/local-digital-twins.log"
}

Template

The configuration can be further adjusted according to the use case. The following template illustrates all possible properties with their default values.

{
    "thingsDb": "things.db",
    "address": "mqtts://mqtt.bosch-iot-hub.com:8883",
    "deviceId": "",
    "authId": "",
    "tenantId": "",
    "password": "",
    "clientId": "",
    "policyId": "",
    "caCert": "iothub.crt",
    "cert": "",
    "key": "",
    "deviceIdPattern": "",
    "tpmDevice": "",
    "tpmHandle": 0,
    "tpmKeyPub": "",
    "tpmKey": "",
    "localAddress": "tcp://localhost:1883",
    "localUsername": "",
    "localPassword": "",
    "localCACert": "",
    "localCert": "",
    "localKey": "",
    "logFile": "log/local-digital-twins.log",
    "logLevel": "INFO",
    "logFileCount": 5,
    "logFileMaxAge": 28,
    "logFileSize": 2
}