Makers' ReadMe
- liangzn
- Jan 4
- 5 min read
Updated: Jan 8
Dev Board WIKI
Hackathon Code Base
Online Workshop Recording
Demo Videos
3D Printing
We prepare a few Bambu Labs 3D Printers. Please contact on-site volunteer for your printing.
Tuya Dev Board Get Started
Hardware Preparation
TuyaOpen supports the following development boards or modules.
USB data cable
Computer (supports Windows/Linux/macOS systems)
Install necessary tools
Linux:
sudo apt-get install lcov cmake-curses-gui build-essential ninja-build wget git python3 python3-pip python3-venv libc6-i386 libsystemd-devMAC:
# Install Homebrew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Install the latest version of bashbrew install bash # Add the newly installed bash to the list of available shellsecho "/usr/local/bin/bash" | sudo tee -a /etc/shells # Change the current user's shell to the new bash shellchsh -s /usr/local/bin/bash# Install Python 3brew install python3 # Install gitbrew install git # Install makebrew install make Window:
# Download Python v3.8.0 or later.https://www.python.org/downloads/windows/ # Download git v2.0.0 or laterhttps://git-scm.com/downloads/win #Download make v3.0 or laterhttps://gnuwin32.sourceforge.net/packages/make.htm Download the code repository
Activate the development environment
Linux/MAC:
Under macOS, if you encounter the following error:
WARNING: You are using pip version 20.2.3; however, version 25.0.1 is available.You should consider upgrading via the '/Users/m1/Documents/TuyaOpen/.venv/bin/python3 -m pip install --upgrade pip' command.Traceback (most recent call last): File "/Users/m1/Documents/TuyaOpen/tos.py", line 5, in <module> import clickModuleNotFoundError: No module named 'click'After updating pip using the suggested command '/Users/m1/Documents/TuyaOpen/.venv/bin/python3 -m pip install --upgrade pip', run the following command:
deactivateAfter exiting the virtual environment, re-activate it by running . ./export.sh
Window
.\export.ps1 # PowerShell needs to execute `Set-ExecutionPolicy RemoteSigned -Scope LocalMachine` first. .\export.bat # cmd Authorize device
Enter the project compilation stage.
cd apps/tuya.ai/your_chat_botIf you use T5AI-BOARD , You need to execute the following command to select the T5AI Board configuration. T5AI Board Configuration Selection 7
tos.py config choice...--------------------1. DNESP32S3.config2. DNESP32S3_BOX.config3. DNESP32S3_BOX2_WIFI.config4. ESP32S3_BREAD_COMPACT_WIFI.config5. T5AI_MINI_LCD_1.54.config6. T5AI_MOJI_1.28.config7. TUYA_T5AI_BOARD_LCD_3.5.config8. TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config9. TUYA_T5AI_BOARD_LCD_3.5_v101.config10. TUYA_T5AI_CORE.config11. TUYA_T5AI_EVB.config12. Ubuntu.config13. WAVESHARE_ESP32S3_TOUCH_AMOLED_1_8.config14. WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config15. XINGZHI_ESP32S3_Cube_0_96OLED_WIFI.config--------------------Input "q" to exit.Choice config file:If you use WAVESHARE_T5AI_TOUCH_AMOLED need selection 14.
You can authorize the device in two ways.
Write authorization information to Flash
Run the command:
tos.py monitor -b 115200Enter the interactive command, use auth, and then press Enter. You will get the following information:
[INFO]: Run Tuya Uart Tool.--------------------1. /dev/ttyACM12. /dev/ttyACM0--------------------Select serial port: 2[INFO]: Open Monitor. (Quit: Ctrl+c)Use auth as prompted to write uuid and authkey.
tuya>auth uuid9f6a6xxxxxxxxxxx cGuDnU2YxjHJldjxxxxxxxxxxxxxxxxxAuthorization write succeeds.Modify header file
Locate the tuya_config.h file in your project directory. The directory might vary by project (check either the src or include directory).
#define TUYA_OPENSDK_UUID "uuidxxxxxxxxxxxxxxxx" // Change to the correct uuid#define TUYA_OPENSDK_AUTHKEY "keyxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" // Change to the correct authkeyYou can ask the staff for authorization information.
Change LLM Model
This step is not mandatory; you can skip it if you don't need to adjust the LLM model and prompts.
Compile the project
Use the following command to compile:
tos.py buildFlash firmware
For Linux and Mac users, run the command
sudo usermod -aG dialout $USERto grant serial port permissions, and then reboot the system.
tos.py flashIf multiple ports exist, try them sequentially.
View the logs
The log baud rate for T5AI is 460800. The T5AI development board usually has two serial ports: one for flashing and the other for logging.
Using the tos.py monitor command below does not require setting the baud rate—simply select the appropriate serial port. The name of the serial port may vary depending on the computer and device, so you’ll need to try it yourself to see if any log output is generated.
tos.py monitorConnect the device to the Tuya cloud.
Switch demo
Enter the switch demo project directory(By default, you are currently in the root directory of TuyaOpen.).
cd apps/tuya_cloud/switch_demoUse the configuration selection command
tos.py config choiceSelect T5AI.config, which is configuration 9 below.
--------------------1. BK7231X.config2. ESP32-C3.config3. ESP32-S3.config4. ESP32.config5. EWT103-W15.config6. LN882H.config7. T2.config8. T3.config9. T5AI.config10. Ubuntu.config--------------------Input "q" to exit.Choice config file:Compile switch_demo:
tos.py buildFlash switch_demo:
tos.py flashDevice networking, refer to 9. Connect the device to the Tuya cloud. The device name is Open Framework Demo, the icon is a socket.
View device logs
tos.py monitorHow to use the switch demo:
In the SmartLife app, enter the panel for controlling the Open Framework Demo, as shown below.
Click Power, and the device monitor will print whether the device is on or off:
...[01-08 11:40:12 ty D][dp_schema.c:558] dp<1> bool: 0, new: 1[01-08 11:40:12 ty D][dp_schema.c:1008] dp rept out: {"1":true}...[01-08 11:41:25 ty D][dp_schema.c:558] dp<1> bool: 1, new: 0[01-08 11:41:25 ty D][dp_schema.c:1008] dp rept out: {"1":false}...your chat bot
Tip: Before flashing from one project to another, it’s recommended to first reset the device.See section 12.1.
Enter the switch demo project directory(By default, you are currently in the root directory of TuyaOpen.).
cd apps/tuya.ai/your_chat_botUse the configuration selection command
tos.py config choiceFor T5AI Board, select TUYA_T5AI_BOARD_LCD_3.5.config, which is configuration 7.
For T5AI Board, if you need to use the camera, you can select TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config, which is configuration 8.
For WaveShare T5AI, select WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config, which is configuration 14.
...--------------------1. DNESP32S3.config2. DNESP32S3_BOX.config3. DNESP32S3_BOX2_WIFI.config4. ESP32S3_BREAD_COMPACT_WIFI.config5. T5AI_MINI_LCD_1.54.config6. T5AI_MOJI_1.28.config7. TUYA_T5AI_BOARD_LCD_3.5.config8. TUYA_T5AI_BOARD_LCD_3.5_CAMERA.config9. TUYA_T5AI_BOARD_LCD_3.5_v101.config10. TUYA_T5AI_CORE.config11. TUYA_T5AI_EVB.config12. Ubuntu.config13. WAVESHARE_ESP32S3_TOUCH_AMOLED_1_8.config14. WAVESHARE_T5AI_TOUCH_AMOLED_1_75.config15. XINGZHI_ESP32S3_Cube_0_96OLED_WIFI.config--------------------Input "q" to exit.Choice config file:Compile your_chat_bot:
tos.py buildFlash your_chat_bot:
tos.py flashDevice networking, refer to 9. Connect the device to the Tuya cloud.
For T5AI Board, the device name is chatbot-T5AI-BOARD, the icon is a green robot.
For WaveShare T5AI Board, the device name is chatbot-WAVESHARE_T5AI_1_75, the icon is a green robot.
View device logs
tos.py monitorThe app panel for your_chat_bot is as follows:
1. Role Configuration
2. Your chat history with AI
3. Role memory
4. Device volume settings
For configurations with a camera, you can ask the device what it’s seeing, and it will reply with what the camera is capturing.
FAQ
How to reset the device?
Via the app: Tap the three dots in the upper-right corner of the device app panel, then select Remove Device below. We recommend choosing Remove and Clear Data.
Via device: Power the device on and off three times, disconnecting the power within 5 seconds each time it is powered on.
Comments