System, method and related device for managing IoT (Internet of Things) device

By separating the product information of IoT devices in the system of the terminal device and storing them on different servers, the problem of inefficiency of the cloud platform in managing product information of diverse IoT devices is solved, and more efficient data management and processing is achieved.

CN119967033AActive Publication Date: 2025-05-09HONOR DEVICE CO LTD
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
CN202311433409.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-30
Publication Date
2025-05-09
Estimated Expiration
2043-10-30

AI Technical Summary

Technical Problem

Due to the diversity of IoT devices and the excessive product information of different manufacturers, cloud platforms are under pressure and inefficient when managing IoT devices' product information.

Method used

By setting up a system in the terminal device, the system includes three servers: the first server receives product information of the IoT device and separates the configuration information and resource packages, the second server stores and manages the configuration information, and the third server stores and manages the resource packages. The terminal device only needs to interact with the second and third servers to obtain the required information, reducing the communication pressure of the first server.

Benefits of technology

It reduces the complexity of IoT device product information management, improves processing efficiency, and reduces the pressure on data management.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119967033A_ABST
    Figure CN119967033A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a system, a method and a related device for managing IoT (Internet of Things) equipment, the system comprises a first server, a second server and a third server of terminal equipment, the first server is used for receiving product information of the IoT equipment, and the product information comprises configuration information and a resource packet; the configuration information is sent to the second server, and the resource packet is sent to the third server; the second server is used for receiving and storing the configuration information; after a first request from the terminal equipment is received, configuration information is sent to the terminal equipment, and the configuration information is used for the terminal equipment to obtain the resource packet; the third server is used for receiving and storing the resource packet; and after a second request from the terminal equipment is received, a resource packet is sent to the terminal equipment, and the resource packet is used for the terminal equipment to realize a function of controlling the IoT equipment. According to the invention, the processing efficiency can be improved, and the data management pressure can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminal technology, and in particular to a system, method and related apparatus for managing IoT devices. Background Art

[0002] With the continuous development of terminal technology, users have more and more types and functions of Internet of Things (IoT) devices. IoT devices of the same type or function can be provided by different manufacturers. When IoT devices provided by different manufacturers are connected to mobile phones, tablets or other terminal devices, in order to better manage or use IoT devices (such as Bluetooth headsets, Bluetooth speakers, sports watches / bracelets, wearable devices, etc.), it is usually necessary to install a control application (application, APP) on the terminal device that can manage the above IoT devices.

[0003] First, developers of IoT devices need to create and manage IoT devices on the cloud platform. When an IoT device needs to be managed or used through a terminal device, the control APP can directly obtain the product information of the IoT device from the cloud platform.

[0004] Since the IoT devices that need to be managed or used may come from different manufacturers, or there may be IoT devices of different types and functions, there is a lot of product information of IoT devices of different types and functions from different manufacturers on the cloud platform, which leads to high pressure and low efficiency in managing the product information of IoT devices on the cloud platform. Summary of the invention

[0005] The embodiments of the present application provide a system, method and related apparatus for managing IoT devices, which can improve processing efficiency and reduce the pressure on data management.

[0006] In a first aspect, the present application provides a system for managing IoT devices, the system comprising a first server, a second server and a third server of a terminal device, wherein:

[0007] The first server is used to: receive product information of an IoT device, wherein the product information includes configuration information and a resource package; send the configuration information to the second server, and send the resource package to the third server;

[0008] The second server is used to: receive and store the configuration information; after receiving the first request from the terminal device, send the configuration information to the terminal device, the configuration information is used for the terminal device to obtain the resource package;

[0009] The third server is used to: receive and store the resource package; after receiving the second request from the terminal device, send the resource package to the terminal device, and the resource package is used by the terminal device to realize the function of controlling the IoT device.

[0010] In an embodiment of the present application, by synchronizing the configuration information in the product information of the IoT device uploaded to the first server to the second server and synchronizing the resource package to the third server, the complexity of product information management of the IoT device can be reduced and the processing efficiency can be improved.

[0011] In a possible implementation manner of the first aspect, a control application is installed in the terminal device, and the terminal device is used to:

[0012] In response to a user operation acting on the control application, the first request is sent to the second server, wherein the control application is used by the terminal device to manage the IoT device.

[0013] It can be seen that when the terminal device runs the control application, it only needs to interact with the second server, not the first server. In other words, the first server only needs to interact with the device that uploads the product information of the IoT device, which can reduce the communication pressure of the first server.

[0014] In a possible implementation manner of the first aspect, the terminal device is further used for:

[0015] Displaying the application interface of the control application;

[0016] In response to a user operation on the application interface, the second request is sent to the third server.

[0017] It can be seen that when the terminal device uses the IoT device in the control application, it only needs to interact with the third server and does not need to interact with the first server, which can reduce the communication pressure of the first server.

[0018] In a possible implementation manner of the first aspect, the terminal device is specifically used to:

[0019] In response to a user operation on the control application, obtaining compilation and packaging information corresponding to the control application;

[0020] Determining the running state of the control application according to the compiled packaging information;

[0021] The first request is sent to the second server according to the running state of the control application, wherein the first request is used to request configuration information related to the running state from the second server.

[0022] It can be seen that the second server only needs to maintain the state mapping related to the configuration information, which can reduce the maintenance complexity.

[0023] In a possible implementation manner of the first aspect, the terminal device is specifically used to:

[0024] Determining a function of the IoT device according to configuration information related to the operating state;

[0025] The second request is sent to the third server, wherein the second request is used to request a resource package related to the function of the IoT device from the third server.

[0026] It can be seen that the third server only needs to maintain the state mapping related to the resource package, which can reduce the maintenance complexity.

[0027] In a possible implementation of the first aspect, the product information includes one or more of unaudited product information, audited product information, and authenticated product information.

[0028] In a possible implementation manner of the first aspect, the running state of the control application includes: one or more of the unaudited state, the audited state, and the authenticated state.

[0029] In a second aspect, the present application provides a method for managing IoT devices, which is applied to a terminal device, wherein a control application is installed in the terminal device, and the control application is used by the terminal device to manage the IoT device. The method includes:

[0030] In response to a user operation acting on the control application, sending a first request to a second server, wherein the second server is used to store configuration information of the IoT device;

[0031] receiving the configuration information from the second server, and displaying an application interface of the control application;

[0032] In response to a user operation on the application interface, sending a second request to a third server, wherein the third server is used to store a resource package of the IoT device;

[0033] Receive a resource package from the third server and display an icon of the IoT device, wherein the resource package is used by the terminal device to implement a function of controlling the IoT device.

[0034] In a possible implementation manner of the second aspect, in response to a user operation acting on the control application, sending a first request to the second server includes:

[0035] In response to a user operation on the control application, obtaining compilation and packaging information corresponding to the control application;

[0036] Determining the running state of the control application according to the compiled packaging information;

[0037] The first request is sent to the second server according to the running state of the control application, wherein the first request is used to request configuration information related to the running state from the second server.

[0038] In a possible implementation of the second aspect, the sending a second request to a third server in response to a user operation acting on the application interface includes:

[0039] In response to a user operation on the application interface, determining a function of the IoT device according to configuration information related to the operating state;

[0040] The second request is sent to the third server, wherein the second request is used to request a resource package related to the function of the IoT device from the third server.

[0041] In a possible implementation manner of the second aspect, the product information includes one or more of unaudited product information, audited product information, and authenticated product information.

[0042] In a possible implementation manner of the second aspect, the running state of the control application includes: one or more of the unaudited state, the audited state, and the authenticated state.

[0043] In a third aspect, an embodiment of the present application provides a terminal device, the terminal device comprising one or more processors; a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code comprises computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method for managing IoT devices described in the second aspect or any possible implementation of the second aspect.

[0044] In a fourth aspect, the present application provides a chip or a chip system, which includes at least one processor and a communication interface, wherein the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used to run a computer program or instruction to execute the method for managing IoT devices described in the first aspect or any possible implementation of the first aspect. The communication interface in the chip can be an input / output interface, a pin, or a circuit, etc.

