Skip to content

JSON 与 MQTT WebSocket 网页温控接入 ​

本文依据已有操作手册整理为线上操作参考。原文标为预期或未执行的操作,仍须按实际环境验证。

WebSocket承载MQTT属性上报、下行回复、状态、历史和重连。

**开始前准备:**具备产品、设备、模型、发布、控制和历史权限;本地应用、单节点FMQ和FMQX网页版可用,连接参数和订阅已确认

开始前先了解 ​

首次接入按配置章节操作;已有相同产品和设备时复用保留配置,从上报与收发验证开始。配置图与恢复示例保留原操作时点,当前复验另行核对。

本篇使用一台网页温控设备,完成JSON消息经MQTT WebSocket上报、订阅下行、演示回复、独立属性重新上报、历史刷新与断开重连。适合需要通过WebSocket入口承载MQTT消息的客户端和设备集成工具。

蜂信物联(FastBee)负责产品、设备、控制和历史;FMQ是设备接入服务;FMQX网页版在本篇扮演演示设备。它的JSON状态机接受设定并自动回复,随后由操作员在发布框人工独立上报状态,不代表真实物理温控器动作或自动持续采样。

账号需具有产品、设备、模型编辑、发布、控制和历史权限。准备本设备MQTT连接参数、WebSocket地址端口与路径、正确上下行主题及允许控制范围;配置JSON不包含设备密码,首次导入后安全填写并保存。

功能关系示意

职责与数据方向;不是运行截图。

复制模板前先替换这些参数 ​

本篇代码使用普通模板名;截图保留实际历史资源。请先完成以下核对,再保存为UTF-8文件或发送报文。

  • temperature、setpoint分别是温度与设定温度的模板属性标识;首次生成物模型可沿用,复用已有产品时须替换为该产品真实标识,并同步修改所有报文和initialState键。
  • demo-device是设备编号模板。将clientId中的设备编号、每个收发主题中的设备编号和TCP上报的clientId一起替换为平台该设备编号;MQTT身份中的产品号、租户号也须替换为当前设备连接参数。
  • 连接文件中的host、port及监听方向须改为当前环境实际地址;127.0.0.1表示运行FMQX的本机。涉及MQTT时同步核对产品号、用户名、订阅主题和responseRoute,密码仅在连接页面安全填写。
  • 分组、会话及订阅id是导入文件内部引用;如需改名,groupId必须与对应分组id一致。先核对再导入,不要在保留会话上重复创建同名连接。
  • 代码块是按既有无密码资产或原代码改写的客户模板,尚未证明本版模板已成功导入。历史截图、发送时间和业务通过范围仍以各步骤记录为准;不要将模板名当作旧证据中的实际资源名。

先核对连接身份与主题 ​

平台产品协议为JSON/MQTT,设备工具的传输通道为WebSocket。本例FMQ地址127.0.0.1、端口8084、路径/mqtt;同机演示可用127.0.0.1,跨机器改用管理员提供的可达地址。普通MQTT TCP端口不能直接当作WebSocket入口。

设备编号、产品编号和租户组成平台给出的MQTT Client ID,本篇为S&FastBee_WS_Tutorial_01&876&1。用户名与Password都从本设备MQTT连接参数获取,不随机生成身份、不借用其他设备凭据。保存后密码不回显,手册及配置文件不保存真实密码。

正确下行主题为/876/FastBee_WS_Tutorial_01/function/get,属性和演示回复发布到/876/FastBee_WS_Tutorial_01/property/post。正确订阅启用;错误默认主题S&FastBee_WS_Tutorial_01&876&1/function/get保留但禁用。删除错误默认项后重连会重新生成并被订阅确认拒绝,本篇实际采用保留禁用项通过恢复。

一、创建产品、字段与设备 ​

1. 创建独立网页温控产品 ​

**操作位置:*物联网→设备接入→*从哪里开始 操作步骤:选择 新建产品,填写产品名称 FastBee_网页温控。复验时直接复用保留资源。

创建独立网页温控产品

下方其他未完成接入记录不属于本篇;不要点击其继续接入。

截图重点说明 ​

字段 / 控件说明
接入来源本篇创建独立产品;已有本篇资源复验直接复用。
必填 · 填写:新建产品
产品名称给这类网页温控设备取清晰业务名。
必填 · 填写:FastBee_网页温控

2. 用JSON样例生成字段 ​

**操作位置:*设备接入向导→*产品与协议 操作步骤:粘贴下方JSON样例,点击 解析并预览。

用JSON样例生成字段

向导样例温度29、设定30仅用于提取字段;正式十样本时设定基线为32。

截图重点说明 ​

字段 / 控件说明
JSON样例从设备实际报文提取两个属性草稿。
必填 · 填写:{"FastBee_temperature":29,"FastBee_setpoint":30}

向导生成字段的JSON样例json

text
{

  "temperature": 29,

  "setpoint": 30

}

用于提取字段;正式会话样本采用下方20~29与设定32。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。

3. 核对两个整数属性与路径 ​

**操作位置:*设备接入向导→*采集字段 **操作步骤:**核对 温度、设定温度 及其整数类型和对应JSON路径。

核对两个整数属性与路径

单位在后续功能定义补为℃,两个字段不能互换标识。

截图重点说明 ​

字段 / 控件说明
字段、整数类型与路径两个属性与实际JSON键一一对应。
必填 · 填写:$.FastBee_temperature;$.FastBee_setpoint

