Host Parameter
This page describes how the Host
configuration parameter needs to be formatted to connect to an MQTT broker.
Host Parameter Generator
To generate the Host
configuration parameter for your device, please enter the connection details of your MQTT broker:
Host Parameter Specification
The MQTT Host
parameter is formatted as follows:
[format+]protocol://[user[:password]@]host[:port][/topic prefix/][?arguments]
Supported formats:
cbor
(default)json
- Byte arrays are encoded as base64 strings in JSON, but have a separate type in CBOR.
- Map keys are always strings in JSON, despite CBOR supports any type.
Supported protocols:
mqtt
mqtts
When using MQTTS, the gateway presents its client certificate to the server unless the cert=0
parameter is used (see below).
Your MQTT broker should add the Lobaro certificate as a trusted CA; otherwise, the gateway will not connect to the broker. The certificate can be downloaded here.
You should add it as a trusted CA on your server. Device certificates could also be changed, please contact Lobaro for more information on this topic.
Username and password are optional. Each of them has a maximum length of 64 characters.
Username and password need to be URL encoded!
The host may be either a DNS hostname or an IPv4 address. IPv6 is currently not supported.
TLS Server Name Identification (SNI) is only supported when a hostname is set!
The port is optional. Default ports:
mqtt
: Port 1883.mqtts
: Port 8883.
The topic prefix is optional.
Default prefix: LOB/
.
Make sure to include a trailing slash in your topic prefix!
The following arguments are currently supported and can be included as URL query string:
cert=0
: Disable client-certificate authentication when using MQTTS.
The MQTT client ID is the DevEui and cannot be changed.
Example Host Parameters
- Connect via MQTTS using client-certificate authentication to platform.lobaro.com and communicate using CBOR:
mqtts://platform.lobaro.com
- Connect via MQTTS using username
foo
and passwordbar
to platform.lobaro.com and communicate using JSON.:
json+mqtts://foo:bar@platform.lobaro.com?cert=0
- Connect via MQTT using username
foo
and passwordbar
to example.com on port 1234 and communicate using JSON on path prefix/mydevice/
:
json+mqtt://foo:bar@example.com:1234/mydevice/
Host with Fallback
To configure MQTT broker fallbacks, include multiple broker URLs separated by commas. The device will then use the first broker to which it can successfully connect.
Example: json+mqtts://platform.lobaro.com,json+mqtt://foo:bar@platform.lobaro.com
.