[0045] In a possible implementation, the chip or chip system described above in the embodiment of the present application further includes at least one memory, in which instructions are stored. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (e.g., a read-only memory, a random access memory, etc.).

[0046] In a fifth aspect, an embodiment of the present application provides a computer storage medium, which stores a computer program. When the computer program is executed by a processor, the computer executes the method for managing IoT devices as described in the first aspect or any possible implementation of the first aspect.

[0047] In a sixth aspect, an embodiment of the present application provides a computer program product, which, when executed on a communication device, enables the communication device to execute X as described in the first aspect or any possible implementation of the first aspect.

[0048] It should be understood that the description of technical features, technical solutions, beneficial effects or similar language in this application does not imply that all features and advantages can be realized in any single embodiment. On the contrary, it is understood that the description of features or beneficial effects means that specific technical features, technical solutions or beneficial effects are included in at least one embodiment. Therefore, the description of technical features, technical solutions or beneficial effects in this specification does not necessarily refer to the same embodiment. Furthermore, the technical features, technical solutions and beneficial effects described in the present embodiment can also be combined in any appropriate manner. Those skilled in the art will understand that the embodiment can be realized without one or more specific technical features, technical solutions or beneficial effects of a specific embodiment. In other embodiments, additional technical features and beneficial effects can also be identified in a specific embodiment that does not embody all embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The following is an introduction to the drawings used in the embodiments of the present application.

[0050] Figure 1A , Figure 1B and Figure 1C The system architecture of the communication system 10 provided in the embodiment of the present application is exemplified;

[0051] Figure 2 It is a schematic diagram of the architecture of a cloud platform 20 provided in an embodiment of the present application;

[0052] Figures 3A-3D The relevant user interface for interacting with the cloud server 300 and the cloud server 400 when the smart space APP is started is shown;

[0053] Figure 4 This is a schematic diagram of interaction between a terminal device and a server provided in an embodiment of the present application;

[0054] Figure 5 It is a schematic diagram of an interactive process of a method for managing IoT devices provided in an embodiment of the present application;

[0055] Figure 6 A schematic diagram of the structure of the terminal device 100 is shown;

[0056] Figure 7 A schematic diagram of the structure of a server provided in an embodiment of the present application is exemplified. DETAILED DESCRIPTION

[0057] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more listed items.

[0058] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.

[0059] References to "one embodiment" or "some embodiments" etc. described in the specification of the present application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in the specification of the present application do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0060] In order to better understand the embodiments of the present application, the terms or concepts that may be involved in the embodiments are explained below.

[0061] 1. Internet of things (IoT) devices, physical objects in the IoT network. In the embodiments of the present application, IoT devices may be smart home devices, such as smart speakers, smart screens, smart lights, smart air conditioners, smart refrigerators, smart door locks, smart rice cookers, treadmills, smart kettles, water purifiers, printers, or smart curtains. In addition, IoT devices may also be smart devices such as vehicle-mounted devices, wearable devices, augmented reality (AR) / virtual reality (VR) devices, and the embodiments of the present application do not impose any restrictions on the specific types of IoT devices.

[0062] 2. Control application (APP), an APP used to control and manage IoT devices, such as a smart space APP, a smart life APP, or a sports and health APP. The control APP may include a host APP and an APP plug-in loaded on the host APP. In the embodiment of the present application, the host APP of the smart space APP is called the smart space host APP, and the host APP of the smart life APP is called the smart life host APP.

[0063] 3. Control terminal: terminal equipment installed with control APP, including but not limited to mobile phones, tablet computers, wearable devices, laptops, ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDA), etc.

[0064] 4. Development terminal: a terminal device equipped with the function of developing IoT devices.

[0065] 5. Cloud server: also known as IoT cloud, smart home cloud, cloud platform, cloud or device cloud, etc. Cloud server is used to store data related to IoT devices or control terminals, or to forward and transmit data (for example, control instructions) between terminals and IoT devices.

[0066] 6. IoT platform: An integrated platform that integrates IoT device management, data security communication, and message subscription capabilities. The IoT platform supports connecting IoT devices and collecting data from IoT devices. It also provides an application programming interface (API) to control the IoT devices. The control terminal can send instructions to the IoT devices by calling the API to achieve remote control of the IoT devices. The IoT platform can be built in a cloud server, so the IoT platform is also called an IoT cloud platform.

[0067] The IoT platform can include an access layer and a functional layer. The access layer is used to connect with IoT devices and control apps. The functional layer is used to implement related functions in the application process of IoT devices, including but not limited to identity verification, data encryption, IoT device upgrades, data storage, account management, device binding, and data forwarding.

[0068] In one implementation, developers upload product information, upgrade information, etc. of IoT devices to the IoT platform through development terminals. Users obtain product information, upgrade information, etc. of IoT devices from the IoT platform through control terminals.

[0069] In one implementation, developers can use the shelf-based protocol access solution to create product information for a certain model of IoT device on the IoT platform. The product information mainly goes through the following life cycle: uploading product information (also known as unreviewed status), reviewing product information (also known as reviewed status), and certifying product information (also known as certified status). Among them, the unreviewed status indicates that the product is the latest updated product. The reviewed status indicates that the product has been tested and reviewed. The certified status indicates that the product can be released and users can update and use the product.

[0070] 7. Control APP account information: information registered by the user in the control APP to represent the user's identity. APP account is also called APP user information, or APP user identity document (user ID).

[0071] The following is an introduction to a communication system 10 involved in a method for managing multiple IoT devices provided in an embodiment of the present application.

[0072] Figure 1A , Figure 1B and Figure 1C The system architecture of the communication system 10 provided in the embodiment of the present application is exemplified. The communication system 10 may specifically be a system for managing IoT devices.

[0073] like Figure 1A , Figure 1B and Figure 1C As shown, the communication system 10 includes but is not limited to: a control device 101, a development device 102 and a server 200. Among them, the development device 102 is used to develop product functions of different IoT devices, the control device 101 includes a control APP1 and a control APP2, and the server 200 is a server for controlling APP1 or controlling APP2. Both the control device 101 and the development device 102 can communicate with the server 200 through a communication network. Among them:

[0074] In order to complete the access control APP1 and / or control APP2 of different IoT devices, the development device 102 needs to send product information of various IoT devices to the server 200. Therefore, product information of various IoT devices is stored in the server 200. Different development devices correspond to different development environments, so the product information of IoT devices also includes product information under different development environments.

[0075] For example, for example, the developer of the smart screen sends the product information of the smart screen to the server 200 through the development device 102. Since the models of the smart screen include model 1, model 2, and model 3, the product information of the smart screen includes the product information of model 1, model 2, and model 3. Therefore, the server 200 stores the product information of IoT devices of different models or different versions from different manufacturers. It can be seen that the server 200 needs to manage the product information of IoT devices of different models or different versions from different manufacturers. Since the data mapping is more complicated, it is more difficult to manage and maintain.

[0076] In one implementation, in order to save the volume and size of control APP1 or control APP2, a shelf-based protocol is used to dynamically load different protocols of IoT devices, so the bottom layer of control APP1 or control APP2 uses a shelf-based protocol. That is, different models or different versions of IoT devices under the same manufacturer correspond to different shelf package resources.

[0077] The control device 101 registers and logs in to the account of the control APP1 or the control APP2. The user can view, manage, and control the devices bound to the account 1 through the control APP1 of the control device 101, and the user can view, manage, and control the devices bound to the account 2 through the control APP2 of the control device 101. Among them, the account 1 and the account 2 can be the same or different.

[0078] For example, when the control device 101 needs to add a certain IoT device, the control device 101 requests the product information corresponding to the IoT device from the server 200 through the control APP1 or the control APP2. For example, if the device to be added is a smart screen of model 1, the server 200 is requested to obtain the prdld list file - index_all.json of the smart screen of model 1 and the shelf package resources corresponding to the prdld of the smart screen of model 1. The server 200 sends the product information corresponding to the smart screen of model 1 to the control device 101, such as configuration information and shelf package resources.