4. 填写独立设备编号 ​

**操作位置:*设备接入向导→*添加设备 操作步骤:填写设备名称与 设备标识 FastBee_WS_Tutorial_01。

填写独立设备编号

MQTT连接参数和上下行主题使用此设备编号;FMQX会话编号不是平台设备编号。

截图重点说明 ​

字段 / 控件说明
设备标识MQTT连接身份与上下行主题都从此编号构成,不能随机替换。
必填 · 填写:FastBee_WS_Tutorial_01
设备名称用于定位当前平台设备;FMQX最终会话名为网页温控器。
必填 · 填写:FastBee_网页温控

5. 核对JSON与MQTT基础接入 ​

**操作位置:*设备接入向导→*接入确认 **操作步骤:**核对产品、JSON/MQTT、一台设备与两个字段后完成创建。

核对JSON与MQTT基础接入

WebSocket承载MQTT消息,所以平台协议仍显示JSON/MQTT;传输需在FMQX详情单独核对。

截图重点说明 ​

字段 / 控件说明
接入协议平台使用JSON/MQTT,WebSocket是MQTT的传输通道。
必填 · 填写:JSON/MQTT
接入概况核对当前产品、一台设备和两个字段。
必填 · 填写:1台、2字段

二、配置属性并发布 ​

6. 保存可写设定与历史配置 ​

**操作位置:*产品管理→网页温控→功能定义→*设定温度 操作步骤:模型翻译填Setpoint,取消 只读数据,开启 历史存储 后点击修改。

保存可写设定与历史配置

设定16~35℃、步长1,可写、历史开启,图表与实时监测关闭;保存后核对。

截图重点说明 ​

字段 / 控件说明
模型翻译填写清晰英文名称,完成必填项后修改保存。
必填 · 填写:Temperature/Setpoint
模型标识上报键与模型标识逐字一致。
必填 · 填写:FastBee_temperature/FastBee_setpoint
模型类别本篇读数及设定都采用属性。
必填 · 填写:属性
只读数据温度勾选;设定取消只读以提供控制入口。
必填 · 填写:温度勾选,设定不勾选
历史存储两个字段都开启,保存后续上报历史。
必填 · 填写:勾选
图表展示/实时监测温度开启,设定关闭;重新核对只读联动。
必填 · 填写:温度开启,设定关闭
分享权限本篇在所在租户使用,不开放分享。
必填 · 填写:不勾选
整数范围、单位与步长温度-40~100℃;设定16~35℃;步长1。
必填 · 填写:温度-40~100;设定16~35;℃;步长1
修改/取消修改保存当前模型;取消不提交。
必填 · 填写:修改

7. 保存只读温度与整数范围 ​

**操作位置:*产品管理→网页温控→功能定义→*温度 操作步骤:保持 只读数据 与历史存储,设置 -40~100、℃、步长1并修改保存。

保存只读温度与整数范围

温度只读,图表及实时监测开启、历史开启;计算公式留空。

截图重点说明 ​

字段 / 控件说明
只读数据温度勾选;设定取消只读以提供控制入口。
必填 · 填写:温度勾选,设定不勾选
历史存储两个字段都开启,保存后续上报历史。
必填 · 填写:勾选
图表展示/实时监测温度开启,设定关闭;重新核对只读联动。
必填 · 填写:温度开启,设定关闭
分享权限本篇在所在租户使用,不开放分享。
必填 · 填写:不勾选
整数范围、单位与步长温度-40~100℃;设定16~35℃;步长1。
必填 · 填写:温度-40~100;设定16~35;℃;步长1
计算公式本例直接使用整数,不做公式转换。
选填 · 填写:留空
修改/取消修改保存当前模型;取消不提交。
必填 · 填写:修改

8. 确认发布当前产品配置 ​

**操作位置:*产品管理→网页温控→*发布更新 **操作步骤:**核对草稿保存后,点击 发布更新,在确认框点击 确定。

确认发布当前产品配置

提示操作成功后继续查看同步详情,确认接入节点已应用配置。

截图重点说明 ​

字段 / 控件说明
发布产品保存后发布;已发布产品编辑前先取消发布。
必填 · 填写:确认发布

9. 发布后确认接入侧生效 ​

**操作位置:*产品管理→网页温控→*接入配置同步 **操作步骤:**发布已保存配置,展开同步结果,确认 APPLIED 且 失败原因 为空。

发布后确认接入侧生效

本次接入配置已在节点应用、失败0;仍需下面的真实设备收发和历史验证。

截图重点说明 ​

字段 / 控件说明
接入同步结果APPLIED表示接入节点已应用本次配置。
必填 · 填写:APPLIED,失败0
发布产品保存后发布;已发布产品编辑前先取消发布。
必填 · 填写:确认发布

温度只读、范围-40~100℃;设定可写、范围16~35℃,步长1。两属性历史开启,温度图表与实时监测开启,设定关闭;保存后重新打开核对。修改已发布产品时先取消发布,完成修改后重新发布至APPLIED。

三、配置并确认WebSocket连接 ​

FMQX网页版正式连接配置json

