Skip to content

MQTT

连接到MQTT代理进行消息发布和订阅。

输入

MQTT out节点:包含要发布消息的对象 MQTT in节点:无输入

输出

MQTT out节点:无输出 MQTT in节点:接收到的MQTT消息

详细说明

MQTT节点包含两种类型:MQTT in(订阅)和MQTT out(发布)。

MQTT in节点

订阅MQTT主题并接收消息。

配置选项

  • 服务器: MQTT代理服务器配置
  • 主题: 要订阅的主题(支持通配符)
  • QoS: 服务质量等级(0、1、2)
  • 输出:
    • 自动检测(字符串或buffer)
    • 字符串
    • JSON对象
    • Base64字符串
    • Buffer

输出消息格式

javascript
msg = {
    topic: "sensor/temperature",
    payload: "25.6",
    qos: 0,
    retain: false
}

MQTT out节点

发布消息到MQTT主题。

配置选项

  • 服务器: MQTT代理服务器配置
  • 主题: 发布主题(可从msg.topic获取)
  • QoS: 服务质量等级
  • 保留: 是否设置为保留消息

输入消息格式

javascript
msg = {
    topic: "sensor/temperature",
    payload: "25.6",
    qos: 1,        // 可选
    retain: true   // 可选
}

服务器配置

  • 服务器: MQTT代理地址
  • 端口: 连接端口(默认1883)
  • 客户端ID: MQTT客户端标识
  • 用户名/密码: 认证信息
  • SSL/TLS: 安全连接配置
  • 保持连接: 心跳间隔

示例

订阅温度数据:

javascript
// MQTT in节点配置
// 主题: sensor/+/temperature
// 输出消息
msg = {
    topic: "sensor/room1/temperature",
    payload: "22.5",
    qos: 0,
    retain: false
}

发布控制命令:

javascript
// 输入到MQTT out节点
msg = {
    topic: "device/fan/control",
    payload: "ON",
    qos: 1,
    retain: true
}

JSON数据处理:

javascript
// MQTT in接收
msg = {
    topic: "sensor/data",
    payload: {
        temperature: 25.6,
        humidity: 68.2,
        timestamp: "2024-03-20T10:30:00Z"
    }
}

应用场景

  • 物联网设备通信
  • 传感器数据采集
  • 设备控制
  • 系统集成

注意事项

  • 确保MQTT代理可访问
  • 选择合适的QoS等级
  • 注意主题命名规范
  • 处理连接断开情况

蜀ICP备2025139593号