MQTT broker
Last updated
Last updated
It is only possible to connect KPN Things to your MQTT broker using an encrypted connection!
The following parameters are available to connect an MQTT broker:
*) required value †) secret value, can only be written
Open an encrypted client connection to your MQTT broker.
Publish all forwarded IoT data in SenML JSON format on topics following the specified topic template.
We do not support self-signed certificates. Your TLS/SSL certificate should be signed by a root certificate authority (CA) that is trusted by the default Java trust store. You can use the SSL Server Test from Qualys to check if your certificate is trusted by the Java trust store:
Your server should preferably use TLSv1.2 or higher, but at least TLSv1.1. Older protocols are not supported because they are not considered safe.
Are you new to MQTT, but still interested in using it? HiveMQ has published some very nice articles about MQTT essentials:
You can find a publicly available Mosquitto MQTT server/broker on https://test.mosquitto.org. This allows you to try to connect KPN Things to an MQTT broker. Do not use this public MQTT broker for production!
Parameter
Description
Example value
name
*
The name of the destination
My Server
description
Description of the destination
Endpoint of my server
host
*
The host name of the MQTT broker
test.mosquitto.org
port
*
The port on which the MQTT broker allows encrypted connections
8883
username
*†
The username for KPN Things to connect to the broker
password
*†
The password for KPN Things to connect to the broker
applicationId
*
MQTT Client ID for KPN Things to connect to the broker
kpnthings
topic
*
The topic structure describing how KPN Things should publish data. There are several placeholders available:
%c
Your Client UUID
%a
MQTT Client ID
%d
Device UUID
%n
SenML base name
%p
Plug UUID
%m
Message request ID
things/%p/%d/%n
qosLevel
*
The MQTT Quality of Service desired for the connection to your broker.
Options:
AT_MOST_ONCE
AT_LEAST_ONCE
EXACTLY_ONCE
AT_LEAST_ONCE
messageTimeout
*
Timeout for sending a message and handling QoS in milliseconds
10000
retainMessage
*
Whether messages send to the broker should be retained messages.
false