Name
mosquitto — Project overview
Description
The mosquitto project contains MQTT related programs, and comprises the mosquitto broker and applications, command line clients, and a client library for implementing custom MQTT clients. A brief description of some MQTT features is available at mqtt(7).
Mosquitto is an Eclipse Foundation project, part of the IoT top level project.
The project home page is at mosquitto.org, the github project is at github.com/eclipse-mosquitto/mosquitto, and the project provides a public MQTT test broker available at test.mosquitto.org.
Development is driven by Cedalo, who also provide professional support and enterprise features for mosquitto.
Mosquitto Broker
The mosquitto broker is the core of the project. Details on starting the broker, MQTT support, and feature descriptions can be found in mosquitto(8). A full description of the configuration file format can be found in mosquitto.conf(5).
Mosquitto Broker Applications
These command line applications directly support the running of the mosquitto broker.
mosquitto_ctrl
This can be used to interact with the broker MQTT APIs when the broker is running. It can run in batch mode, where all arguments are provided on the command line, or in an interactive shell mode.
The batch mode is described in mosquitto_ctrl(1), with the Dynamic Security module described in mosquitto_ctrl_dynsec(1).
The interactive shell mode is described in mosquitto_ctrl_shell(1).
mosquitto_passwd
This tool is used to generate and modify password files that can
be used with the mosquitto_password_file plugin
or password_file configuration option. It is
described in
mosquitto_passwd(1).
mosquitto_signal
This tool is used to send signals to the broker. On POSIX systems it performs the same task as the kill command, but with named signals. On Windows it is the only method of sending signals to the broker. It is described in mosquitto_signal(1).
Mosquitto MQTT Command Line Clients
These command line tools act as MQTT clients and can be useful for testing and automation of tasks related to any MQTT broker.
mosquitto_pub
This client can publish messages to a broker. It supports sending simple messages from the command line, reading from stdin, and sending files. It is described at mosquitto_pub(1).
mosquitto_rr
This client operates in a request/response style by sending a single message to a broker and waiting for a response on another topic. Request/response support is an MQTT v5.0 feature, but it is not required most cases for this client. It is described at mosquitto_rr(1).
mosquitto_sub
This client subscribes to topics on the broker and prints messages that it receives. It has a wide variety of output options. It is described at mosquitto_sub(1).