JSON 数组与 TCP 终端接入
本文依据已有操作手册整理为线上操作参考。原文标为预期或未执行的操作,仍须按实际环境验证。
逐项核对本篇指定收发、独立属性、历史和停止恢复;收发后另行检查当前发布同步。
**开始前准备:**具有产品、设备、模型、发布、控制与历史权限;本地应用、单节点FMQ和FMQX网页版可用,本设备连接参数已获取
开始前先了解
本篇使用TCP与JSON数组,验证温度上报、设定控制、独立状态上报、历史数据和停止恢复。
首次配置图沿用原稿教学,本轮复用保留的产品、设备与会话。连接参数和现有订阅是收发结束后的只读核对,没有重新导入、保存或订阅。
本轮样本在先,当前发布同步补验在后;两段证据分别说明。当前发布后的完整业务复验仍待进行,不能据此宣称这份草稿已全部验收。
FMQX网页版用于演示设备收发与执行回复;实物是否实际动作仍需设备侧确认。
复制模板前先替换这些参数
本篇代码使用普通模板名;截图保留实际历史资源。请先完成以下核对,再保存为UTF-8文件或发送报文。
- JSON数组元素id是属性标识,同一属性始终保持相同;只修改value,不给每条消息更换属性id。
- temperature、setpoint分别是温度与设定温度的模板属性标识;首次生成物模型可沿用,复用已有产品时须替换为该产品真实标识,并同步修改所有报文和initialState键。
- demo-device是设备编号模板。将clientId中的设备编号、每个收发主题中的设备编号和TCP上报的clientId一起替换为平台该设备编号;MQTT身份中的产品号、租户号也须替换为当前设备连接参数。
- 连接文件中的host、port及监听方向须改为当前环境实际地址;127.0.0.1表示运行FMQX的本机。涉及MQTT时同步核对产品号、用户名、订阅主题和responseRoute,密码仅在连接页面安全填写。
- 分组、会话及订阅id是导入文件内部引用;如需改名,groupId必须与对应分组id一致。先核对再导入,不要在保留会话上重复创建同名连接。
- 代码块是按既有无密码资产或原代码改写的客户模板,尚未证明本版模板已成功导入。历史截图、发送时间和业务通过范围仍以各步骤记录为准;不要将模板名当作旧证据中的实际资源名。
一、首次创建与配置示例
已有本篇资源时直接复用,不重复创建。以下八步保留原稿首次配置的截图与边界。
向导对象样例json
{
"temperature": 20,
"setpoint": 30
}先生成两个字段,再改正式JSON数组/TCP。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
1. 首次配置 · 示例:选择新建独立产品
**操作位置:*物联网→设备接入→*接入来源 操作步骤:选择新建产品,填写本篇名称;再次验收直接复用保留产品。

本图补拍创建入口;没有重复提交创建,后续设备与历史沿用本篇资源。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 接入来源 | 本篇新建独立产品,复验直接复用保留资源。 必填 · 填写: 新建产品 |
| 产品/设备名称 | 使用简短业务名定位本篇产品和设备。 必填 · 填写: FastBee_数组终端 |
**预期结果(未执行):**历史截图所示:本图补拍创建入口;没有重复提交创建,后续设备与历史沿用本篇资源。 **风险与恢复:**核对本篇身份、格式和参数后重新准备。
2. 首次配置 · 示例:用对象样例生成两字段
**操作位置:*设备接入→*采集数据 **操作步骤:**填写下方对象样例并解析,核对温度和设定。

本图只复拍表单;创建后正式改为JSON数组与TCP。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 向导JSON对象样例 | 先从对象生成两个字段,再在产品详情改JSON数组/TCP。 必填 · 填写: {"FastBee_temperature":20,"FastBee_setpoint":30} |
**预期结果(未执行):**历史截图所示:本图只复拍表单;创建后正式改为JSON数组与TCP。
3. 首次配置 · 示例:核对字段、整数和单位
**操作位置:*设备接入→*采集字段 **操作步骤:**检查两字段标识、整数类型、℃和路径。

两个属性一一对应。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 字段、类型、单位与路径 | 两整数属性一一对应,℃。 必填 · 填写: FastBee_temperature、FastBee_setpoint;整数;℃ |
**预期结果(未执行):**历史截图所示:两个属性一一对应。
4. 首次配置 · 示例:填写独立设备标识
**操作位置:*设备接入→*添加设备 **操作步骤:**填写设备编号和名称。

