Creating an MQTT Broker With CloudMQTT

Cloud based brokers are likely to become very popular in the future for organisations they operate over a wide geographic area.

In addition they provide a nice user interface making it very easy to setup your own broker instance and you don’t need to have to manage your own virtual server.

CloudMQTT like Amazon,Azure etc provide a managed cloud based mosquitto broker.

The plans on CloudMQTT are shared plans which means that several MQTT brokers run on the same hardware.



The brokers are distinguished by the port numbers as shown in the diagram below..

Shared-Hosting-Mosquitto-Brokers
To create a new broker instance click on the create instance button.


—–
enter the name, select the plan and also the data center then click create new instance.

create-instance-form
The instance will be created and you can see the details by clicking on instance name.

manage-instance

Here are the details for one of my brokers. You will need the server name port numbers etc for configuring your clients.

You can also manage users ,view logs and configure bridges from this panel as shown below.
manage-instance-2

Connecting to your Broker Using Python

Below I’ve shown the relevant bits of code from my script. The important thing to note is the call to the username_pw_set function. (Note: the password and username has been change for security)

broker="m21.cloudmqtt.com"
port=17363
username="toyeerbnp"
username="steve1e"
password="JUlkU47AEy86o"
client.username_pw_set(username, password)
client = mqtt.Client("Python1",clean_session=CLEAN_SESSION)
client.connect(broker,port)

Connecting to your Broker Using Websockets

If you look at your instance details you also have a websockets port which must be encrypted.

You on_connect function will look something like the one below:

	  function MQTTconnect() {
console.log("connecting to "+ host +" "+ port);
mqtt = new Paho.MQTT.Client(host,port,"clientjs");
//document.write("connecting to "+ host);
var options = {
useSSL:true,
timeout: 3,
userName:"toyerssbnp",
password:"JUlkU47AEy8aao",
onSuccess: onConnect
};

The script websockets-ssl.htm is part of the websockets download video section and will work if you change the:

broker name,username and password

Video

Here is a video I created that takes you through the above.

Common Questions and Answers

Q- Can I configure topic restrictions?

A- Yes -Under Users and ACL

Q- Do All client connections require a username/password?

A- Yes

Note: If you want to run multiple brokers on your own hardware then take a look at this video –How to run multiple mosquitto brokers on the same host.

Related Tutorials:

Save

Save

Save

Save

Save

Please rate? And use Comments to let me know more
[Total: 4    Average: 4/5]

4 comments

    1. The client id can be whatever you want. Do you mean the broker name? If so you will get tat when you create the broker.

Leave a Reply

Your email address will not be published. Required fields are marked *