text
{

  "schemaVersion": 3,

  "groups": [

    {

      "id": "tutorial_ws_group",

      "name": "网页教程",

      "sortOrder": 53,

      "isSystem": false

    }

  ],

  "sessions": [

    {

      "id": "3d65382b266b40e38e77e8178f0af68d",

      "groupId": "tutorial_ws_group",

      "name": "网页温控器",

      "protocol": "MQTT",

      "transport": "WebSocket",

      "host": "127.0.0.1",

      "port": 8084,

      "mqttWebSocketPath": "/mqtt",

      "mqttProtocolVersion": "3.1.1",

      "clientId": "S&demo-device&876&1",

      "username": "admin",

      "autoReconnect": false,

      "qos": 1,

      "subscriptions": [

        {

          "id": "platform_downlink",

          "topic": "/876/demo-device/function/get",

          "qos": 1,

          "active": true

        },

        {

          "id": "legacy_default",

          "topic": "S&demo-device&876&1/function/get",

          "qos": 1,

          "active": false

        }

      ],

      "jsonDevice": {

        "format": "JSON",

        "responseRoute": "/876/demo-device/property/post",

        "initialState": {

          "temperature": 29,

          "setpoint": 32

        }

      }

    }

  ]

}

另存为UTF-8 JSON后导入;没有密码。首次导入后安全填入本设备Password,保留错误默认订阅active=false,不删除它。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。

10. 配置MQTT WebSocket连接身份 ​

操作位置:FMQX网页版→WebSocket教程→网页温控器→连接配置 操作步骤:导入下方配置,核对Host、端口8084及 Client ID,安全填写本设备Password并保存。

配置MQTT WebSocket连接身份

实际配置MQTT3.1.1、Keep Alive60秒、Clean Session开、TLS关、超时5000ms、自动重连关;保存后的凭据不回显。

截图重点说明 ​

字段 / 控件说明
连接名称识别本篇最终保留会话。
必填 · 填写:FastBee_网页温控器
Host / IP填写FMQ WebSocket接入地址;127.0.0.1仅适用于同机。
必填 · 填写:127.0.0.1
Port使用WebSocket监听端口,不能混用普通MQTT端口。
必填 · 填写:8084
WebSocket路径导入配置的路径与FMQ入口一致。
必填 · 填写:/mqtt
Client ID使用平台该设备的MQTT连接身份;不要点随机生成替换。
必填 · 填写:S&FastBee_WS_Tutorial_01&876&1
Username填写平台提供的设备连接用户名。
必填 · 填写:admin(以设备连接参数为准)
Password从平台该设备连接参数安全获取并填写;保存后的凭据不会在此回显。
必填 · 填写:填写本设备凭据,不写入手册
MQTT Version本篇选择3.1.1。
必填 · 填写:3.1.1
Keep AliveMQTT保活间隔,单位秒。
必填 · 填写:60秒
Clean Session本篇开启,恢复后重新核对订阅。
必填 · 填写:开启
TLS / SSL本地本篇使用未加密WebSocket;外部环境以管理员入口要求为准。
必填 · 填写:关闭
连接超时连接等待上限,单位毫秒。
必填 · 填写:5000毫秒
自动重连本篇关闭,手工执行断开与恢复。
必填 · 填写:关闭
重连间隔只有自动重连开启时才参与重试;本篇不开启。
必填 · 填写:3000毫秒
导入配置将下方不含密码的UTF-8 JSON导入WebSocket教程分组。
必填 · 填写:MQTT/WebSocket会话
随机生成本篇采用固定设备身份,不使用随机生成。
必填 · 填写:不点击
测试连接连接测试不替代真实上报、订阅和下行验证。
必填 · 填写:测试连接
保存配置保存正确连接及凭据,后续复用本篇会话。
必填 · 填写:保存配置

11. 连接并确认WebSocket传输 ​

**操作位置:*FMQX网页版→*连接详情 操作步骤:点击连接,展开详情,核对 传输通道 为 WebSocket 和本设备Client ID。

连接并确认WebSocket传输

不要只看头部MQTT标签或端口可达;详情明确显示实际WebSocket通道。

截图重点说明 ​

字段 / 控件说明
连接详情头部MQTT表示应用协议;详情传输通道应为WebSocket。
必填 · 填写:WebSocket
Client ID使用平台该设备的MQTT连接身份;不要点随机生成替换。
必填 · 填写:S&FastBee_WS_Tutorial_01&876&1
连接/断开连接后确认真实详情显示WebSocket,错误提示要解除后继续。
必填 · 填写:已连接/已断开

连接成功后检查实际详情中的传输通道WebSocket和本设备Client ID。正确下行主题必须已订阅;已连接但订阅被拒绝仍不能算上下行通过。MQTT3.1.1、上报QoS1、Keep Alive60秒、Clean Session开启、自动重连关闭。

四、发送十个不同样本 ​

正式会话第一条属性上报json

text
{

  "id": "WS_Tutorial_retry_sample_01",

  "temperature": 20,

  "setpoint": 32

}

发布到本设备property/post主题;温度依次20~29,消息编号01~10。再次验收使用一组全新id。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。

12. 填写本设备上报主题与首个样本 ​

**操作位置:*FMQX网页版→通信→*发布消息 **操作步骤:**把 Topic 改为本设备正确上报主题,填入温度 20、设定32和新消息编号,点击 发送。

填写本设备上报主题与首个样本

重新打开页面后先核对Topic;不能沿用S&开头的默认主题。复验换新编号,不重放截图中的旧样本。

截图重点说明 ​

字段 / 控件说明
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:独立id,不重放已处理编号
QoS属性上报与订阅配置采用1,平台实际下行卡显示0。
必填 · 填写:上报1;下行实收0
发布内容与发送发送完整JSON;本场景设备身份由MQTT连接和主题确定。
必填 · 填写:温度20~29、设定32

