---
title: 设备工具
summary: 介绍 Tuya MiniApp IDE 中设备工具的功能，包括虚拟设备调试、DP 下发上报、多语言管理和设备日志查询等。
questions:
  - 如何在 IDE 中绑定虚拟设备进行调试？
  - 设备工具支持哪些调试功能？
  - 如何进行 DP 下发和上报操作？
  - 多语言功能支持哪些操作？
  - 如何查看设备日志？
  - 面板加载失败提示 DeviceId is invalid 怎么解决？
  - 如何切换设备工具插件版本？
  - 智能设备模型数据注入功能如何使用？
  - 复杂协议解析功能如何使用？
  - 蓝牙单点设备在 IDE 中显示离线怎么办？
---

# 设备工具

<Image 
  src="https://images.tuyacn.com/content-platform/hestia/1729063057aba1f8649e4.png" 
  style={{
    borderRadius: '10px',
    boxShadow: '0 0 5px rgba(0,0,0,0.3)',
  }}
/>

为了能够在 **Tuya MiniApp IDE** 中运行面板小程序，引入了**设备工具**来模拟面板运行环境，设备工具现已支持**虚拟设备及真机设备**调试，同时能够更方便地调试 DP 下发上报。在开发时，只需要在项目配置中配置**需要调试的产品**，就可以通过扫码绑定该产品下的虚拟设备到 **Tuya MiniApp IDE** 中，或将开发模式切换到**真机调试模式**，并在编译参数中输入**需要调试的设备 ID**，即可实现在 **Tuya MiniApp IDE** 中进行代码调试，在开发期间减少对真机的依赖。

除设备 DP 调试，插件还提供了：

1. 多语言字段查看、检查、搜索、上传
2. 设备日志查询
3. 智能设备模型数据注入

> **注意**：由于 Tuya MiniApp IDE 目前仅实现了面板运行必须的几个 kit API，可能无法直接满足所有 kit 接口的模拟。特殊 kit 接口尚需依赖真机进行调试。

<Image src='https://images.tuyacn.com/content-platform/hestia/1729063142c10c22b111f.png'/>

## 接入流程

### 下载 Tuya MiniApp IDE

首先确保 Tuya MiniApp IDE 中支持 Virtual Device 功能。[下载最新版本 Tuya MiniApp IDE 工具](/cn/miniapp/devtools/tools/download)。

### 新建项目

启动打开小程序 Tuya MiniApp IDE，单击 **新建项目**。

<Image src="https://images.tuyacn.com/fe-static/docs/img/a28a04cb-ff6a-4210-a127-f6a19aac39b9.png"/>

