JavaScript HTML Python
Switch branches/tags
Nothing to show
Clone or download
Latest commit d928d8b Apr 7, 2018
Permalink
Failed to load latest commit information.
css Update bootstrap to 3.3.6 Feb 14, 2016
dist Adding jqplot missing libs Jul 3, 2014
js Remove socket.io Apr 7, 2018
LICENSE Add year Apr 7, 2018
README.md Update Apr 7, 2018
index.html Update year Apr 7, 2018
mqtt-server.py Fix style issues Apr 7, 2018
screenshot.png Updated Aug 24, 2013
test-messages.py Update year Feb 2, 2017

README.md

mqtt-panel

A simple web interface which is able to subscribe to a MQTT topic and display the information.

The screenshot shows an example how to keep track on what's going in your apartment or your house. It's not about controlling, this setup is about observing various states.

screenshot

What to see mqtt-panel in action -> http://youtu.be/Qb0UJa9kf2g

The web page is using bootstrap with jQuery.

Prerequisites/Installation

Get the files

Clone the mqtt-panel repository

$ git clone git@github.com:fabaff/mqtt-panel.git

Dependencies

mqtt-panel is using the listed projects to provide its functionality:

If you are using Fedora and want to generate MQTT messages, install the paho-mqtt Python bindings.

$ sudo dnf -y install python-paho-mqtt

MQTT broker/server

A MQTT broker/server with Websocket support is needed.

  • hbmqtt - MQTT broker with build-in websockets capabilities
  • mosca - A multi-transport MQTT broker for node.js
  • mosquitto - An Open Source MQTT v3.1 broker

Running mqtt-panel

  1. Make sure that your MQTT broker/server is running and listening. Or run python3 mqtt-server.py to use mqtt-panel with hbmqtt (make sure that you installed it with pip3 install hbmqtt).
  2. Adjust var host = '127.0.0.1'; and var port = 3000; in the file index.html to match your setup if you are not using mqtt-server.py.
  3. Open index.html.

Generate MQTT messages

Start the ./test-messages.py script to publish test messages if you have no other source for messages. Depending on your broker you may need to set the supported version. On line 33: protocol=mqtt.MQTTv311

For manually sending messages to your MQTT broker/server you can use mosquitto_pub from mosquitto or hbmqtt_pub.

$ mosquitto_pub -V mqttv311 -h localhost -d -t home/front/door -m "false"

To check if the messages are are ok, subscribe to the topic home/# with mosquitto_sub.

$ mosquitto_sub -V mqttv311 -h localhost -d -t home/#

Credits

mqtt-panel was inspired by the ideas of:

License

mqtt-panel licensed under MIT, for more details check LICENSE.