GithubHelp home page GithubHelp logo

awesome-mqtt's Introduction

Awesome MQTT

Awesome

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 Notification Services.

Contents

Community Resources

Blogs

Talks

Broker

  • ActiveMQ - A fast Java multiprotocol messaging and Integration Patterns server.
  • Emitter - A distributed, scalable and fault-tolerant publish-subscribe messaging platform based on MQTT protocol and featuring message storage.
  • eMQTT - The Massively Scalable MQTT Broker written in Erlang/OTP.
  • esp_uMQTT_broker - A basic MQTT Broker on the ESP8266.
  • 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 - Vert.x component to handle connections, communication and messages exchange with remote MQTT clients.

Tools

  • imqtt - Interactive MQTT packet manipulation shell based on IPython.
  • moxy - A Golang MQTT proxy providing useful output traces to monitor and troubleshoot your MQTT communications.
  • mqtt-admin - Web based MQTT frontend. Direct Link.
  • mqtt-benchmark - A benchmarking tool for MQTT Servers.
  • mqttcli - MQTT Client for shell scripting.
  • mqtt-client - A Simple MQTT Client command line (Python) (use paho lib)
  • mqtt-forget - Command line tool to remove retained MQTT topics by wildcard.
  • 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-PWN - MQTT-PWN intends to be a one-stop-shop for IoT Broker penetration-testing and security assessment operations.
  • mqtt-shell - A simple interactive shell for MQTT.
  • 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.
  • mqtt-wildcard - Node.js Module to match a MQTT Topic against wildcards.
  • 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.
  • Hulaaki - An Elixir library for clients communicating with MQTT brokers.
  • Machine Head - A Clojure MQTT Client.
  • 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).
  • MIMIC MQTT Simulator - Simulate up to 100,000 MQTT clients per server for development/testing/deployment of IoT applications
  • Mosquitto-PHP - A wrapper for the Mosquitto MQTT client library for PHP.
  • mqtt - MQTT Clients, Servers and Load Testers in Go.
  • MQTT-C - A portable MQTT C client for embedded systems and PCs alike.
  • 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_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.
  • mqtt-rs - MQTT protocol library for Rust.
  • mqtt-wrapper - Polymer Element that wraps other Elements and links them to MQTT topics.
  • 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.
  • rumqtt - A fast, lock free pure rust MQTT client.
  • ruby-mqtt - Pure Ruby gem that implements the MQTT protocol.
  • tcl-mqtt - Small library to connect to a MQTT broker. Very, very basic.
  • TMQTTClient - MQTT Client Library for Delphi.
  • Vert.x MQTT - Vert.x component that provides methods for connecting/disconnecting to a broker, publishing messages and subscribing to topics.
  • 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 One-wire Temperature's and publish to a MQTT broker.
  • Basecamp - An Arduino library to ease the use of the ESP32 in IoT projects. See c't Magazin 2'2018 (German).
  • 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.
  • mqtt-with-micropython - Connect to MQTT with micropython and wipy/others (ESP32 inside)
  • xbee2mqtt - XBee to MQTT gateway.

Industry

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

Telephony, PBX

  • agi-mqtt - Interface between Asterisk and MQTT.
  • fritz2mqtt - Connect FRITZ!Box to MQTT.
  • sip2mqtt - A SIP monitoring script that publishes incoming calls with CallerID to MQTT.

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.
  • WinThing - Remotely control Windows through MQTT.

Monitoring

  • check-mqtt - A Nagios/Icinga plugin for checking connectivity to an MQTT broker.
  • nag2mqtt - Nagios event broker to MQTT gateway.
  • 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.
  • domiqtt - Connects to a Domiq Base (LCN) and translate from and to MQTT.
  • eno2mqtt - Interface between an Enocean USB300 (TCM310) adapter and MQTT.
  • Evohome2mqtt - MQTT Interface for the Honeywell Evohome system.
  • helios2mqtt - A daemon for syncing a helios easy controls system like my KWL EC 220D to MQTT.
  • hm2mqtt.js - Interface between EQ-3's Homematic line of smarthome devices and MQTT. Supports Homematic IP.
  • homeeToMqtt - Bidirectional Interface between homee and MQTT.
  • HS100toMQTT - Gateway between TPLink HS100/HS110 and MQTT.
  • ipcam2mqtt - A small ftp server to receive movement images from ipcameras and turn them into mqtt alerts.
  • knx2mqtt - Interface between the KNX home automation standard and MQTT.
  • mcsMQTT - Plug-in for HS3 (HomeSeer).
  • mqtt2homekit - Roughly the opposite of homekit2mqtt: Control your HomeKit-enabled devices with MQTT and without Siri or iPhone.
  • mqtt-dss-bridge - MQTT digitalSTROM-Server Bridge.
  • node-lox-mqtt-gateway - Gateway for Loxone™ mini server to communicate with MQTT broker.
  • smartthings-mqtt-bridge - Bridge between SmartThings and MQTT.
  • Sonoff-Tasmota - Firmware for Sonoff devices with native MQTT Support.
  • xiaomi2mqtt - bridge between the Xiaomi Smart Home Gateway Aquara and a MQTT server.
  • zigbee2mqtt - Allows you to use your Zigbee devices without the vendors (Xiaomi/TRADFRI/Hue) bridge/gateway.

