BVS ID-M1280xF1-xx-xxx
4.5
Communication via MQTT
4.5.1 Introduction
BVS ID offers an MQTT-Interface. It can be utilized as a machine-machine-interface for the following code-
controlled tasks:
•
acquisition of parameters and product information
SensorApp acts as an MQTT-Client, which sends messages to a MQTT-Broker (PUBLISH) cyclically - in case of
an event, for example. Other MQTT-Clients, for example an application which saves data in a database, can
subscribe to the MQTT-Broker for available topics (SUBSCRIBE). All communication data is sent unencrypted
using port 1883.
Data which are sent via MQTT can be used
for Condition Monitoring,
as an interface for Track and Trace applications,
for processing the data in the cloud,
etc.
4.5.2 Datatransmission
Three different transmission modes are available for the connection to the MQTT broker:
1.
MQTT
Connection to the MQTT broker traces over an unencrypted connection
2.
MQTT encrypted without CA file (unsecure)
The connection to the MQTT broker is encrypted using a server certificate. The server certificate encrypts
the connection between the camera and the MQTT broker. However, the BVS ID does not check the
origin or authorithy of the certificate. This type of connection is therefore inherently insecure and should
not be used.
3.
MQTT encrypted with CA file:
The connection to the MQTT broker is established via an encrypted connection. However, the certificate
provided by the broker for this purpose is additionally checked by the BVS ID using a CA certificate. This
connection type is much more secure and is therefore preferable. The CA certificate must be provided by
the system administrator and must be uploaded to the BVS ID in the System Settings.
4.5.3 Available topics
Following topics are delivered to the broker by the SensorApp:
NOTE
The string HOSTNAME must be replaced by the name of the BVS ID in the following. E.g. balluff/
b00005521200115/identification instead of balluff/HOSTNAME/identification
NOTE
MQTT has a mechanism to group the folder system of topics: so-called single-level wildcards(+) and
multi-level wildcards(#).
•
The single-level wildcard replaces an element of a topic with a wildcard, i.e. a subscriber to the
topic "balluff/+/diagnostics/vibration" would receive all messages corresponding to the three
specified levels, regardless of the wildcard. For example, messages to "balluff/
b00005521200115/diagnostics/vibration" or "balluff/b000000055/diagnostics/vibration" can
now be received.
•
The multi-level wildcard replaces the whole following tree structure. A subscription to the topic
"balluff/#" would receive all messages starting with "balluff/", also e.g. "balluff/
b00005521200115/diagnostics/actualInternalTemperature".
•
Wildcards can be combined in any way, for example return "+/+/inspection/#" for all inspection
results of all BVSIDs.
152
english