TuyaOpen SDK 快速入门

更新时间:2025-09-08 08:36:09下载pdf

环境搭建及 SDK 下载

首先,您需要搭建开发环境并下载 TuyaOpen SDK,详细教程请前往 TuyaOpen 文档中心 查看。

创建产品

前往登录 涂鸦开发者平台 > 产品开发 页面,单击 创建产品,根据您的产品形态选择品类,并参考 创建产品 完成产品的创建。

TuyaOpen SDK 快速入门

进入产品开发流程后,请重点关注下文介绍的添加产品功能、AI 能力和新增固件相关配置。

添加产品功能

01 功能定义 > 产品功能 下,单击 添加功能 来为产品添加标准/自定义功能,或开启高级功能。

了解产品功能,请参考 产品功能

TuyaOpen SDK 快速入门

添加 AI 能力

01 功能定义 > 产品 AI 功能 下,单击 新增智能体 来为产品添加 AI 能力。

进入智能体开发流程后,参考 产品 AI 功能开发 完成智能体的开发。其中,重点关注以下配置:

TuyaOpen SDK 快速入门

添加工具集:

  1. 01 模型能力配置 > 技能配置 下选择 工具集,单击右侧添加(+)按钮进入 添加工具 页面。
  2. 设备控制 > 设备自控 - 仅控制与 Agent 关联的设备 下,选择添加 控制智能体绑定的设备

TuyaOpen SDK 快速入门

TuyaOpen SDK 快速入门

开发提示词

02 提示词开发 下,参考 Prompt 入门教程 完成提示词的开发。

TuyaOpen SDK 快速入门

新增自定义固件

为了后续 OTA 升级和模组批量下单,需要新增自定义固件。

进入产品开发流程后,在 03 硬件开发 下,选择 云端接入开发方式TuyaOS AI,选择 云端接入硬件 为 T5 模组,然后单击 新建自定义固件 并完成相关配置。

TuyaOpen SDK 快速入门

AI 控制指令配置

如您在产品开发过程中添加的产品功能均为标准功能(Data Point,DP;标准功能即 DP ID 小于 100 的功能点),则默认已配置自控指令,可以跳过本步骤;如您增加了自定义功能点,则需要完成本步骤修改指令方案。

前往 AI 产品指令配置 页面,在 自控指令 下单击 修改指令方案,并参考 设备自控指令 完成相关配置。

TuyaOpen SDK 快速入门

实现产品功能

DP(Data Point)是涂鸦对产品功能定义的数据模型,用于描述产品的功能。为了实现对海量且多样的设备进行规模化和数字化管理,需要使用一种抽象语言来描述设备。关于 DP 模型的详细说明,请参考 DP 模型与控制协议

以 TuyaOpen 中的 your_chat_bot Demo 为例,当 App 或者 AI 下发控制指令时,会进入 user_event_handler_on 接口。其中,Object 类型(Boolean、Value、Enum、Bitmap、String)进入 TUYA_EVENT_DP_RECEIVE_OBJ 分支,Raw 类型进入 TUYA_EVENT_DP_RECEIVE_RAW 分支。

void user_event_handler_on(tuya_iot_client_t *client, tuya_event_msg_t *event)
{
    PR_DEBUG("Tuya Event ID:%d(%s)", event->id, EVENT_ID2STR(event->id));
    PR_INFO("Device Free heap %d", tal_system_get_free_heap_size());

    switch (event->id) {
    /*
    ******Omit the intermediate process here******
    */
        /* RECV OBJ DP */
    case TUYA_EVENT_DP_RECEIVE_OBJ: {
        dp_obj_recv_t *dpobj = event->value.dpobj;
        PR_DEBUG("SOC Rev DP Cmd t1:%d t2:%d CNT:%u", dpobj->cmd_tp, dpobj->dtt_tp, dpobj->dpscnt);
        if (dpobj->devid != NULL) {
            PR_DEBUG("devid.%s", dpobj->devid);
        }

        audio_dp_obj_proc(dpobj);

        tuya_iot_dp_obj_report(client, dpobj->devid, dpobj->dps, dpobj->dpscnt, 0);

    } break;

    /* RECV RAW DP */
    case TUYA_EVENT_DP_RECEIVE_RAW: {
        dp_raw_recv_t *dpraw = event->value.dpraw;
        PR_DEBUG("SOC Rev DP Cmd t1:%d t2:%d", dpraw->cmd_tp, dpraw->dtt_tp);
        if (dpraw->devid != NULL) {
            PR_DEBUG("devid.%s", dpraw->devid);
        }

        uint32_t index = 0;
        dp_raw_t *dp = &dpraw->dp;
        PR_DEBUG("dpid:%d type:RAW len:%d data:", dp->id, dp->len);
        for (index = 0; index < dp->len; index++) {
            PR_DEBUG_RAW("%02x", dp->data[index]);
        }

        tuya_iot_dp_raw_report(client, dpraw->devid, &dpraw->dp, 3);

    } break;

    default:
        break;
    }
}

授权开发板

方式一:代码授权

修改头文件。详细流程,请参考 设备授权

例如,打开 your_chat_bot 项目,找到 tuya_config.h 文件,路径为:apps/tuya.ai/your_chat_bot/include/tuya_config.h,并修改以下三个参数:

  • TUYA_PRODUCT_ID:产品创建时生成的 Product ID(PID)。
  • TUYA_OPENSDK_UUID:UUID 可免费获取,请联系涂鸦工作人员领取。
  • TUYA_OPENSDK_AUTHKEY:Authkey 可免费获取,请联系涂鸦工作人员领取。

TuyaOpen SDK 快速入门

示例如下:

#ifndef TUYA_PRODUCT_ID
#define TUYA_PRODUCT_ID "p320pepzvmm1ghse"//PID
#endif

#define TUYA_OPENSDK_UUID    "uuidxxxxxxxxxxxxxxxx"             // Please change to the correct UUID.
#define TUYA_OPENSDK_AUTHKEY "keyxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Please change to the correct authkey.

方式二:工具授权

Tuya Uart Tool 中,选择烧录串口和 BaudRate(波特率),单击 Start 打开串口,然后单击 Authorize 进行授权。

TuyaOpen SDK 快速入门

编译和烧录

在终端输入以下:

tos.py build && tos.py flash 

TuyaOpen SDK 快速入门

如果使用 T5AI-Board 开发板,板本身配置有两路串口,一路用于烧录,另一路用于日志输出。如果烧录失败,可以切换端口号并重试。

常见问题

烧录总是在 Write 时失败,如何解决?

请参考 安装对应驱动 尝试解决。