13. 通过上报主题发送十个不同温度 ​

**操作位置:*FMQX网页版→通信→*发布内容与发送记录 操作步骤:选择正确上报主题,保持设定32,温度依次 20~29,各用新消息编号发送。

通过上报主题发送十个不同温度

实际发送十条、最后29/32;前一步已单独展示正确上报主题和首样本准备。

截图重点说明 ​

字段 / 控件说明
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post
QoS属性上报与订阅配置采用1,平台实际下行卡显示0。
必填 · 填写:上报1;下行实收0
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:独立id,不重放已处理编号
发布内容与发送发送完整JSON;本场景设备身份由MQTT连接和主题确定。
必填 · 填写:温度20~29、设定32

每次发送完整JSON到正确上报主题,等待平台读到本条后再继续。设备身份由MQTT连接与主题确定,避免把UDP的身份数据报写法混入本例。正式十样本发生在01:57:12~01:57:21,设定温度一直为32。

下发32℃并确认实际状态 ​

按待发值、实际接收、设备执行、独立状态回报和平台当前值逐项确认。本段示例为本轮新指令;计数为保留会话的累计值。FMQX状态机演示不代替实物设备执行。

14. 将待下发设定调到32℃ ​

操作位置:设备管理→网页温控→运行状态 操作步骤:在设定温度滑块选择32,核对提示值后点击指令发送。

将待下发设定调到32℃

将待下发设定调到32℃

截图重点说明 ​

字段 / 控件说明
设定滑块与纸飞机核对待发提示值后单次发送,不把滑块待发值当作设备当前值。
必填 · 填写:按实施方案填写 · 示例:本次32℃;原10月13日参考34℃、恢复后35℃
待下发设定温度滑块提示是准备发送的值,旁边当前值来自设备上报。
必填 · 填写:32

15. 确认设备收到32℃指令 ​

操作位置:平台运行状态/FMQX网页版→接收记录 操作步骤:展开本设备最新接收消息,核对设定温度为32。

确认设备收到32℃指令

确认设备收到32℃指令

截图重点说明 ​

字段 / 控件说明
设定滑块与纸飞机核对待发提示值后单次发送,不把滑块待发值当作设备当前值。
必填 · 填写:本次32℃
下行订阅主题正确下行主题保持启用,用于接收平台属性设定。
必填 · 填写:/876/FastBee_WS_Tutorial_01/function/get
接收记录展开完整消息,核对主题、目标值、时间与字节数。
必填 · 填写:本次32℃;对应同一指令编号

16. 核对同编号32℃执行应答 ​

操作位置:平台运行状态/FMQX网页版→接收记录 操作步骤:在发送记录展开同编号应答,核对成功结果、设定32及累计执行次数5。

核对同编号32℃执行应答及累计计数5

核对同编号32℃执行应答及累计计数5

截图重点说明 ​

字段 / 控件说明
本次执行应答本次只新增一次执行;计数为保留设备状态机累计值。
必填 · 填写:按实施方案填写 · 示例:同一指令编号;成功200;设定32;累计次数5

17. 独立上报执行后的实际状态 ​

操作位置:FMQX网页版→通信→发布消息 操作步骤:在本设备上报入口发送实际温度29、设定温度32的JSON。

独立上报执行后的实际状态

独立上报执行后的实际状态

截图重点说明 ​

字段 / 控件说明
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:按实施方案填写 · 示例:/876/FastBee_WS_Tutorial_01/property/post
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:按实施方案填写 · 示例:独立id,不重放已处理编号
实际属性JSONTCP需同时携带设备编号clientId;MQTT WebSocket使用当前设备上报主题。
必填 · 填写:{"FastBee_temperature":29,"FastBee_setpoint":32}

18. 查看独立上报后的当前32℃ ​

操作位置:FMQX发布内容/设备管理→运行状态 操作步骤:回到运行状态,核对当前值显示32。

查看独立上报后的当前32℃

查看独立上报后的当前32℃

截图重点说明 ​

字段 / 控件说明
平台当前值独立属性状态上报后的实际当前值。
必填 · 填写:本次温度29℃、设定32℃

19. 打开统计查看历史曲线 ​

**操作位置:*设备管理→当前设备→*设备统计 操作步骤:进入设备统计,等待曲线首次加载后核对温度。

打开统计查看历史曲线

打开统计查看历史曲线

截图重点说明 ​

字段 / 控件说明
设备统计与历史曲线首次进入后等待历史曲线加载,按字段和时间核对数据。
必填 · 填写:按实施方案填写 · 示例:进入设备统计后首次加载曲线

20. 选择本次32℃回报的时间窗 ​

操作位置:数据中心→历史数据 操作步骤:选择本设备的设定温度,填写2026-10-15 20:58:00 ~ 2026-10-15 20:59:00,点击查询。

查询本次设定32的时间范围

查询本次设定32的时间范围

截图重点说明 ​

字段 / 控件说明
本次查询时间使用完整日期和起止时间;截图输入框可能缩略显示。
必填 · 填写:按实施方案填写 · 示例:2026-10-15 20:58:00 ~ 2026-10-15 20:59:00

21. 刷新本次设定温度历史 ​

**操作位置:*数据中心→*历史数据 操作步骤:确认设备和字段无误,点击刷新结果。

刷新本设备设定温度历史

刷新本设备设定温度历史

截图重点说明 ​

