Overview
TuyaOS is designed with a modular approach, with capabilities covering basic services, security, networking middleware, and various IoT services. Built on top of TuyaOS capabilities, TuyaOS NB-IoT Cellular Development Framework is a set of SDKs used to build NB-IoT products for different specifications and scenarios. Unified APIs and a variety of components allow you to focus on building applications with a consistent development experience, without taking care of specific implementations.
Architecture
Capability list
Device management
Capability |
Description |
Initialization |
After a device is powered on and started, it calls a range of APIs to initialize the hardware environment, TuyaOS software, and applications. On application initialization, you need to provide callback functions as needed to handle internal events including status changes, device controls, and firmware updates. |
Reset |
A device is restored to the settings that the device had before it was paired and activated. Device reset can be triggered by hardware operation or mobile app operation. In terms of device status after a reset, there are two types of reset: normal reset (device unbound) and factory reset (device unbound with data erased). |
Authorization |
Authorization is the process of writing the device ID assigned by Tuya to the non-volatile memory on the device for the purpose of authentication. You can perform authorization through code or a tool. The former is for debugging purposes, and the latter is for mass production. |
Basic services
Capability |
Description |
Secure storage |
Encrypted key-value store as well as file-based data storage in plain text. |
Logging service |
Local logs that record device operations. Exceptions can be recorded, sorted, and reported to the cloud. |
Event service |
Event subscription and publishing. This allows you to monitor and handle events as needed. |
Time service (time zone and daylight saving time (DST)) |
Time management and maintenance. UTC time and local time are supported. Local time is determined by UTC time, time zone, and DST. |
Timer |
Software timers. |
Job queue |
Job queues used to process asynchronous low-priority tasks on which blocking might occur. |
Connection management |
Device connection management, such as Wi-Fi, Ethernet, and Bluetooth. It is used to maintain the direct connection between devices and the network. |
Thread management |
Managing threads. |
Discrete mechanism |
The discrete mechanism is used to reduce network congestion when you onboard a large number of devices at the same time. |
Device driver
Peripheral driver
Capability |
Description |
GPIO |
GPIO driver |
ADC |
ADC driver |
PWM |
PWM driver |
I2C |
I2C driver |
UART |
UART driver |
SPI |
SPI driver |
RI |
Ring indication (RI) signal driver |
Power management
Capability |
Description |
PSM |
Power saving mode |
eDRX mode |
Extended discontinuous reception |
DRX |
Discontinuous reception |
Scheduled task
Capability |
Description |
Local schedule |
The scheduled task is downloaded to the device with a timer created accordingly. The device runs the task after the timer expires. |
Update service
Capability |
Description |
Silent update |
The device checks for and installs firmware updates automatically. |
Update notification/forced update |
The mobile app notifies the device of available firmware updates. |
Subordinate firmware update |
Update firmware and files on the device. |
File download
Capability |
Description |
File download |
The file download service for certain products and features, such as ephemeris data and fingerprint files. |
Device security
Capability |
Description |
Security system (security level and capability) |
Device authentication, secure storage, secure communication, and privacy and data compliance. |
Network
Capability |
Description |
LwM2M |
LwM2M library for China Telecom |
OneNET |
OneNET library for China Mobile |
Support and help
If you have any problems with TuyaOS development, you can post your questions in the Tuya Developer Forum.