上报clientId始终与本设备编号一致。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备标识 | 与每次上报clientId一致,不能用FMQX会话id替代。 必填 · 填写: FastBee_ArrayTCP_Tutorial_01 |
| 产品/设备名称 | 使用简短业务名定位本篇产品和设备。 必填 · 填写: FastBee_数组终端 |
**预期结果(未执行):**历史截图所示:上报clientId始终与本设备编号一致。 **风险与恢复:**停止重复指令,核对本篇身份、格式、模型和实际收发;恢复后先上报状态。
5. 首次配置 · 示例:核对初始接入概况
**操作位置:*设备接入→*确认接入配置 操作步骤:核对1台、2字段后创建。

真实初始JSON/MQTT,下一步改为正式JSON数组/TCP。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 初始接入概况 | 1台、2字段,向导初始JSON/MQTT,之后改正式格式。 必填 · 填写: 1台、2字段 |
**预期结果(未执行):**历史截图所示:真实初始JSON/MQTT,下一步改为正式JSON数组/TCP。
6. 首次配置 · 示例:选择正式JSON数组与TCP
*操作位置:产品管理→产品信息 操作步骤:****数据格式选JSON数组、**传输方式***TCP,保存。

正式JSON_ARRAY/TCP;WIFI是联网方式,不是协议入口。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 数据格式 | 本篇正式JSON数组。其它格式属于独立场景。 必填 · 填写: JSON 数组 |
| 传输方式 | 选择TCP,设备主动连接FMQ监听入口,不使用MQTT主题。 必填 · 填写: TCP |
| 联网方式 | 保持本篇WIFI,不把它当作TCP入口配置。 必填 · 填写: WIFI |
**预期结果(未执行):**历史截图所示:正式JSON_ARRAY/TCP;WIFI是联网方式,不是协议入口。
7. 首次配置 · 示例:保存可写设定与历史
**操作位置:*产品管理→功能定义→*设定 **操作步骤:**补Setpoint,取消只读,历史开启,修改保存。

设定16~35℃、步长1,可写且历史开启。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 模型翻译 | 补齐英文名称后修改保存。 必填 · 填写: Temperature/Setpoint |
| 模型标识 | data数组元素id必须与标识逐字一致。 必填 · 填写: FastBee_temperature/FastBee_setpoint |
| 模型类别 | 两者均为属性。 必填 · 填写: 属性 |
| 只读数据 | 温度勾选,设定取消。 必填 · 填写: 温度只读;设定可写 |
| 历史存储 | 两属性开启。 必填 · 填写: 勾选 |
| 图表展示/实时监测 | 温度开启,设定关闭。 必填 · 填写: 温度开、设定关 |
| 分享权限 | 本篇保持所在租户范围。 必填 · 填写: 不勾选 |
| 整数范围、单位、步长 | 温度-40~100℃,设定16~35℃,步长1,公式留空。 必填 · 填写: 整数;℃;步长1 |
| 修改/取消 | 修改保存;取消不提交。 必填 · 填写: 修改 |
**预期结果(未执行):**历史截图所示:设定16~35℃、步长1,可写且历史开启。
8. 首次配置 · 示例:保存只读温度与历史
**操作位置:*产品管理→功能定义→*温度 **操作步骤:**补Temperature,保持只读和历史,修改保存。

温度-40~100℃,图表和实时监测开启。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 模型翻译 | 补齐英文名称后修改保存。 必填 · 填写: Temperature/Setpoint |
| 只读数据 | 温度勾选,设定取消。 必填 · 填写: 温度只读;设定可写 |
| 历史存储 | 两属性开启。 必填 · 填写: 勾选 |
| 图表展示/实时监测 | 温度开启,设定关闭。 必填 · 填写: 温度开、设定关 |
| 分享权限 | 本篇保持所在租户范围。 必填 · 填写: 不勾选 |
| 整数范围、单位、步长 | 温度-40~100℃,设定16~35℃,步长1,公式留空。 必填 · 填写: 整数;℃;步长1 |
| 修改/取消 | 修改保存;取消不提交。 必填 · 填写: 修改 |
**预期结果(未执行):**历史截图所示:温度-40~100℃,图表和实时监测开启。
二、复用并核对设备会话
**首次导入配置模板(不含密码)**json
{
"schemaVersion": 3,
"groups": [
{
"id": "tutorial_demo-device",
"name": "数组TCP教程",
"sortOrder": 55,
"isSystem": false
}
],
"sessions": [
{
"id": "import_demo-device",
"groupId": "tutorial_demo-device",
"name": "数组终端",
"protocol": "TCP",
"transport": "TCP",
"host": "127.0.0.1",
"port": 8888,
"clientId": "demo-device",
"autoReconnect": false,
"tcpLineMode": false,
"jsonDevice": {
"format": "JSON_ARRAY",
"responseRoute": "",
"initialState": {
"temperature": 29,
"setpoint": 30
}
}
}
]
}本轮未重新导入;密码由授权人员在设备连接参数中获取并安全填写,不写入手册。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
9. 首次配置 · 示例:导入本篇会话
**操作位置:*FMQX网页版→配置文件→*导入配置 **操作步骤:**首次使用时打开导入入口选择配置文件;已有本篇会话时直接复用。