字段 / 控件说明
本次查询时间使用完整日期和起止时间;截图输入框可能缩略显示。
必填 · 填写:按实施方案填写 · 示例:2026-10-15 20:58:00 ~ 2026-10-15 20:59:00

22. 核对刷新后仍存在的32℃记录 ​

操作位置:数据中心→历史数据 操作步骤:核对设定温度为32、时间为20:58:00。

刷新后核对独立状态上报的32

刷新后核对独立状态上报的32

截图重点说明 ​

字段 / 控件说明
本次历史记录核对独立状态上报的时间与值;相同值的不同消息不自动视为重复。
必填 · 填写:按实施方案填写 · 示例:设定32℃,刷新后仍存在

需要时恢复连接(原操作示例) ​

以下为原批次恢复连接的独立操作示例,保留原时间和34或35的取值。需要恢复时再执行;它与上文32℃的新指令是两次独立验证。

23. 断开并停止本轮收发 ​

**操作位置:*FMQX网页版→*网页温控器 **操作步骤:**点击 断开,确认 已断开,保留会话和历史。

断开并停止本轮收发

本图为正式会话恢复前的停止状态;顶部提示遮部分右侧按钮,左侧断开状态清楚。

截图重点说明 ​

字段 / 控件说明
结束与保留只断开和停止发送,保留产品、设备、会话及历史。
必填 · 填写:最终已断开;最后29/35
连接/断开连接后确认真实详情显示WebSocket,错误提示要解除后继续。
必填 · 填写:已连接/已断开

24. 复用正式会话恢复连接 ​

**操作位置:*FMQX网页版→*网页温控器 **操作步骤:**保持错误默认订阅禁用而不删除,点击 连接 并确认 已连接。

复用正式会话恢复连接

正确主题保持启用;删除错误默认项会导致它重连后再次自动建立并被拒绝,本篇用保留禁用项恢复成功。

截图重点说明 ​

字段 / 控件说明
下行订阅主题正确下行主题保持启用,用于接收平台属性设定。
必填 · 填写:/876/FastBee_WS_Tutorial_01/function/get
错误默认主题保留自动默认项但禁用,避免删除后重连又被自动生成。
必填 · 填写:S&FastBee_WS_Tutorial_01&876&1/function/get;active=false
连接/断开连接后确认真实详情显示WebSocket,错误提示要解除后继续。
必填 · 填写:已连接/已断开

恢复后先发布29/34状态json

text
{

  "id": "WS_Tutorial_final_resume",

  "temperature": 29,

  "setpoint": 34

}

重连后先确认正确订阅和属性上报,再下发新的设定35。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。

25. 恢复后下发35℃目标 ​

**操作位置:*设备管理→网页温控→*运行状态 **操作步骤:**恢复连接并上报新状态后,将滑块设为 35,核对提示后点击 指令发送。

恢复后下发35℃目标

恢复后也要核对设备真实接收、自动回复与独立属性上报。

截图重点说明 ​

字段 / 控件说明
设定滑块与纸飞机核对待发提示值后单次发送,不把滑块待发值当作设备当前值。
必填 · 填写:34;恢复后35

26. 恢复后确认实际收到设定35 ​

**操作位置:*FMQX网页版→通信→*接收记录 **操作步骤:**先发下方恢复29/34状态,再下发35,展开新 接收记录 核对 35。

恢复后确认实际收到设定35

实际01:58:50.169收到本设备下行主题128字节设定35;不能把旧失败恢复34卡当作35实收。

截图重点说明 ​

字段 / 控件说明
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:独立id,不重放已处理编号
设定滑块与纸飞机核对待发提示值后单次发送,不把滑块待发值当作设备当前值。
必填 · 填写:34;恢复后35
接收记录展开完整消息,核对主题、目标值、时间与字节数。
必填 · 填写:34;恢复后35

27. 核对恢复后设定35的演示回复 ​

**操作位置:*FMQX网页版→通信→*发送记录 **操作步骤:**核对 设定35、code200和 executionCount2。

核对恢复后设定35的演示回复

演示回复的接收请求摘要与本次35指令一致;之后仍需人工独立上报属性状态。

截图重点说明 ​

字段 / 控件说明
演示自动回复FMQX jsonDevice接受设定并回复;状态随后由操作员独立重新上报。
必填 · 填写:34次数1;35次数2
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post

恢复后独立29/35状态json

text
{

  "id": "WS_Tutorial_final_after35",

  "temperature": 29,

  "setpoint": 35

}

演示回复35之后人工发布此属性状态,重新验收换新消息编号。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。

28. 独立上报恢复后的35℃状态 ​

**操作位置:*FMQX网页版→通信→*发布消息 操作步骤:核对正确上报主题,填入温度29与设定 35,换新消息编号后点击 发送。

独立上报恢复后的35℃状态

重新上报实际状态,再到平台核对当前值和刷新后的历史;截图旧编号仅供识别。

截图重点说明 ​

字段 / 控件说明
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:独立id,不重放已处理编号
发布内容与发送发送完整JSON;本场景设备身份由MQTT连接和主题确定。
必填 · 填写:原10月13日恢复示例:温度29、设定35,使用新消息编号

29. 回平台核对已上报的35℃状态 ​

**操作位置:*设备管理→设备详情→*运行状态/历史数据 **操作步骤:**完成上一步发送后,回到平台刷新 当前值,核对温度 29、设定 35,再按原恢复时间窗检查历史。

