介绍
mqtt-lines 是一个 MQTT 协议的 Node.js 订阅和发布库,允许用户通过命令行读取和发送数据。如需了解 MQTT 协议和相关概念,请参阅 MQTT Essentials。
mqtt-lines 用于处理行数据。每个批处理都被视为一行。多行数据可以一起发送,但必须以新行符作为分隔符。默认情况下,发布数据时 mqtt-lines 会在数据末尾添加新行符,以确保每个行都是有效的。如果未添加新行符,则可能会导致订阅者无法解析行数据。
安装
安装 mqtt-lines:
npm install -g mqtt-lines
此命令会将 mqtt-lines 全局安装在 Node.js 中。
使用
订阅
为了订阅经纪人上的数据,需要指定 MQTT 经纪人和主题:
mqtt-sub -h broker.mqtt.com -t my/topic
使用此命令将连接到经纪人 broker.mqtt.com 并订阅 'my/topic'。
发布
为了向经纪人发布数据,需要指定 MQTT 经纪人、主题和消息内容:
mqtt-pub -h broker.mqtt.com -t my/topic "hello world"
使用此命令将 'hello world' 发布到 'my/topic',并将其发送到经纪人 broker.mqtt.com。
全局选项
mqtt-lines 还提供了一些全局选项:
选项 | 描述 |
---|---|
-v, --version |
显示 mqtt-lines 版本号 |
-h, --help |
显示 mqtt-lines 帮助文档 |
-u, --username [value] |
使用用户名连接 MQTT 经纪人 |
-p, --password [value] |
使用密码连接 MQTT 经纪人 |
-s, --secure |
使用安全连接 (SSL / TLS) 连接 MQTT 经纪人 |
-c, --clean |
强制清除 session,并在连接成功后自动订阅 |
-q, --qos [value] |
指定发布的消息质量等级 (0、1、2) |
-r, --retain |
设定发布的消息为保留消息,后续的新订阅者会收到之前发出的保留消息 |
示例代码
例如,在 Node.js 中,可以使用以下代码将数据发布到 MQTT 经纪人。请注意,此代码需要使用 mqtt
包。若未安装,请使用 npm 进行安装。
var mqtt = require('mqtt') var client = mqtt.connect('mqtt://broker.mqtt.com') client.on('connect', function () { client.publish('my/topic', 'hello world') })
那么订阅经纪人呢?使用以下代码:
-- -------------------- ---- ------- --- ---- - --------------- --- ------ - -------------------------------------- -------------------- -------- -- - ---------------------------- -- -------------------- -------- ------- -------- - ------------------------------- --
这将订阅经纪人上的 'my/topic' 主题,并在收到任何消息时将其打印到控制台上。
总结
mqtt-lines 是一个方便的 MQTT 订阅和发布库,可用于处理行数据。使用它,你可以轻松地从经纪人中读取和发送数据。要想深入了解 MQTT 协议和 mqtt-lines,请参阅相关文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005668081e8991b448e29b0