Skip to content

MQTT×RabbitMQ×JSON 从零到一 ​

从 RabbitMQ 资源、FMQ 连接器、平台产品与设备开始,只发送一次 JSON,并核对手动支路和平台主路。

页面导读 ​

适用场景适合需要从零跑通设备 JSON 经 FMQ 转发 RabbitMQ 完整链路的实施和集成人员。
前置条件具备练习资源管理、产品设备与运行方案权限,有可用的 RabbitMQ、FMQ 和平台环境,先在隔离环境练习,预计 40 分钟。
验收点只发送一次 `{"temperature":75}`,手动支路队列能读到正文,平台主路完成消费且设备历史值与发送内容一致。

阅读方法

按顺序完成资源准备、平台配置、设备连接、单次上报和双支路核对。每一步都给出完成标志和第一排查点。

截图说明

截图来自真实操作过程。公开版正文已将测试批次、真实节点地址和临时资源名替换为通用示例;截图中的状态、时间和数据不代表当前生产环境。

开始前准备 ​

项目说明
能做什么从账号、队列和产品开始,只发一次JSON并核对两条支路。
从哪里进入RabbitMQ 管理台 → FMQ → 平台设备接入
需要权限练习资源管理、产品设备与运行方案权限
预计时间40 分钟

生产操作提示

本手册包含创建 RabbitMQ 资源、调整 FMQ 运行方案和停用测试规则等管理操作。请先在隔离环境练习;生产环境必须记录原配置、限定维护窗口,并由有权限的管理员执行。

系统架构 ​

本次验证由五个组件协作完成:设备或 FMQX 通过 MQTT 上报 JSON,FMQ 负责接入、解析和转发,RabbitMQ 分别保存平台消费队列与手动检查队列,FastBee 消费平台队列并写入设备历史,控制台负责发布产品、设备和运行方案配置。其中 FMQX 为 FastBee 自研客户端工具,与第三方 MQTTX 不同。

数据或配置方向经过的组件说明
设备数据设备 / FMQX → FMQ → RabbitMQ同一条 JSON 进入两条独立支路。
平台主路RabbitMQ 平台空间 → FastBee 消费服务平台消费属性队列并写入设备历史。
手动检查支路RabbitMQ 手动空间 → 练习队列只用于查看正文,不作为平台消费来源。
配置发布FastBee 控制台 → FMQ发布产品、设备和运行方案后,再进行消息验证。

接入流程 ​

  1. 准备 RabbitMQ 的两个虚拟主机、业务账号、交换机、队列和绑定。
  2. 在平台创建 JSON 产品、温度属性和设备,并发布运行配置。
  3. 在 FMQ 创建平台主路连接器和手动推送连接器,分别指向对应虚拟主机。
  4. 在平台选择同一个平台主路连接器接入并启用,等待全部节点应用。
  5. 设备只发送一条 JSON,再在 FMQ、RabbitMQ 和设备历史中按同一时间窗口核对结果。

1. 建立 RabbitMQ 资源 ​

使用已有服务。平台:平台管理地址;FMQ:FMQ 管理地址;RabbitMQ:RabbitMQ 管理地址。

同一次设备上报分两路:手动支路空间 的手动队列用于看正文;平台主路空间 的平台队列用于写入历史。两个空间必须分开。

1. 创建平台受管业务空间 ​

操作位置: RabbitMQ → Admin → Virtual Hosts → Add a new virtual host

在Virtual Hosts中添加平台主路空间。此空间只供平台主路;手动空间随后另建。

建立独立的RabbitMQ业务空间

图:建立独立的RabbitMQ业务空间。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Name=平台主路空间;Default Queue Type=Classic列表出现平台主路空间且状态running。

完成标志: 列表出现平台主路空间且状态running。

第一排查点: 选错虚拟主机会让后续资源分散

2. 创建业务账号 ​

操作位置: RabbitMQ → Admin → Users → Add a user

添加业务账号并设置管理标签。

