Mosquitto is an open source implementation of a server for version 5.0, 3.1.1,
and 3.1 of the MQTT protocol. It also includes a C and C++ client library, and
the mosquitto_pub
and mosquitto_sub
utilities for publishing and
subscribing.
See the following links for more information on MQTT:
Mosquitto project information is available at the following locations:
There is also a public test server available at https://test.mosquitto.org/
See https://mosquitto.org/download/ for details on installing binaries for various platforms.
If you have installed a binary package the broker should have been started automatically. If not, it can be started with a very basic configuration:
mosquitto
Then use mosquitto_sub
to subscribe to a topic:
mosquitto_sub -t 'test/topic' -v
And to publish a message:
mosquitto_pub -t 'test/topic' -m 'hello world'
Note that starting the broker like this allows anonymous/unauthenticated access but only from the local computer, so it's only really useful for initial testing.
If you want to have clients from another computer connect, you will need to
provide a configuration file. If you have installed from a binary package, you
will probably already have a configuration file at somewhere like
/etc/mosquitto/mosquitto.conf
. If you've compiled from source, you can write
your config file then run as mosquitto -c /path/to/mosquitto.conf
.
To start your config file you define a listener and you will need to think about what authentication you require. It is not advised to run your broker with anonymous access when it is publically available.
For details on how to do this, look at the authentication methods available and the dynamic security plugin.
Documentation for the broker, clients and client library API can be found in
the man pages, which are available online at https://mosquitto.org/man/. There
are also pages with an introduction to the features of MQTT, the
mosquitto_passwd
utility for dealing with username/passwords, and a
description of the configuration file options available for the broker.
Detailed client library API documentation can be found at https://mosquitto.org/api/
To build from source the recommended route for end users is to download the archive from https://mosquitto.org/download/.
On Windows and Mac, use cmake
to build. On other platforms, just run make
to build. For Windows, see also README-windows.md
.
If you are building from the git repository then the documentation will not
already be built. Use make binary
to skip building the man pages, or install
docbook-xsl
on Debian/Ubuntu systems.
make WITH_SRV=yes
make WITH_CJSON=no
Auto detected with CMake.make WITH_WEBSOCKETS=yes
make WITH_TLS=no
mosquitto_loop_start()
and mosquitto_loop_stop()
functions. If compiled
without pthread support, the library isn't guaranteed to be thread safe.make WITH_BUNDLED_DEPS=no
make WITH_DOCS=no
Equivalent options for enabling/disabling features are available when using the CMake build.
Mosquitto was written by Roger Light roger@atchoo.org