Overview
Ethernet Device Development Kit is built on top of the TuyaOS and designed for developing smart Ethernet products. This kit includes a host of features and functions to help you develop easily, including device pairing, activation, security, cloud connectivity, device control, and OTA updates. You do not need to take care of feature implementation for different Ethernet chip platforms. Just working on the standard APIs, you can connect your products to the Tuya Developer Platform and make them IoT-enabled.
Features
Ethernet Device Development Kit allows you to develop products with an additional networking capability. For example, enable screen-equipped products to be capable of being connected to a wireless router. You can also use this kit to develop products that need cloud connectivity only without TuyaOS capabilities.
Resource requirements
Ethernet Device Development Kit requires 150 KB ROM and 50 KB RAM. The memory footprint of a development kit depends on the chip platform for use.
Capability map
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. |
Pairing and activation
Capability |
Description |
Device binding over a LAN |
After a device is connected to a router, it regularly sends user datagram protocol (UDP) packets over a LAN. After the mobile app receives a packet, it negotiates a secret key and then sends the activation token to the device. The device then authenticates with the cloud for activation using the authorization information and token. |
Device binding via QR code |
After the device is connected to the router, the mobile app scans the QR code on the device body or on the device’s screen to get device information. Then, through the cloud, the mobile app pushes the activation token to the device that has been connected to the server. The device authenticates with the cloud for activation using the authorization information and token. |
Device control
Capability |
Description |
Data point (DP) model and device control protocol |
The TuyaOS device model description, which is used to control a physical device. |
Control over LAN |
When the mobile app and a device are connected to the same LAN, the device can be controlled over a LAN. |
Basic services
Capability |
Description |
Secure storage |
Encrypted key-value store as well as file-based data storage in plain text. |
Health checks |
Regularly check the device memory, wireless signal, and task status. You can customize the metrics. |
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 queue |
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. |
Device driver
Connection driver
Capability |
Description |
Ethernet |
Ethernet driver |
Peripheral driver
Capability |
Description |
GPIO |
GPIO driver |
ADC |
ADC driver |
PWM |
PWM driver |
I2C |
I2C driver |
I2S |
I2S driver |
UART |
UART driver |
DAC |
DAC driver |
SPI |
SPI driver |
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. |
Sunrise/sunset-based schedule |
One of the types of local schedule, allowing users to schedule tasks based on local sunrise and sunset. |
Calendar-based schedule |
One of the types of local schedule, allowing users to schedule tasks with a recurrence pattern. For example, repeat weekly, repeat on odd or even days, or repeat every x day(s) or hour(s). |
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. |
Device security
Capability |
Description |
Security system (security level and capability) |
Device authentication, secure storage, secure communication, and privacy and data compliance. |
Network
Capability |
Description |
iot-dns |
Domain name configuration, certificate management, and domain name resolution. |
https |
HTTPS library. |
mqtt over tls |
MQTT library. |
mbedTLS |
Mbed TLS library. |
Support and help
If you have any problems with TuyaOS development, you can post your questions in the Tuya Developer Forum.