建立给FMQ和平台使用的业务账号

图:建立给FMQ和平台使用的业务账号。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Username=业务账号;Tags=management;Password 与确认密码现场填写,不复制进手册用户列表出现新账号,但不使用guest或共享管理员密码。

完成标志: 用户列表出现新账号,但不使用guest或共享管理员密码。

第一排查点: 管理标签不等于虚拟主机权限

3. 授权平台受管业务空间 ​

操作位置: Admin → Users → 业务账号 → Set permission

选择平台主路空间,分别填写配置、写入和读取权限,提交授权。

授权平台主路及默认交换机

图:授权平台主路及默认交换机。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=平台主路空间;Configure、Read=(示例_.*|fmq_.*)$;Write=(示例_.|fmq_.|amq.default)$平台主路能写默认交换机并读取队列

完成标志: 平台主路能写默认交换机并读取队列

第一排查点: Write必须额外允许默认交换机amq.default,不能只授权示例_和fmq_资源

4. 为手动转发建立独立空间 ​

操作位置: RabbitMQ → Admin → Virtual Hosts → Add a new virtual host

添加独立的手动练习空间。

为手动转发建立独立空间

图:为手动转发建立独立空间。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Name=手动支路空间;Default Queue Type=Classic新空间与受管通道隔离

完成标志: 新空间与受管通道隔离

第一排查点: 不要选成平台受管空间平台主路空间

5. 给手动转发账号授权 ​

操作位置: Admin → Users → 业务账号 → Set permission

为同一业务账号授予手动空间权限。

给手动转发账号授权

图:给手动转发账号授权。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对User=业务账号;Virtual host=手动支路空间;Configure、Write、Read=^示例_.*新空间授权成功

完成标志: 新空间授权成功

第一排查点: 同一用户需要分别拥有两个虚拟主机权限

6. 创建手动转发的交换机 ​

操作位置: Exchanges → Add a new exchange

切换到手动空间,添加交换机。

创建手动转发的交换机

图:创建手动转发的交换机。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=手动支路空间;Name=json_exchange;Type=topic;Durable=true;Auto delete=false手动空间交换机已创建

完成标志: 手动空间交换机已创建

第一排查点: 交换机类型与手动连接器的自动声明一致

7. 创建接收转发消息的队列 ​

操作位置: Queues and Streams → Add a new queue

在手动空间添加持久化队列。

创建接收转发消息的队列

图:创建接收转发消息的队列。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=手动支路空间;Name=json_queue;Type=Classic;Durable=true队列创建,起始消息0

完成标志: 队列创建,起始消息0

第一排查点: 不能复用平台虚拟主机中同名队列作手动结果

8. 把交换机与队列绑定起来 ​

操作位置: json_queue → Bindings → Add binding

打开手动队列,在Bindings中添加交换机绑定。

把交换机与队列绑定起来

图:把交换机与队列绑定起来。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=手动支路空间;Exchange=json_exchange;Queue=json_queue;Routing key=fastbee.demo.property绑定行包含交换机及路由键

完成标志: 绑定行包含交换机及路由键

第一排查点: 同名交换机和队列也必须在正确虚拟主机

9. 确认绑定成功 ​

操作位置: 手动队列 → Bindings

核对绑定列表中的交换机和路由键。

确认绑定成功

图:确认绑定成功。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=手动支路空间;Exchange=json_exchange;Queue=json_queue;Routing key=fastbee.demo.property转发键能路由进练习队列

完成标志: 转发键能路由进练习队列

第一排查点: 同名交换机和队列也必须在正确虚拟主机

2. 创建产品和温度模型 ​

10. 创建 JSON 产品 ​

操作位置: 设备管理 → 产品管理 → 新增

新建产品,填写下列参数并保存。

新建 JSON 产品

图:新建 JSON 产品。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对产品名称=温度演示产品;产品分类=环境电器;设备类型=直连设备;接入协议=MQTT;数据格式=JSON;固件版本=HTTP;联网方式=WIFI;Product ID=140新产品未发布,数据格式JSON