独立重新上报并确认平台35

最终温度29、设定35,01:58:50独立属性已落实际历史;演示回复与人工状态上报明确区分。

截图重点说明 ​

字段 / 控件说明
平台当前值独立属性状态上报后的实际当前值。
必填 · 填写:温度29、设定35

本篇正式会话恢复通过,设定35演示执行次数增为2,平台最终温度29、设定35。早期另一个会话曾只收到旧恢复34指令、未形成执行回复和新状态,仍保留为失败,不能混入本篇成功结论。

原样本与恢复示例的历史(独立旧时间窗) ​

本章继续展示首次十样本与原恢复操作的历史记录,保留原日期及取值;上文新增32℃指令的历史另有独立时间窗。再次复验使用本次实际时间,不照抄旧日期。

30. 查询正式会话十个样本 ​

**操作位置:*数据中心→*历史数据 **操作步骤:**选本篇设备和 温度,时间覆盖01:57~01:58,核对 20~29。

查询正式会话十个样本

十个值时间为01:57:12~01:57:21;不是早期失败会话的样本表。

截图重点说明 ​

字段 / 控件说明
设备与字段选择平台网页温控设备及温度或设定温度。
必填 · 填写:网页温控/温度、设定温度
时间范围覆盖本轮实际样本和状态上报时间。
必填 · 填写:2026-10-13 01:57~02:00
查询/刷新/重置刷新后重新选择相同条件查询;重置会清除筛选。
必填 · 填写:等加载完成后核对

31. 选择设定温度与状态时间窗 ​

**操作位置:*数据中心→*历史数据 **操作步骤:**选本篇设备和 设定温度,时间范围设为 01:58~02:00 后查询。

选择设定温度与状态时间窗

截图日期输入部分横向截断;完整日期为2026-10-13,复验用新的完整起止时间。

截图重点说明 ​

字段 / 控件说明
设备与字段选择平台网页温控设备及温度或设定温度。
必填 · 填写:网页温控/温度、设定温度
时间范围覆盖本轮实际样本和状态上报时间。
必填 · 填写:2026-10-13 01:57~02:00
查询/刷新/重置刷新后重新选择相同条件查询;重置会清除筛选。
必填 · 填写:等加载完成后核对

32. 刷新重查34到35的实际历史 ​

**操作位置:*数据中心→*历史数据 **操作步骤:**刷新后重新选择相同条件,等加载结束,核对 34→34→35。

刷新重查34到35的实际历史

01:58:41为34、恢复上报01:58:49仍34、01:58:50为35;两条34是不同独立消息,不是重复入库。

截图重点说明 ​

字段 / 控件说明
设备与字段选择平台网页温控设备及温度或设定温度。
必填 · 填写:网页温控/温度、设定温度
时间范围覆盖本轮实际样本和状态上报时间。
必填 · 填写:2026-10-13 01:57~02:00
查询/刷新/重置刷新后重新选择相同条件查询;重置会清除筛选。
必填 · 填写:等加载完成后核对

温度查询2026-10-13 01:57~01:58,可见20~29。设定温度查询01:58~02:00,01:58:41为34,恢复上报01:58:49仍34,01:58:50为35。刷新后重新选择相同条件,等待加载结束再核对。

两条34是不同消息的独立状态,不是重复入库。再次验收记录新的时间窗口与新id,保留旧历史;不以工具收发计数或页面相同数值的行数代替逐条关联。

八、结束与再次验收 ​

33. 结束收发并保留会话 ​

操作位置:FMQX网页版→网页温控器→统计信息 操作步骤:停止发送并点击断开,确认已断开。

结束收发并保留会话

结束收发并保留会话

截图重点说明 ​

字段 / 控件说明
结束与保留只断开和停止发送,保留产品、设备、会话及历史。
必填 · 填写:当前已断开;本次最后温度29/设定32,旧历史仍保留
连接/断开连接后确认真实详情显示WebSocket,错误提示要解除后继续。
必填 · 填写:已连接/已断开

结束只断开FMQX并停止发送,产品、设备、两个模型、保存会话及历史全部保留。本次最后温度29、设定32;原恢复示例的35仍可在旧历史中查询。当前值存在不表示会话仍连接。

再次验收复用本篇正式会话与产品,核对WebSocket实际通道、MQTT身份、正确订阅启用及错误默认订阅禁用。使用新id逐条发送至少十个不同样本,下发范围内的新目标,确认设备实收、演示回复、人工独立状态、平台实时与历史,刷新重查,再执行断开重连;结束继续断开保留资源。

字段与参数参考 ​

JSON接入向导 ​

字段 / 控件填写说明
接入来源本篇创建独立产品;已有本篇资源复验直接复用。
必填 · 填写:新建产品已有产品:复用同型号配置添加设备;复用同型号配置添加设备。新建产品:创建本篇独立型号;创建本篇独立型号。复制产品:从已有配置复制;从已有配置复制。使用模板:从模板开始;从模板开始。
产品名称给这类网页温控设备取清晰业务名。
必填 · 填写:FastBee_网页温控
JSON样例从设备实际报文提取两个属性草稿。
必填 · 填写:{"FastBee_temperature":29,"FastBee_setpoint":30}
字段、整数类型与路径两个属性与实际JSON键一一对应。
必填 · 填写:$.FastBee_temperature;$.FastBee_setpoint
设备标识MQTT连接身份与上下行主题都从此编号构成,不能随机替换。
必填 · 填写:FastBee_WS_Tutorial_01
设备名称用于定位当前平台设备;FMQX最终会话名为网页温控器。
必填 · 填写:FastBee_网页温控
接入协议平台使用JSON/MQTT,WebSocket是MQTT的传输通道。
必填 · 填写:JSON/MQTT
接入概况核对当前产品、一台设备和两个字段。
必填 · 填写:1台、2字段

