/node-red-contrib-zeromq

ZeroMQ Pub/Sub nodes for Node-RED

Primary LanguageHTMLApache License 2.0Apache-2.0

node-red-contrib-zeromq

Node-RED nodes that provides publish subscribe, push pull, request reply and pair nodes for ZeroMQ.

The peer-to-peer publish subscribe capability, while not unlike MQTT, but without a broker, and without many of the same semantics. It works nicely using localhost to provide local process separation.

Relies on the zeromq npm package to provide pre-build binaries to make installing easier... but can take some time to compile if not available.

Install

Run the following command in your Node-RED user directory - typically ~/.node-red

npm install node-red-contrib-zeromq

Input

The host should be specified as a ZeroMQ connection string. This is typically of the form tcp://ip.address.of.server:port

When subscribing a topic of interest can be specified by a string. The topic matching is purely on first matching characters - i.e. the topic starts with...

Note: this is NOT the same as MQTT - please read up on how ZeroMQ handles topics before raising an issue.

ZeroMQ messages can have multiple parts or fields - typically two - by default topic and payload, but you can name more if required depending upon the application you are trying to integrate, by using the comma separated field property.

Output

The host should be specified as a ZeroMQ connection string. This is typically of the form tcp://*:port

By default this node expects to publish or push two fields - msg.topic and msg.payload. However ZeroMQ can support multipart messages and the msg properties to send can be specified by the comma separated fields configuration.

The topic to send can be fixed in the configuration if required.

Request

A node to handle ZeroMQ pair, request and response messaging modes.

The host should be specified as a ZeroMQ connection string. This is typically of the form 'tcp://ip.address.of.host:port'

ZeroMQ can support multipart messages and extra 'msg' properties to send can be specified by the comma separated fields configuration.