使用数组TCP教程独立分组和会话,不借用MQTT会话。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 配置文件/导入配置 | 导入不含凭据的本篇UTF-8配置。 必填 · 填写: 数组TCP教程/数组终端 |
**预期结果(未执行):**历史入口图用于说明位置;本次会话参数在下一步单独核对。 **风险与恢复:**停止重复发送,核对本篇设备身份、数据格式和目标地址;恢复连接后先独立上报当前状态,再决定是否重新控制。
10. 核对当前连接参数
**操作位置:*FMQX网页版→本篇会话→*连接配置 **操作步骤:**打开连接配置,核对名称、地址、端口和设备身份。

本篇TCP连接参数与接收模式
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| Host / IP | FMQ服务端监听地址;127.0.0.1仅用于同机。 必填 · 填写: 按实施方案填写 · 示例:127.0.0.1 |
| Port | FMQ的TCP监听端口,不是设备本地端口。 必填 · 填写: 按实施方案填写 · 示例:8888 |
| Keep Alive | 按系统默认,TCP保活不等于设备业务心跳。 必填 · 填写: 按实施方案填写 · 示例:按系统默认 |
| 连接超时 | 连接等待上限,单位毫秒。 必填 · 填写: 按实施方案填写 · 示例:5000毫秒 |
| 自动重连/重连间隔 | 本篇关闭自动重连,保留间隔3000毫秒,手工验证恢复。 必填 · 填写: 按实施方案填写 · 示例:关闭;3000毫秒 |
| 会话名称 | 按本篇名称定位,避免串用其他会话。 必填 · 填写: FastBee_数组终端 |
| 地址与端口 | 本轮本机FMQ入口,其他环境由管理员提供。 必填 · 填写: 127.0.0.1:8888 |
| 设备身份 | 必须对应本篇产品及设备。 必填 · 填写: FastBee_ArrayTCP_Tutorial_01 |
11. 连接本篇设备会话
**操作位置:*FMQX网页版→*本篇会话标题栏 **操作步骤:**点击连接并等待已连接。

恢复本篇独立设备会话
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 会话 | 仅连接本篇保留会话。 必填 · 填写: FastBee_数组终端 |
三、上报61到70十个样本
首条完整报文json
{"clientId":"demo-device",
"data":[{"id":"temperature","value":61},
{"id":"setpoint","value":30}]}随后只依次修改温度61到70,设定保持30;数组元素id保持不变。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
12. 准备第一条61/30样本
**操作位置:*FMQX网页版→本篇会话→*发送内容 **操作步骤:**在发送框填入本节第一条完整报文。

独立属性上报:61、30
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 首条报文 | 完整JSON不得省略顶层结构或设备身份。 必填 · 填写: {"clientId":"FastBee_ArrayTCP_Tutorial_01", "data":[{"id":"FastBee_temperature","value":61}, {"id":"FastBee_setpoint","value":30}]} |
13. 发送并核对十个温度样本
**操作位置:*FMQX网页版发送内容;平台设备详情→*运行状态 操作步骤:依次发送温度61到70、设定30的十条样本,完成后查看本篇设备当前值。

十个温度61至70上报后的实时值
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 当前值 | 来自人工独立属性状态,不以滑块待发目标代替。 必填 · 填写: 按实施方案填写 · 示例:32;最终34 |
| 温度顺序 | 设定保持30;数组元素id固定为对应属性标识,仅按序修改温度value。 必填 · 填写: 61、62、63、64、65、66、67、68、69、70 |
| 样本时间 | 上海时间;复验时记录新窗口。 必填 · 填写: 2026-10-15 23:17:51 ~ 2026-10-15 23:18:13 |
当前值只能显示最后状态;十个样本是否完整还要结合后面的实际历史逐行核对。
四、下发32并独立上报
14. 下发目标32
**操作位置:*平台设备详情→运行状态→*设定 操作步骤:将设定目标调整为32,核对浮层后发送一次。

