Prerequisites:

 

Overview:

Chariot MQTT Server is a MQTT 3.1.1 compliant MQTT server.  It is capable of providing a functional replacement for MQTT Distributor in larger scale deployments.  Like Inductive Automation's Ignition platform, it comes with a two hour re-settable trail period.  It can also be set up with a license key from Cirrus Link to enable it permanently.  Chariot MQTT Server provides a web based administration page for enabling and limiting user access to the MQTT server via an Access Control List (ACLs).  Like MQTT Distributor it also supports TLS security and username/password authentication in addition to ACLs for user authorization.

 

Installing a Virtual Machine Manager:

Chariot MQTT Server can be run in a number of different Virtual Machine managers.  Any Virtual Machine manager that supports importing of .ofv appliances should work.  Tested versions include the following:

 

Installing Chariot MQTT Server:

Installation of Chariot MQTT Server is dependent upon the VM Manager being used.  Below shows basic instructions for the various tested managers.  First you will need to unzip the Cirrus_Link_Chariot_1.0.0.zip file and have access to the Cirrus Link Chariot_*.ovf file.

 

 

 

 

 


Using Chariot MQTT Server:

At this point the Chariot MQTT server is up and running.  By default it has the hostname 'chariot' and is at the IP address 192.168.1.150 with a subnet mask of 255.255.255.0.  In order for you to be able to browse to it, the host computer operating system must be on the same network.  Once you are on the same network, you can browse to Chariot MQTT Server by going to https://192.168.1.150.  You will likely get security warnings from your browser due to using a certifcate that is not signed by a Certificate Authority(CA).  This is ok, just accept the certificate (typically by clicking an 'advanced' button or something similar).  Below is an example warning from Google Chrome.

Once you accept the security warning, you should see something similar to the following.

Log in using the default Instance Admin credentials:

After doing so you should see the following:


This shows a list of the users that are allowed to connect to the MQTT Server.  By default, there is only one which is 'admin'.  This user is an Instance Admin.  There are three different types of user roles:


Basic Usage of Features

 

Connecting to Chariot MQTT Server

MQTT.fx is a good free graphical based MQTT client to use for testing with Chariot MQTT Server.  It is Java based so it will run on any OS that supports running graphical based Java applications.

Once downloaded, start it and create a new connection profile called 'Chariot MQTT Server'.  Use the settings shown below.  The default password is 'changeme'.  Everything else can remain at their defaults.


After the connection profile is created, from the main MQTT.fx window, select 'Chariot MQTT Server', and click Connect.

 

After a valid connection is established, you should see the connection indicator in the top right corner light green as shown below:

 

If the connection does not get established, check the following:

 

Once connected, you can use the publish and subscribe buttons in MQTT.fx to send and receive messages.  To send a message and receive it back in this client, do the following.

  1. Subscribe on # to enable this client to receive all messages.  To do so, select the Subscribe tab, Type '#' into the topic window, and click the Subscribe button.  Once done, it should look as follows.
  2. Publish a message on a topic.  To do so, select the Publish tab, 'type test/1/2' into the topic window, and click the Publish button.  Once do, it should look as follows.
  3. Now switch back to the Subscribe tab.  You should see that a message has come in on 'test/1/2'.

Obviously, this example isn't very interesting because we're sending and receiving a message from the same client.  But, this exercise does prove the Chariot MQTT Server is up and running properly.