Smart Home Integration Software

Lighting

Home Entertainment

  • airtunes2mqtt - MQTT controlled Multi-Room Audio with Airplay/Airtunes Devices.
  • bravia2mqtt - Control your Sony Bravia TV with MQTT.
  • broadlink-mqtt - MQTT client to control BroadLink RM devices.
  • chromecast-mqtt-connector - Control your Google Chromecast devices using MQTT.
  • kodi2mqtt - Interface between a Kodi media center instance and MQTT.
  • harmony-api - A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT.
  • htd2mqtt - Bridge between an HTD Lync audio system and MQTT.
  • lgtv2mqtt - Interface between LG WebOS Smart TVs and MQTT.
  • lirc2mqtt - Send and receive infrared via LIRC.
  • mopidy-mqtt - MQTT features for Mopidy.
  • mqtt2atlonamatrix - Control Atlona HDMI matrix switches with MQTT.
  • mqtt2tivoremote - Make TiVo DVR remote control available through an MQTT smarthome style interface.
  • MQTT-DashCast-Docker - MQTT Docker to launch DashCast session on Chromecast.
  • onkyo2mqtt - Interface between Onkyo AVR's EISCP network remote protocol and MQTT. Uses the onkyo-eiscp library.
  • sonos2mqtt - A bridge between Sonos and MQTT.
  • 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 - A simple adapter for connection Yamaha AVR to MQTT.

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.

Misc

  • AlexaMqttBridge - Bridge between Amazon Alexa and Mqtt.
  • buderus2mqtt - Bridge between Buderus KM200 internet gateway and Mqtt.
  • dashbutton2mqtt - Publish Amazon Dash Button presses to MQTT.
  • flowerpower2mqtt - Publish measurements from Parrot Flower Power plant sensors to MQTT.
  • haiku2mqtt - A bridge between Haiku smart fans and MQTT.
  • homely - Collection of Go daemons for connecting Domoticz and other stuff.
  • kobold2mqtt - Bridge between Vorwerk Kobold Vr200 internet gateway and Mqtt.
  • leaf-python-mqtt - Extract data from Nissan Leaf API and post to mqtt.
  • miflora-mqtt-daemon - Linux service to send Xiaomi Mi Flora plant sensor data to an MQTT broker.
  • mqtt2ble - A way to bridge MQTT topics to BLE Gatt characteristics.
  • mqttclpro - MQTT Client with tasker integration Android app.
  • mqttDB - A JSON store with MQTT interface.
  • node-mqtt-for-anki-overdrive - Node.js Controller and MQTT API for Anki Overdrive.
  • parrot-sample - Sample code which uses MQTT to control a Parrot AR Drone.
  • Tasker (Automation for Android) MQTT Publisher Plugin.
  • speedtest2mqtt - Run speedtest-cli and publish results via MQTT.
  • unifi2mqtt - Publish connected clients from Ubiquiti Unifi to MQTT.
  • wlan-thermo-mqtt-addon - Addon for a popular DIY barbecue thermometer.
  • bt-mqtt-gateway - Easily extensible Bluetooth to MQTT gateway, currently supports: EQ3 smart thermostat, Xiaomi Mi Scale, Linak Desk, MySensors and Xiaomi Mi Flora plant sensor.

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.
  • HelloIoT - HelloIoT is a MQTT client and dashboard application.
  • HOMR-REACT - A configurable MQTT Visualization.
  • Linear MQTT Dashboard - Easy, customizable control panel - MQTT-client.
  • node-red-dashboard - A dashboard UI for Node-RED.
  • MMM-mqtt - This is an extension for the MagicMirror². It provides the ability to subscribe to MQTT topics and display them.
  • 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.
  • thingsboard - Device management, data collection, processing and visualization for your IoT projects.

Other tools that can be used to create Visualization/Dashboards can be found under Smart Home Integration Software

Architecture, Convention

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

awesome-mqtt's People

Contributors

ah01 avatar arthurzenika avatar bbbenji avatar davisonio avatar gambitcomminc avatar hobbyquaker avatar iooner avatar krambox avatar landrash avatar lholznagel avatar liambindle avatar martin-ger avatar mrjohannchang avatar mukowman avatar nohum avatar nullr0ute avatar piotrc4 avatar ppatierno avatar sdeancos avatar shafreeck avatar skateinmars avatar thalhammer avatar thkl avatar tho85 avatar thomdietrich avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.