在线调试


开发者可以在线调试 IoT Hub 注册的设备,以快速定位问题或促进应用程序开发。


本章说明如何使用在线调试的功能。

真实与虚拟设备

你可以根据模型中配置的功能定义调试两种类型的设备:真实设备和虚拟设备。有关功能定义的更多详情,参见 模型功能定义.


../../_images/debug_real_virtual.png

真实设备

真实设备是指当前已激活并连接到 IoT Hub 且处于 在线 状态的设备。


../../_images/debug_status_online.png


由于无法从云端控制真实设备的属性、测点或者事件上报,真实设备的调试功能仅支持“测点调试”(获取和设置测点)和“服务调用”。

虚拟设备

虚拟设备是 IoT Hub 中处于 未激活离线 状态的设备。


../../_images/debug_status_offline.png


你可以通过点击 启动虚拟设备 按钮来开始使用虚拟设备。启动虚拟设备可以模拟真实设备和云端建立连接,上报模型定义的属性、测点和事件,不依赖真实设备快速开发云端应用。启动后,状态将会改为 在线。调试完成后,点击 关闭虚拟设备,状态将改为 离线


在线调试功能包括从设备到云的属性、测量点和事件的模拟上报,以及从云到设备的测点的获取和设置以及服务的调用。

开始前准备

你需要设备管理员角色的权限。如果没有请联系组织管理员添加,参见 策略,角色,与权限

操作步骤

EnOS 管理控制台 中选择 设备监控 > 在线调试,再选择设备所属的 产品,然后选择你要调试的 设备

获取测点

该功能对于真实和虚拟设备均可用。

  1. 点击 测点调试,从 调试功能 下拉列表中选择测点,然后从 方法 下拉列表中选择 获取

  2. 点击 发送指令 按钮以获取设备的测点。获取的最新数据将在调试框中显示,右侧则无对应日志。


../../_images/debug_get_mp.gif

设置测点

该功能对于真实和虚拟设备均可用。

  1. 点击 测点调试,从 调试功能 下拉列表中选择测点,然后从 方法 下拉列表中选择 设置

  2. 根据测点的数据类型,在提供的文本框中输入测点的值。

  3. 点击 发送指令 按钮以设置设备的测点。右侧将显示云端和设备端的相应日志。


    ../../_images/debug_set_mp.gif


  4. 该命令也会反映在设备的 设备管理 > 设备资产设备详情 页面的 命令 标签下。


由于这是从云向设备发送的命令,而不是从设备实际上报测点,IoT Hub 中的测点值不会更改。

调用服务

该功能对于真实和虚拟设备均可用。

  1. 点击 服务调用,从 调试功能 下拉列表中选择服务。

  2. 根据所列出的服务的输入参数的数据类型,在提供的文本框中数输入参数值。

  3. 点击 发送指令 按钮以调用服务。右侧将显示云端和设备端的相应日志。


    ../../_images/debug_invoke_svc.png


  4. 该命令也会反映在设备的 设备管理 > 设备资产设备详情 页面的 命令 标签下。

上报属性

该功能仅对于虚拟设备可用。

  1. 启动后虚拟设备,点击 属性上报 ,从 调试功能 下拉列表中选择属性。

  2. 根据属性的数据类型,在提供的文本框中输入属性的值。

  3. 点击 推送 按钮以上报属性。右侧将显示上报属性的相应日志。

  4. 由于这是从设备到云的属性上报, IoT Hub 中的属性值将会更改。点击 查看数据 按钮即可查看信息。


    ../../_images/debug_report_attribute.gif


  5. 你也可以通过 策略推送 按钮配置推送时间/次数。更多详情,参见 策略推送

上报测点

该功能仅对于虚拟设备可用。

  1. 启动后虚拟设备,点击 测点上报 ,从 调试功能 下拉列表中选择测点。

  2. 根据测点的数据类型,在提供的文本框中输入测点的值。

  3. 点击 推送 按钮以上报属性。右侧将显示上报测点的相应日志。

  4. 由于这是从设备到云的测点上报, IoT Hub 中的测点值将会更改。点击 查看数据 按钮即可查看信息。


    ../../_images/debug_report_mp.gif


  5. 你也可以通过 策略推送 按钮配置推送时间/次数。更多详情,参见 策略推送

上报事件

该功能仅对于虚拟设备可用。

  1. 启动后虚拟设备,点击 事件上报 ,从 调试功能 下拉列表中选择事件。

  2. 根据所列出的事件的输出参数的数据类型,在提供的文本框中数输入参数值。

  3. 点击 推送 按钮以上报事件。右侧将显示上报测点的相应日志。

  4. 此事件推送也会反映在设备的 设备详情 页面的 事件 标签下。点击 查看数据 按钮即可查看信息。


    ../../_images/debug_report_event.gif


  5. 你也可以通过 策略推送 按钮配置推送时间/次数。更多详情,参见 策略推送

其他操作

编辑模型

由于你只能调试在所选模型中的功能定义,因此如果未定义任何功能类型,则将无法对其进行调试。在这种情况下,你可以点击 编辑模型 按钮,转到所选模型的 功能定义 标签以添加要调试的功能。更多详情,参见 为模型创建功能定义

策略推送

配置用于上报属性、测量点和事件的推送时间/次数有两种:定时推送或周期推送。

  • 定时推送: 通过选择日期和时间来安排推送。 注意:日期/时间不能少于当前时间。

  • 周期推送: 通过设置每 N 秒推送一次的次数。

查看 JSON 结构

除了获取设备测点之外,你可以查看其他调试功能的 JSON 结构。点击 查看 JSON 结构 view, 将会弹出脚本窗口。


../../_images/debug_view_json.png