快速上手
安装依赖
Ubuntu and Debian
sudo apt-get install lcov cmake-curses-gui build-essential ninja-build wget git python3 python3-pip python3-venv libc6-i386 libsystemd-dev
macOS
请运行:
tos check
检查系统依赖,并根据提示安装依赖。
备注
v1.1.0 版本之后,我们采用了 ninja 作为构建工具来加快编译速度,如遇到编译错误请安装 ninja。
克隆仓库
git clone https://github.com/tuya/TuyaOpen.git
tuyeopen 仓库中包含多个子模块,tos 工具会在 编译前检查并自动下载 子模块,也可以使用:
git submodule update --init
命令手工下载。
设置与编译
step1. 设置环境变量
cd TuyaOpen
export PATH=$PATH:$PWD
或将 TuyaOpen 路径添加到系统环境变量中
vim ~/.bashrc
# 添加以下内容
export PATH=$PATH:/path/to/your/TuyaOpen
注意
请将 /path/to/your/TuyaOpen
替换为实际的 TuyaOpen 目录路径。
使用 vim 添加环境变量后,输入 :wq
保存,使用 source ~/.bashrc
命令使环境变量生效。
tos 命令的详细使用方法,请参考 tos 命令。
备注
TuyaOpen 通过 tos 命令进行编译、调试等操作,tos 命令会根据环境变量中设置的路径查找 TuyaOpen 仓库,并执行对应操作。
step2. 选择待编译项目
方式1:编译 example
选择待编译 example,可使用命令:
cd TuysOpen
tos set_example
根据平台完成选择,目录 examples
会修改为对应平台的示例。
更多 example 信息点击 示例工程章节 。
方式2:编译 app
选择待编译 app,如 apps/tuya_cloud/switch_demo,并切换至对应目录。
使用:
tos config_choice
命令选择编译目标平台或目标板。
[TuyaOpen/apps/tuya_cloud/switch_demo/config] is empty.
Using boards default config file.
========================
Configs
1. BK7231X.config
2. ESP32-C3.config
3. ESP32.config
4. ESP32-S3.config
5. LN882H.config
6. T2.config
7. T3.config
8. T5AI.config
9. Ubuntu.config
------------------------
Please select:
tos config_choice
命令读取项目下 config
目录中的配置文件,并会生成当前工程的配置文件 app_default.config
。
重要
运行 tos config_choice
切换 config 后,tos 命令会自动清除当前工程下已经编译生成的编译中间文件
step3. 编译
选择当前编译的 examples 或 apps 对应工程,运行如下命令编译:
cd apps/tuya_cloud/switch_demo
tos build
编译完成后目标文件位于当前编译项目 .build/<project>/bin
目录下,如 apps/tuya_cloud/switch_demo/.build/bin
目录。
编译后的目标文件包括:
switch_demo_QIO_1.0.0.bin:包括 boot 在内的完整固件,用于烧录。
switch_demo_UA_1.0.0.bin:未包括 boot 的应用固件,使用该文件需根据不同的 platform/chip 烧录该 bin 至对应的地址,否则可能无法正常运行。
switch_demo_UG_1.0.0.bin:用于 OTA 升级的 bin 文件,无法直接烧录后运行。
项目名称默认为目录名称,项目版本默认为 1.0.0
,可通过 tos menuconfig
配置中修改。
烧录与授权
命令行烧录
支持 tos flash
命令一键烧录:CLI 烧录
GUI 工具烧录
tyutool gui
提供完整的图形化烧录解决方案,界面采用模块化设计,集成串口调试、固件烧录、授权管理等功能模块。
目前已支持 T2/T3/T5AI/BK7231N/LN882H/ESP32 等多种芯片串口烧录,支持 windows/Linux/macOS 等操作系统,请根据运行操作系统选择对应的 GUI 烧录工具。
windows:tyutool_win
Linux:tyutool_linux.tar
macOS_x86:tyutool_mac_x86
macOS_arm64:tyutool_mac_arm64.zip
GUI 烧录教程点击 GUI 烧录