跳到主要内容

DuckyClaw 快速开始(T5-AI Board)

本文介绍如何在 T5-AI Board 开发板上构建、烧录并激活 DuckyClaw 固件,面向希望在 Tuya T5-AI 硬件上运行 DuckyClaw 并通过智能生活 App 连接 Tuya Cloud 的开发者。

硬件与软件要求

  • T5-AI Board 开发板(搭载 T5 模组)。
  • USB 数据线:用于连接开发板与电脑。
  • 电脑:Windows 10/11、Linux(如 Ubuntu 20/22/24 LTS)或 macOS。
  • Tuya Cloud:本示例使用 Tuya 云服务。需具备有效的授权码,并在 tuya_app_config.h 中填写正确的 PID、UUID、AuthKey,以使用云与 LLM 功能。
备注

T5-AI Board 具备麦克风与扬声器。在支持麦克风/扬声器的开发板上,ASR(语音识别)为默认输入方式,并且能与消息软件 IM 共存。

操作步骤

1. 安装构建工具(Python、Make、Git)

在主机上安装所需工具。

信息

推荐使用 Ubuntu 20/22/24 LTS。

安装依赖包:

sudo apt-get install lcov cmake-curses-gui build-essential ninja-build wget git python3 python3-pip python3-venv libc6-i386 libsystemd-dev

2. 克隆仓库

信息

可适当增大 Git 缓冲区以加速克隆:

git config --global http.postBuffer 524288000
git clone https://github.com/tuya/DuckyClaw.git
注意

项目路径请勿包含空格或非 ASCII 字符;Windows 下请勿放在 C 盘根目录。

3. 激活构建环境

cd DuckyClaw
git submodule update --init

激活 TuyaOpen 构建环境,使 tos.py 可用:

注意

每次新开终端后均需重新执行激活命令。

. ./TuyaOpen/export.sh

验证环境:

tos.py version
tos.py check

应能看到版本号(如 v1.3.0)以及各工具(git、cmake、make、ninja)检查通过。如有需要会自动拉取子模块。

4. 选择开发板配置

在项目根目录执行配置选择:

cd ..
tos.py config choice

输入 3 选择 TUYA_T5AI_BOARD_LCD_3.5_CAMERA

--------------------
1. ESP32S3_BREAD_COMPACT_WIFI.config
2. RaspberryPi.config
3. TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config
--------------------
Input "q" to exit.
Choice config file: 3

5. 修改应用配置

打开 DuckyClaw/include/tuya_app_config.h,设置以下项。

LLM / Tuya Cloud(使用云与 AI 必填):

  • TUYA_PRODUCT_ID:产品 ID(PID),为设备与云平台配置的绑定键。
  • TUYA_OPENSDK_UUID:Open SDK UUID。
  • TUYA_OPENSDK_AUTHKEY:Open SDK AuthKey。

将占位符替换为真实值。获取方式:

IM 配置(可选):若需通过即时通讯应用接收 DuckyClaw 通知或与设备交互,请在 tuya_app_config.h 中将通道设为 feishutelegramdiscord,并填写对应凭证:

// IM configuration
// feishu | telegram | discord
#define IM_SECRET_CHANNEL_MODE "feishu"

#define IM_SECRET_FS_APP_ID ""
#define IM_SECRET_FS_APP_SECRET ""

#define IM_SECRET_DC_TOKEN ""
#define IM_SECRET_DC_CHANNEL_ID ""

#define IM_SECRET_TG_TOKEN ""
  • Feishu:将 IM_SECRET_CHANNEL_MODE 设为 "feishu",并填写 IM_SECRET_FS_APP_IDIM_SECRET_FS_APP_SECRET
  • Discord:将 IM_SECRET_CHANNEL_MODE 设为 "discord",并填写 IM_SECRET_DC_TOKENIM_SECRET_DC_CHANNEL_ID
  • Telegram:将 IM_SECRET_CHANNEL_MODE 设为 "telegram",并填写 IM_SECRET_TG_TOKEN

6. 编译与烧录

编译工程:

tos.py build

编译成功后烧录固件:

tos.py flash

连接串口查看日志:

tos.py monitor

预期结果:工程编译通过,固件烧录到 T5-AI Board 后设备正常启动。可通过串口确认进入激活模式,再在 App 中添加设备。

7. 设备激活与配网

使用 Tuya Cloud 功能前,需在 智能生活 App 中添加设备并完成 Wi‑Fi 配网。

下载智能生活 App

从苹果 App Store 或各大安卓应用市场搜索 智能生活 下载,或扫描 Tuya 智能生活 App 页面 上的二维码。

确认设备处于配网状态

在 App 中添加设备前,请确认设备已进入配网(激活)模式。串口日志中可见类似输出(TuyaOpen):

[01-01 00:00:01 ty D][tuya_iot.c:774] STATE_START
[01-01 00:00:01 ty I][tuya_iot.c:792] Activation data read fail, go activation mode...
[01-01 00:00:01 ty D][tuya_main.c:143] Tuya Event ID:1(TUYA_EVENT_BIND_START)

在 App 中添加设备

  1. 打开智能生活 App,点击 添加设备 或右上角 + 进入添加流程。
  2. 按提示授予 App Wi‑Fi蓝牙 权限,否则无法发现设备。
  3. 按 App 内步骤将设备连接到家庭 Wi‑Fi。
  4. 首页添加设备 页看到待添加设备后,点击 去添加,按引导完成添加。
注意

当前 TuyaOpen 支持的模组仅支持路由器 2.4 GHz 频段,使用 5 GHz 会导致配网失败。

常见问题

授权信息错误导致无法发现设备或配网失败

若授权数据未正确写入,设备可能打印类似日志:

[01-01 00:00:00 ty E][tal_kv.c:269] lfs open UUID_TUYAOPEN -2 err
[01-01 00:00:00 ty E][tuya_authorize.c:107] Authorization read failure.
[01-01 00:00:00 ty W][tuya_main.c:288] Replace the TUYA_OPENSDK_UUID and TUYA_OPENSDK_AUTHKEY contents...

若日志中 uuidauthkey 仍为占位符(如 uuidxxxxxxxxxxxxxxxx),说明授权码未正确写入。请前往 Tuya IoT 平台 – Open SDK 获取或购买 TuyaOpen 授权码,在 tuya_app_config.h 中正确设置 TUYA_OPENSDK_UUIDTUYA_OPENSDK_AUTHKEY,重新编译并烧录。

productkey(PID)为占位符,说明产品 ID 未正确设置。请通过 该链接 复制或创建产品并获取 PID,在 tuya_app_config.h 中设置 TUYA_PRODUCT_ID,重新编译并烧录。

参考资料