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.
What to see mqtt-panel in action -> http://youtu.be/Qb0UJa9kf2g
The web page is using bootstrap with jQuery.
Clone the mqtt-panel repository
$ git clone [email protected]:fabaff/mqtt-panel.git
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
A MQTT broker/server is needed to run on localhost on port 3000 and providing websocket support.
- 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
- Make sure that your MQTT broker/server is running and listening. Or run
./mqtt-server.pyto usemqtt-panelwith hbmqtt (make sure that you installed it withpip3 install hbmqtt). - Adjust
var host = '127.0.0.1';andvar port = 3000;in the fileindex.htmlto match your setup. - Open
index.html.
If you are using Fedora, just use dnf to install node.
$ sudo dnf -y install node npm
then
$ npm install mqtt socket.io
- Launch
./runner.shwhich will start the node server on port 3000 for the standard node.js example. - Adjust
var host = '127.0.0.1';andvar port = 3000;in the fileindex.htmlto match your setup. - Open
index-node.htmlwith your browser.
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/#
mqtt-panel was inspired by the ideas of:
mqtt-panel licensed under MIT, for more details check LICENSE.
