2017-05-17 13:56:28 +00:00
|
|
|
---
|
|
|
|
title: 'Mosquitto: server and client implementation of the MQTT protocol'
|
|
|
|
tags:
|
|
|
|
- Internet of Things
|
|
|
|
- MQTT
|
|
|
|
- Pubsub
|
|
|
|
- Messaging
|
|
|
|
authors:
|
|
|
|
- name: Roger A Light
|
|
|
|
orcid: 0000-0001-9218-7797
|
|
|
|
date: 17 May 2017
|
|
|
|
bibliography: paper.bib
|
|
|
|
---
|
|
|
|
|
|
|
|
# Summary
|
|
|
|
|
|
|
|
Mosquitto provides standards compliant server and client implementations of the
|
|
|
|
[MQTT](http://mqtt.org/) messaging protocol. MQTT uses a publish/subscribe
|
|
|
|
model, has low network overhead and can be implemented on low power devices
|
|
|
|
such microcontrollers that might be used in remote Internet of Things sensors.
|
|
|
|
As such, Mosquitto is intended for use in all situations where there is a need
|
|
|
|
for lightweight messaging, particularly on constrained devices with limited
|
|
|
|
resources.
|
|
|
|
|
|
|
|
The Mosquitto project is a member of the [Eclipse Foundation](http://eclipse.org/)
|
|
|
|
|
|
|
|
There are three parts to the project.
|
|
|
|
|
|
|
|
* The main `mosquitto` server
|
|
|
|
* The `mosquitto_pub` and `mosquitto_sub` client utilities that are one method of communicating with an MQTT server
|
|
|
|
* An MQTT client library written in C, with a C++ wrapper
|
|
|
|
|
|
|
|
Mosquitto allows research directly related to the MQTT protocol itself, such as
|
|
|
|
comparing the performance of MQTT and the Constrained Application Protocol
|
|
|
|
(CoAP) [@Thangavel_2014] or investigating the use of OAuth in MQTT
|
|
|
|
[@Fremantle_2014]. Mosquitto supports other research activities as a useful
|
|
|
|
block for building larger systems and has been used to evaluate MQTT for use in
|
|
|
|
Smart City Services [@Antonic_2015], and in the development of an environmental
|
|
|
|
monitoring system [@Bellavista_2017]. Mosquitto has also been used to support
|
|
|
|
research less directly as part of a scheme for remote control of an experiment
|
2021-10-05 14:20:37 +00:00
|
|
|
[@Schulz_2014].
|
2017-05-17 13:56:28 +00:00
|
|
|
|
|
|
|
Outside of academia, Mosquitto is used in other open source projects such as
|
|
|
|
the [openHAB](http://www.openhab.org/) home automation project and
|
|
|
|
[OwnTracks](http://owntracks.org/), the personal location tracking project, and
|
|
|
|
has been integrated into commercial products.
|
|
|
|
|
|
|
|
# References
|
|
|
|
|