[0079] It can be seen that Figure 1A The server 200 shown needs to interact with the development device 102 to receive and store product information of IoT devices developed in different development environments. The server 200 also needs to interact with the control device 101 to send the product information of the corresponding IoT device to the control device 101. This will cause great communication pressure and storage pressure on the server 200, making it difficult to maintain.

[0080] like Figure 1B As shown, the communication system 10 also includes a server 300. After the server 200 receives the product information of various IoT devices from the development device 102, the server 200 can synchronize part of the product information of the IoT device to the server 300, such as configuration information, prdld list file-index_all.json. Therefore, the version number of index_all.json of the shelf package resource of the IoT device is stored in the server 300, and the server 200 stores the resource package of the IoT device.

[0081] When the control device 101 needs to add or update an IoT device, it needs to request product information from the cloud. In one implementation, the control device 101 requests product information of the IoT device from the server 200 and the server 300 respectively. For example, the control device 101 requests the shelf package resource corresponding to the prdld of the IoT device and the version number of index_all.json from the server 200. The control device 101 requests the configuration information of the IoT device, the prdld list file - index_all.json, from the server 300.

[0082] It can be seen that in order to relieve the pressure on the server 200, the functions of the shelf protocol package are separated, and the server 300 takes on some of the functions. That is, the shelf package resources of the IoT device are obtained from the server 200, and the configuration information of the IoT device is obtained from the server 400. However, the server 200 still needs to interact with the control device 101 and the development device 102. For the server 200, it will still cause relatively large communication pressure and storage pressure, and it is more difficult to maintain information.

[0083] from Figure 1A or Figure 1B It can be seen that in order to support different processes, different environments, and different platform systems to complete the business of the entire life cycle of the same product, there are usually different docking solutions between different environments and different systems. With the expansion of business and the evolution of processes, the existing docking and dependencies will become more complex and uncontrollable. The main problems are as follows: the platform environment for development devices (such as devices used by developers or access manufacturers) is different from the platform environment for control devices (such as devices used by users to use products), so there are environmental differences; the docking between versions of different environments for different devices (such as developers or access manufacturers, product users) often requires maintaining different state mappings, which is more complicated to maintain; the evolution and expansion of product business generally evolves from a single system and a single process to a multi-dimensional, multi-system, and multi-process. If the environmental dependency of the single system at the beginning is fixed, the environmental dependency of the newly added system in the subsequent evolution must be docked according to the initial dependency relationship, which does not take advantage of the development of the business.

[0084] like Figure 1C As shown, the communication system 10 may further include a server 400. After the server 200 receives product information of various IoT devices from the development device 102, the server 200 may synchronize the shelf package resources in the product information to the server 300 (for example, the plug-in cloud), and synchronize the configuration information in the product information to the server 400 (for example, the device cloud). Therefore, the server 300 stores shelf package resources of various IoT devices, and the server 400 stores configuration information of various IoT devices, such as index_all.json information and resource.json information.

[0085] When the control device 101 needs to add or update an IoT device, it needs to request the product information of the IoT device from the cloud. In one implementation, the control device 101 first requests the configuration information of the IoT device from the server 300, and after receiving the configuration information of the IoT device, requests the shelf package resources of the IoT device from the server 400 according to the configuration information. After receiving the shelf package resources of the IoT device from the server 400, the control device 101 can add or update the functions of the IoT device according to the shelf package resources of the IoT device, so as to control or manage the IoT device.

[0086] It can be seen that Figure 1C Relative to Figure 1A For example, server 300 and server 400 are newly introduced. Figure 1C Relative to Figure 1B For example, server 400 is newly introduced. In this way, Figure 1C In the communication system 10 shown, the server 200, the server 300 and the server 400 each have different functions. The server 200 is used to interact with the development device 102 to obtain product information of different IoT devices, and then synchronize part of the product information to the server 300, which is managed by the server 300, and synchronize the other part to the server 400, which is managed by the server 400. The server 300 and the server 400 are used to interact with the control device 101 and provide the control device 101 with information corresponding to the request according to the request of the control device 101.

[0087] It should be understood that Figure 1A , Figure 1B and Figure 1C The system structure diagram of the communication system provided in the embodiment of the present application is only a schematic diagram, and does not constitute a specific limitation on the communication system 10. The communication system 10 may include more or less devices than shown in the figure, for example, it may also include a wireless relay device and a wireless backhaul device ( Figure 1A , Figure 1B and Figure 1C ), which is not shown in the figure and is not limited here.

[0088] In the embodiment of the present application, the above-mentioned control APP1 can be a third-party application (such as a smart space APP or a smart control application), and the above-mentioned control APP2 can be a sports health APP. This application does not specifically limit the control APP1 and the control APP2. Taking the control APP1 as an example, the account of the control APP1 can be an account of an account system unique to the control APP1 (such as a Honor account), a mobile phone number (such as a mobile phone number), an email account, an account of a social application, or an account of other designated applications. In some embodiments, the account of the control APP1 can be bound to accounts of other account systems. For example, the account of the control APP1 is a Huawei account, and can also be bound to accounts such as mobile phone numbers, email accounts, and social application accounts.

[0089] The communication network may include local area networks (LAN) and / or wide area networks (WAN). The communication network may be implemented using any known network communication protocol, which may be various wired or wireless communication protocols, such as Ethernet, universal serial bus (USB), FIREWIRE, global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), Bluetooth, wireless fidelity (Wi-Fi), NFC, voice over Internet protocol (VoIP), communication protocols supporting network slicing architecture, or any other suitable communication protocols.

[0090] Server 200, server 300 and server 400 may be a single server, or a server cluster consisting of multiple servers, or a cloud computing center. The server involved in the embodiment of the present application may also be referred to as a cloud server, cloud, cloud side, cloud platform or IoT cloud platform.

[0091] Taking a certain model of IoT device accessing the ecological platform (such as server 200) from the manufacturer as an example, the method for managing IoT devices provided in the embodiment of the present application is introduced. A certain model of IoT device can create product information of the model of device on the ecological platform (such as server 200) according to the adopted shelf protocol access solution.

[0092] See also Figure 2 , Figure 2 20 is a schematic diagram of the architecture of a cloud platform 20 provided in an embodiment of the present application. Figure 2 It can be seen that the cloud platform 20 includes server 200, server 300 and server 400. Among them, server 200 can be a development platform for IoT devices, such as the Honor Developer Platform, and server 300 can be a device cloud. Server 400 can be a plug-in cloud. Server 300 stores a list of grayscale users and is also used to manage grayscale users.

[0093] like Figure 2 As shown, the server 200 stores product information of a certain model of equipment in different life cycles, such as product information in an unaudited state, product information in an audited state, and product information in an authenticated state. It should be noted that different life cycles are not limited to the unaudited state, audited state, and authenticated state mentioned in this application, and may also include more or fewer states.

[0094] Take the product information of device model A (currently in the authenticated state) and device model B (currently in the reviewed state) as an example for explanation, specifically including but not limited to: product information of device model A in the unreviewed state, product information of device model B in the unreviewed state, product information of device model A in the reviewed state, product information of device model B in the reviewed state, and product information of device model A in the authenticated state. Among them, the product information includes configuration information and shelf package.

[0095] In one implementation, the server 200 synchronizes the product information in the unreviewed state with the server 300 and the server 400. Specifically, it includes S1.1 and S1.2.

[0096] S1.1, the server 200 synchronizes the configuration information in the unreviewed product information with the server 300.

