Files
awesome-mqtt/README.md
Peter Robinson 380fa7797d Brokers: add ActiveMQ to the list of brokers supporting MQTT
While it supports other messaging protocols it's supported MQTT since 5.6.0,
added WebSockets support in 5.9.0 and improved MQTT it further in 5.10.0

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
2016-05-16 08:59:24 +01:00

12 KiB

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

Broker

  • [ActiveMQ] (http://activemq.apache.org/) - 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.
  • SurgeMQ - High Performance MQTT Server and Client Libraries in Go.
  • VerneMQ - an Apache2 licensed distributed MQTT broker, developed in Erlang.
  • RabbitMQ MQTT Adapter - MQTT Adapter for RabbitMQ

Tools

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

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.
  • mqtt-client - A Polymer Web Component that implements a MQTT client (uses Paho mqttws31.js).
  • MQTT-Client-Framework - iOS native ObjectiveC MQTT Framework.
  • 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.

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

  • 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

  • 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

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

  • mqtt2graphite - Subscribe to MQTT topics and push to Graphite's Carbon server.
  • influx4mqtt - Subscribe to MQTT topics and insert into InfluxDB.

Smart Home, Building Automation

  • 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.
Smart Home Software

Misc Software

Lighting

Home Entertainment

  • airtunes2mqtt - MQTT controlled Multi-Room Audio with Airplay/Airtunes Devices.
  • kodi2mqtt - Interface between a Kodi mediacenter instance 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

  • 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/UI-Editors can be found under Smart Home Software (i.e. ioBroker.vis, net-commander, ...)

Architecture

  • mqtt-smarthome - Smart home automation with MQTT as the central message bus - Architectural proposal.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0