The built in MQTT broker enables easy integration and data collection from sensors that support the ubiquitous MQTT protocol.
MQTT (Message Queuing Telemetry Transport) is an open OASIS and ISO standard which defines a lightweight, publish-subscribe network protocol that transports messages between devices. It includes two types of network entities: a message broker and a number of clients. (More information on MQTT can be found here).
- Each instance of JEDI One supports one v3.1.1 MQTT Broker
- 32 clients are supported on the PC/Mac/Linux version, 16 for Raspberry Pi
- Configurable port numbers (default ports automatically loaded unless changed)
- Supports QoS levels 0 and 1
- Supports TLS security and WebSockets
- Supports user name and password based authentication
- Only JSON data payloads are supported at this time. JEDI One automatically decodes most valid JSON payloads by flattening the hierarchy for easy creation of rules and dashboards
Here is what the setup screen looks like (Data Collectors-> Add Collector):
Collector Name: User-selected name for the collector
Collector Type: Select “MQTT Broker”
Listen IP: Select a specific IP interface or “Any” to listen on
Listen Port: Leave default suggested port or enter another as applicable
Server Certificate, Server Key, Root Certificate: Browse the local computer for appropriate TLS security credential files. These can be from an "official" Certificate Authority (CA) or self-generated and signed. (See the article here for how to do this).
User Name: (optional) User-selected username (same as configured on clients)
Password: (optional) User-selected password (same as configured on clients)
Time Stamp Key: (optional) Metric name from client data that holds ISO8601 timestamp. Otherwise data will be tagged on collection by JEDI One
Active Targets: List of the MQTT clients actively communicating with the broker
A free, useful tool for simulating an MQTT client is MQTT-Explorer.
It allows testing of MQTT, WebSockets, TLS and all the associated certificates. Make sure the Username and Password in MQTT Explorer are the same as setup in the JEDI One MQTT Broker. When using TLS, additionally create and load a client certificate and client key into MQTT Broker (Connections -> ADVANCED -> CERTIFICATES).
Sending data to JEDI One with MQTT-Explorer (notice the JSON payload):
Data can be seen in the Device Dashboard: