文档

通过 MQTT / MQTTS 上传数据

配置 broker,接收实时 JSON,验证后端上传结果。

IAMMETER 官方文档

IAMMETER 电表支持 MQTT/MQTTS 上传。本教程介绍模拟器后端的行为;实际电表的配置与 TLS 行为取决于固件版本。

目标和工具

准备自己的 MQTT broker 和订阅客户端。连接由模拟器后端发起,broker 必须能被模拟器服务器访问。

broker 地址中的 localhost 指模拟器后端运行环境,不是你的电脑。请填写服务器能够访问的主机名或 IP。

先订阅

保存 Settings 前先订阅下面的主题。所有模拟设备共用固定 SN 和主题;请使用独立 broker,避免与其他用户的消息混在一起。

MQTT 主题

device/1AD9B537/realtime

Mosquitto 订阅示例

mosquitto_sub -h YOUR_BROKER -p 1883 -t 'device/1AD9B537/realtime' -v

配置电表

  1. 在首页选择数据源,然后打开 WEM3050T。
  2. 在 Settings 中选择 mqtt。地址填写 mqtt://YOUR_BROKER:1883,普通 MQTT 也可填写 YOUR_BROKER:1883。如有认证要求,填写 broker 用户名和密码。
  3. 将 Upload Interval 设为 10 秒并保存,保持电表标签页可见。
  4. 查看产品页面下方的调试区,并在订阅客户端确认收到消息。

测试 MQTTS

TLS 地址填写 mqtts://YOUR_BROKER:8883;MQTT、MQTTS 默认端口分别为 1883、8883。用户名和密码填写在独立表单字段中,不要放进 URL。

后端使用系统 CA 校验证书信任链和主机名,不支持上传自定义 CA 或跳过证书校验。订阅客户端也需要单独配置 TLS。

预期结果

消息使用旧版 JSON:method、mac、version、server、SN、Data/Datas,以及可选的 EA。MQTT 采用 3.1.1、QoS 0,消息不保留。

WEM3050T 消息示例

{
  "method": "4-9",
  "mac": "020000003050",
  "version": "simulator-1.0",
  "server": "em",
  "SN": "1AD9B537",
  "Datas": [
    [230.0,1.252,270.0,2.092,0.000,50.00,0.94],
    [229.5,0.487,110.0,1.280,0.000,50.00,0.98],
    [229.0,0.399,90.0,0.747,0.000,50.00,0.98]
  ]
}

停止与恢复

选择 stand alone 并保存可停止上传。默认连续 5 分钟无页面活动也会停止任务,配置保留到会话过期;管理员可以修改这个时间。

恢复电表页面可见状态后,将按保留配置继续上传。getadv 不返回密码,重新读取后密码框为空;再次通过设备表单保存时请重新填写,因为提交空密码会清除原密码。

故障排除

保存不等于送达:请核对 broker 连通性、认证信息、主题和订阅客户端状态。QoS 0 发送计数不能证明订阅端已收到消息。

公网模拟器通常无法访问你电脑局域网中的私有地址,请使用可达的接收端。MQTTS 连接失败时,检查证书链和主机名。

← 返回模拟器