功能定义 ​

字段 / 控件填写说明
模型翻译填写清晰英文名称,完成必填项后修改保存。
必填 · 填写:Temperature/Setpoint
修改后须发布。
模型标识上报键与模型标识逐字一致。
必填 · 填写:FastBee_temperature/FastBee_setpoint
修改后须发布。
模型类别本篇读数及设定都采用属性。
必填 · 填写:属性
修改后须发布。属性:保存读数或可写设定;保存读数或可写设定。功能:本篇不使用独立功能模型;本篇不使用独立功能模型。事件:本篇不使用事件模型;本篇不使用事件模型。
只读数据温度勾选;设定取消只读以提供控制入口。
必填 · 填写:温度勾选,设定不勾选
修改后须发布。勾选:只展示上报读数;只展示上报读数。不勾选:允许按权限下发设定;允许按权限下发设定。
历史存储两个字段都开启,保存后续上报历史。
必填 · 填写:勾选
修改后须发布。勾选:记录后续属性值;记录后续属性值。不勾选:无法按本篇核对后续历史;无法按本篇核对后续历史。
图表展示/实时监测温度开启,设定关闭;重新核对只读联动。
必填 · 填写:温度开启,设定关闭
修改后须发布。勾选:展示读数,注意只读联动;展示读数,注意只读联动。不勾选:本篇设定采用的展示方式;本篇设定采用的展示方式。
分享权限本篇在所在租户使用,不开放分享。
必填 · 填写:不勾选
修改后须发布。勾选:按租户业务决定分享范围;按租户业务决定分享范围。不勾选:保持本篇现有权限;保持本篇现有权限。
整数范围、单位与步长温度-40~100℃;设定16~35℃;步长1。
必填 · 填写:温度-40~100;设定16~35;℃;步长1
修改后须发布。
计算公式本例直接使用整数,不做公式转换。
选填 · 填写:留空
修改后须发布。
修改/取消修改保存当前模型;取消不提交。
修改后须发布。

发布与生效 ​

字段 / 控件填写说明
发布产品保存后发布;已发布产品编辑前先取消发布。
接入同步结果APPLIED表示接入节点已应用本次配置。
必填 · 填写:APPLIED,失败0

FMQX网页版MQTT WebSocket ​

字段 / 控件填写说明
导入配置将下方不含密码的UTF-8 JSON导入WebSocket教程分组。
修改后须重连。
连接名称识别本篇最终保留会话。
必填 · 填写:FastBee_网页温控器
修改后须重连。
Host / IP填写FMQ WebSocket接入地址;127.0.0.1仅适用于同机。
必填 · 填写:127.0.0.1
修改后须重连。
Port使用WebSocket监听端口,不能混用普通MQTT端口。
必填 · 填写:8084
修改后须重连。
WebSocket路径导入配置的路径与FMQ入口一致。
必填 · 填写:/mqtt
修改后须重连。
Client ID使用平台该设备的MQTT连接身份;不要点随机生成替换。
必填 · 填写:S&FastBee_WS_Tutorial_01&876&1
修改后须重连。
随机生成本篇采用固定设备身份,不使用随机生成。
修改后须重连。
Username填写平台提供的设备连接用户名。
必填 · 填写:admin(以设备连接参数为准)
修改后须重连。
Password从平台该设备连接参数安全获取并填写;保存后的凭据不会在此回显。
必填 · 填写:填写本设备凭据,不写入手册
修改后须重连。
MQTT Version本篇选择3.1.1。
必填 · 填写:3.1.1
修改后须重连。3.1:本篇未验证;本篇未验证。3.1.1:本篇已验证的MQTT版本;本篇已验证的MQTT版本。5.0:本篇未验证,需另行核对兼容性;本篇未验证,需另行核对兼容性。
Keep AliveMQTT保活间隔,单位秒。
必填 · 填写:60秒
修改后须重连。
Clean Session本篇开启,恢复后重新核对订阅。
必填 · 填写:开启
修改后须重连。开启:使用本篇已验证配置,重新建立当前订阅;使用本篇已验证配置,重新建立当前订阅。关闭:持久会话行为本篇未验证;持久会话行为本篇未验证。
TLS / SSL本地本篇使用未加密WebSocket;外部环境以管理员入口要求为准。
必填 · 填写:关闭
修改后须重连。关闭:本地ws入口已验证;本地ws入口已验证。开启:需wss入口及证书参数,本篇未验证;需wss入口及证书参数,本篇未验证。
连接超时连接等待上限,单位毫秒。
必填 · 填写:5000毫秒
修改后须重连。
自动重连本篇关闭,手工执行断开与恢复。
必填 · 填写:关闭
修改后须重连。关闭:按本文手工恢复并核对;按本文手工恢复并核对。开启:需进一步验收自动重试行为;需进一步验收自动重试行为。
重连间隔只有自动重连开启时才参与重试;本篇不开启。
必填 · 填写:3000毫秒
修改后须重连。
测试连接连接测试不替代真实上报、订阅和下行验证。
修改后须重连。
保存配置保存正确连接及凭据,后续复用本篇会话。
修改后须重连。
连接/断开连接后确认真实详情显示WebSocket,错误提示要解除后继续。
修改后须重连。
连接详情头部MQTT表示应用协议;详情传输通道应为WebSocket。
必填 · 填写:WebSocket
修改后须重连。
消息编号每条新上报使用独立id,复验使用全新编号。
必填 · 填写:独立id,不重放已处理编号
修改后须重连。
发布内容与发送发送完整JSON;本场景设备身份由MQTT连接和主题确定。
修改后须重连。
接收记录展开完整消息,核对主题、目标值、时间与字节数。
必填 · 填写:本次32℃指令;原恢复示例35℃指令,分别核对编号
修改后须重连。
演示自动回复FMQX jsonDevice接受设定并回复;状态随后由操作员独立重新上报。
必填 · 填写:34次数1;35次数2
修改后须重连。

