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等级
- 注意主题命名规范
- 处理连接断开情况