完成标志: 新产品未发布,数据格式JSON

第一排查点: JSON 不等于 ALINK_JSON

11. 定义并核对 temperature 温度属性 ​

操作位置: 产品详情 → 功能定义

进入物模型,添加温度属性,勾选历史存储后保存并核对列表。

确认温度字段和历史存储

图:确认温度字段和历史存储。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对模型名称=温度;翻译=Temperature;模型标识=temperature;类别=属性;类型=整数;范围=-40~125;单位=℃;步长=1;历史存储=勾选字段名与JSON键一致,历史存储开启

完成标志: 字段名与JSON键一致,历史存储开启

第一排查点: 不勾历史存储就不能用历史记录证明落库

12. 发布产品 ​

操作位置: 产品详情 → 发布产品

点击发布产品并确认。

发布产品

图:发布产品。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对点击发布产品后确认;本次产品140产品状态变为已发布,可创建设备

完成标志: 产品状态变为已发布,可创建设备

第一排查点: 产品已发布不等于节点已应用

13. 发布产品运行配置 ​

操作位置: 产品详情 → 运行发布

校验运行配置,通过后确认发布并等待节点回执。

让 FMQ 加载产品配置

图:让 FMQ 加载产品配置。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对校验通过后确认发布,等待全部节点应用运行状态已生效,各节点应用成功

完成标志: 运行状态已生效,各节点应用成功

第一排查点: 以节点回执证明生效

3. 在 FMQ 配置 RabbitMQ ​

FMQ → 集成 → 连接器 → 新建连接器。先建立供平台消费的平台主路连接器,按下表填写;手动查看消息时再建立独立的手动推送连接器。

FMQ:连接器这样填
填写项平台消费手动查看正文
名称 / 能力 / 类型JSON 消息推送 / 消息推送 / RabbitMQ手动消息推送 / 消息推送 / RabbitMQ
主机 / 端口RabbitMQ 服务地址 / 5672同左
用户名 / 密码业务账号 / 现场填写同左
虚拟主机平台主路空间手动支路空间
默认交换机留空,使用平台默认交换机json_exchange
发布确认是按接收方要求

平台主路只需要队列目标,不能填手动支路的自建交换机;手动支路必须使用另一个虚拟主机。保存后点击参数校验,看到连接可达,再继续平台接入。

14. 新建 RabbitMQ 连接器 ​

操作位置: FMQ → 集成 → 连接器 → 新建连接器

新建消息推送连接器,选择RabbitMQ并填写连接参数。

新建专用RabbitMQ连接器

图:新建专用RabbitMQ连接器。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对名称=JSON 消息推送;能力=消息推送;类型=RabbitMQ;主机=运行服务地址;端口=5672;账号=业务账号;密码现场填写保存后出现专用连接器。

完成标志: 保存后出现专用连接器。

第一排查点: 主路连接器Exchange必须留空;消息端口5672不能填成管理端口15672

15. 主路连接器使用默认交换机 ​

操作位置: FMQ → 集成 → 连接器 → JSON 消息推送 → 编辑

填写平台主路空间,清空默认交换机,保存配置。

主路使用默认交换机

图:主路使用默认交换机。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Virtual host=平台主路空间;默认交换机=留空;发布确认=是;灰色fmq.push.exchange是占位提示,不是填写值默认交换机未填写,虚拟主机为平台主路空间。

完成标志: 默认交换机未填写,虚拟主机为平台主路空间。

第一排查点: 受管动作只有queue,不能填自建交换机

16. 保存并检查主路连接 ​

操作位置: FMQ → 集成 → 连接器 → JSON 消息推送

检查当前配置并执行参数校验。

主路空Exchange已保存并连通

图:主路空Exchange已保存并连通。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对默认交换机当前值=空;参数校验结果=RabbitMQ broker reachable当前值显示“空”,参数校验显示RabbitMQ broker reachable。

