1.0.2 • Published 1 year ago
easy-mqtt v1.0.2
Easy Mqtt
Easy-mqtt is basically node.js library for automatize complicated mqtt process. It allows to pub/sub and rpc request with mqtt with simple functions.
Getting Started
npm install easy-mqttyarn add easy-mqttUsage
Connection:
easymqtt.connect({
host: "localhost",
port: 1883,
});Parameters
| Parameter | Description |
|---|---|
| url | The MQTT connection string. If you set the url parameter, you don't need to pass host, port, username, and password. However, if you are using a secure connection, you need to pass the certificate. |
| host | The MQTT broker host address. This is the IP address or domain name of the MQTT broker server. |
| port | The MQTT broker port number. This is the port on which the MQTT broker is listening for incoming connections. |
| username | The MQTT broker username. If your MQTT broker requires authentication, you need to provide the username to connect. |
| password | The MQTT broker password. If your MQTT broker requires authentication, you need to provide the password to connect. |
| protocol | The MQTT broker connection protocol. This specifies the protocol to be used for the MQTT connection, such as MQTT 3.1 or MQTT 5.0. |
| ca | The path to the CA (Certificate Authority) file. If you are using a secure connection, you may need to provide the CA file to establish a secure connection with the MQTT broker. |
| cert | The path to the client certificate file. If you are using a secure connection and the MQTT broker requires client-side authentication, you need to provide the client certificate file. |
| key | The path to the client private key file. If you are using a secure connection and the MQTT broker requires client-side authentication, you need to provide the client private key file. |
| clientId | The client ID used when connecting to the MQTT broker. This is a unique identifier for the client and is used by the broker to identify the client when sending messages or handling subscriptions. |
Subscribe To Topic
easymqtt.on("/topic", (params, payload) => {
console.log(`received message on topic test with payload ${payload}`);
});RPC
const response = await easymqtt.rpc({
request: "device/+deviceId/battery/request",
response: "device/+deviceId/battery/response",
error: "device/+deviceId/battery/error", //optional
message: "hello world",
timeout: 5000
});Parameters
| Parameter | Description |
|---|---|
| request | request The publish topic used for sending requests |
| response | response The listen topic used for receiving responses. |
| error | error The error topic used for receiving error messages. |
| message | message The MQTT payload containing the message data. |
| timeout | timeout The maximum time to wait for a response. |