Open source messaging middleware
Node-RED Dashboard
Node-RED [4] is a visual programming environment that allows users to create applications by dragging and dropping nodes on the screen. Logic flows are then created by connecting the different nodes together.
Node-RED has been preinstalled on Raspbian Jesse since November 2015. Node-RED can also be installed on Windows, Linux, and Mac OS X. To install and run Node-RED on your specific system see [5].
To install the AMQP components, select the Manage palette option from the right side of the menubar. Then search for "AMQP" and install node-red-contrib-amqp (Figure 8). If your installation of Node-RED does not have dashboards installed, search for and install node-red-dashboard.
For this Node-RED MQTT and AMQP example, I will use a mqtt and a amqp node from the input palette group, along with two gauge nodes from the dashboard group (Figure 9).
Nodes are added by dragging and dropping them into the center Flow sheet. Logic is created by making connection wires between inputs and outputs of a node. After the logic is laid out, double-click on each of the nodes to configure their specific properties. You will need to specify the MQTT and AMQP definitions of your RabbitMQ IP address, user rights, MQTT topic, and AMQP queue name. You will also need to double-click on the gauge nodes to configure the look-and-feel of the web dashboard.
After the logic is complete, hit the Deploy button on the right side of the menubar to run the logic. The Node-RED dashboard user interface can be accessed at http://ipaddress:1880/ui.
For my project, I used a number of different MQ sensors and inputs. Figure 10 is a picture of the Node-RED web dashboard that I created with the same MQTT value being shown natively and as a AMQP queued value.
Final Comments
I found that RabbitMQ was easy to install and the web administration plug-in, along with rabbitmqadmin
, made the system very easy to maintain.
If you're just looking to show sensor values, then a basic MQTT broker might be all you need. However, if you're looking at some future applications like alarm, maintenance, or task lists, then AMQP exchanges and queues make RabbitMQ an interesting option.
Infos
- RabbitMQ: https://www.rabbitmq.com/
- RabbitMQ installation instructions: https://www.rabbitmq.com/download.html
- MQ-2 sensor: https://www.dx.com/p/mq-2-smoke-gas-sensor-v-1-3module-for-arduino-black-2017356
- Node-RED: https://nodered.org
- Installing Node-RED: https://nodered.org/docs/getting-started/installation
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)