完成标志: 当前值显示“空”,参数校验显示RabbitMQ broker reachable。

第一排查点: 连接成功仍需后续75入库证明,不等于业务投递通过

17. 创建手动推送连接器 ​

操作位置: FMQ → 集成 → 连接器 → 手动消息推送 → 编辑

另建手动推送连接器,填写手动空间及交换机,保存。

手动转发使用独立虚拟主机

图:手动转发使用独立虚拟主机。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对名称=手动消息推送;RabbitMQ=RabbitMQ 服务地址与端口;用户名=业务账号;虚拟主机=手动支路空间;默认交换机=json_exchange;密码现场填写表单虚拟主机为手动支路空间,交换机为json_exchange。

完成标志: 表单虚拟主机为手动支路空间,交换机为json_exchange。

第一排查点: 手动支路与平台主路必须使用不同虚拟主机

18. 确认手动连接器连通 ​

操作位置: FMQ → 集成 → 连接器 → 手动消息推送

执行参数校验并核对手动连接器。

手动连接器已连通

图:手动连接器已连通。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对连接器=手动消息推送;虚拟主机=手动支路空间;默认交换机=json_exchange连接器已保存,参数校验成功。

完成标志: 连接器已保存,参数校验成功。

第一排查点: 这里只证明连接可达,队列正文随后核验

4. 创建设备并准备认证 ​

19. 创建温度计设备 ​

操作位置: 设备接入向导 → 创建设备

选择已发布产品,填写设备参数并保存。

创建一台温度计

图:创建一台温度计。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对设备名称=温度演示产品;所属产品=温度演示产品;设备编号=演示设备编号;固件版本=1;定位方式=自动定位;设备影子=关闭向导显示本次设备及连接参数

完成标志: 向导显示本次设备及连接参数

第一排查点: 编号不同会导致主题和认证不匹配

5. 配置手动消息推送 ​

规则事件 clientId 使用归一化设备编号 演示设备编号;MQTT 连接 Client ID 是 S&演示设备编号&140&1,两者不要混填。

20. 创建任务并限定本次设备 ​

操作位置: FMQ → 集成 → 消息推送 → 新建任务

新建属性上报任务,并在筛选条件中限定本次设备。

精确限定本次产品和设备

图:精确限定本次产品和设备。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对任务名称=JSON 转发任务;启用=开启;事件=属性上报;clientId=演示设备编号;productId=140;protocol=MQTTSQL限定本次设备clientId、产品140和MQTT协议。

完成标志: SQL限定本次设备clientId、产品140和MQTT协议。

第一排查点: 这里用归一化设备编号,不是MQTT连接的S&... Client ID

21. 指定手动支路目标 ​

操作位置: FMQ → 集成 → 消息推送 → 新建任务

选择手动连接器,填写目标交换机与路由键后保存。

绑定独立手动推送连接器

图:绑定独立手动推送连接器。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对连接器=手动消息推送;Virtual host=手动支路空间;Exchange=json_exchange;Routing Key=fastbee.demo.property已选择手动消息推送,交换机和路由键与手动队列绑定一致。

完成标志: 已选择手动消息推送,交换机和路由键与手动队列绑定一致。

第一排查点: 不要误选平台受管连接器JSON 消息推送

22. 确认手动任务已启用 ​

操作位置: FMQ → 集成 → 消息推送 → JSON 转发任务

打开任务详情,确认任务已启用及目标正确。

规则已保存并启用

图:规则已保存并启用。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对任务=JSON 转发任务;状态=启用;事件=属性上报;连接器=手动消息推送页面显示启用、属性上报,目标连接器为手动消息推送。

完成标志: 页面显示启用、属性上报,目标连接器为手动消息推送。

第一排查点: 先核对本步设备、目标资源、时间窗口和页面错误反馈。

6. 在 wumei 接入 RabbitMQ ​