待下发设定32℃
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 待发目标 | 核对浮层,不把当前值当作待发目标。 必填 · 填写: 32 |
15. 核对32命令真实收到
**操作位置:*FMQX网页版→本篇会话→*接收记录 操作步骤:展开32命令,核对目标值、消息id和报文结构。

设备收到设定32的同编号指令
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 真实接收记录 | 核对完整params数组、命令id和目标值。 必填 · 填写: 按实施方案填写 · 示例:32/34;143字节 |
| 本次命令id | 后续演示回复必须对应同一id。 必填 · 填写: a31f96bed4ff4d219e0477326c5ffd7a |
| 目标值 | 以设备接收报文为准。 必填 · 填写: 32 |
16. 核对32演示回复
**操作位置:*FMQX网页版→本篇会话→*发送记录 **操作步骤:**展开同id演示回复,核对成功码、目标值和执行计数。

同编号应答,设定32,累计执行3次
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| FMQX演示自动回复 | 核对同id、code200、data、请求摘要及实际执行计数;每次增量1,不证明实物动作。 必填 · 填写: 按实施方案填写 · 示例:32:2→3;34:3→4 |
| 执行计数 | 使用本轮实际基线,不能把累计值当作本次执行次数。 必填 · 填写: 2 → 3 |
| 命令id | 与实收记录相同。 必填 · 填写: a31f96bed4ff4d219e0477326c5ffd7a |
独立29/32属性上报json
{"clientId":"demo-device",
"data":[{"id":"temperature","value":29},
{"id":"setpoint","value":32}]}这是新的属性消息,与下行演示回复分别核对。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
17. 独立上报29/32
**操作位置:*FMQX网页版→本篇会话→*发送内容 **操作步骤:**填入本节独立属性报文并发送一次:温度29、设定32。

独立属性上报:29、32
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 独立属性报文 | 使用JSON数组属性上报结构;数组元素id固定为物模型标识,value填写本次实际状态。 必填 · 填写: {"clientId":"FastBee_ArrayTCP_Tutorial_01", "data":[{"id":"FastBee_temperature","value":29}, {"id":"FastBee_setpoint","value":32}]} |
18. 核对平台当前29/32
**操作位置:*平台设备详情→*运行状态 **操作步骤:**刷新并核对本篇设备温度和设定。

独立状态回报后平台当前32℃
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 当前值 | 来自人工独立属性状态,不以滑块待发目标代替。 必填 · 填写: 按实施方案填写 · 示例:32;最终34 |
| 当前状态 | 不是待发送滑块目标。 必填 · 填写: 温度29;设定32 |
本轮执行计数由2增至3;累计值不代表本次多次执行。
五、停止恢复后验证34
19. 停止本轮会话
**操作位置:*FMQX网页版→*本篇会话标题栏 **操作步骤:**停止发送并断开本篇会话。

本篇会话已断开,配置和数据保留
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 停止并保留资源 | 结束只断开和停止发送,保留业务资源和历史。 必填 · 填写: 按实施方案填写 · 示例:已断开;最后29/34 |
20. 恢复同一设备会话
**操作位置:*FMQX网页版→*本篇保留会话 **操作步骤:**重新连接本篇会话,等待已连接。

恢复本篇原身份连接
恢复后的独立29/32属性上报json
{"clientId":"demo-device",
"data":[{"id":"temperature","value":29},
{"id":"setpoint","value":32}]}恢复后的新属性消息不复用下行id。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
21. 恢复后独立上报29/32
**操作位置:*FMQX网页版→本篇会话→*发送内容 **操作步骤:**发送恢复后的独立属性报文,温度29、设定32。

独立属性上报:29、32
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 恢复属性报文 | 重新发送实际属性状态;数组元素id保持为对应属性标识。 必填 · 填写: {"clientId":"FastBee_ArrayTCP_Tutorial_01", "data":[{"id":"FastBee_temperature","value":29}, {"id":"FastBee_setpoint","value":32}]} |
22. 下发恢复后的目标34
**操作位置:*平台设备详情→运行状态→*设定 操作步骤:将目标调整为34,核对浮层后发送一次。