[0097] Specifically, the server 200 synchronizes the shelf-based protocol class configuration information in an unreviewed state to the pre-production environment of the server 300. Further, the server 200 synchronizes the shelf-based protocol class configuration information in an unreviewed state of a certain model of equipment to: the unreviewed field (also referred to as unreviewed configuration information) under the configuration information under the product information of the model of equipment in the pre-production environment of the server 300. Among them, the configuration information under the product information of a certain model of equipment specifically includes the configuration information of the device model A in an unreviewed state and the configuration information of the device model B in an unreviewed state. Exemplarily, the unreviewed fields under the configuration information include one or more of the following: rules, modes, protocols, etc. for end-side product discovery; information of the shelf-based package, such as version number, update time, shelf-based package format, size of the shelf-based package, signature and MD5 checksum of the shelf-based package, etc.

[0098] S1.2, the server 200 synchronizes the shelf-ready package in the product information in the un-reviewed state with the server 400.

[0099] Specifically, the server 200 synchronizes the unreviewed shelf-based package to the pre-production environment of the server 400. Further, the server 200 synchronizes the relevant information of the unreviewed shelf-based package of a certain model of equipment to: the unreviewed field (also referred to as unreviewed shelf-based package) under the shelf-based package under the product information of the model of equipment in the pre-production environment of the server 400. Among them, the shelf-based package under the product information of a certain model of equipment specifically includes the shelf-based package of the device model A in the unreviewed state and the shelf-based package of the device model B in the unreviewed state. Exemplarily, the unreviewed field under the shelf-based package includes one or more of the following: information of the shelf-based package, such as version number, update time, shelf-based package format, size of the shelf-based package, signature and MD5 checksum of the shelf-based package, etc. The above information must be consistent with that in S1.1. In addition, the unreviewed field in S1.2 also includes a download link for the shelf-based package.

[0100] In one implementation, the server 200 synchronizes the product information in the audited state with the server 300 and the server 400. Specifically, it includes S2.1 and S2.2.

[0101] S2.1, the server 200 synchronizes the configuration information in the product information in the audited state with the server 300.

[0102] Specifically, the server 200 synchronizes the shelf-based protocol class configuration information in the reviewed state to the pre-production environment of the server 300. Further, the server 200 synchronizes the shelf-based protocol class configuration information in the reviewed state of a certain model of equipment to: the reviewed field (also referred to as reviewed configuration information) under the configuration information under the product information of the model of equipment in the pre-production environment of the server 300. Among them, the configuration information under the product information of a certain model of equipment specifically includes the configuration information of the device model A in the reviewed state and the configuration information of the device model B in the reviewed state. Exemplarily, the fields included in the unreviewed field under the configuration information are the same as S1.1, which will not be repeated here.

[0103] S2.2, the server 200 synchronizes the shelf-ready package in the product information in the reviewed state with the server 400.

[0104] Specifically, the server 200 synchronizes the shelf-based package in the reviewed state to the pre-production environment of the server 400. Further, the server 200 synchronizes the relevant information of the shelf-based package in the reviewed state of a certain model of equipment to: the reviewed field (also referred to as the reviewed shelf-based package) under the shelf-based package under the product information of the model of equipment in the pre-production environment of the server 400. Among them, the shelf-based package under the product information of a certain model of equipment specifically includes the shelf-based package of the device model A in the reviewed state and the shelf-based package of the device model B in the reviewed state. Exemplarily, the fields included in the reviewed field under the shelf-based package are the same as those in S1.2 with respect to constraints, which will not be repeated here.

[0105] In one implementation, the server 200 synchronizes the authenticated product information with the server 300 and the server 400. Specifically, it includes S3.1 and S3.2.

[0106] S3.1, the server 200 synchronizes the configuration information in the authenticated product information with the server 300.

[0107] Specifically, the server 200 synchronizes the shelf-based protocol configuration information in the authenticated state to the production environment of the server 300. Further, the server 200 synchronizes the shelf-based protocol configuration information in the authenticated state of a certain model of equipment to: the authenticated field (also referred to as authenticated configuration information) under the configuration information under the product information of the model of equipment in the pre-production environment of the server 300. Among them, the configuration information under the product information of a certain model of equipment specifically includes the configuration information of the device model A in the authenticated state and the configuration information of the device model B in the authenticated state. Exemplarily, the fields included in the unaudited field under the configuration information are the same as S1.1, which will not be repeated here.

[0108] S3.2, the server 200 synchronizes the shelf-ready package in the authenticated product information with the server 400.

[0109] Specifically, the server 200 synchronizes the shelf-ready package in the authenticated state to the production environment of the server 400. Further, the server 200 synchronizes the relevant information of the shelf-ready package in the authenticated state of a certain model of equipment to: the authenticated field (also referred to as authenticated configuration information) under the shelf-ready package under the product information of the model of equipment in the pre-production environment of the server 400. Among them, the shelf-ready package under the product information of a certain model of equipment specifically includes the shelf-ready package of the device model A in the authenticated state and the shelf-ready package of the device model B in the authenticated state. Exemplarily, the fields and constraints included in the authenticated field under the shelf-ready package are the same as those in S1.2, and will not be repeated here.

[0110] Unlike the pre-production environment, there is no need to distinguish between different states in the production environment.

[0111] The following takes the control APP1 as a smart space APP as an example to introduce the application scenario involved in this application and the user interface (UI) in this scenario.

[0112] Starting from a certain model of IoT device being connected to the ecological platform (such as server 200) from the manufacturer, after going through the above-mentioned different life cycles, different environments and / or different versions of the Smart Space APP for different users will be used. For example, when a developer uses the Smart Space APP, the account that the developer registers and logs in to the Smart Space APP through the terminal device 100 is a development account, and the products of the IoT devices managed in the Smart Space APP are in an unreviewed state. When a tester uses the Smart Space APP, the account that the tester registers and logs in to the Smart Space APP through the terminal device 100 is a test account, and the products of the IoT devices managed in the Smart Space APP are in a reviewed state. When an existing network user (including a grayscale user) uses the Smart Space APP, the account that the existing network user registers and logs in to the Smart Space APP through the terminal device 100 is a user account, and the products of the IoT devices managed in the Smart Space APP are in an authenticated state.

[0113] For example, Figure 3A-3D The relevant user interface for interacting with cloud server 300 and cloud server 400 when the smart space APP is started is shown.

[0114] like Figure 3AAs shown, developers / manufacturers can provide product information of IoT devices to server 200, including configuration information and shelf-ready packages, etc. Because the products of IoT devices go through different life cycles, server 200 stores configuration information and shelf-ready packages in different states (for example, state 1, state 2, and state 3). Exemplarily, state 1 can be an unreviewed state, state 2 can be a reviewed state, and state 3 can be an authenticated state. Server 200 synchronizes configuration information in different states (for example, state 1, state 2, and state 3) to server 300, so server 300 can store configuration information in different states (for example, state 1, state 2, and state 3).

[0115] Figure 3A Also shown is a main interface 11 on the terminal device 100 for displaying applications installed on the terminal device 100. The main interface 11 may include: a status bar calendar indicator, a weather indicator, a tray with common application icons, and other application icons, such as an application icon 103 of the Smart Space APP.

[0116] like Figure 3A As shown, in response to the user clicking the icon 103 of the smart space APP, the terminal device 100 obtains the account information, environment information and version information of the smart space APP. The terminal device 100 requests the server 300 to synchronize the shelf package configuration information of the corresponding state that can be seen by the user according to the account information, environment information and version information. For example, it can be divided into the following situations:

[0117] Case 1: If the Smart Space APP is for developers to use, they can view the shelf package configuration information in an unreviewed state. Then, through the pre-production environment interface of the server 300, request to parse the unreviewed fields under the shelf package configuration information under the product information specified in S1.1 above.

[0118] Case 2: If the Smart Space APP is for testers (such as beta users), they can view the shelf package configuration information in the reviewed state. Then, through the pre-production environment interface of server 300, request to parse the reviewed fields under the shelf package configuration information under the product information specified in S2.1 above.

[0119] Case 3: If the Smart Space APP is for existing network users (including grayscale users), the shelf package configuration information in the authenticated state can be viewed. Then, through the production environment interface of the server 300, a request is made to parse the authenticated field under the shelf package configuration information under the product information specified in S3.1 above. In one implementation, based on the grayscale user list stored in the server 300, the server 300 will only return the configuration information under the corresponding user, so that grayscale management and control can be performed.

