
# 在线调试
#### 概述
当产品模型和编解码插件开发完成后，应用服务器就可以通过物联网平台接收设备上报的数据以及向设备下发命令。
设备接入控制台提供了在线调试的功能，您可以根据自己的业务场景，在开发真实应用和真实设备之前，使用应用模拟器和设备模拟器对数据上报和命令下发等场景进行调试；也可以在真实设备开发完成后使用应用模拟器验证业务流。
![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
目前仅基础版和标准版支持MQTT协议的在线调试。
#### 使用虚拟设备调测产品
当设备侧开发和应用侧开发均未完成时，开发者可以创建虚拟设备，使用应用模拟器和设备模拟器对产品模型、插件等进行调测。在线调试界面分为以下几个部分
1. 上方设备信息区域：展示当前正在调试的设备的基本信息，包括设备名称，设备状态，设备标识码，所属资源空间和产品等。
2. 左侧上方应用模拟器区域：可模拟应用实现命令下发，消息下发和自定义Topic消息下发等功能。
3. 左侧下方设备模拟器区域：可模拟设备实现属性上报，消息上报，事件上报，自定义Topic消息上报和设置命令响应等功能。
4. 右侧上方应用模拟器展示区域：呈现应用服务器接收到和下发数据。
5. 右侧下方设备模拟器展示区域：呈现设备上报和接收到的数据。
图1在线调试-虚拟设备结构   
![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002329333285.png "点击放大")
接下来，您可以按照以下步骤进行虚拟设备的在线调试：
1. 在产品详情中，选择"在线调测"，并单击"新增测试设备"。
2. 在弹出的"新增测试设备"窗口，选择"虚拟设备"，单击"确定"，创建一个虚拟设备。虚拟设备名称包含 "DeviceSimulator"字样，每款产品下只能创建一个虚拟设备。
3. 在设备列表中，选择新创建的虚拟设备， 
   图2在线调试-创建虚拟设备   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000001950362494.png "点击放大")
   
   
4. 单击右侧的"调试"，进入调试界面。 
   图3在线调试-进入调试   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000001950362398.png "点击放大")
   
   
5. 进入在线调试页面，查看设备状态显示为"在线"。 
   图4在线调试-设备在线备   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002211814565.png "点击放大")
   
   
6. 在"设备模拟器"区域，针对您实际的使用场景，可以选择属性上报，消息上报，事件上报以及自定义Topic上报功能模拟设备侧进行数据的发送。以属性上报为例，切换到设备模拟器"属性上报"页签，选择对应的服务并填写需要上报属性值后，单击"发送"。在右侧设备模拟器展示区域可查看上报的属性并在应用模拟器展示区域查看应用模拟器接收到的属性值。 
   图5在线调试-模拟数据上报Battery   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002329340477.png "点击放大")
   
   
7. 在"应用模拟器"区域，针对您实际的使用场景，可以选择命令下发，消息下发以及自定义Topic消息下发功能模拟应用侧进行数据的发送，以命令下发为例，切换到应用模拟器"命令下发"页签，选择对应的服务和命令，并填写下发命令值后，单击"发送"，在右侧应用模拟器展示区域可查看下发的命令以及接收到的命令响应，在设备模拟器展示区域查看设备接收到的命令以及上报的命令响应。 
   ![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
   使用命令下发功能时，可在设备模拟器"命令响应"页签设置设备接收到命令后上报给平台的响应。
   使用自定义Topic消息下发功能时，需要在设备模拟器"订阅列表"页签订阅对应的Topic。
   图6在线调试-命令下发介绍   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002297223310.png "点击放大")
   
   
 
#### 使用真实设备调测产品
当设备侧开发已经完成，但应用侧开发还未完成时，您可以创建真实设备，使用应用模拟器对设备、产品模型、插件等进行调测。真实设备调测界面分为以下几个部分：
1. 上方设备信息区域：展示当前正在调试的设备的基本信息，包括设备名称，设备状态，设备标识码，所属资源空间和产品等。

2. 左侧应用模拟器展示区域：可模拟应用实现命令下发，消息下发和自定义Topic消息下发等功能。
3. 应用模拟器展示区域：呈现应用服务器接收到和下发数据。
图7在线调试-真实设备结构   
![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000001981321973.png "点击放大")
接下来，您可以创建真实设备进行在线调试。
1. 在产品详情中，选择"在线调测"，并单击"新增测试设备"。

2. 在弹出的"新增测试设备"窗口，选择"真实设备"，输入测试设备的参数，单击"确定"。 
   图8在线调试-新增测试设备   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000001981481933.png "点击放大")
   注：如果使用DTLS传输层安全协议接入时，请妥善保存密钥。
   ![](https://support.huaweicloud.com/devg-iothub/public_sys-resources/note_3.0-zh-cn.png)
   新添加的设备处于未激活状态，此时不能进行在线调试，可参考[连接鉴权](https://support.huaweicloud.com/api-iothub/iot_06_v5_3009.html)，待设备接入平台后，进行调试。
   
   
3. 单击"调试"，进入调试界面。 
   图9在线调试-进入调试   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000001950362398.png "点击放大")
   
   
4. 进入在线调试页面，查看设备状态显示为"在线"。 
   图10在线调试-设备在线备   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002211814565.png "点击放大")
   
   
5. 在"应用模拟器"区域，针对您实际的使用场景，可以选择命令下发，消息下发以及自定义Topic消息下发功能模拟应用侧进行数据的发送，以命令下发为例，切换到应用模拟器"命令下发"页签，选择对应的服务和命令，并填写下发命令值后，单击"发送"，在右侧应用模拟器展示区域可查看下发的命令以及接收到的命令响应。在您的真实设备可以接收到下发的命令并执行相应的动作。 
   图11在线调试-真实设备示例   
   ![](https://support.huaweicloud.com/devg-iothub/figure/zh-cn_image_0000002331057633.png "点击放大")
   
   
 
