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。
将占位符替换为真实值。获取方式:
- PID:Tuya 产品 / PID。
- UUID 与 AuthKey:Tuya IoT 平台 – Open SDK 采购。
IM 配置(可选):若需通过即时通讯应用接收 DuckyClaw 通知或与设备交互,请在 tuya_app_config.h 中将通道设为 feishu、telegram 或 discord,并填写对应凭证:
// 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_ID、IM_SECRET_FS_APP_SECRET。 - Discord:将
IM_SECRET_CHANNEL_MODE设为"discord",并填写IM_SECRET_DC_TOKEN、IM_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 中添加设备
- 打开智能生活 App,点击 添加设备 或右上角 + 进入添加流程。
- 按提示授予 App Wi‑Fi 与 蓝牙 权限,否则无法发现设备。
- 按 App 内步骤将设备连接到家庭 Wi‑Fi。
- 在 首页 或 添加设备 页看到待添加设备后,点击 去添加,按引导完成添加。
当前 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...
若日志中 uuid、authkey 仍为占位符(如 uuidxxxxxxxxxxxxxxxx),说明授权码未正确写入。请前往 Tuya IoT 平台 – Open SDK 获取或购买 TuyaOpen 授权码,在 tuya_app_config.h 中正确设置 TUYA_OPENSDK_UUID 与 TUYA_OPENSDK_AUTHKEY,重新编译并烧录。
若 productkey(PID)为占位符,说明产品 ID 未正确设置。请通过 该链接 复制或创建产品并获取 PID,在 tuya_app_config.h 中设置 TUYA_PRODUCT_ID,重新编译并烧录。