待下发设定34℃
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 待发目标 | 不要把当前值32写成待发目标。 必填 · 填写: 34 |
23. 核对34命令真实收到
**操作位置:*FMQX网页版→本篇会话→*接收记录 **操作步骤:**展开34命令并核对目标值和同次消息id。

设备实收设定34
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 真实接收记录 | 核对完整params数组、命令id和目标值。 必填 · 填写: 按实施方案填写 · 示例:32/34;143字节 |
| 本次命令id | 后续演示回复使用同一id。 必填 · 填写: 7d1f54234a26499bbe055b4604c34dcf |
24. 核对34演示回复
**操作位置:*FMQX网页版→本篇会话→*发送记录 **操作步骤:**展开同id演示回复,核对成功码、目标值和执行计数。

同编号应答,设定34,累计执行4次
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| FMQX演示自动回复 | 核对同id、code200、data、请求摘要及实际执行计数;每次增量1,不证明实物动作。 必填 · 填写: 按实施方案填写 · 示例:32:2→3;34:3→4 |
| 执行计数 | 使用本轮实际基线,不能把累计值当作本次执行次数。 必填 · 填写: 3 → 4 |
| 命令id | 与实收记录相同。 必填 · 填写: 7d1f54234a26499bbe055b4604c34dcf |
独立29/34属性上报json
{"clientId":"demo-device",
"data":[{"id":"temperature","value":29},
{"id":"setpoint","value":34}]}用新属性消息上报最终状态。 此处使用可替换的客户模板名;导入或发送前按本节替换清单核对。
25. 独立上报29/34
**操作位置:*FMQX网页版→本篇会话→*发送内容 **操作步骤:**填入本节独立属性报文并发送一次:温度29、设定34。

独立属性上报:29、34
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 独立属性报文 | 使用JSON数组属性上报结构;数组元素id固定为物模型标识,value填写本次实际状态。 必填 · 填写: {"clientId":"FastBee_ArrayTCP_Tutorial_01", "data":[{"id":"FastBee_temperature","value":29}, {"id":"FastBee_setpoint","value":34}]} |
26. 核对平台当前29/34
**操作位置:*平台设备详情→*运行状态 **操作步骤:**刷新并核对本篇设备温度和设定。

独立状态回报后平台当前34℃
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 当前值 | 来自人工独立属性状态,不以滑块待发目标代替。 必填 · 填写: 按实施方案填写 · 示例:32;最终34 |
| 当前状态 | 不是待发送滑块目标。 必填 · 填写: 温度29;设定34 |
本轮34执行计数由3增至4,本次只增加1。
六、查询并刷新历史数据
温度窗口:2026-10-15 23:17:51 ~ 2026-10-15 23:18:13。设定窗口:2026-10-15 23:18:18 ~ 2026-10-15 23:18:42。以下均为上海时间。
27. 设置温度完整查询时间
**操作位置:*数据中心→历史数据→*日期与起止时间 **操作步骤:**打开日期面板,填写温度完整起止时间并确认。

完整日期与起止时间:2026-10-15 23:17:51至2026-10-15 23:18:13
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 日期与起止时间 | 填写本轮实际完整日期时间:温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42;其他复验须改用该次实际窗口。 必填 · 填写: 按实施方案填写 · 示例:温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42 |
| 完整起止时间 | 再次复验应使用该次实际发送窗口。 必填 · 填写: 2026-10-15 23:17:51 ~ 2026-10-15 23:18:13 |
28. 选择本设备与温度字段
**操作位置:*数据中心→历史数据→*筛选条件 **操作步骤:**选择FastBee_数组终端的温度字段并查询。

核对本篇设备、属性和时间范围后查询
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段 | 选择本篇数组终端的温度或设定。 必填 · 填写: FastBee_数组终端;温度 |
29. 刷新温度查询
**操作位置:*数据中心→历史数据→*刷新 **操作步骤:**点击刷新并等待加载完成;若筛选条件被清空,恢复同一设备、字段及完整窗口后重查。

刷新并重新查询本篇历史
30. 核对温度历史结果
**操作位置:*数据中心→历史数据→*结果表格 **操作步骤:**读取刷新后的温度历史结果并逐行核对。