wumei 只需要选择 FMQ 中已经保存的平台主路连接器,不在此页重复填写 RabbitMQ 主机、账号、密码或虚拟主机。接入方案生效后,平台会创建固定队列并切换消费者;仅保存 FMQ 连接器不代表 wumei 已经切换。

受管主路使用默认交换机:JSON 消息推送的Exchange留空;主路用户Write权限还必须允许amq.default。若出现missing config host=true routingKey=false queue=true,先检查Exchange;若出现write access to exchange amq.default refused,先检查Write表达式是否为^(示例_.|fmq_.|amq.default)$。手动连接器仍填写json_exchange,且使用另一个虚拟主机。

23. 把新连接器接入平台 ​

操作位置: 运维管理 → FMQ运行通道 → JSON 消息推送 → 接入并启用

选择平台主路连接器,点击接入并启用,确认替换当前测试方案。

把 RabbitMQ 配置接入 FastBee

图:把 RabbitMQ 配置接入 FastBee。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对候选=JSON 消息推送;点击接入并启用并确认测试环境替换新方案已生效,2/2节点

完成标志: 新方案已生效,2/2节点

第一排查点: 替换前记录原方案,验收后恢复

24. 等待节点应用完成 ​

操作位置: FMQ运行通道 → 当前运行方案

等待全部节点应用完成,核对当前方案。

确认平台接收方案已生效

图:确认平台接收方案已生效。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对方案=JSON 消息推送;以修正默认交换机后最终发布版本为准;节点配置应用=2/2所有节点已应用正确主路配置

完成标志: 所有节点已应用正确主路配置

第一排查点: 等待全部目标节点,不只看提交成功

25. 确认平台实际消费队列 ​

操作位置: 平台 → FMQ运行通道 → 五路消息映射

展开上下行消息映射,核对平台固定队列。

确认平台使用的五路队列

图:确认平台使用的五路队列。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对受管虚拟主机=平台主路空间;平台属性队列=fmq_property_normalized_post;手动支路另在手动支路空间/json_queue本次平台属性上行目标明确,手动与受管分支不混淆。

完成标志: 本次平台属性上行目标明确,手动与受管分支不混淆。

第一排查点: 两条支路分属两个虚拟主机,手动队列不会被平台消费者读取

wumei:选择同一个连接器接入
操作核对内容
进入页面FastBee → 运维管理 → FMQ 运行通道。
选择连接器在接入候选中找到“JSON 消息推送”,确认它是 RabbitMQ 类型且已启用。
接入并启用点击“接入并启用”,确认测试环境替换,并等待节点应用。
等待生效当前运行方案显示“JSON 消息推送”,全部节点显示已应用。
后续改动如果重新保存了 FMQ 连接器参数,回到当前运行通道重新确认同步并等待节点回执。

7. 连接设备并开启追踪 ​

26. 复制设备自己的 MQTT 参数 ​

操作位置: 设备接入向导 → 设备上线 → MQTT

打开设备接入向导,复制本设备的连接认证参数和上报主题。

复制设备自己的 MQTT 参数

图:复制设备自己的 MQTT 参数。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Client ID、用户名、密码、端口、上报主题设备参数与Rabbit账号分开使用

完成标志: 设备参数与Rabbit账号分开使用

第一排查点: 先核对本步设备、目标资源、时间窗口和页面错误反馈。

27. 配置并连接 MQTT 设备 ​

操作位置: FMQX → 新建连接 → MQTT

将向导参数填入FMQX,现场粘贴密码后连接设备。

配置 MQTT 客户端

图:配置 MQTT 客户端。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Host=运行服务地址;Port=1883;Client ID=S&演示设备编号&140&1;Username=admin;密码从向导复制;MQTT=3.1.1;TLS=关闭设备成功连接

完成标志: 设备成功连接

第一排查点: 连接认证按本次向导;空密码截图仅展示配置,实际连接需填生成的密码

28. 先开始本轮验证,再发送 ​