[0120] like Figure 3A As shown, after receiving the configuration information from the server 300 , the terminal device 100 can display the home page 12 of the smart space APP. The home page 12 includes a page navigation bar, a home group option, a display navigation bar 104 , a device display area 105 , and an add control 106 .

[0121] The device information of the IoT device displayed in the device display area 105 may include the device icon, device name, network connection status (such as "online", "offline", etc.), classification information of the space / room to which it belongs (such as "living room", "master bedroom") and connection method (such as Bluetooth).

[0122] Among them, on the smart space APP side, when the terminal device 100 performs operations such as device discovery, network connection and device control on the home page 12, the shelf package configuration information of the corresponding device model may be used as needed, depending on the discovery matching rule field in the shelf package configuration information, such as the S1.1 "discovery rule" field.

[0123] For example, the terminal device 100 obtains that device model A has three capabilities of discovery, network configuration, and control based on the configuration information of device model A. Therefore, the terminal device 100 can perform a discovery operation, a network configuration operation, or a control operation on device model A. The terminal device 100 obtains that device model B has two capabilities of discovery and network configuration based on the configuration information of device model B. Therefore, the terminal device 100 can perform a discovery operation or a network configuration operation on device model B. The terminal device 100 obtains that device model C has a discovery capability based on the configuration information of device model C. Therefore, the terminal device 100 can perform a discovery operation on device model B.

[0124] For example, a certain model of IoT device has the ability to discover devices. Figure 3B The terminal device 100 can receive a user operation acting on the add control 106 in the home page 12, see Figure 3C , in response to Figure 3B According to the user operation shown, the terminal device 100 can display a menu box 301, which includes functional controls such as adding a device 302, sharing a device, creating a scene, and connecting to a third-party platform.

[0125] In one implementation, in response to an action on Figure 3C The user operation shown in the figure, the terminal device 100 scans nearby devices and displays Figure 3D The user interface 31 is shown.

[0126] like Figure 3DAs shown, developers / manufacturers can provide product information of IoT devices to server 200, including configuration information and shelf-ready packages, etc. Because the products of IoT devices go through different life cycles, server 200 stores configuration information and shelf-ready packages in different states (for example, state 1, state 2, and state 3). Exemplarily, state 1 can be an unreviewed state, state 2 can be a reviewed state, and state 2 can be an authenticated state. Server 200 synchronizes shelf-ready packages in different states (for example, state 1, state 2, and state 3) to server 400, so server 400 can store shelf-ready packages in different states (for example, state 1, state 2, and state 3).

[0127] The user interface 31 includes prompt information 303, a manual add control 304, and a scan add control 305. The prompt information 303 is used to prompt that nearby devices are being scanned; the manual add control 304 is used to trigger adding the device by manual input; the scan add control 305 is used to trigger adding the device by scanning the device QR code.

[0128] from Figure 3D It can be seen that when the terminal device 100 scans nearby devices, the terminal device 100 can parse the acquired configuration information to obtain the discovery rules of different device models, and then request the server 400 to synchronize the corresponding state of the shelf package that can be seen by the user according to the device model, account information, environment information and version information. For example, it can be divided into the following situations:

[0129] Case 1: If the Smart Space APP is for developers to use, they can view the shelf-based package in an unreviewed state. Then, through the pre-production environment interface of server 400, request to parse the unreviewed fields under the shelf-based package under the product information specified in S1.2 above.

[0130] Case 2: If the Smart Space APP is for testers (such as beta users), they can view the shelf-based package in the reviewed state. Then, through the pre-production environment interface of server 400, request to parse the reviewed field under the shelf-based package under the product information specified in S2.2 above.

[0131] Case 3: If the Smart Space APP is for existing network users (including grayscale users), the shelf-based package can be viewed in an authenticated state. Then, through the pre-production environment interface of server 400, a request is made to parse the authenticated fields under the shelf-based package under the product information specified in S3.2 above.

[0132] like Figure 3D As shown, after the terminal device 100 obtains the fields under the shelf package of the specified model device from the server 400, the discovered device 312 can be displayed.

[0133] See also Figure 4 , Figure 4 Schematic diagram of interaction between a terminal device and a server provided in an embodiment of the present application. Figure 4 As shown, taking the control APP as the smart space APP as an example, the terminal device 100 may include modules related to the smart space APP, specifically including one or more of the following: a device management module 401, a device control module 402, and a connection module 403. Among them, the connection module 403 includes a shelf module 4031, and the shelf module 4031 includes a protocol management module 4032.

[0134] The device management module 401 and the device control module 402 can display some functional controls to the user in the form of UX in the application page of the smart space APP for interaction with the user, such as Figure 3A The home page 12 is shown. Among them, the device management module 401 and the device control module 402 are used to complete the functions of device discovery, network connection and control, and mainly rely on the connection (link) module 403 in the underlying protocol. Among them, in the connection module 403, according to different access schemes and implementation methods, it can include shelf protocol capabilities, standard Bluetooth access capabilities, standard wifi access capabilities, etc. In the embodiment of the present application, the shelf protocol capability is taken as an example, and other capabilities can refer to the relevant description of the shelf protocol capability.

[0135] like Figure 4 As shown, after starting the smart space APP, the terminal device 100 obtains the account information, environment information and version information corresponding to the smart space APP. Among them, different smart space APP clients set different account information, version information and environment information. Specifically, it includes step T1.1, step T1.2 and step T1.3.

[0136] Step T1.1, the terminal device 100 calls the underlying capability and transmits the account information to the account configuration in the connection module 403.

[0137] Step T1.2: The terminal device 100 calls the underlying capability and transmits the environment information to the environment configuration in the connection module 403.

[0138] Specifically, after starting the smart space APP, the terminal device 100 can determine the environmental information of the smart space APP based on the compilation and packaging. Among them, for consumers (such as existing network users), the environmental information includes the device cloud and account environment connected to the APP side. For manufacturers, the environmental information includes the production environment corresponding to the production version. For testing, the environmental information includes the pre-production environment corresponding to the beta. The environmental information also includes the specific environment selected according to the APP side interface when running the APP (that is, the APP version distinguished for developers or / joint debugging, etc.), such as the manufacturer can see the two environments of the shelf package before the review and the shelf package after the review. Based on the above environment and version information, when starting the APP, the terminal device 100 calls the underlying capabilities and passes the environmental information to the connection module 403 during initialization.

[0139] Step T1.3, the terminal device 100 calls the underlying capability and passes the version information to the environment configuration in the connection module 403.

[0140] Specifically, the terminal device 100 can determine the version information according to the compilation and packaging, such as the build version corresponding to the production environment and the beta version corresponding to the pre-production environment. When starting the APP, the terminal device 100 calls the underlying capability and passes the version information to the connection module 403 during initialization.

[0141] like Figure 4 In step T2 shown, after the connection module 403 obtains the account information, environment information and version information corresponding to the smart space APP, it requests synchronization of the shelf package configuration information of the corresponding state visible to the user from the server 300 (such as the device cloud) according to the account information, environment information and version information. Among them, the following situations are included:

[0142] Case 1. The APP is for developers to use, and the unapproved state shelf package can be viewed. Then the server 300 (such as the device cloud) side pre-production environment interface request is parsed and obtained Figure 2 The unreviewed fields under the product information shelf package configuration information specified in step S1.1 are shown.

[0143] Case 2: The APP is for beta users (testing), and the shelf package in the approved state can be viewed. Then, the pre-production environment interface request on the server 300 (such as the device cloud) side is parsed and obtained Figure 2 The reviewed fields under the product information shelf package configuration information specified in step S2.1 are shown.

