Skip to content

baudryj/awesome-mqtt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome MQTT Awesome Build Status

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.

Table of Contents

Community Resources

Blogs

Broker

  • 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.
  • hrotti - A MQTT broker written in Go.
  • 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.
  • Vert.x MQTT server - This Vert.x component provides a server which is able to handle connections, communication and messages exchange with remote MQTT clients.

Tools

  • imqtt - Interactive MQTT packet manipulation shell based on IPython.
  • 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.
  • mqtt-wall - Subscription only web-based client – like Twitter wall for MQTT.
  • Python MQTT Client Shell - a text console-based, interactive shell for exercising various tasks associated with MQTT client communications.
  • Wireshark-MQTT - MQTT dissector for Wireshark.

Clients

  • 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_client_cpp - MQTT client for C++14 based on Boost.Asio
  • 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.

Scripting

  • 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.

Interfaces

Makers

  • arduinoTemps2mqtt - Arduino sketch, grab Onewire Temperature's and publish to a mqtt broker.
  • esp_mqtt - MQTT client library for ESP8266.
  • mqtt-ir-transceiver - ESP8266 based bidirectional gateway between MQTT and IR. Use with PlatformIO.
  • MySensors - Arduino NRF24L01 based sensor network with support for an MQTT gateway
  • nodemcu-gpiomqtt - Lua script to connect ESP8266 GPIOs to MQTT.
  • 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.

Industry

  • modbus2mqtt - Modbus master which publishes register values via MQTT.
  • mqtt2opcua - Bi Directional MQTT to OPCUA Bridge.

Telephony, PBX

Operating System

  • mqttlauncher - Execute shell commands triggered by published MQTT messages.
  • mqtt-os-status - Operating-system related data, published to an MQTT broker at fixed intervals.
  • mqttpc - Control processes via MQTT. Ability to send signals via MQTT and to publish stdout/stderr or pipe MQTT payloads into stdin.
  • mqttwatchdir - Recursively watch a directory for modifications and publish file content to an MQTT broker.
  • psmqtt - Utility reporting system health and status via MQTT

Monitoring

  • 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.

Location tracking

  • Owntracks - Location tracking and geofencing for MQTT.

Logging

Smart Home Hardware Interfaces

  • aqara-mqtt - Aqara (Xiaomi) Gateway to MQTT bridge.
  • 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.
  • Evohome2mqtt - MQTT Interface for the Honeywell Evohome system.
  • 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.
  • node-lox-mqtt-gateway - Gateway for Loxone™ miniserver to communicate with mqtt broker.

Smart Home Integration Software

Misc Software

Lighting

Home Entertainment

  • airtunes2mqtt - MQTT controlled Multi-Room Audio with Airplay/Airtunes Devices.
  • chromecast-mqtt-connector - Control your Google Chromecast devices using MQTT.
  • kodi2mqtt - Interface between a Kodi mediacenter instance and MQTT.
  • harmony-api - A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or 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

Gadgets

Smart Metering

Messaging

  • 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.

Visualization, Dashboards

  • Crouton - A dashboard that taps into your IOT network, using only MQTT and JSON.
  • d3-MQTT-Topic-Tree - A MQTT Topic Tree viewer using the d3 collapsable tree and MQTT over websockets
  • node-red-dashboard - A dashboard UI for Node-RED.
  • mqtt2highcharts - plotting live numbered data from a subscribed mqtt topic using highcharts.
  • MQTT Dash - Android App: With the app you can create dashboards for your MQTT enabled IoT Smart Home devices and applications.
  • 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

Architecture, Convention

  • Homie - A lightweight MQTT convention for the IoT
  • mqtt-smarthome - Smart home automation with MQTT as the central message bus - Architectural proposal.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

About

A curated list of MQTT related stuff. ✨

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published