Mosquitto Broker

Lightweight MQTT Messaging

Mosquitto MQTT Broker

Mosquitto is a lightweight, open-source MQTT broker perfect for constrained devices and simple pub/sub scenarios. It provides reliable messaging with minimal resource consumption.

Mosquitto's advantages include its lightweight and resource-efficient design, making it ideal for IoT and edge devices, as well as its robust security features like TLS and support for modern authentication protocols. It is also lightweight, making it easy to deploy and scale, and offers flexibility and robust performance in low-bandwidth, high-latency environments

Mosquitto also provides reliability through built-in features like persistent sessions, which reduce reconnection time.

MQTT 3.1.1 & 5.0 Lightweight TLS Support WebSocket Open Source Low Memory
๐Ÿ”Œ

Connection Endpoints

MQTT (TCP local only)
9883
Plain MQTT connection
MQTT over TLS
9884
Encrypted MQTT
WebSocket Secure
9001
WSS encrypted
โš™๏ธ

Configuration

Authentication
Username/Password
TLS/SSL
Enabled on 9884, 9001
Max Connections
10,240
๐Ÿ”ง

Web Admin Interface

Access the Mosquitto administration panel to manage users, monitor connections, and test MQTT functionality. This custom web interface provides essential broker management tools.

๐Ÿ”ง

Mosquitto Admin

User management and connection monitoring

๐Ÿ”ง Open Mosquitto Admin

Requires administrator credentials

๐Ÿ’ก

Mosquitto Usage Examples

Command Line Tools

# Subscribe to topic
mosquitto_sub -h mqtt.under1tree.com -p 9883 \
   -u device-user -P password \
   -t "smartjar/+/telemetry" -v

# Publish message
mosquitto_pub -h mqtt.under1tree.com -p 9883 \
   -u device-user -P password \
   -t "smartjar/device/status" -m "online"

Python Example

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
   client.subscribe("smartjar/+/command")

client = mqtt.Client()
client.username_pw_set("device-user", "password")
client.on_connect = on_connect
client.connect("mqtt.under1tree.com", 9883, 60)
client.loop_forever()

TLS Connection Example

# Secure connection with TLS
mosquitto_sub -h mqtt.under1tree.com -p 9884 \
   -u device-user -P password \
   --cafile /path/to/ca.crt \
   -t "smartjar/+/telemetry" -v
# Or using WebSocket Secure
# JavaScript client connects to wss://mqtt.under1tree.com:9001