[0144] Case 3: If the APP is for existing network users (including grayscale users), the production environment interface request is made through the server 300 (such as the device cloud) side, and the parsing Figure 2The fields under the product information shelving package configuration information specified in step S3.1 shown; and, according to the gray list user management module of the server 300 (such as device cloud), the interface on the cloud side will only return the device product information of the corresponding user, so as to perform gray control.

[0145] As Figure 4 As shown in steps T3 - T5, when the APP side performs operations such as device discovery, connection and network configuration, and device control, it specifically depends on the different capabilities of the shelving package corresponding to the device, and uses the shelving package of the corresponding device model according to the capabilities corresponding to the device configuration information. Among them, different devices have different capabilities. For example, as Figure 4 shown, device model A supports discovery, network configuration, and control, device model B may support discovery and network configuration, and device model C may only support control (its discovery ability can be only included in the discovery matching rule field <S1.1 "discovery rule" field> of the configuration information requested from the server 300 interface in step T2).

[0146] As Figure 4 shown, taking device discovery as an example below, the process included in step T3 will be introduced.

[0147] Step T3, through the discovery function in the device management module 401, call the connection module 403. Among them, step T3 includes the following steps:

[0148] Step T3.1, the connection module 403 calls the shelving discovery ability and parses the discovery rules of different device models from the configuration information obtained in step T2. If it is necessary to use the discovery ability in the shelving package, then perform step T3.2.

[0149] Step T3.2, when it is judged that it is necessary to load the shelving package, load the specified shelving package from the protocol management module 4032. If it is found that there is no corresponding shelving package, then transfer to step T3.3.

[0150] Step T3.3, through the device model and the account information in T1.1, the environment information in T1.2, and the version information in T1.3, request the corresponding shelving package from the server 400. Among them, it is divided into the following situations:

[0151] Situation 1, if the APP is the same as situation 1 in step T2, then request through the pre - production environment interface of the server 400 (such as plug - in cloud), and the request parameters carry the un - audited fields, and parse the shelving package of a certain device model under the un - audited situation specified in step S1.2.

[0152] Case 2, APP is the same as the second case in step T2, then the pre-production environment interface request is made through server 400 (for example, plug-in cloud), and the request parameter carries the audited field to parse the shelf package of a certain model of equipment under the audit specified in step S2.2.

[0153] In case 3, if APP is the same as the third case in step T2, the production environment interface request of server 400 (for example, plug-in cloud) is used to parse the shelf package of a certain model of equipment specified in step S3.2.

[0154] After the terminal device 100 obtains the shelf package of the specified model device from the server 400 (for example, the plug-in cloud), it will match and verify with some fields of the configuration information of the specified model device in step T2. After matching, the final download of the shelf package is completed according to the "download link" field of the shelf package information in step T3.3. After the download is completed, it is verified according to the fields agreed in step S1.1, such as the shelf package format, the size of the shelf package, the signature of the shelf package and the MD5 checksum value. After the verification is passed, it is finally found that the device is returned to the APP side and displayed by the APP side.

[0155] like Figure 4 As shown, the APP side of the terminal device 100 can further complete step T4 and step T5 based on step T3. For devices of the same model, the device discovery of step T3, the network connection and configuration of step T4, and the device control of step T5 are independent of each other, and can be independent or dependent. When interdependent, if the device is discovered in step T3, the subsequent network connection and configuration of step T4 and the device control of step T5 may not require the protocol loading call of step T3.2 and the management download and update of the protocol package of step T3.3. It can be understood that steps T3.2 and T3.3 belong to edible processes and operations. If the device discovery of step T3 is not performed, the process of network connection and configuration of step T4 is T4-T4.1-T3.2-T3.3, and the process of device control of step T5 is steps T5-T5.1-T3.2-T3.3, both of which need to complete the protocol loading call of step T3.2 and the management download and update of the protocol package of step T3.3.

[0156] See also Figure 5 , Figure 5 This is a schematic diagram of an interactive process of a method for managing IoT devices provided in an embodiment of the present application, which is applied to Figure 1C The system shown includes but is not limited to the following steps:

[0157] Step S501, the first server synchronizes configuration information with the second server, and synchronizes resource packages with the third server;

[0158] Exemplarily, the configuration information includes one or more of unaudited configuration information, audited configuration information, and authenticated configuration information. The resource package includes one or more of unaudited resource packages, audited resource packages, and authenticated resource packages.

[0159] In one implementation, a manufacturer or developer uploads product information of an IoT device to a first server, wherein the uploaded product information of the IoT device is unreviewed product information, and the product information includes configuration information and resource packages. The first server synchronizes the unreviewed configuration information to a second server, and synchronizes the unreviewed resource packages to a third server.

[0160] In one implementation, the unaudited product information on the first server becomes audited product information after being audited. The first server synchronizes the audited configuration information to the second server and synchronizes the audited resource package to the third server.

[0161] In one implementation, the product information in the audited state on the first server becomes the product information in the authenticated state after being authenticated. The first server synchronizes the configuration information in the authenticated state to the second server, and synchronizes the resource package in the authenticated state to the third server.

[0162] Therefore, the second server stores one or more of the configuration information in the unaudited state, the configuration information in the audited state, and the configuration information in the authenticated state.

[0163] The second server stores one or more of an unverified resource package, a verified resource package, and an authenticated resource package.

[0164] In one implementation, the resource package may be a shelf-ready package. For a description of the configuration information and the shelf-ready package, refer to the above Figure 1C-Figure 4 , I will not go into details here.

[0165] It should be noted that the first server can be Figure 1C-Figure 4 In the server 200 shown in FIG. 1 , the second server may be Figure 1C-Figure 4 In the server 300 shown in FIG. 1 , the third server may be Figure 1C-Figure 4 Server 400 is shown.

[0166] Step S502: The terminal device sends a first request to the second server.

[0167] The terminal device has a control application installed therein (specifically, it may be the smart control application mentioned above). The terminal device responds to a user operation on the control application and sends a first request to the second server.

[0168] In one implementation, when the control application is an application used by the manufacturer to debug the IoT device, the terminal device responds to the user operation on the control application, obtains the compilation and packaging information corresponding to the control application, determines that the running state of the control application is an unreviewed state according to the compilation and packaging information, and sends a first request to the second server according to the unreviewed state of the control application. The first request is used to request the configuration information of the unreviewed state from the second server.

[0169] In one implementation, when the control application is an application used by beta users to test IoT devices, the terminal device responds to user operations on the control application, obtains the compilation and packaging information corresponding to the control application, determines that the running state of the control application is an approved state according to the compilation and packaging information, and sends a first request to the second server according to the approved state of the control application. The first request is used to request configuration information of the approved state from the second server.

[0170] In one implementation, when the control application is an application used by existing network users to test IoT devices, the terminal device responds to user operations acting on the control application, obtains the compilation and packaging information corresponding to the control application, determines that the running state of the control application is an authenticated state according to the compilation and packaging information, and sends a first request to the second server according to the authenticated state of the control application. The first request is used to request configuration information of the authenticated state from the second server.

[0171] For the description of "the terminal device sends a first request to the second server", please refer to Figure 2 , Figure 3A-3D or Figure 4 Description in .

[0172] Step S503: The second server returns configuration information to the terminal device.

[0173] In one implementation, when the control application is an application used by the manufacturer to debug the IoT device, the first request is used to request the configuration information in the unreviewed state from the second server, and the second server returns the configuration information in the unreviewed state to the terminal device.

[0174] In one implementation, when the control application is an application used by beta users to test IoT devices, the first request is used to request configuration information in an audited state from the second server, and the second server returns the configuration information in an audited state to the terminal device.

[0175] In one implementation, when the control application is an application used by existing network users to test IoT devices, the first request is used to request configuration information of the authenticated state from the second server, and the second server returns the configuration information of the authenticated state to the terminal device.

[0176] For the description of "the second server returns the configuration information to the terminal device", please refer to Figure 2 , Figure 3A-3D or Figure 4 Description in .

[0177] Step S504: The terminal device sends a second request to the third server.

