前言
当前端越来越复杂,开发需要使用的库和工具也越来越多。npm 是一个包管理器,可以方便地安装各种开发和生产环境需要的依赖项。其中,node-red-contrib-sparkplug 是一个非常好用的 npm 包,能够帮助开发者更方便地使用 Sparkplug 协议进行 MQTT 通信。本文将为您介绍如何使用 node-red-contrib-sparkplug 进行 MQTT 通信。
安装
在开始前,请先确保您已安装 Node.js 和 npm。然后,您可以使用以下命令来安装 node-red-contrib-sparkplug:
--- ------- --------------------------
这会将 node-red-contrib-sparkplug 安装到您的项目中,并将其添加到您的 package.json 文件中。
配置
安装 node-red-contrib-sparkplug 后,您需要向 Node-RED 添加一个 MQTT 节点,并在过滤窗口中添加 Sparkplug 主题过滤器。这是 Sparkplug 协议使用的主题架构,是 Sparkplug 设备之间通信必须遵守的规则。例如,Sparkplug 主题通常以“spBv1”开头。
然后,您需要将 node-red-contrib-sparkplug 节点添加到您的工作流中,并配置以下选项:
Sparkplug 版本
选择您正在使用的 Sparkplug 版本。当前支持的版本为 1.0。
客户端 ID
输入您的客户端 ID。这是 Sparkplug 协议的一部分,由您的设备负责生成,并应该是唯一的。
会话保留策略
选择会话保留的策略。它定义了设备断开连接后其状态是否应该保留在 MQTT 服务器上。
发布到 Brokers
输入代理的 MQTT 服务器的地址以及 SSL 选项(可选)。您可以使用多个代理。
使用
node-red-contrib-sparkplug 使通信变得更加简单。您可以使用以下命令向 Sparkplug 主题发布消息:
----------- ------ --------------------------------------------------------- -------- --------- ---
其中,{groupId},{edgeNodeId} 和 {deviceProperty} 是 Sparkplug 协议中使用的关键字。您需要将它们替换为实际的值。
您也可以将必要的数据放到对象中,并在 send() 函数中将其作为 payload 发送出去。
接收 Sparkplug 消息的方法之一是使用侦听器:
--- -------- - ------------- - ----------------- -
然后,您可以将侦听器传递给 subscribe() 函数:
------------------------ ----------------------------------------------------------
这将为您提供一个简单而强大的方式来使用 Sparkplug 协议,从而更轻松地实现 MQTT 通信。
示例代码
以下是一个示例代码,使用 node-red-contrib-sparkplug 实现 MQTT 通信:
-------------- - ------------- - -------- ------------------ - -------------------------- --- -------------- - ------------ ------------- - ----------- ------------- - ----------- ------------- - ----------- --- ---- - ----- --- --------------- - -------------------------------------- ---------------- -------------- - ------- --- - ------------------------------------------ ----------------- -------- --------------------- - -------------------------- --- ----------- - ---------------------------- --- ---- - ----- -- ------------- - --- --------------- - -------------------------------------- --- -------- - ------------- - --------------- -- ---------------- ------------- ----- ----- - --- ------ - -------------------------------- ----------- ------------------------------- -------- ------- --- ---------------- -------------- - ---------------------------------- ------- --- - ---- - --------------------------------------------------- - - --------------------------------------------- -------------------- -------- ------------------- - -------------------------- --- ----------- - ---------------------------- --- ---- - ----- -- ------------- - --- --------------- - -------------------------------------- ---------------- ------------- ----- ----- - --- ----- - ------------------------------- ----------- --- ------- - - ------ ------ -------- ---------------------------- -- ----------------------------- ------- --- ---------------- -------------- - ------- --- - ---- - --------------------------------------------------- - - ------------------------------------------- ------------------ -------- ------------------- ------ - ------ --------- - --- - ------ - -------- -------------------- ------ - ------ --------- - --- - ------ - --
结论
使用 node-red-contrib-sparkplug 可以让您更轻松地使用 Sparkplug 协议进行 MQTT 通信。如果您正在开发一个前端应用程序,它可能需要使用 Sparkplug 或其他协议进行通信。在学习和使用 Node-RED 和外部 npm 包之前,请确保您已了解 Sparkplug 协议。它将是您在 MQTT 通信中的不可或缺的一部分!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600671d730d0927023822ce2