Skip to content

设备模拟器

设备模拟器用于在真实硬件就绪前运行当前设备智能体:它会按设备规格在浏览器中启动临时设备,连接 MQTT、注册设备、上报状态并响应对话命令,方便先验证设备列表、状态、事件和消息链路。

先跑通设备流程

设备模拟器适合在这些阶段使用:

  • 创建设备智能体后,快速确认命令、遥测和事件是否符合预期。
  • 硬件原型还没有准备好,但需要先验证对话控制和状态展示。
  • 接入 SDK 或 MQTT 前,先检查设备规格里的字段、参数和事件设计。
  • 演示或联调时,需要一台能立即上线、能被控制的测试设备。

模拟器不会访问真实传感器或执行器,也不会验证固件、驱动、网络和系统权限。它主要用于验证设备智能体和设备规格,真实上线仍需要接入真实设备。

启动模拟设备

进入设备智能体工作区,在左侧 设备 面板点击 用模拟设备试试。弹窗中会显示这台模拟设备的基本信息:

  • 设备名称:默认使用当前设备智能体名称生成。
  • 设备 ID:默认生成一个 sim- 开头的唯一 ID,可以重新生成。
  • 连接信息:展开后可以查看命名空间、MQTT Broker、用户名和密码状态。

点击 模拟连接 后,浏览器会启动这台模拟设备,连接 MQTT,并向当前设备智能体上报第一条状态和数据。

启动浏览器模拟设备

连接成功后,设备列表中会出现带有 模拟 标记的设备。选中它后,右侧状态面板会显示:

  • 设备在线状态。
  • 当前数据。
  • 可用命令。
  • 最近上报事件。

模拟设备状态

状态上报

模拟设备会根据设备规格中的遥测字段生成初始状态。如果字段配置了默认值,会优先使用默认值;如果没有默认值,会按字段类型生成一个基础值,例如布尔值为 false,数字为 0,对象为空对象,数组为空数组,字符串为空字符串。

连接成功后,模拟设备会持续保持 MQTT 连接,并定期上报当前状态。状态面板中的当前数据会随上报内容更新。

如果设备规格中包含 onlineconnected 字段,模拟设备连接时会把它们更新为 true,断开时会更新为 false

对话控制

保持模拟设备处于选中状态,在对话区输入控制指令,例如:

text
把目标温度设置为 24 度,并切换到自动模式。

设备智能体会根据设备规格选择命令并生成参数。模拟设备收到命令后,会先校验命令名和参数;校验通过后更新本地状态,并继续上报最新状态。

可以通过这些结果判断命令是否生效:

  • 当前数据是否变化。
  • 命令是否出现在可用命令中。
  • 对话中是否返回命令执行结果。

如果命令名不存在、参数缺失或类型不匹配,模拟设备会返回失败结果。此时通常需要回到设备规格,调整命令名称、参数字段或字段类型。

模拟事件

如果设备规格定义了事件,可以在对话中要求模拟设备上报一次事件,例如:

text
让当前模拟设备上报一次温度过高事件。

设备智能体会根据当前设备规格生成符合事件定义的事件消息。事件上报成功后,可以在状态面板的 最近上报事件 中查看记录。

事件不会自动写入当前数据。需要改变当前数据时,应同时让模拟设备上报新的状态。

断开与重新连接

模拟设备运行在当前浏览器中。关闭页面、刷新页面或点击断开后,它会变为离线。设备列表中可能仍保留这条模拟设备记录,可以继续选择它查看最后一次状态,也可以删除后重新启动一台新的模拟设备。

同一个设备智能体下通常只需要一台浏览器模拟设备。如果需要更换设备 ID,删除旧的模拟设备后重新创建即可。

切换到真实设备

项目模拟设备真实设备
运行位置当前浏览器设备端固件、网关或后端服务
状态来源根据设备规格和命令结果生成来自真实传感器、执行器或业务系统
命令执行更新模拟状态并返回结果控制真实硬件或业务服务
适合用途PoC、演示、调试设备规格生产接入、真实联调和上线

下一步

  • 阅读 使用设备智能体,了解如何选择模拟设备并通过对话控制。
  • 阅读 SDK 接入,把同一份设备规格接入真实硬件。
  • 阅读 MQTT 接入,了解真实设备和模拟设备共用的主题与消息体约定。