[0178] Specifically, after receiving the configuration information, the terminal device can parse the configuration information to obtain the function of controlling the IoT device, wherein the function of the IoT device includes: device discovery, network connection, and control. Then, in order to use a certain function of the IoT device, the terminal device sends a second request to the third server, and the second request is used to request a resource package of the corresponding function from the server.

[0179] In one implementation, when the control application is an application used by the manufacturer to debug the IoT device, the terminal device sends a second request to the third server, wherein the second request is used to request the third server for an unreviewed resource package of the corresponding function.

[0180] In one implementation, when the control application is an application used by beta users to test IoT devices, the terminal device sends a second request to the third server, wherein the second request is used to request a resource package of a corresponding function in an audited state from the third server.

[0181] In one implementation, when the control application is an application used by existing network users to test IoT devices, the terminal device sends a second request to the third server, wherein the second request is used to request a resource package of an authenticated state of a corresponding function from the third server.

[0182] For the description of "the terminal device sends a second request to the third server", please refer to Figure 2 , Figure 3A-3D or Figure 4 Description in .

[0183] Step S505: The third server returns the resource package to the terminal device.

[0184] In one implementation, when the control application is an application used by the manufacturer to debug IoT devices, the second request is used to request an unreviewed resource package from a third server, and the third server returns the unreviewed resource package to the terminal device.

[0185] In one implementation, when the control application is an application used by beta users to test IoT devices, the second request is used to request a resource package in an audited state from a third server, and the third server returns the resource package in an audited state to the terminal device.

[0186] In one implementation, when the control application is an application used by existing network users to test IoT devices, the second request is used to request an authenticated resource package from a third server, and the third server returns the authenticated resource package to the terminal device.

[0187] For the description of "the third server returns the resource package to the terminal device", please refer to Figure 2 , Figure 3A-3D or Figure 4 Description in .

[0188] The following introduces the structure of a terminal device provided in an embodiment of the present application. Figure 6 A schematic structural diagram of the terminal device 100 is shown.

[0189] like Figure 6 As shown, the terminal device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0190] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0191] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0192] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.

[0193] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0194] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0195] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example: the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the terminal device 100.

[0196] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.

[0197] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0198] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.

[0199] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the terminal device 100. The processor 110 and the display screen 194 communicate via the DSI interface to implement the display function of the terminal device 100.

[0200] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0201] The USB interface 130 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal device 100, and can also be used to transmit data between the terminal device 100 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other terminal devices, such as AR devices, etc.

[0202] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0203] The charging management module 140 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 may receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 may receive wireless charging input through a wireless charging coil of the terminal device 100. While the charging management module 140 is charging the battery 142, it may also power the terminal device through the power management module 141.

[0204] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle number, battery health status (leakage, impedance), etc. In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0205] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0206] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0207] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.

[0208] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0209] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, demodulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0210] In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0211] The terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.

[0212] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0213] The terminal device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.

[0214] The ISP is used to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing and converts it into an image visible to the naked eye. The ISP can also perform algorithm optimization on the noise and brightness of the image. The ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0215] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.

[0216] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the terminal device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0217] Video codecs are used to compress or decompress digital videos. The terminal device 100 may support one or more video codecs. Thus, the terminal device 100 may play or record videos in various coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0218] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of the terminal device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.

[0219] The internal memory 121 may include one or more random access memories (RAM) and one or more non-volatile memories (NVM).

[0220] Random access memory may include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation DDR SDRAM is generally referred to as DDR5 SDRAM), etc.; non-volatile memory may include disk storage devices and flash memory.

[0221] Flash memory can be divided into NOR FLASH, NAND FLASH, 3D NAND FLASH, etc. according to the operating principle; single-level cell (SLC), multi-level cell (MLC), triple-level cell (TLC), quad-level cell (QLC), etc. according to the storage unit potential level; universal flash storage (UFS), embedded multi media card (eMMC), etc. according to the storage specification.

[0222] The random access memory can be directly read and written by the processor 110, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data.

[0223] The non-volatile memory may also store executable programs and user and application data, etc., and may be loaded into the random access memory in advance for direct reading and writing by the processor 110 .

[0224] The external memory interface 120 can be used to connect to an external non-volatile memory to expand the storage capacity of the terminal device 100. The external non-volatile memory communicates with the processor 110 through the external memory interface 120 to implement a data storage function. For example, files such as music and videos are stored in the external non-volatile memory.

[0225] The terminal device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0226] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.

[0227] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The terminal device 100 can listen to music or listen to a hands-free call through the speaker 170A.

[0228] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the voice can be received by placing the receiver 170B close to the ear.

[0229] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by approaching the microphone 170C with his mouth to input the sound signal into the microphone 170C.

[0230] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0231] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be disposed on the display screen 194 .

[0232] The gyro sensor 180B may be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (ie, x, y, and z axes) may be determined by the gyro sensor 180B.

[0233] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.

[0234] The magnetic sensor 180D includes a Hall sensor.

[0235] The acceleration sensor 180E can detect the magnitude of the acceleration of the terminal device 100 in various directions (generally three axes).

[0236] The distance sensor 180F is used to measure the distance. The terminal device 100 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the terminal device 100 can use the distance sensor 180F to measure the distance to achieve fast focusing.

[0237] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector such as a photodiode.

[0238] The ambient light sensor 180L is used to sense the brightness of the ambient light. The terminal device 100 can adaptively adjust the brightness of the display screen 194 according to the sensed brightness of the ambient light.

[0239] The fingerprint sensor 180H is used to collect fingerprints. The terminal device 100 can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint answering calls, etc.

[0240] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy.

[0241] The touch sensor 180K is also called a "touch control device". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch control screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the terminal device 100, which is different from the position of the display screen 194.

[0242] The bone conduction sensor 180M can obtain a vibration signal. In some embodiments, the bone conduction sensor 180M can obtain a vibration signal of a vibrating bone block of a human vocal part.

[0243] The buttons 190 include a power button, a volume button, etc. The buttons 190 may be mechanical buttons or touch buttons.

[0244] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.

[0245] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.

[0246] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the terminal device 100 by inserting the SIM card interface 195 or removing the SIM card from the SIM card interface 195 .

[0247] The following introduces the structure of a server provided in an embodiment of the present application. Figure 7 The following is a schematic diagram showing the structure of a server provided in an embodiment of the present application. Figure 7As shown, the server may include: one or more processors 1001, memory 1002, communication interface 1003, transmitter 1005, receiver 1006, coupler 1007, antenna 1008. These components may be connected via bus 1004 or other means. Figure 7 Take bus connection as an example.

[0248] The communication interface 1003 can be used for the server to communicate with other communication devices, such as the terminal device 100. Specifically, the communication interface 1003 can be a 3G communication interface, a 4G communication interface, a 5G communication interface, or a communication interface of a future new air interface. Not limited to a wireless communication interface, the server can also be configured with a wired communication interface 1003, such as a local access network (LAN) interface. The transmitter 1005 can be used to transmit and process the signal output by the processor 1001. The receiver 1006 can be used to receive and process the mobile communication signal received by the antenna 1008.

[0249] In some embodiments of the present application, the transmitter 1005 and the receiver 1006 can be regarded as a wireless modem. In the server, the number of the transmitter 1005 and the receiver 1006 can be one or more. The antenna 1008 can be used to convert the electromagnetic energy in the transmission line into electromagnetic waves in the free space, or convert the electromagnetic waves in the free space into electromagnetic energy in the transmission line. The coupler 1007 is used to divide the mobile communication signal received by the antenna 1008 into multiple paths and distribute them to multiple receivers 1006.

[0250] The memory 1002 is coupled to the processor 1001 and is used to store various software programs and / or multiple sets of instructions. Specifically, the memory 1002 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices. The memory 1002 may store a network communication program, which may be used to communicate with one or more additional devices, one or more terminal devices, or one or more network devices.

[0251] In some embodiments of the present application, the memory 1002 may be used to store an implementation program of the method for managing IoT devices provided by one or more embodiments of the present application on the server 300 side. For the implementation of the method for managing IoT devices provided by one or more embodiments of the present application, please refer to the above embodiments.

