1.0.3 • Published 4 months ago

@wyltils/mqtt-utils v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

mqtt-utils

一个简单易用的 MQTT 客户端工具包,提供了 MQTT 连接管理和流量统计功能。

特性

  • 🚀 简单易用的 MQTT 客户端
  • 📊 内置流量统计功能
  • 🔄 自动重连机制
  • 🎯 支持消息观察者模式
  • 💾 消息历史记录
  • ⚡ 基于 WebSocket 的连接

安装

npm install @wyltils/mqtt-utils

使用方法

基础使用

import { mqttClient, trafficStats } from '@wyltils/mqtt-utils';

// 连接到 MQTT 服务器
mqttClient.connect('ws://your-mqtt-server:port/mqtt', 'username', 'password');

// 订阅主题
mqttClient.subscribe('your/topic', (message) => {
    console.log('收到消息:', message);
});

消息观察者

// 添加消息观察者
const handleMessage = (topic, message) => {
    console.log(`收到主题 ${topic} 的消息:`, message);
};

mqttClient.addMessageObserver(handleMessage);

// 批量订阅主题
const topics = [
    '/device/status',
    '/device/data',
    '/device/alarm'
];

topics.forEach(topic => {
    mqttClient.subscribe(topic);
});

流量统计

// 添加单个白名单
trafficStats.addWhitelistPrefix('192.168.');

// 批量添加白名单
trafficStats.addWhitelistPrefixes(['localhost', '127.0.0.1']);

// 获取流量统计
const stats = trafficStats.getStats();
console.log('当前流量统计:', stats);

API 文档

MQTTClient

connect(url, username, password, clientId)

连接到 MQTT 服务器

  • url: MQTT WebSocket 服务器地址
  • username: 用户名(可选)
  • password: 密码(可选)
  • clientId: 客户端 ID(可选,默认自动生成)

subscribe(topic, callback)

订阅主题

  • topic: 要订阅的主题
  • callback: 消息回调函数
  • 返回: 订阅 ID

unsubscribe(subscriptionId)

取消订阅

  • subscriptionId: 订阅 ID

addMessageObserver(observer)

添加消息观察者

  • observer: 观察者函数,接收 (topic, message) 参数

TrafficStats

addWhitelistPrefix(prefix)

添加白名单前缀

  • prefix: IP 前缀字符串
  • 返回: 是否添加成功

addWhitelistPrefixes(prefixes)

批量添加白名单前缀

  • prefixes: IP 前缀字符串数组
  • 返回: 是否有新增前缀

getStats()

获取流量统计信息

  • 返回: 包含 API 和 MQTT 流量统计的对象

浏览器支持

  • Chrome >= 61
  • Firefox >= 60
  • Safari >= 11
  • Edge >= 16

许可证

MIT

1.0.3

4 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago