mojo-plugin-mqtt-helper
v0.4.2
Published
Adds an MQTT client helper to mojo.js
Downloads
18
Readme
A mojo.js plugin to add an MQTT helper, wrapped over mqtt module.
Important notes for existing users
v0.4.0 (09/2024)
- The module does not use
async-mqtt
anymore, and just returns an MqttClient Object - As a result, methods
subscribe
,unsuscribe
,publish
andend
are now blocking methods, so you want to usesubscribeAsync
,unsuscribeAsync
,publishAsync
andendAsync
instead (please see the examples).
API
The API is the same as mqtt client.
Example
import mojo from '@mojojs/core';
import mqttPlugin from 'mojo-plugin-mqtt-helper';
const app = mojo();
app.plugin(mqttPlugin);
app.get('/', async ctx => {
const client = await ctx.mqttClient('mqtt://test.mosquitto.org');
client.on('message', async (topic, message) => {
await ctx.render({text: `Received message on topic ${topic}: ${message}`});
await client.endAsync();
});
await client.subscribeAsync('mojojs/test/#');
await client.publishAsync('mojojs/test/hello/Channel', 'Hello world!');
});
app.start();
More examples
This distribution also contains an example implementing a simple websockets based chat room: chat.
Installation
All you need is Node.js 16.0.0 (or newer).
$ npm install mojo-plugin-mqtt-helper