0.4.2 • Published 1 year ago
mojo-plugin-mqtt-helper v0.4.2
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-mqttanymore, and just returns an MqttClient Object - As a result, methods
subscribe,unsuscribe,publishandendare now blocking methods, so you want to usesubscribeAsync,unsuscribeAsync,publishAsyncandendAsyncinstead (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