Getting Started with MQTT — Part 2
This tutorial is second part of three-part tutorial series on “Getting Started with Mqtt” which will be a guide on setting up a MQTT server on your linux machine
Pre-requisites
Before setting up and starting to work with an MQTT server, advice is to go through some basic concepts of MQTT first.
Setting Up
Here we will be using Mosquitto as a MQTT Broker and Paho as its client on a linux system. Setting up Mosquitto in linux is simple :
Setting up a Mosquitto Broker
In your linux terminal, run following commands :
sudo apt-get update
sudo apt-get install mosquitto
This will automatically start mosquitto as a service. If it doesn’t, then run command :
sudo systemctl start mosquitto
Setting-up and Testing Mosquitto Client
- Run in terminal to install client :
sudo apt-get install mosquitto-clients
- In this terminal window, subscribe a client to topic “test/topic” :
mosquitto_sub -t “test/topic”
- In another terminal window, create a publisher and publish some message and you will see this message appear in subscriber terminal.
mosquitto_pub -m “You know nothing snow” -t “test/topic”
Securing with Password
- Mosquitto provides a password generation utility : ‘mosquitto_passwd’. Run following command to set authentication :
sudo mosquitto_passwd -c /etc/mosquitto/passwd <username>
Password: <password>
- Create a configuration file pointing to this above created password file
sudo gedit /etc/mosquitto/conf.d/default.conf
This will open an empty “default.conf” file. Save following detail in this file and restart mosquitto :
allow_anonymous false
password_file /etc/mosquitto/passwd
- Restart the mosquitto instance
sudo systemctl restart mosquitto
- Now you will only be able to connect to broker using respective username and password. Updated commands for pub/sub are :
sudo mosquitto_sub -t “{topic}” -u “{user}” -P “{pass}”
sudo mosquitto_pub -t “{topic}” -m “{msg}” -u “{user}” -P “{pass}”
- In case you try to connect without or incorrect username/password, you will be thrown an error :
Relevant Reads
- Digital ocean guide on fully configuring a MQTT server.
- Another important article guiding full MQTT setup on a window and linux driven machine.
This story covered the minimal required steps to get started with an MQTT server. Stay tuned for third part of this series which will help you in integrating MQTT based broker and client using spring-boot.
Happy Learning.
To connect with me on Linkedin click here.