Quick Start
Install Dependencies
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
Please run:
tos check
to check system dependencies and install them as prompted.
Note
Since version v1.1.0, we use ninja as the build tool to accelerate compilation. Please install ninja if you encounter compilation errors.
Clone Repository
git clone https://github.com/tuya/TuyaOpen.git
The TuyaOpen repository contains multiple submodules. The tos tool will automatically check and download submodules before compilation, or you can manually download them using:
git submodule update --init
Setup and Compilation
step1. Set Environment Variables
cd TuyaOpen
export PATH=$PATH:$PWD
Or add the TuyaOpen path to system environment variables:
vim ~/.bashrc
# Add the following content
export PATH=$PATH:/path/to/your/TuyaOpen
Attention
Replace /path/to/your/TuyaOpen
with the actual path to your TuyaOpen directory.
After adding the environment variable with vim, enter :wq
to save, and use source ~/.bashrc
to activate the environment variables.
For detailed usage of tos command, please refer to tos command.
Note
TuyaOpen uses the tos command for compilation, debugging and other operations. The tos command will search for the TuyaOpen repository based on the path set in environment variables.
step2. Select Project to Compile
Method 1: Compile example
Select an example to compile using:
cd TuyaOpen
tos set_example
After platform selection, the examples
directory will be updated with platform-specific examples.
More example information: Example Projects.
Method 2: Compile app
Select an app to compile (e.g. apps/tuya_cloud/switch_demo) and navigate to its directory.
Use:
tos config_choice
to select target platform or board.
[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:
The tos config_choice
command reads configuration files in the project’s config
directory and generates app_default.config
for the current project.
Important
After switching config with tos config_choice
, tos will automatically clean previously generated intermediate files.
step3. Compile
Navigate to the target project directory (examples or apps) and run:
cd apps/tuya_cloud/switch_demo
tos build
Compiled binaries will be located in .build/<project>/bin
directory of the current project, e.g. apps/tuya_cloud/switch_demo/.build/bin
.
Output files include:
switch_demo_QIO_1.0.0.bin: Complete firmware with bootloader for flashing
switch_demo_UA_1.0.0.bin: Application firmware without bootloader (must be flashed to correct address based on platform/chip)
switch_demo_UG_1.0.0.bin: OTA upgrade file (cannot run directly after flashing)
Default project name matches directory name, version defaults to 1.0.0
. Modify via tos menuconfig
.