操作位置: 设备接入向导 → 开始验证

先在FMQ打开“客户端 → 演示设备编号 → 详情”,开启实时追踪并保持详情抽屉打开,关闭抽屉会停止追踪;再在平台设备接入向导点击开始验证。保持这两个窗口,再进行下一步发送。

先开始本轮验证,再发送

图:先开始本轮验证,再发送。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对开始时间、上报条数、期望字段只核对窗口后的新数据

完成标志: 只核对窗口后的新数据

第一排查点: 先核对本步设备、目标资源、时间窗口和页面错误反馈。

8. 只发送一次 JSON ​

本次上报主题 ​

text
/产品ID/设备编号/property/post

只发送一次的 JSON ​

json
{"temperature":75}

29. 只发送一条温度 JSON ​

操作位置: FMQX → 发布消息

填写上报主题与正文,确认参数后只点击一次发送。

只发送一条温度 JSON

图:只发送一条温度 JSON。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Topic、QoS、JSON、发送同一条测试消息可在FMQ、Rabbit和平台核对

完成标志: 同一条测试消息可在FMQ、Rabbit和平台核对

第一排查点: 先核对本步设备、目标资源、时间窗口和页面错误反馈。

9. 核对两条支路 ​

30. 在 FMQ 找到同一条原文 ​

操作位置: FMQ → 本次设备消息追踪 → 最近消息

返回发送前已开启的FMQ实时追踪,打开本次上行消息原文。

唯一一条75原始上行

图:唯一一条75原始上行。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对设备=演示设备编号;Topic=/产品ID/设备编号/property/post;原文=显示本次75原文及对应主题,消息时间与发送一致。

完成标志: 显示本次75原文及对应主题,消息时间与发送一致。

第一排查点: FMQ追踪时间采用UTC;04:11:41对应平台本地12:11:41

31. 核对手动支路转发 ​

操作位置: FMQ → 本次消息追踪 → 消息流向

查看本次消息流向中的手动转发记录。

手动规则转发75到独立RabbitMQ

图:手动规则转发75到独立RabbitMQ。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Exchange=json_exchange;Routing Key=fastbee.demo.property;标准 Alink params.temperature=75记录显示转发成功,目标与手动任务一致。

完成标志: 记录显示转发成功,目标与手动任务一致。

第一排查点: 这条支路用于Rabbit正文检查,不是平台消费来源

32. 核对平台主路转发 ​

操作位置: FMQ → 本次消息追踪 → 消息流向

查看本次消息流向中的平台主路转发记录。

主路75提交到平台属性队列

图:主路75提交到平台属性队列。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Queue=fmq_property_normalized_post;params.temperature=75记录显示转发成功且队列为平台属性上行目标。

完成标志: 记录显示转发成功且队列为平台属性上行目标。

第一排查点: 不要将主路固定队列与手动队列混为一条链路

33. 读取练习队列中的一条消息 ​

操作位置: 手动空间 → json_queue → Get messages

切换到手动空间并打开练习队列,展开Get messages,按下列参数读取一条消息。

读取练习队列中的一条消息

图:读取练习队列中的一条消息。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对Ack mode、Messages显示正文,保留消息

完成标志: 显示正文,保留消息

第一排查点: 先核对本步设备、目标资源、时间窗口和页面错误反馈。

34. 读取 RabbitMQ 中的75正文 ​

操作位置: 手动空间 → 练习队列 → Get messages → 消息正文

查看读取结果,将正文横向滚动至右端核对温度值。

在 RabbitMQ 正文里核对75

图:在 RabbitMQ 正文里核对75。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对手动支路空间 / json_queue;Get messages=1;Ack Mode=Nack message requeue true;横向滚动至正文右端查看params.temperature=75同一条业务值到达练习队列

完成标志: 同一条业务值到达练习队列

第一排查点: 手动累计publish=3包含两次排障,最终75窗口增量为1;不要用累计3否定本轮单次发送

