A curated list of MQTT related stuff.
MQTT is a lightweight client-server publish/subscribe messaging protocol, optimized for high-latency or unreliable networks. This protocol is a good choice for Internet of Things applications, Telemetry, Sensor Networks, Smart Metering, Home Automation, Messaging and Notfication Services.
- Community Resources
- Broker
- Tools
- Clients
- Scripting
- Interfaces
- Visualization, Dashboards
- Architecture, Convention
- mqtt.org.
- MQTT community wiki.
- Google Groups: MQTT.
- IRC channel #mqtt on the freenode network.
- A list of public brokers.
- ActiveMQ - A fast Java multiprotocol messaging and Integration Patterns server.
- eMQTT - The Massively Scalable MQTT Broker written in Erlang/OTP.
- hbmqtt - Python MQTT broker using asyncio.
- HiveMQ - Java based commercial MQTT Broker.
- Moquette - Java MQTT lightweight broker.
- Mosca - Mosca is a node.js mqtt broker, which can be used Standalone or Embedded in another Node.js application.
- Mosquitto - "The" Open Source MQTT Broker.
- RabbitMQ - RabbitMQ offers a MQTT Adapter.
- SurgeMQ - High Performance MQTT Server and Client Libraries in Go.
- VerneMQ - an Apache2 licensed distributed MQTT broker, developed in Erlang.
- mqtt-admin - Web based MQTT frontend. Direct Link.
- mqtt-benchmark - A benchmarking tool for MQTT Servers.
- mqtt-fuzz - A simple fuzzer for the MQTT protocol.
- MQTT.fx - MQTT.fx is a MQTT Client written in Java based on Eclipse Paho. Supports scripting.
- MQTTInspector - A general MQTT testing app for iOS (iPhone and iPad).
- MQTTLens - A Google Chrome application, which connects to a MQTT broker and is able to subscribe and publish to MQTT topics.
- mqtt-malaria - scalability and load testing utilities for MQTT environments.
- mqtt-spy - Java based MQTT frontend. Supports scripting.
- mqtt-utils - a collection of MQTT utilities.
- CocoaMQTT - MQTT for iOS and OS X written with Swift.
- emqttc - Asynchronous Erlang MQTT Client.
- Moscapsule - MQTT Client for iOS written in Swift
- hbmqtt - Python MQTT client using asyncio.
- M2Mqtt - a MQTT client available for all .Net platforms (.Net Framework, .Net Compact Framework and .Net Micro Framework) and WinRT platforms (Windows 8.1, Windows Phone 8.1 and Windows 10).
- Mosquitto-PHP - A wrapper for the Mosquitto MQTT client library for PHP.
- mqtt-client - A Polymer Web Component that implements a MQTT client (uses Paho mqttws31.js).
- MQTT-Client-Framework - iOS, OSX, tvOS native ObjectiveC MQTT Client Framework.
- mqtt.dart - dart mqtt client.
- mqtt-elements - Polymer elements for MQTT.
- mqttex - MQTT implementation in Elixir.
- MQTTKit - MQTT Objective-C client for iOS.
- mqtt_lua - MQTT Client library for the Lua language.
- MQTT.js - MQTT client for Node.js.
- Paho - open-source client implementations (C/C++, Java, Python, Javascript, Go, C#).
- pubsubclient - A client library for the Arduino Ethernet Shield that provides support for MQTT.
- ruby-mqtt - Pure Ruby gem that implements the MQTT protocol.
- tcl-mqtt - Small library to connect to a matt broker. Very, very basic.
- TMQTTClient - MQTT Client Library for Delphi.
- wolfMQTT - a client implementation of the MQTT written in C for embedded use. It supports SSL/TLS via the wolfSSL library.
- logic4mqtt - Java based Logic and scripting engine for use with MQTT. Uses Java's general scripting interface, so scripts can be written in a multitude of languages like Javascript, Groovy etc.
- mqtt-scripts - Node.js based script runner.
- Node-RED - A visual tool for wiring the Internet of Things.
- pubsubclient - A client library for the Arduino Ethernet Shield that provides support for MQTT.
- RFM69-MQTT-client - Arduino RFM69 based sensors and MQTT gateway.
- rpi2mqtt - Connect a RaspberryPis GPIOs and 1-Wire Temperature Sensors to MQTT.
- xbee2mqtt - XBee to MQTT gateway.
- modbus2mqtt - Modbus master which publishes register values via MQTT.
- mqtt2opcua - Bi Directional MQTT to OPCUA Bridge.
- agi-mqtt - Interface between Asterisk and MQTT.
- fritz2mqtt - Connect FRITZ!Box to MQTT.
- mqttwatchdir - Recursively watch a directory for modifications and publish file content to an MQTT broker.
- mqttlauncher - Execute shell commands triggered by published MQTT messages.
- mqtt-os-status - Operating-system related data, published to an MQTT broker at fixed intervals.
- psmqtt - Utility reporting system health and status via MQTT
- check-mqtt - A Nagios/Icinga plugin for checking connectivity to an MQTT broker.
- notify-by-mqtt - a Nagios/Icinga notification module which wraps data into JSON and fires it off to an MQTT broker.
- Owntracks - Location tracking and geofencing for MQTT.
- mqttcollect - collectd "Exec" plugin for MQTT.
- graylog-plugin-mqtt - MQTT Input Plugin for Graylog.
- mqtt2graphite - Subscribe to MQTT topics and push to Graphite's Carbon server.
- influx4mqtt - Subscribe to MQTT topics and insert into InfluxDB.
- cul2mqtt - Interface between Busware CUL (868MHz RF-Devices like ELV FS20, HMS, EM, ...) and MQTT.
- eno2mqtt - Interface between an Enocean USB300 (TCM310) adapter and MQTT.
- hm2mqtt - Interface between EQ-3's Homematic line of smarthome devices and MQTT.
- knx2mqtt - Interface between the KNX home automation standard and MQTT.
- mqtt-dss-bridge - MQTT digitalSTROM-Server Bridge.
- FHEM has a MQTT module since V5.6.
- Home Assistant has a MQTT component.
- homekit2mqtt - Interface between HAP-NodeJS and MQTT. Control MQTT connected devices with Siri or HomeKit Apps.
- ioBroker has a MQTT adapter.
- Net-Commander has built in MQTT connectivity.
- openHAB has a MQTT binding.
- pimatic has a MQTT plugin.
- Tasker (Automation for Android) MQTT Publisher Plugin
- chromoflex2mqtt - Control Chromoflex USP3 RGB LED modules via MQTT
- hue2mqtt - Interface between the Philips Hue bridge and MQTT.
- mqtt-dmx-sequencer - Control DMX devices via Art-Net by MQTT.
- airtunes2mqtt - MQTT controlled Multi-Room Audio with Airplay/Airtunes Devices.
- kodi2mqtt - Interface between a Kodi mediacenter instance and MQTT.
- lgtv2mqtt - Interface between LG WebOS Smart TVs and MQTT.
- lirc2mqtt - Send and receive infrared via LIRC.
- onkyo2mqtt - Interface between Onkyo AVR's EISCP network remote protocol and MQTT. Uses the onkyo-eiscp library.
- VLC MQTT Module - Control VLC via MQTT.
- xbmc2mqtt - A simple plugin for XBMC to listen for a particular topic on an MQTT broker, and display a popup message.
- yamaha-avr2mqtt
- flowerpower2mqtt - Publish measurements from Parrot Flower Power plant sensors to MQTT.
- bcontrol2mqtt - Publish measurements from TQ Energy Manager to MQTT.
- mqtt-irc-bot - A MQTT to IRC / IRC to MQTT bridge or bot.
- mqttwarn - Subscribe to MQTT topics (with wildcards) and notifiy pluggable services.
- twitter-to-mqtt - A python daemon that uses the Twitter Streaming API to access tweets and republishes them to an MQTT topic.
- node-red-dashboard - A dashboard UI for Node-RED.
- mqtt-panel - A web interface for MQTT.
- mqtt-svg-dash - Subscribe to MQTT, extract JSON from a message and make lights blink on an SVG page.
Other tools that can be used to create Visualization/Dashboards can be found under Smart Home Integration Software
- Homie - A lightweight MQTT convention for the IoT
- mqtt-smarthome - Smart home automation with MQTT as the central message bus - Architectural proposal.
Contributions welcome! Read the contribution guidelines first.