[0252] The processor 1001 may be used to read and execute computer-readable instructions. Specifically, the processor 1001 may be used to call a program stored in the memory 1002, such as an implementation program of the method for managing IoT devices provided in one or more embodiments of the present application on the server 300 side, and execute instructions contained in the program.

[0253] It should be noted that Figure 7 The server 300 shown is only one implementation of the embodiment of the present application. In actual applications, the server 300 may also include more or fewer components, which is not limited here.

[0254] For more details about the functions and working principles of the server 300, please refer to the relevant contents in the above embodiments, which will not be repeated here.

[0255] It should be noted that Figure 7 The server shown is only one implementation of the embodiment of the present application. In actual applications, the server may also include more or fewer components, which is not limited here.

[0256] For more details about the functions and working principles of the server, please refer to the relevant content in the above embodiments, which will not be repeated here.

[0257] The term "user interface (UI)" in the specification, claims and drawings of this application refers to the medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface of an application is source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on the terminal device, and finally presented as content that the user can recognize, such as pictures, text, buttons and other controls. Controls, also known as widgets, are the basic elements of the user interface. Typical controls include toolbars, menu bars, text boxes, buttons, scroll bars, pictures and text. The properties and contents of controls in the interface are defined by tags or nodes, such as XML through <textview> 、 <imgview> 、 <videoview>The controls contained in the interface are specified by nodes such as . A node corresponds to a control or attribute in the interface. After parsing and rendering, the node is presented as user-visible content. In addition, many applications, such as hybrid applications, usually also contain web pages in their interfaces. A web page, also known as a page, can be understood as a special control embedded in the application interface. A web page is source code written in a specific computer language, such as hypertext markup language (HTML), cascading style sheets (CSS), JavaScript (JS), etc. The web page source code can be loaded and displayed as user-recognizable content by a browser or a web page display component with similar functions to a browser. The specific content contained in a web page is also defined by tags or nodes in the web page source code. For example, HTML is defined by 、 、 <video> 、 <canvas>To define the elements and attributes of a web page.

[0258] The most common form of user interface is graphical user interface (GUI), which refers to a user interface related to computer operation that is displayed in a graphical manner. It can be an icon, window, control or other interface element displayed on the display screen of an electronic device, where a control can include icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets and other visual interface elements.

[0259] It should be understood that each step in the above method embodiment provided by the present application can be completed by an integrated logic circuit of hardware in a processor or by instructions in the form of software. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.

[0260] The present application also provides a chip system, which includes at least one processor for implementing the functions involved in the method executed by the electronic device in any of the above embodiments.

[0261] In one possible design, the chip system also includes a memory, which is used to store program instructions and data, and the memory is located inside or outside the processor.

[0262] The chip system may be composed of the chip, or may include the chip and other discrete devices.

[0263] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.

[0264] Optionally, the memory in the chip system may also be one or more. The memory may be integrated with the processor or may be separately arranged with the processor, which is not limited in the embodiments of the present application. Exemplarily, the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip or may be arranged on different chips respectively. The embodiments of the present application do not specifically limit the type of memory and the arrangement of the memory and the processor.

[0265] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0266] The various implementation modes of the present application can be combined arbitrarily to achieve different technical effects.

[0267] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in this application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center to another website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk Solid State Disk), etc.

[0268] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

[0269] In short, the above description is only an embodiment of the technical solution of the present invention, and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present invention shall be included in the protection scope of the present invention.< / canvas> < / video> < / videoview> < / imgview> < / textview>

Claims

1. A system for managing IoT devices, the system comprising a first server, a second server and a third server of a terminal device, wherein: The first server is used for: Receive product information of an IoT device, wherein the product information includes configuration information and a resource package; Sending the configuration information to the second server, and sending the resource package to the third server; The second server is used for: receiving and storing the configuration information; After receiving the first request from the terminal device, sending the configuration information to the terminal device, the configuration information is used for the terminal device to obtain the resource package; The third server is used for: Receiving and storing the resource package; After receiving the second request from the terminal device, the resource package is sent to the terminal device, and the resource package is used by the terminal device to realize the function of controlling the IoT device.

2. The system according to claim 1, characterized in that The terminal device has a control application installed therein, and the terminal device is used to: In response to a user operation acting on the control application, the first request is sent to the second server, wherein the control application is used by the terminal device to manage the IoT device.

3. The system according to claim 2, characterized in that The terminal device is also used for: Displaying the application interface of the control application; In response to a user operation on the application interface, the second request is sent to the third server.

4. The system according to claim 2 or 3, characterized in that: The terminal device is specifically used for: In response to a user operation on the control application, obtaining compilation and packaging information corresponding to the control application; Determining the running state of the control application program according to the compiled packaging information; The first request is sent to the second server according to the running state of the control application, wherein the first request is used to request configuration information related to the running state from the second server.

5. The system according to claim 4, characterized in that The terminal device is specifically used for: Determining a function of the IoT device according to configuration information related to the operating state; The second request is sent to the third server, wherein the second request is used to request a resource package related to the function of the IoT device from the third server.

6. The system according to any one of claims 1 to 5, characterized in that: The product information includes one or more of unaudited product information, audited product information, and certified product information.

7. The system according to claim 6, characterized in that The running state of the control application includes: one or more of the unaudited state, the audited state and the authenticated state.

8. A method for managing IoT devices, applied to a terminal device, wherein a control application is installed in the terminal device, and the control application is used by the terminal device to manage the IoT device, the method comprising: In response to a user operation acting on the control application, sending a first request to a second server, wherein the second server is used to store configuration information of the IoT device; receiving the configuration information from the second server, and displaying an application interface of the control application; In response to a user operation on the application interface, sending a second request to a third server, wherein the third server is used to store a resource package of the IoT device; Receive a resource package from the third server and display an icon of the IoT device, wherein the resource package is used by the terminal device to implement a function of controlling the IoT device.

9. The method according to claim 8, characterized in that The sending of a first request to a second server in response to a user operation acting on the control application comprises: In response to a user operation on the control application, obtaining compilation and packaging information corresponding to the control application; Determining the running state of the control application program according to the compiled packaging information; The first request is sent to the second server according to the running state of the control application, wherein the first request is used to request configuration information related to the running state from the second server.

10. The method according to claim 9, characterized in that The sending a second request to a third server in response to a user operation acting on the application interface includes: In response to a user operation on the application interface, determining a function of the IoT device according to configuration information related to the operating state; The second request is sent to the third server, wherein the second request is used to request a resource package related to the function of the IoT device from the third server.

11. The method according to any one of claims 8 to 10, characterized in that: The product information includes one or more of unaudited product information, audited product information, and certified product information.

12. The method according to claim 11, characterized in that The running state of the control application includes: one or more of the unaudited state, the audited state and the authenticated state.

13. A terminal device, characterized in that: The terminal device includes: one or more processors; a memory; wherein the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method as described in any one of claims 8-12.

14. A chip system, characterized in that: The chip system is applied to an electronic device, and the chip system includes one or more processors, and the processor is used to call computer instructions so that the electronic device executes the method as described in any one of claims 8-12.

15. A computer program product comprising instructions, characterized in that When the computer program product is run on an electronic device, the electronic device is enabled to execute the method according to any one of claims 8 to 12.

16. A computer-readable storage medium comprising instructions, characterized in that: When the instructions are executed on an electronic device, the electronic device is caused to execute the method as claimed in any one of claims 8 to 12.

Citation Information

Patent Citations

  • Application installation package processing method and apparatus, and server

    CN106484470A

  • Data resource obtaining method, index server and communication system

    CN106899639A

  • Equipment control method and device, electronic equipment and Internet of Things system

    CN109714195A

  • Resource packet processing method and device, terminal equipment and storage medium

    CN112711434A

  • Application management method and device, electronic equipment and storage medium

    CN113259161A