35. 确认本地平台已完成消费 ​

操作位置: 设备上报诊断 → 处理结果

返回平台运行通道,检查本轮消费完成情况。

确认 FastBee 已完成处理

图:确认 FastBee 已完成处理。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对通道已投递=1;已进入FastBee=1;必要写入已完成=1;处理失败=0;属性上报=1平台处理完整成功

完成标志: 平台处理完整成功

第一排查点: 用实际完成计数与后续历史核对,不能用方向演示动画证明落库

36. 核对设备历史值与时间 ​

操作位置: 数据中心 → 历史记录 → 本次设备 → 温度

打开本设备历史数据,核对属性、值与时间。

在平台历史记录中找到75

图:在平台历史记录中找到75。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对设备=演示设备编号;温度=75;更新时间=2026-09-21 12:11:41本轮数据已写入历史

完成标志: 本轮数据已写入历史

第一排查点: 检查设备、属性、时间范围;correlationId与Rabbit正文id在本批次证据中一致

10. 测试练习结束后收尾(可选) ​

仅本次测试练习:恢复原方案并停用练习规则;首次正式接入无需照做这一步,应保留已验证配置。

37. 练习结束后恢复原方案 ​

操作位置: FMQ运行通道 → 原运行方案 → 接入并启用

仅测试练习结束时恢复原方案,等待全部节点应用。首次正式接入跳过本步。

练习结束后恢复原方案

图:练习结束后恢复原方案。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对仅本次测试练习:恢复原方案原生产运行方案;发布v14;节点APPLIED 2/2;首次正式接入保留已验证配置测试前的接收配置已恢复

完成标志: 测试前的接收配置已恢复

第一排查点: 首次正式接入无需执行恢复,应保留刚验证成功的接入方案

38. 测试后停止手动转发 ​

操作位置: FMQ → 消息推送 → JSON 转发任务

仅测试练习结束时停用手动任务并保留配置。首次正式接入跳过本步。

测试后停止手动转发

图:测试后停止手动转发。

本步填写与核对
配置项填写与核对完成标志
本步填写与核对仅本次测试练习:停用JSON 转发任务;保留连接器和规则配置本批次手动规则停止匹配,其他规则不变。

完成标志: 本批次手动规则停止匹配,其他规则不变。

第一排查点: 首次正式接入无需停用,应保留已验证规则

本轮填写值速查
填写项示例值用途
本次上报 Topic/产品ID/设备编号/property/post从设备接入向导复制,不手工猜测。
单次发送 JSON{"temperature":75}只发送一次,便于三处按时间窗口核对。
手动正文检查队列手动支路空间 / json_queue查看原始或转发后的正文。
平台消费属性队列平台主路空间 / fmq_property_normalized_post确认平台消费并写入历史。

完成后检查 ​

  • 手动支路能读取本次 JSON 正文,且 Topic、设备身份和发送时间一致。
  • 平台主路已消费同一次上报,设备历史值与发送内容一致。
  • 测试结束后已按场景恢复原运行方案,并停用仅用于练习的规则。
  • 未在文档、截图或导出文件中保留密码、Token 或其他敏感凭据。

常见问题 ​

这篇指南最终要验证的结果是什么? ​

只发送一次 JSON 报文 {"temperature":75},然后核对同一条报文进入两条独立支路:手动支路队列能读取原始正文,平台主路已消费同一次上报且设备历史值与发送内容一致。

为什么手动支路和平台主路要用两个 RabbitMQ 空间? ​

同一次设备上报分两路:手动支路空间的队列只用于查看正文,平台主路空间的队列由平台消费并写入设备历史;两个空间必须分开,避免手动检查与平台消费互相干扰。

练习结束后需要做哪些收尾? ​

恢复原来的运行方案、停用仅用于练习的手动转发任务,并确认文档、截图或导出文件中没有保留密码、Token 等敏感凭据。

返回 FMQ 手册

蜂信物联 | fastbee.cn