刷新后核对本篇实际历史记录
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段 | 选择本篇数组终端的温度或设定。 必填 · 填写: 按实施方案填写 · 示例:FastBee_数组终端;温度/设定 |
| 结果顺序 | 以本轮窗口内的实际表格为准。 必填 · 填写: 61、62、63、64、65、66、67、68、69、70 |
31. 设置设定完整查询时间
**操作位置:*数据中心→历史数据→*日期与起止时间 **操作步骤:**打开日期面板,填写设定完整起止时间并确认。

完整日期与起止时间:2026-10-15 23:18:18至2026-10-15 23:18:42
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 日期与起止时间 | 填写本轮实际完整日期时间:温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42;其他复验须改用该次实际窗口。 必填 · 填写: 按实施方案填写 · 示例:温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42 |
| 完整起止时间 | 再次复验应使用该次实际发送窗口。 必填 · 填写: 2026-10-15 23:18:18 ~ 2026-10-15 23:18:42 |
32. 选择本设备与设定字段
**操作位置:*数据中心→历史数据→*筛选条件 **操作步骤:**选择FastBee_数组终端的设定字段并查询。

核对本篇设备、属性和时间范围后查询
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段 | 选择本篇数组终端的温度或设定。 必填 · 填写: FastBee_数组终端;设定 |
33. 刷新设定查询
**操作位置:*数据中心→历史数据→*刷新 **操作步骤:**点击刷新并等待加载完成;若筛选条件被清空,恢复同一设备、字段及完整窗口后重查。

刷新并重新查询本篇历史
34. 核对设定历史结果
**操作位置:*数据中心→历史数据→*结果表格 **操作步骤:**读取刷新后的设定历史结果并逐行核对。

刷新后核对本篇实际历史记录
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 设备与字段 | 选择本篇数组终端的温度或设定。 必填 · 填写: 按实施方案填写 · 示例:FastBee_数组终端;温度/设定 |
| 结果顺序 | 以本轮窗口内的实际表格为准。 必填 · 填写: 32、32、34 |
设定历史三条依次是首次32控制后的状态、恢复后的32状态、34控制后的状态。三条都是独立属性历史;演示回复不能代替它们。
七、结束并保留本篇资源
35. 结束收发并保留资源
**操作位置:*FMQX网页版→*本篇会话 **操作步骤:**结束发送并断开会话。

本篇会话已断开,配置和数据保留
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 停止并保留资源 | 结束只断开和停止发送,保留业务资源和历史。 必填 · 填写: 按实施方案填写 · 示例:已断开;最后29/34 |
再次复验记录新的发送时间,数组元素id仍使用固定属性标识,按实际执行次数基线判断每次增量,不重复沿用旧结论。
八、收发后的发布同步补验
以下四步发生在上述收发之后,用于核对当前发布、页面自动更新、节点应用与手动刷新。新快照后的设备收发和历史闭环尚待重新验证。
36. 收发后补验:确认发布产品
**操作位置:*产品管理→本篇产品→*发布确认 **操作步骤:**确认当前产品后点击确定发布。

原截图保留本篇产品名称、ID和完整发布确认框。
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 当前产品 | 只操作本篇独立产品。 必填 · 填写: FastBee_数组终端;878 |
37. 观察同步摘要自动更新
**操作位置:*产品详情→产品摘要→*接入配置同步 **操作步骤:**保持当前页面,等待同步摘要更新。

本篇产品接入配置已生效
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 接入配置同步 | 本轮收发后的当前发布回执;不能作为前面十样本的快照来源。 必填 · 填写: 按实施方案填写 · 示例:APPLIED;成功1、失败0;快照1987 |
38. 展开当前节点应用回执
**操作位置:*产品详情→*同步详情 **操作步骤:**打开同步详情,核对本篇产品身份、节点结果和生效时间。

本篇产品与接入节点应用回执
截图重点说明
| 字段 / 控件 | 说明 |
|---|---|
| 接入配置同步 | 本轮收发后的当前发布回执;不能作为前面十样本的快照来源。 必填 · 填写: 按实施方案填写 · 示例:APPLIED;成功1、失败0;快照1987 |
| 当前快照 | 只证明这次发布同步;不把之前收发归入这个快照。 必填 · 填写: 1987 |
39. 手动刷新当前同步状态
**操作位置:*产品详情→同步详情→*刷新状态 操作步骤:点击刷新状态,等待本次检查完成。

