Learning Centre

Industrial Data Logger 4G LTE


Steps to configure and bring up Mosquitto MQTT Broker on AWS EC2/Linux

Mainly 2 steps
1. Bring up EC2 Linux System
2. Install mosquitto on the above system
Bring up EC2 Linux System

Installation of mosquitto on linux system
Follow the below steps to install mosquitto

  1. sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
  2. sudo apt-get update
  3. sudo apt-get install mosquitto
  4. sudo apt-get install mosquitto-clients

Follow the below steps to Enable user authentication

  • Create a txt file in the following format
  • Username:Password
  • Issue the following commands to add certificate to this file
  • mosquitto_passwd -U passwordfile (text file name)
  • Copy this file to /etc/mosquitto

Open mosquiito.conf and add these 2 lines to enable user authentication
allow_anonymous false
password_file etc\mosquitto\passwords.txt
Restart the broker to absorb the changes
ubuntu@ip-172-31-36-216:~$ mosquitto -v
1572603369: mosquitto version 1.6.7 starting
1572603369: Using default config.
1572603369: Opening ipv4 listen socket on port 1883.
Error: Address already in use
To resolve this
ps –ef | grep mosquitto
kill -9 pid
mosquitto_sub -t '$SYS/#' –v
or
root@ip-172-31-36-216:/home/ubuntu# mosquitto
1572603616: mosquitto version 1.6.7 starting
1572603616: Using default config.
1572603616: Opening ipv4 listen socket on port 1883.
1572603616: Opening ipv6 listen socket on port 1883.
To enable Message flow on to AWS ES2 system, follow the below steps
Create Security Group to allow TCP/1883 traffic in the inbound direction

Add the Security Group to the Next Interface associated to the EC2 resource

On MQTTFx client, include Public domain IP4 address as Broker Address

Provide user credentials configured in the password.txt on the MQTT broker

The bring up is now complete, topic could be subscribed and publish on the MQTTfx client