2016-03-11 21:55:33 +00:00
Eclipse Mosquitto
=================
2015-06-03 14:37:41 +00:00
2019-04-26 11:41:50 +00:00
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
2016-07-05 20:38:57 +00:00
the `mosquitto_pub` and `mosquitto_sub` utilities for publishing and
subscribing.
2024-09-03 08:54:53 +00:00
< span style = "color:red" >
## !! PLUGIN NOTES !!
< / span >
This fork just adds a plugin to the origin of the project. This plugin mirrors all subscriptions and unsubscriptions to a spezific topic, to ensure that all clients of our adaptable assembly system are able to receive these events. A JSON object with all subscribed topics and Client IDs is published to the topic `mqtt/subscriptions` for the events subscribe, unsubscribe and disconnect.
2016-07-05 20:38:57 +00:00
## Links
2015-06-03 14:37:41 +00:00
See the following links for more information on MQTT:
- Community page: < http: // mqtt . org />
2019-03-30 20:34:40 +00:00
- MQTT v3.1.1 standard: < https: // docs . oasis-open . org / mqtt / mqtt / v3 . 1 . 1 / mqtt-v3 . 1 . 1 . html >
- MQTT v5.0 standard: < https: // docs . oasis-open . org / mqtt / mqtt / v5 . 0 / mqtt-v5 . 0 . html >
2015-06-03 14:37:41 +00:00
Mosquitto project information is available at the following locations:
2019-03-30 20:34:40 +00:00
- Main homepage: < https: // mosquitto . org />
2016-03-11 21:55:33 +00:00
- Find existing bugs or submit a new bug: < https: // github . com / eclipse / mosquitto / issues >
- Source code repository: < https: // github . com / eclipse / mosquitto >
2015-06-03 14:37:41 +00:00
2019-03-30 20:34:40 +00:00
There is also a public test server available at < https: / / test . mosquitto . org / >
2015-06-03 14:37:41 +00:00
2016-07-05 20:38:57 +00:00
## Installing
2019-03-30 20:34:40 +00:00
See < https: / / mosquitto . org / download / > for details on installing binaries for
2016-07-05 20:38:57 +00:00
various platforms.
## Quick start
If you have installed a binary package the broker should have been started
automatically. If not, it can be started with a 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'
## Documentation
Documentation for the broker, clients and client library API can be found in
2019-03-30 20:34:40 +00:00
the man pages, which are available online at < https: / / mosquitto . org / man / > . There
2016-07-05 20:38:57 +00:00
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.
2019-03-30 20:34:40 +00:00
Detailed client library API documentation can be found at < https: / / mosquitto . org / api / >
2016-07-05 20:38:57 +00:00
## Building from source
To build from source the recommended route for end users is to download the
2019-03-30 20:34:40 +00:00
archive from < https: / / mosquitto . org / download / > .
2016-07-05 20:38:57 +00:00
On Windows and Mac, use `cmake` to build. On other platforms, just run `make`
2020-11-12 22:08:38 +00:00
to build. For Windows, see also `README-windows.md` .
2016-07-05 20:38:57 +00:00
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.
### Build Dependencies
2019-04-26 11:41:50 +00:00
* c-ares (libc-ares-dev on Debian based systems) - only when compiled with `make WITH_SRV=yes`
2021-04-06 13:51:30 +00:00
* cJSON - for client JSON output support. Disable with `make WITH_CJSON=no` Auto detected with CMake.
2017-05-05 21:14:46 +00:00
* libwebsockets (libwebsockets-dev) - enable with `make WITH_WEBSOCKETS=yes`
2016-07-05 20:38:57 +00:00
* openssl (libssl-dev on Debian based systems) - disable with `make WITH_TLS=no`
2021-04-06 13:51:30 +00:00
* pthreads - for client library thread support. This is required to support the
`mosquitto_loop_start()` and `mosquitto_loop_stop()` functions. If compiled
without pthread support, the library isn't guaranteed to be thread safe.
2019-04-26 11:41:50 +00:00
* uthash / utlist - bundled versions of these headers are provided, disable their use with `make WITH_BUNDLED_DEPS=no`
2021-04-06 13:51:30 +00:00
* xsltproc (xsltproc and docbook-xsl on Debian based systems) - only needed when building from git sources - disable with `make WITH_DOCS=no`
2019-04-26 11:41:50 +00:00
Equivalent options for enabling/disabling features are available when using the CMake build.
2016-07-05 20:38:57 +00:00
## Credits
2015-06-03 14:37:41 +00:00
Mosquitto was written by Roger Light < roger @ atchoo . org >