订阅与上报主题 ​

字段 / 控件填写说明
下行订阅主题正确下行主题保持启用,用于接收平台属性设定。
必填 · 填写:/876/FastBee_WS_Tutorial_01/function/get
修改后须重连。
错误默认主题保留自动默认项但禁用,避免删除后重连又被自动生成。
必填 · 填写:S&FastBee_WS_Tutorial_01&876&1/function/get;active=false
修改后须重连。
上报与回复主题本篇属性和演示回复均发布到该设备上报主题。
必填 · 填写:/876/FastBee_WS_Tutorial_01/property/post
修改后须重连。
QoS属性上报与订阅配置采用1,平台实际下行卡显示0。
必填 · 填写:上报1;下行实收0
修改后须重连。0:不使用MQTT确认交付,本篇下行实收显示此项;不使用MQTT确认交付,本篇下行实收显示此项。1:至少一次交付语义,本篇上报采用此项;至少一次交付语义,本篇上报采用此项。2:本篇未验证;本篇未验证。

设备运行状态 ​

字段 / 控件填写说明
设定滑块与纸飞机核对待发提示值后单次发送,不把滑块待发值当作设备当前值。
必填 · 填写:本次32℃;原10月13日参考34℃、恢复后35℃
平台当前值独立属性状态上报后的实际当前值。
必填 · 填写:本次温度29、设定32;原恢复示例温度29、设定35

历史数据 ​

字段 / 控件填写说明
设备与字段选择平台网页温控设备及温度或设定温度。
必填 · 填写:网页温控/温度、设定温度
时间范围覆盖本轮实际样本和状态上报时间。
必填 · 填写:2026-10-13 01:57~02:00
查询/刷新/重置刷新后重新选择相同条件查询;重置会清除筛选。

停止与恢复 ​

字段 / 控件填写说明
结束与保留只断开和停止发送,保留产品、设备、会话及历史。
必填 · 填写:当前已断开;本次最后温度29/设定32,旧历史仍保留
设备统计与历史曲线首次进入后等待历史曲线加载,按字段和时间核对数据。
必填 · 填写:进入设备统计后首次加载曲线
本次历史记录核对独立状态上报的时间与值;相同值的不同消息不自动视为重复。
必填 · 填写:设定32℃,刷新后仍存在
本次查询时间使用完整日期和起止时间;截图输入框可能缩略显示。
必填 · 填写:2026-10-15 20:58:00 ~ 2026-10-15 20:59:00
本次执行应答本次只新增一次执行;计数为保留设备状态机累计值。
必填 · 填写:同一指令编号;成功200;设定32;累计次数5

遇到问题时先查哪里 ​

看到什么现象可能原因先检查哪里如何恢复
WebSocket连接失败入口地址、端口、路径、TLS或MQTT身份不符。本例8084、/mqtt、MQTT3.1.1、TLS关闭;身份来自本设备连接参数。修正并保存,再连接核对详情WebSocket和设备身份。
已连接但下行订阅被拒绝自动默认主题与平台允许的下行主题不一致。正确/876/.../function/get启用,错误S&.../function/get禁用保留。不要删除错误默认项后直接重连;按本配置保留active=false再恢复。
断开重连又出现错误默认订阅本篇观察到删除默认项后界面会自动补建。检查导入配置同时保留正确启用项和错误禁用项。复用正式会话,重新核对订阅后先上报新状态再控制。
指令实收但没有回复或状态更新演示状态机或连接已异常,仅实收不足以通过。核对自动回复对应id、目标、成功码和执行次数,再看独立属性状态。停止重复下发,保存失败时间;修正连接与配置后用新指令重新闭环。
自动回复成功但平台当前值没变本篇回复与属性状态分别发送,仍需人工独立状态上报。回复之后是否发布新id的29/目标值到property/post。独立发布当前状态,再核对实时与历史;不把演示当作物理动作。
输入Password后仍不认证凭据来自其他设备、身份随机改动或未保存。Client ID、Username、Password均取同一设备连接参数。安全重新填写并保存,再测试;不在截图、配置文件或手册写真实密码。
十样本历史缺值主题、消息编号、字段或查询时间不一致。本设备property/post主题、新id、温度20~29及正确日期。保留旧数据,用新编号定向补测,确认平台收到再继续。
刷新后查不到34或35选错字段或设备,时间窗口没有覆盖独立上报。本设备设定温度,01:58~02:00,等待加载结束。重选相同条件查询;历史开关只保证之后采集,不自动补旧数据。

蜂信物联 | fastbee.cn