Mosquitto (MQQT)/ZeroMQ gateway
MQTT is a lightweight publish/subscribe messaging protocol. Popular amongs Internet of Things (IoT) devices. Mosquitto is opensource MQTT broker and client library. A part of Eclipse IoT platform.
ZeroMQ is popular messaging library to connect various applications using enhanced sockets and communication patterns.
The zmosq proxy is actor maintaining MQTT client connection in a background. It allows users to connect to MQTT broker, subscribe to one or more topics and publish them as ZMTP messages.
Those messages have two frames [MQTT topic|MQTT payload]. Those are sent to zmosq pipe, so can be read from actor itself.
+-------------+ +------------+ +-------------------+
| | | | | |
| | publish | | subscribe | Mosquitto client |
| MQTT client | ===========> | Mosquitto | <========= +-------------------+ inproc socket
| | | broker | | zmosq_server | [topic|payload]
| | | | | | ==================>
+-------------+ +------------+ +-------------------+
| MQTT protocol | ZMTP protocol |
+----------------------------------------------------------------------------+-------------------+
git clone git://github.com/eclipse/mosquitto.git
cd mosquitto
mkdir build && cd build
cmake ..
make install
sudo ldconfig
cd ../../
git clone git://github.com/zeromq/libzmq.git
git clone git://github.com/zeromq/czmq.git
for project in libzmq czmq; do
cd $project
./autogen.sh
./configure && make check
sudo make install
sudo ldconfig
cd ..
done
Use zmosq in a real project.
Identify problems that you face, using it.
Work with us to fix the problems, or send us patches.
The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE.
The contribution policy is the standard [https://rfc.zeromq.org/spec:42/C4/](ZeroMQ C4.1 process). Please read this RFC if you have never contributed to a ZeroMQ project.