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.


Installation:

Browse to https://aws.console.com and click the 'Sign In to the Console' button in the upper right corner.

From the dropdown 'Services' menu in the upper left, select 'Compute' -> 'EC2' as shown below:

Now select 'AMIs' under 'Images' from the menu on the left as shown below:

Now, change the 'Owned by me' dropdown to 'Public Images'.

Then in the search bar add 'Chariot MQTT Server' and hit enter.  This will filter the public images to those that include the key word Chariot.  Select the latest version of 'Chariot MQTT Server' which is currently v1.2.3.  Finally click 'Launch' in the upper left.

Now select the instance size.  Chariot MQTT Server works best with the 'Compute optimized' instance types.  While even a micro instance will work, we recommend either a c4.large or c4.xlarge for the best performance.  Select your instance type and click 'Next: Configure Instance Details' in the lower right corner.

On the 'Instance Details' page leave the defaults but make sure 'Auto-assign Public IP' is set to Enable as shown below.  Then click 'Next: Add Storage' in the lower right.

On the 'Add Storage' page, leave the defaults and click 'Next: Tag Instance' in the lower right.

On the 'Add Tags' screen, set the 'Name' value to 'Chariot MQTT Server 1.2.3' or some other name that you prefer.  This is a name that will allow you to quickly identify this EC2 instance in the AWS console.  Then click 'Next: Configure Security Group' in the lower right.

Now leave 'Create a new security group' selected.  Give the 'Security group name' and 'Description' names that will help you identify the rules associated with this group as shown below. In addition ports need to be open for the MQTT Server. The following ports are recommended as a starting port. The security group can be modified later as well.


At this point, you will see a 'Review Instance Launch' screen that will look like what is shown below.  Finally click 'Launch' as shown in the lower right corner.

At this point you will be asked to create or select an existing key pair.  Choose 'Create a new key pair', give it a name, and then click the 'Download Key Pair', and finally click 'Launch Instances'

At this point, the instance will be created by Amazon AWS.  Click 'View Instances' in the lower right of the screenshot below.

This will show the EC2 'Instances' screen and will show the newly created Chariot MQTT Server.  It takes a few minutes for the instance to become fully ready.  It will show Initializing under 'Instance State' and/or 'Status Checks' until it is fully initialized.

Once it shows 'running' under 'Instance State' and all 'Status Checks' are passed as shown below, it is ready to use.  You will need to note the 'Public IP' address.  In the screenshot example below, this is 34.219.224.158.

Using Chariot MQTT Server:

At this point, you are ready to log into Chariot MQTT Server.  To log in, open https://[Public_IP_of_your_instance].  In this example, it is https://34.219.224.158.

NOTE: Internet Explorer is not supported for connecting to the Chariot MQTT Server web front-end. Please use Chrome or Firefox.

For configuration and usage instructions of the Chariot MQTT Server, visit this page.