Development Process

Last Updated on : 2023-06-08 02:48:30download

Before you start

Log in to the Tuya IoT Platform and register a developer account.

In order to use log query, permission sharing, and other related functions, you must upgrade your account to an organization account.

Process

  • Product definition: Define the specific functions of the product on the platform, and the core is the content and format of data transmission;

  • UI configuration: According to product characteristics, select and configure personalized UI including its style, color, icon, and more.

  • Hardware selection: You can choose the module that uses the preferred antenna type to support your product structure and volume.

  • MCU development: Adaptation and development of MCU control program including distribution network, data interaction, map transmission, and more.

  • App construction: build an app with manufacturer characteristics including the logo, welcome page, device page, and more.

  • Operation management: Configure the multi-lingual text UI, integrate the voice assistant, upgrade the OTA, and more.

Details

Product definition

New product

To create a product on the Tuya IoT platform, select Small Home Appliance > Robot Vacuum, and click Create Product to create products.
Development Process

Note:

  • Product name: The default name of the actual device, which will be displayed on the device page on the app.

  • Communication type: the way the hardware connects to the Tuya IoT PaaS. The wifi is currently supported.

Function Definition

How to define the DP

The Tuya platform abstracts the data transmitted between the device and the cloud into different types of DP. When defining the DP, it can be classified into different DP points according to the machine function for control and display.

In order to meet different development needs, the platform provides standardized functions and custom functions:

  • Standard function: For the standardization of conventional vacuum functions, it corresponds to the app panel provided by the platform for rapid development.
  • Custom function: It allows you to create functions besides standard functions.

Standard function

The standard functions cover the DPs such as cleaning switch and cleaning status. At the same time, the enumeration function allows users to add new types, such as cleaning mode, working status, error code, and more. After adding, the device control page on the app will be updated synchronously.

Development Process

Custom function

For the extended functions, you can add new functions in Custom Functions. After the addition, the corresponding control items will be generated in the setting page of the device control interface of the APP.

Six data types are available now, namely Boolean, Integer, Enum, Fault, Char type, and RAW type.

For details: see Tuya IoT Development Platform.

Development Process

Customize the UI style

After the product is defined, you can choose different styles of panels (device control page) as the interactive page of the vacuum. On the Tuya IoT platform, all-in-one panels, custom panels, DIY style panels, SDK-based panels, and visualized DIY panels are available.

  • All-in-one panel: Design modern and easy-to-use panels by personalizing different components.

  • SDK-based panel: A variety of panel SDKs let you easily develop a branded panel.

  • Custom panel: Tuya will evaluate your requirements and send you a quotation. After you complete the payment, Tuya will design and develop a panel as per your requests and associate your custom panel with your product.

  • DIY style panel: Specially designed for debugging purposes. This panel is fully functional but does not look that pretty. We recommend you change it to a nice panel after you complete debugging.

    Development Process

Module selection

The vacuum is electrically controlled, and the main board connects with Tuya IoT PaaS and the app through the cloud module. After the product is newly built, select the applicable cloud module, and complete the development of the hardware circuit according to the interface circuit of the motherboard and the cloud module, and the product requirements.

Development Process

At present, the WR3 WIFI module is available for inertial navigation vacuum products.

MCU development

MCU program development

The cloud module is connected to the MCU through serial communication, and the MCU-end realizes the interaction between machine data and the cloud according to the function DP defined in the [Product Definition] step. The MCU development process mainly involves protocol analysis, data reporting and receiving, and map data reporting.

Two approaches are available:

  • Serial port protocol

    According to the serial port protocol, MCU groups and unpacks by itself to realize data reporting and execution.

  • SDK

    The SDK interface file encapsulated by the platform is transplanted, and the MCU directly calls related functions to implement data reporting and execution.

Functional debugging

In the verification and debugging stage of product development, in order to verify the technical solution or the function of the app panel, the debugging assistant and debugging panel provided by the platform can be used to realize the data communication between the app side and the machine side, and assist the development and debugging of the development process.

Emulation assistance

Tuya IoT PaaS emulation assistant, the PC is connected to the cloud module through the serial port to simulate the MCU to send and receive DP data of the machine function, and the interactive effect can be experienced in real-time on the app side.

It is suitable for verifying the defined product functions before MCU program development and verifying the validity of data during debugging.

Panel debugging

After the equipment network function debugging is completed, the sweeper can be networked through the APP, and the sweeper can be operated on the APP to verify whether the instructions are sent and received, the app display, and the machine execution is correct.

At the same time, in the early stage of development, the MCU can use the debugging panel function to independently debug whether the logic of a certain DP is correct.

The debugging panel only retains data receiving and sending operations without interactive logic, which is suitable for debugging in the development process.

Query log

During the debugging process, you will encounter the need for querying the DP data receiving and sending process. The IoT platform provides a log query function, which allows you to view the data communication between the sweeper MCU and the APP, and is suitable for troubleshooting the operation of each end under abnormal conditions.

Note: You must upgrade your account to an organization account to operate it on the platform.

Build OEM apps

When the function development is completed, it will involve the construction of its own brand app. Tuya provides OEM apps.

You can configure items such as the app name, logo, pairing texts, product icon, and more to generate an OEM APP with manufacturer identification information and personalized.
Development Process

Related configuration

Configure multilingual options

When the target market of the product is an overseas region, the language of the app interface needs to be adjusted to the language of the corresponding region. Currently, it can support most countries and regions.

In Extended Functions, you can edit the language. When you change the system language, the app panel is also adjusted accordingly.

Development Process

OTA updates

Complete MCU OTA function.

In Firmware Update, you can customize the upload of MCU firmware, and the firmware version, upgrade information, and more all support custom management.
Development Process