单击 **关联小程序**，选择 `面板小程序` 类型，单击 **下一步**，关联您在 [涂鸦开发者平台](https://iot.tuya.com/pmg/list) 创建的产品，单击 **下一步**，选择您需要的模板：

> 品类模板通常包含特定的产品功能点要求。如果需要使用，请确保这些功能点已定义完毕。如果没有合适的品类模板，建议使用面板 SDM 通用模板。

<Image src='https://images.tuyacn.com/fe-static/docs/img/4613f724-fd19-4403-baaf-b6554ab408b6.png'/>

点击创建，进入面板运行，若已使用 App 进行过授权登录，此时设备调试插件会默认显示已授权账号下授权时所在家庭的设备列表：

> 注意，需要确保智能生活 App 对 IDE 进行授权登录操作。

<Image src='https://images.tuyacn.com/content-platform/hestia/1729061847d2e6aa733ef.png'/>

界面中功能按上图序号依次为：

1. 通过智能生活 App 扫码授权登录账号的当前家庭名称，点击该名称展开当前账号下的所有家庭列表。可通过选中列表项进行家庭切换。切换后将刷新房间及设备列表。
2. 当前家庭下所有的房间，点击切换房间过滤设备列表内容。
3. 当前家庭下所选中房间里的设备列表，若设备 `pid` 与项目所绑定的产品 `pid` 一致，则会出现在相关设备分组。点击可直接进入对应设备调试界面。若设备 `pid` 与项目绑定的产品 `pid` 不一致，则会弹出提示窗，确认后才可进入指定设备 **DP 调试界面**。当从调试界面再次返回首页时，上次选中的设备会高亮带蓝色边框显示，如上图数字 3 所指。

<Image src='https://images.tuyacn.com/content-platform/hestia/17290634061105c9e0041.png'/>
 进入 **DP 调试界面**。下图红色区域即为虚拟设备插件部分，左侧为产品功能点控制面板，可以进行 DP 下发操作，右侧区域为产品和日志信息：
<Image src='https://images.tuyacn.com/content-platform/hestia/1729063547b0c360bae5d.png'/>

4. 当前插件版本，鼠标悬浮可显示可切换的插件版本列表，选中需要切换的版本弹出版本切换提示，用户确认后可切换到指定版本并重新加载新版本插件。

   <Image src='https://images.tuyacn.com/content-platform/hestia/17290636291d1385becb8.png'/>

5. 设备列表界面刷新按钮，用于刷新当前家庭下的设备列表。

6. 添加虚拟设备入口，单击进入虚拟设备扫码界面。
   <Image src="https://static1.tuyacn.com/static/tuya-miniapp-doc/_next/static/images/panel/virtual-device-bind.png"/>
使用智能生活 App 扫码添加设备成功后，将跳转到虚拟设备控制界面。
<Image src="https://images.tuyacn.com/content-platform/hestia/1729063142c10c22b111f.png"/>

单击顶部工具栏第 4 个按钮，可以控制虚拟设备插件的显示和隐藏：

<Image src="https://images.tuyacn.com/content-platform/hestia/1729063817864f8a827fc.png"/>

### 设备控制

- 在虚拟设备调试，**控制面板**中可以操作产品的功能点 DP 下发设备指令，输入或选择数据值后单击下方 `下发` 按钮，在 `通讯日志` 中即可看到具体的指令信息。

> 注意： 真实设备不支持上报功能，可使用**可视化面板**进行 DP 下发。

<Image src='https://images.tuyacn.com/content-platform/hestia/1729063897e20bbcfcdaa.png'/>

- 单击 **可视化面板**，可以预览当前产品的 DP 功能点形态。

<Image src='https://images.tuyacn.com/content-platform/hestia/17290640067bba3a08bb6.png'/>

### 设备信息及状态日志

除虚拟上报外，IDE 右侧还提供了设备信息展示、设备状态模拟、设备 DP 上报、下发日志、虚拟设备解除绑定、设备通讯通道重连以及插件版本切换等功能，具体功能如下：

<Image src='https://images.tuyacn.com/content-platform/hestia/17290641783ca5e0c1dd1.png'/>

1. 当前插件版本：鼠标悬浮可显示可切换的插件版本列表，选中需要切换的版本弹出版本切换提示，用户确认后可切换到指定版本并重新加载新版本插件（同设备列表页面操作）。
2. 设备信息
   主要提供了设备相关的一些信息的展示：
   - 产品名称
   - 产品 `id`
   - 设备 `id` / 群组 `id`
   - 当前账号授权登录时的环境（预发：`pre` / 线上：`prod`）
   - 当前设备所在的运行环境（预发：`pre` / 线上：`prod`）
3. 设备状态
   主要提供了对设备状态切换的模拟：
   - App 网络状态：模拟 App 有无网络的情况，切换时会触发 `networkStatusChange` 事件。
   - 设备在线状态：模拟设备上下线状态的切换，切换时会触发 `onDeviceOnlineStatusUpdate` 事件。
   - App 蓝牙状态：模拟手机系统蓝牙开启或关闭，切换时会触发 `bluetoothAdapterStateChange` 事件。
4. 通讯日志
   主要显示调试过程中 `dp` 点状态上报、下发日志，可用来判断上报及下发原数据是否正常。
5. 解除绑定/设备重连
   - 解除绑定： 所操作的设备为虚拟设备时，解绑当前设备。真实设备及群组设备下无该功能。
   - 设备重连： 当设备上报或下发功能无法正常使用时，可尝试重新建立与设备间的通讯。
6. 插件市场
   - 可查看当前 IDE 支持的插件列表，可下载安装到 IDE 中使用。

### 多语言

用于面板小程序多语言的查看、检查、搜索、上传。

<Image src='https://images.tuyacn.com/content-platform/hestia/1729064290274ced064dd.png'/>
- 查看： 列表中会显示当前面板小程序对应的云端多语言，以及本地多语言文件中所对应的多语言合并后的内容，当本地多语言与云端多语言字段冲突时，以云端多语言为准。
- 检查： 用于检测多语言中所配置的字段是否被使用过，是否缺失中英文，当配置不正确时会有不同的提示内容，可参照对应的内容进行修改。
- 搜索： 在搜索框中输入内容可进行多语言字段 key 或对应多语言值进行检索。
- 上传： 将当前多语言合并到当前面板小程序的对应的云端多语言中。

<Callout type="warning" emoji="⚠️">
多语言区块只会上传面板小程序维度的多语言词条，绑定了该面板小程序的产品会同时生效，如果在产品维度想要自定义其多语言，请前往 涂鸦开发者平台的产品多语言进行配置。
</Callout>

### 设备日志

用于显示查询设备事件上报与下发日志，可根据功能点、类型及时间进行日志搜索。

<Image src='https://images.tuyacn.com/content-platform/hestia/172906436150f1b11a2b6.png'/>

### 智能设备模型

用于显示智能设备数据模型，可将模型注入到项目中， 以方便业务开发。

<Image src='/images/panel/virtual-device-sdm.png'/>

### 复杂协议解析

用于将设备上报的[复杂协议](https://developer.tuya.com/cn/docs/iot/complex-protocol-description?id=Kbabmb54ueujl)进行解析展示为数据表格，方便开发者查看设备上报的数据。

<Image src='/images/panel/raw-protocol.gif'/>

> 注意：所解析的功能点需要在产品功能点中配置协议解析规则。

- 对于自己 IoT 账号下的产品是否支持复杂协议解析，可以在 IoT 平台 > 产品开发流程 > 功能定义 > 标准功能 > 备注 > 协议解析说明 查看 。

<Image src='/images/panel/raw_analyze.png' />

- 若设备支持复杂协议解析，单击 **协议解析说明** 可进入以下界面查看所支持解析的功能点列表。

<Image src='/images/panel/raw_protocol.png' />

### 扩展管理

用于管理设备能力相关扩展，包括这些扩展能力的安装、卸载、更新等。功能可独立于 IDE 及设备工具进行发布更新。

<Image src="https://images.tuyacn.com/content-platform/hestia/1730341523c2d0c344203.png" />

## 常见问题

### 1. 面板加载失败，`devInfo` 获取失败，报错 `DeviceId is invalid`？

如果授权已过期，使用智能生活 App 重新扫码授权。如果使用的是虚拟设备也可单击 **虚拟设备调试**，解绑设备，重新扫码，退出小程序重新进入。

> 若出现 `DeviceId is invalid` 问题，请确认授权登录的 App 与创建虚拟设备的 App 是否一致，所授权的账号下是否包含该设备。

### 2. DP 下发、上报失败？

确认授权是否已过期，具设备所在环境是否与 IDE 环境一致。

### 3. 通讯日志显示 MQTT 连接失败？

确认 Tuya MiniApp IDE 登录是否过期，或尝试重新登录 Tuya MiniApp IDE 。

### 4. 扫描虚拟设备二维码提示没有权限

检查智能生活 App 账号是否拥有当前所处的家庭的管理权限，通常为家庭邀请成员出现此问题。

### 5. 部分设备在 App 中显示在线，但在 IDE 中没有相关设备或设备显示离线？

对于部分蓝牙单点设备，设备无法直接与 IDE 进行连接，因此可能无法在 IDE 设备列表中显示。Zigbee、sigMesh、beacon 等设备，若设备连接到了网关下一般是会显为在线状态。若也是处于与手机直连状态，在 IDE 中可能会显示为离线状态。
如果遇到此类问题，可以使用真机调试的形式进行开发。