手动刷新当前节点应用回执
字段与参数参考
设备接入向导
| 字段 / 控件 | 填写说明 |
|---|---|
| 接入来源 | 本篇新建独立产品,复验直接复用保留资源。 必填 · 填写: 新建产品已有产品:使用现有型号;使用现有型号。新建产品:本篇采用;本篇采用。复制产品:复制已有配置;复制已有配置。使用模板:使用已有模板;使用已有模板。 |
| 产品/设备名称 | 使用简短业务名定位本篇产品和设备。 必填 · 填写: FastBee_数组终端 |
| 向导JSON对象样例 | 先从对象生成两个字段,再在产品详情改JSON数组/TCP。 必填 · 填写: {"FastBee_temperature":20,"FastBee_setpoint":30} |
| 字段、类型、单位与路径 | 两整数属性一一对应,℃。 必填 · 填写: FastBee_temperature、FastBee_setpoint;整数;℃ |
| 设备标识 | 与每次上报clientId一致,不能用FMQX会话id替代。 必填 · 填写: FastBee_ArrayTCP_Tutorial_01 |
| 初始接入概况 | 1台、2字段,向导初始JSON/MQTT,之后改正式格式。 必填 · 填写: 1台、2字段 |
协议与发布生效
| 字段 / 控件 | 填写说明 |
|---|---|
| 数据格式 | 本篇正式JSON数组。其它格式属于独立场景。 必填 · 填写: JSON 数组修改后须发布。 |
| 传输方式 | 选择TCP,设备主动连接FMQ监听入口,不使用MQTT主题。 必填 · 填写: TCP修改后须发布。MQTT:MQTT身份与主题场景,本篇不选;MQTT身份与主题场景,本篇不选。TCP:本篇设备主动建立流式连接;本篇设备主动建立流式连接。UDP:数据报场景,本篇不选;数据报场景,本篇不选。 |
| 联网方式 | 保持本篇WIFI,不把它当作TCP入口配置。 必填 · 填写: WIFI修改后须发布。 |
| 发布/确定 | 修改已发布产品先取消发布;保存后发布并确认。 修改后须发布。 |
| 接入配置同步 | 本轮收发后的当前发布回执;不能作为前面十样本的快照来源。 必填 · 填写: APPLIED;成功1、失败0;快照1987修改后须发布。 |
| 刷新状态 | 重新读取当前同步摘要与节点回执,更新检查时间。 修改后须发布。 |
功能定义
| 字段 / 控件 | 填写说明 |
|---|---|
| 模型翻译 | 补齐英文名称后修改保存。 必填 · 填写: Temperature/Setpoint修改后须发布。 |
| 模型标识 | data数组元素id必须与标识逐字一致。 必填 · 填写: FastBee_temperature/FastBee_setpoint修改后须发布。 |
| 模型类别 | 两者均为属性。 必填 · 填写: 属性修改后须发布。属性:本篇采用读数与可写设定;本篇采用读数与可写设定。功能:本篇不使用独立功能模型;本篇不使用独立功能模型。事件:本篇不使用事件模型;本篇不使用事件模型。 |
| 只读数据 | 温度勾选,设定取消。 必填 · 填写: 温度只读;设定可写修改后须发布。勾选:只展示读数;只展示读数。不勾选:允许按权限控制;允许按权限控制。 |
| 历史存储 | 两属性开启。 必填 · 填写: 勾选修改后须发布。勾选:保存后续上报;保存后续上报。不勾选:无法按本篇核对后续历史;无法按本篇核对后续历史。 |
| 图表展示/实时监测 | 温度开启,设定关闭。 必填 · 填写: 温度开、设定关修改后须发布。勾选:温度采用;温度采用。不勾选:设定采用;设定采用。 |
| 分享权限 | 本篇保持所在租户范围。 必填 · 填写: 不勾选修改后须发布。勾选:按租户策略决定;按租户策略决定。不勾选:本篇采用;本篇采用。 |
| 整数范围、单位、步长 | 温度-40~100℃,设定16~35℃,步长1,公式留空。 必填 · 填写: 整数;℃;步长1修改后须发布。 |
| 修改/取消 | 修改保存;取消不提交。 修改后须发布。 |
FMQX网页版连接
| 字段 / 控件 | 填写说明 |
|---|---|
| 配置文件/导入配置 | 导入不含凭据的本篇UTF-8配置。 修改后须重连。 |
| Host / IP | FMQ服务端监听地址;127.0.0.1仅用于同机。 必填 · 填写: 127.0.0.1修改后须重连。 |
| Port | FMQ的TCP监听端口,不是设备本地端口。 必填 · 填写: 8888修改后须重连。 |
| 接收模式 | 本篇按字节流,不启用按行模式。 必填 · 填写: tcpLineMode=false修改后须重连。按字节流:本篇已验证;本篇已验证。按行:本篇未采用,不随意切换;本篇未采用,不随意切换。 |
| Keep Alive | 按系统默认,TCP保活不等于设备业务心跳。 必填 · 填写: 按系统默认修改后须重连。按系统默认:本篇采用;本篇采用。自定义:按部署要求单独验证;按部署要求单独验证。 |
| 连接超时 | 连接等待上限,单位毫秒。 必填 · 填写: 5000毫秒修改后须重连。 |
| 自动重连/重连间隔 | 本篇关闭自动重连,保留间隔3000毫秒,手工验证恢复。 必填 · 填写: 关闭;3000毫秒修改后须重连。关闭:本篇手工恢复;本篇手工恢复。开启:自动恢复需另行验收;自动恢复需另行验收。 |
| 测试连接/保存配置 | 首次配置时保存;本轮只读展开参数,没有重新保存或测试连接。 修改后须重连。 |
| 连接/断开 | 先核对本设备和端点,再执行连接或停止。 修改后须重连。 |
设备上报与演示回复
| 字段 / 控件 | 填写说明 |
|---|---|
| clientId身份 | 每条本篇输入封套携带本设备编号。 必填 · 填写: FastBee_ArrayTCP_Tutorial_01 |
| data数组 | 元素id是固定模型标识,value是整数;不把id改成样本序号。 必填 · 填写: data=[{id,value},{id,value}] |
| Text/发送 | 完整UTF-8 JSON,准备后每条发送一次并逐条核对。 |
| 真实接收记录 | 核对完整params数组、命令id和目标值。 必填 · 填写: 32/34;143字节 |
| FMQX演示自动回复 | 核对同id、code200、data、请求摘要及实际执行计数;每次增量1,不证明实物动作。 必填 · 填写: 32:2→3;34:3→4 |
设备运行状态
| 字段 / 控件 | 填写说明 |
|---|---|
| 设定滑块/发送 | 模型允许范围内先32,恢复后34。 |
| 当前值 | 来自人工独立属性状态,不以滑块待发目标代替。 必填 · 填写: 32;最终34 |
历史数据
| 字段 / 控件 | 填写说明 |
|---|---|
| 设备与字段 | 选择本篇数组终端的温度或设定。 必填 · 填写: FastBee_数组终端;温度/设定 |
| 日期与起止时间 | 填写本轮实际完整日期时间:温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42;其他复验须改用该次实际窗口。 必填 · 填写: 温度2026-10-15 23:17:51 ~ 2026-10-15 23:18:13;设定2026-10-15 23:18:18 ~ 2026-10-15 23:18:42 |
| 高级筛选/查询/刷新 | 刷新后重选相同条件,等待加载结束。 |
停止与恢复
| 字段 / 控件 | 填写说明 |
|---|---|
| 停止并保留资源 | 结束只断开和停止发送,保留业务资源和历史。 必填 · 填写: 已断开;最后29/34 |
遇到问题时先查哪里
| 看到什么现象 | 可能原因 | 先检查哪里 | 如何恢复 |
|---|---|---|---|
| 连接失败 | 设备身份、端点或授权参数不匹配 | 先核对本篇会话的名称、地址、端口和平台设备身份 | 修正授权配置后重新连接;本轮未做连接故障注入验证 |
| 平台已提交但设备没有实收 | 下行路由或设备连接不匹配 | 核对同一TCP连接、端点和设备身份 | 停止重复控制,先定位路由,再用新命令复验 |
| 回复成功但当前值没有更新 | 演示回复与属性状态是两个不同消息 | 核对独立属性上报及该设备的当前值 | 先独立上报实际状态,不把待发目标当作当前值 |
| 历史条数不符 | 设备、字段或查询时间不对应本轮 | 展开完整日期面板,恢复同一设备与字段后刷新 | 按实际窗口逐行核对;不要用旧数据凑足样本 |
| 同步状态需要再确认 | 当前查看时间早于新回执 | 核对当前产品及快照,点击刷新状态 | 读取失败时稍后重试;本轮浏览器未注入该故障,仅组件测试覆盖恢复路径 |

