Systems, methods, and related devices for managing IoT devices
By introducing second and third servers into the cloud platform to manage the configuration information and resource packages of IoT devices respectively, the information management pressure of managing IoT devices from different manufacturers and types on the cloud platform is resolved, and processing efficiency and system performance are improved.
Patent Information
- Application Number
- CN202311433409.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-30
- Publication Date
- 2026-01-23
- Estimated Expiration
- 2043-10-30
AI Technical Summary
In existing technologies, cloud platforms face challenges in managing product information and efficiency when managing IoT devices from different manufacturers and of different types.
By introducing a second and a third server to manage the configuration information and resource packages of IoT devices respectively, the terminal device only needs to interact with the second server to obtain configuration information and with the third server to obtain resource packages, thus reducing the communication pressure on the first server.
This reduces the complexity of cloud platform management of IoT device product information, improves processing efficiency, and alleviates the communication pressure on the primary server.
Smart Images

Figure CN119967033B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of terminal, and in particular to a system, method and related device for managing IoT devices. BACKGROUND
[0002] With the continuous development of terminal technology, users have more and more kinds and functions of internet of things (IoT) devices. IoT devices of the same kind or function can be provided by different manufacturers. When IoT devices provided by different manufacturers are connected with mobile phones, tablets or other terminal devices for use, in order to better manage or use IoT devices such as Bluetooth earphones, Bluetooth speakers, sports watches / rings, wearable devices, etc., it is usually necessary to install a control application program (APP) on the terminal device that can manage the above-mentioned IoT devices.
[0003] Firstly, the developer of the IoT device needs to complete the creation and management of the IoT device on the cloud platform. When it is necessary to manage or use a certain IoT device through a terminal device, the control APP can directly obtain the IoT device product information from the cloud platform.
[0004] Since the IoT devices that need to be managed or used can come from different manufacturers, or there are different kinds and functions of IoT devices. Therefore, there are many product information of IoT devices of different kinds and functions from different manufacturers on the cloud platform, which causes great pressure and low efficiency of the cloud platform in managing the product information of the IoT devices. SUMMARY
[0005] The system, method and related device for managing IoT devices provided by the embodiments of the present application can improve the processing efficiency and reduce the management pressure on data.
[0006] In a first aspect, the present application provides a system for managing IoT devices, comprising a first server, a second server and a third server of a terminal device, wherein,
[0007] The first server is configured to: receive product information of an internet of things (IoT) device, wherein the product information comprises 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 configured to: receive and store the configuration information; after receiving a first request from the terminal device, send the configuration information to the terminal device, and the configuration information is used by the terminal device to obtain the resource package;
[0009] The third server is configured to receive and store the resource package, and send the resource package to the terminal device after receiving the second request from the terminal device, the resource package being used by the terminal device to implement a function of controlling the IoT device.
[0010] In the embodiments 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 managing the product information of the IoT device can be reduced, and the processing efficiency can be improved.
[0011] In a possible implementation of the first aspect, the terminal device is installed with a control application, and the terminal device is configured to:
[0012] In response to a user operation acting on the control application, the terminal device is configured to send the first request to the second server, wherein the control application is used by the terminal device to implement management of the IoT device.
[0013] It can be seen that the terminal device only needs to interact with the second server when running the control application, and does not need to interact with the first server. That is, the first server only needs to interact with the device uploading the product information of the IoT device, and the communication pressure of the first server can be reduced.
[0014] In a possible implementation of the first aspect, the terminal device is further configured to:
[0015] display an application interface of the control application;
[0016] In response to a user operation acting on the application interface, the terminal device is configured to send the second request to the third server.
[0017] It can be seen that the terminal device only needs to interact with the third server when using the IoT device in the control application, and does not need to interact with the first server, and the communication pressure of the first server can be reduced.
[0018] In a possible implementation of the first aspect, the terminal device is specifically configured to:
[0019] In response to a user operation acting on the control application, the terminal device is configured to obtain compiling and packaging information corresponding to the control application;
[0020] determine a running state of the control application according to the compiling and packaging information;
[0021] send the first request 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, and the maintenance complexity can be reduced.
[0023] In a possible implementation of the first aspect, the terminal device is specifically configured to:
[0024] determine the function of the IoT device according to the configuration information related to the running state;
[0025] send the second request to the third server, where the second request is used to request the 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, and the maintenance complexity can be reduced.
[0027] In a possible implementation of the first aspect, the product information includes one or more of product information in an unreviewed state, product information in a reviewed state, and product information in a certified state.
[0028] In a possible implementation of the first aspect, the running state of the control application includes one or more of the unreviewed state, the reviewed state, and the certified state.
[0029] In a second aspect, the present application provides a method for managing an IoT device, applied to a terminal device, where a control application is installed in the terminal device, and the control application is used for the terminal device to manage the IoT device, and the method includes:
[0030] in response to a user operation acting on the control application, sending a first request to a second server, where 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 acting on the application interface, sending a second request to a third server, where the third server is used to store a resource package of the IoT device;
[0033] receiving the resource package from the third server, and displaying an icon of the IoT device, where the resource package is used for the terminal device to control the function of the IoT device.
[0034] In a possible implementation of the second aspect, the sending the first request to the second server in response to the user operation on the control application comprises:
[0035] In response to the user operation on the control application, obtaining the compiling and packaging information corresponding to the control application;
[0036] According to the compiling and packaging information, determining the running state of the control application;
[0037] According to the running state of the control application, sending the first request to the second server, wherein the first request is used to request the configuration information related to the running state from the second server.
[0038] In a possible implementation of the second aspect, the sending the second request to the third server in response to the user operation on the application interface comprises:
[0039] In response to the user operation on the application interface, determining the function of the IoT device according to the configuration information related to the running state;
[0040] Sending the second request to the third server, wherein the second request is used to request the resource package related to the function of the IoT device from the third server.
[0041] In a possible implementation of the second aspect, the product information comprises one or more of product information in an unreviewed state, product information in a reviewed state, and product information in a certified state.
[0042] In a possible implementation of the second aspect, the running state of the control application comprises one or more of the unreviewed state, the reviewed state, and the certified state.
[0043] In a third aspect, an embodiment of the present application provides a terminal device, comprising one or more processors; a memory; the memory is coupled with 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 invoke the computer instructions to enable the electronic device to execute the method for managing the IoT device 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 chip system, which comprises at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, the at least one processor is configured to run a computer program or instructions to execute the method for managing IoT devices described in the first aspect or any possible implementation manner 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 embodiments of the present application further comprises at least one memory, and the at least one memory stores instructions. The memory can be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (such as a read-only memory, a random access memory, etc.).
[0046] In a fifth aspect, the embodiments of the present application provide a computer storage medium, which stores a computer program, and the computer program is executed by a processor to make a computer execute the method for managing IoT devices described in the first aspect or any possible implementation manner of the first aspect.
[0047] In a sixth aspect, the embodiments of the present application provide a computer program product, which, when executed on a communication device, makes the communication device execute X described in the first aspect or any possible implementation manner of the first aspect.
[0048] It should be understood that the description of technical features, technical solutions, advantages or similar language in the present application does not imply that all features and advantages can be realized in any single embodiment. On the contrary, it can be understood that the description of a feature or advantage means that the specific technical feature, technical solution or advantage is included in at least one embodiment. Therefore, the description of technical features, technical solutions or advantages in the specification does not necessarily refer to the same embodiment. Furthermore, the technical features, technical solutions and advantages described in the embodiments can be combined in any appropriate manner. Those skilled in the art will understand that the embodiments can be implemented without one or more specific technical features, technical solutions or advantages of a specific embodiment. In other embodiments, additional technical features and advantages can be identified in specific embodiments that do not embody all embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0049] The following describes 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 by the embodiments of the present application is exemplarily shown.
[0051] Figure 2 is a schematic diagram of an architecture of a cloud platform 20 provided by an embodiment of the present application;
[0052] Figures 3A-3D related user interfaces for interacting with the cloud server 300 and the cloud server 400 when starting the smart space APP are shown;
[0053] Figure 4 is a schematic diagram of interaction between a terminal device and a server provided by an embodiment of the present application;
[0054] Figure 5 is a schematic diagram of an interaction flow of a method for managing IoT devices provided by 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 by an embodiment of the present application is exemplarily shown. 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 limiting to the present application. As used in the specification and the appended claims of the present application, the singular forms "a," "an" and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0058] Hereinafter, the terms "first", "second" are only for the purpose of description, and cannot be understood as implying or suggesting relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, the meaning of "a plurality of" is two or more, unless otherwise specified.
[0059] Reference within the specification of this application to "one embodiment" or "some embodiments" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the application. The appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in additional embodiments," and so on, in various places in the specification are not necessarily all referring to the same embodiment, nor are they necessarily referring to some, but not all, embodiments, unless otherwise indicated by the context. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless expressly specified otherwise.
[0060] In order to better understand the embodiments of the present application, the following explains the terms or concepts that can be involved in the embodiments.
[0061] 1. Internet of things (IoT) device, a physical object in an IoT network. In the embodiments of the present application, the IoT device can be a smart home device, such as a smart speaker, a smart screen, a smart light, a smart air conditioner, a smart refrigerator, a smart door lock, a smart rice cooker, a treadmill, a smart kettle, a water purifier, a printer, or a smart curtain. In addition, the IoT device can also be a vehicle-mounted device, a wearable device, an augmented reality (AR) / virtual reality (VR) device, or other smart devices. The specific type of the IoT device is not limited in the embodiments of the present application.
[0062] 2. Control application (APP), an APP for controlling and managing the IoT device, which can be a smart space APP, a smart life APP, or a sports and health APP. The control APP can include a host APP and an APP plug-in loaded in the host APP. In the embodiments of the present application, the host APP of the smart space APP is referred to as a smart space host APP, and the host APP of the smart life APP is referred to as a smart life host APP.
[0063] 3. Control terminal: a terminal device installed with the control APP, including but not limited to a mobile phone, a tablet computer, a wearable device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), and the like.
[0064] 4. Development terminal: a terminal device for developing the function of the IoT device.
[0065] 5、Cloud server: also known as IoT cloud, smart home cloud, cloud platform, cloud or device cloud, etc. The cloud server is used to store the related data of the IoT device or the control terminal, or to realize the forwarding transmission of data (such as control instructions) between the terminal and the IoT device, etc.
[0066] 6、IoT platform: an integrated platform integrating IoT device management, data security communication and message subscription capabilities. The IoT platform supports connecting IoT devices downward, collecting data of IoT devices; provides an application programming interface (API) upward, and the control terminal can call the API to issue instructions to the IoT device, so as to realize remote control of the IoT device. The IoT platform can be built in the cloud server, so the IoT platform is also called IoT cloud platform.
[0067] The IoT platform can include an access layer and a function layer. The access layer is used to interface with the IoT device and the control APP. The function layer is used to realize related functions in the application process of the IoT device, including but not limited to identity verification, data encryption, IoT device upgrade, data storage, account management, device binding and data forwarding, etc.
[0068] In one implementation, the developer uploads the product information, upgrade information, etc. of the IoT device to the IoT platform through the development terminal. The user obtains the product information, upgrade information, etc. of the IoT device from the IoT platform through the control terminal.
[0069] In one implementation, the developer can use the shelf protocol access scheme to create product information of a certain type of IoT device on the IoT platform. The product information mainly goes through the following life cycle: uploading product information (also known as unverified state), verifying product information (also known as verified state), and authenticating product information (also known as authentication state). The unverified state indicates that the product is the latest updated product. The verified state indicates that the product has been tested and verified. The authentication state indicates that the product can be published, and the user can update and use the product.
[0070] 7、Account information of the control APP: information registered by the user in the control APP, used to represent the identity of the user. The APP account is also called APP user information, or APP user identity (user ID).
[0071] The communication system 10 related to the management method of multiple IoT devices provided by the embodiments of the present application is introduced as follows.
[0072] Figure 1A 、 Figure 1B andFigure 1C An exemplary system architecture of a communication system 10 is shown. The communication system 10 can be a system for managing IoT devices.
[0073] As shown in Figure 1A , Figure 1B and Figure 1C , the communication system 10 includes, but is not limited to, a control device 101, a development device 102 and a server 200. 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 the control APP1 or the control APP2. The control device 101 and the development device 102 can communicate with the server 200 through a communication network.
[0074] In order to enable different IoT devices to access the control APP1 and / or the control APP2, the development device 102 needs to send product information of different IoT devices to the server 200. Therefore, the server 200 stores product information of different IoT devices. Different development devices correspond to different development environments, so the product information of the IoT devices also includes product information in different development environments.
[0075] For example, a developer of a smart screen sends product information of the smart screen to the server 200 through the development device 102. Since the smart screen has models including model 1, model 2 and model 3, the product information of the smart screen includes product information of model 1, model 2 and model 3. Therefore, the server 200 stores product information of different models or different versions of IoT devices of different manufacturers. It can be seen that the server 200 needs to manage product information of different models or different versions of IoT devices of different manufacturers. Since the mapping of data is relatively complex, it is difficult to manage and maintain.
[0076] In one implementation, in order to save the size of the control APP1 or the control APP2, a shelving protocol is used to dynamically load different protocols of IoT devices, so that the bottom layer of the control APP1 or the control APP2 uses the shelving protocol. That is, different shelving package resources correspond to different models or different versions of IoT devices of the same manufacturer.
[0077] The control device 101 registers and logs in an account of the control APP1 or the control APP2. A user can view, manage and control devices bound to an account 1 through the control APP1 of the control device 101, and the user can view, manage and control devices bound to an account 2 through the control APP2 of the control device 101. The account 1 and the account 2 can be the same or different.
[0078] Exemplarily, in the case that 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 prdld list file-index_all.json of the smart screen of model 1 and the shelf package resource corresponding to the prdld of the smart screen of model 1 are requested from the server 200. The server 200 sends the product information corresponding to the smart screen of model 1, such as the configuration information and the shelf package resource, to the control device 101.
[0079] As can be seen, Figure 1A The server 200 shown needs to interact with the development device 102, receive and store the product information of the IoT devices developed in different development environments. The server 200 also needs to interact with the control device 101 and send the product information of the corresponding IoT device to the control device 101. For the server 200, it will cause great communication pressure and storage pressure, and it is difficult to maintain.
[0080] As Figure 1B As shown, the communication system 10 further 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 devices, such as the configuration information and the prdld list file-index_all.json, to the server 300. Therefore, the version number of the index_all.json of the shelf package resource of the IoT device is stored in the server 300, and the resource package of the IoT device is stored in the server 200.
[0081] When the control device 101 needs to add or update the IoT device, the product information needs to be requested from the cloud. In one implementation, the control device 101 requests the 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 the index_all.json from the server 200. The control device 101 requests the configuration information and the prdld list file-index_all.json of the IoT device from the server 300.
[0082] As can be seen, in order to alleviate the pressure of the server 200, the functions of the shelving protocol package are separated, and part of the functions are borne by the server 300. That is, the shelving 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 high communication pressure and storage pressure, and it is difficult to maintain information.
[0083] From Figure 1A Or Figure 1B As can be seen, 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 dependence will become more and more complex and uncontrollable, and the following problems mainly exist: the platform environment for the development device (such as the device used by the developer or the access vendor) is different from the platform environment for the control device (such as the device used by the user to use the product), so there is an environment difference; the docking between different versions of different environments (such as the developer or the access vendor, and the product user) often needs to maintain different state mappings, which is relatively complex to maintain; the evolution and expansion of product business are generally from single-system single-process to multi-dimensional multi-system multi-process, and if the environment dependence of the single system at the beginning is fixed, the environment dependence of the newly added system in the subsequent evolution must be docked with the dependence relationship at the beginning, which is not conducive to the development of business.
[0084] As Figure 1C shown, the communication system 10 can also include a server 400. After the server 200 receives the product information of various different IoT devices from the development device 102, the server 200 can synchronize the shelving package resources in the product information to the server 300 (such as a plug-in cloud) and synchronize the configuration information in the product information to the server 400 (such as a device cloud). Therefore, the server 300 stores shelving package resources of various different IoT devices, and the server 400 stores configuration information of various different 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, the product information of the IoT device needs to be requested 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 resource of the IoT device from the server 400 according to the configuration information. After receiving the shelf package resource of the IoT device from the server 400, the control device 101 can add or update the function of the IoT device according to the shelf package resource of the IoT device, so as to control or manage the IoT device.
[0086] It can be seen that, Figure 1C In comparison with Figure 1A , the server 300 and the server 400 are newly introduced. Figure 1C In comparison with Figure 1B , the server 400 is newly introduced. In this way, Figure 1C In the communication system 10 shown in the figure, the server 200, the server 300 and the server 400 each undertake different functions, the server 200 is used to interact with the development device 102 to obtain the product information of different IoT devices, and then synchronizes part of the product information to the server 300, which manages the part of information, and synchronizes another part to the server 400, which manages the part of information. The server 300 and the server 400 are used to interact with the control device 101, and provide the control device 101 with the information corresponding to the request of the control device 101 according to the request of the control device 101.
[0087] It should be understood that, Figure 1A , Figure 1B and Figure 1C are only system structure diagrams of the communication system provided by the embodiments of the present application, and do not constitute a specific limitation on the communication system 10. The communication system 10 can include more or fewer devices than shown in the figure, for example, it can also include a wireless relay device and a wireless backhaul device (not shown in Figure 1A , Figure 1B and Figure 1C ), which are not limited herein.
[0088] In the embodiments of the present application, the control APP1 can be a third-party application (for example, a smart space APP or a smart control application), and the control APP2 can be a sports health APP. The present application does not make specific limitations on 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 specific to the control APP1 (for example, a glory account), a number of a mobile phone (for example, a mobile phone number), an email account, an account of a social application or an account of another specified application. In some embodiments, the account of the control APP1 can be bound to an account of another account system. For example, the account of the control APP1 is a Huawei account, and the account of the control APP1 can also be bound to a mobile phone number, an email account and a social application account.
[0089] The communication network can include a local area network (LAN) and / or a wide area network (WAN). The communication network can be implemented using any known network communication protocol, which can 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), a communication protocol supporting a network slice architecture, or any other suitable communication protocol.
[0090] The server 200, the server 300 and the server 400 can be a server, a server cluster composed of multiple servers, or a cloud computing center. The server involved in the embodiments of the present application can also be referred to as a cloud server, a cloud, a cloud side, a cloud platform or an IoT cloud platform.
[0091] The method for managing IoT devices provided by the embodiments of the present application is introduced by taking the example of a certain type of IoT device accessing an ecological platform (such as server 200) from a vendor. The certain type of IoT device can create product information of the type of device on the ecological platform (such as server 200) according to the shelving protocol access scheme adopted.
[0092] Please refer to Figure 2 , Figure 2 is a schematic diagram of an architecture of a cloud platform 20 provided by the embodiments of the present application. From Figure 2 it can be seen that the cloud platform 20 includes a server 200, a server 300, and a server 400. The server 200 can be a development platform for IoT devices, such as the Honor Developer Platform. The server 300 can be a device cloud. The server 400 can be a plug-in cloud. The server 300 stores a gray user list and is also used for managing gray users.
[0093] As shown in Figure 2 , the server 200 stores product information of a certain type of device in different life cycles, such as product information in an unreviewed state, product information in an reviewed state, and product information in an authenticated state. It should be noted that the different life cycles are not limited to the unreviewed state, the reviewed state, and the authenticated state mentioned in the present application, and can also include more or fewer states.
[0094] Taking the example of storing product information of device type A (currently in an authenticated state) and device type B (currently in a reviewed state), it specifically includes but is not limited to: product information of device type A in an unreviewed state, product information of device type B in an unreviewed state, product information of device type A in a reviewed state, product information of device type B in a reviewed state, and product information of device type A in an authenticated state. The product information includes configuration information and a shelving package.
[0095] In one implementation, the server 200 synchronizes the product information in an unreviewed state to 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 product information in an unreviewed state to the server 300.
[0097] Specifically, the server 200 synchronizes the shelving protocol class configuration information in the unreviewed state to the pre-production environment of the server 300. Further, the server 200 synchronizes the shelving protocol class configuration information in the unreviewed state of a certain model device to the unreviewed field (may also be referred to as unreviewed configuration information) of the configuration information under the product information of the model device in the pre-production environment of the server 300. Wherein, the configuration information under the product information of the certain model device specifically includes the configuration information of device model A in the unreviewed state and the configuration information of device model B in the unreviewed state. Exemplarily, the unreviewed field under the configuration information includes one or more of the following: rules, modes, protocols, etc. of end-side product discovery; information of shelving package, such as version number, update time, shelving package format, size of shelving package, signature of shelving package, and MD5 check value, etc.
[0098] S1.2, the server 200 synchronizes the shelving package in the unreviewed state of the product information to the server 400.
[0099] Specifically, the server 200 synchronizes the shelving package in the unreviewed state to the pre-production environment of the server 400. Further, the server 200 synchronizes the related information of the shelving package in the unreviewed state of a certain model device to the unreviewed field (may also be referred to as unreviewed shelving package) of the shelving package under the product information of the model device in the pre-production environment of the server 400. Wherein, the shelving package under the product information of the certain model device specifically includes the shelving package of device model A in the unreviewed state and the shelving package of device model B in the unreviewed state. Exemplarily, the unreviewed field under the shelving package includes one or more of the following: information of shelving package, such as version number, update time, shelving package format, size of shelving package, signature of shelving package, and MD5 check value, etc., the above information must be consistent with that in S1.1, in addition, the unreviewed field in S1.2 further includes the download link of the shelving package.
[0100] In one implementation, the server 200 synchronizes the product information in the reviewed state to 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 reviewed state of the product information to the server 300.
[0102] Specifically, the server 200 synchronizes the shelving protocol class configuration information in the audited state to the pre-production environment of the server 300. Further, the server 200 synchronizes the shelving protocol class configuration information in the audited state of a certain model device to the audited field (which can also be referred to as audited configuration information) of the configuration information under the product information of the model device in the pre-production environment of the server 300. The configuration information under the product information of the certain model device specifically includes the configuration information of device model A in the audited state and the configuration information of device model B in the audited state. The fields included in the unreviewed field under the configuration information are the same as S1.1, and will not be described here.
[0103] S2.2, the server 200 synchronizes the shelving package in the audited state of the product information to the server 400.
[0104] Specifically, the server 200 synchronizes the shelving package in the audited state to the pre-production environment of the server 400. Further, the server 200 synchronizes the related information of the shelving package in the audited state of a certain model device to the audited field (which can also be referred to as audited shelving package) of the shelving package under the product information of the model device in the pre-production environment of the server 400. The shelving package under the product information of the certain model device specifically includes the shelving package of device model A in the audited state and the shelving package of device model B in the audited state. The fields included in the audited field under the shelving package are the same as S1.2, and will not be described here.
[0105] In one implementation, the server 200 synchronizes the product information in the authenticated state to 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 state of the product information to the server 300.
[0107] Specifically, the server 200 synchronizes the shelving protocol class configuration information in the authenticated state to the production environment of the server 300. Further, the server 200 synchronizes the shelving protocol class configuration information in the authenticated state of a certain model device to the authenticated field (which can also be referred to as authenticated configuration information) of the configuration information under the product information of the model device in the pre-production environment of the server 300. The configuration information under the product information of the certain model device specifically includes the configuration information of device model A in the authenticated state and the configuration information of device model B in the authenticated state. The fields included in the unreviewed field under the configuration information are the same as S1.1, and will not be described here.
[0108] S3.2, the server 200 synchronizes the shelving package in the product information of the authenticated state to the server 400.
[0109] Specifically, the server 200 synchronizes the shelving package of the authenticated state to the production environment of the server 400. Further, the server 200 synchronizes the related information of the shelving package of the authenticated state of a certain model device to the authenticated field (which can also be referred to as authenticated configuration information) under the shelving package under the product information of the model device in the pre-production environment of the server 400. Among them, the shelving package under the product information of the certain model device specifically includes the shelving package of the device model A in the authenticated state and the shelving package of the device model B in the authenticated state. Exemplarily, the fields included in the authenticated field under the shelving package and the constraints are the same as S1.2, which will not be described here.
[0110] Among them, unlike the pre-production environment, there is no need to distinguish different states in the production environment.
[0111] The following takes the control APP1 as the smart space APP as an example to introduce the application scenarios and the user interface (UI) under the scenario involved in the present application.
[0112] From the time when a certain model IoT device starts to access the ecological platform (such as the server 200) from the manufacturer, through the above different life cycles, different environments and / or different versions of the smart space APP for different users will be used. For example, in the case of a developer using the smart space APP, the developer registers and logs in the account of the smart space APP as a development account through the terminal device 100, and the product of the IoT device managed in the smart space APP belongs to the unverified state. In the case of a tester using the smart space APP, the tester registers and logs in the account of the smart space APP as a test account through the terminal device 100, and the product of the IoT device managed in the smart space APP belongs to the verified state. In the case of a user in the live network (including a gray user) using the smart space APP, the user in the live network registers and logs in the account of the smart space APP as a use account through the terminal device 100, and the product of the IoT device managed in the smart space APP belongs to the authenticated state.
[0113] Exemplarily, Figures 3A-3D The related user interface for interacting with the cloud server 300 and the cloud server 400 when starting the smart space APP is shown.
[0114] As Figure 3AAs shown, developers / manufacturers can provide server 200 with product information for IoT devices, including configuration information and shelf packages, etc. Because IoT devices go through different lifecycles, server 200 stores configuration information and shelf packages in different states (e.g., state 1, state 2, and state 3). For example, state 1 could be unapproved, state 2 could be approved, and state 3 could be certified. Server 200 synchronizes the configuration information in different states (e.g., state 1, state 2, and state 3) to server 300; therefore, server 300 can store configuration information in different states (e.g., state 1, state 2, and state 3).
[0115] Figure 3A The diagram also shows 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 icons of commonly used applications, and other application icons, such as the application icon 103 of the Smart Space APP.
[0116] like Figure 3A As shown, in response to the user clicking the Smart Space APP icon 103, the terminal device 100 obtains the Smart Space APP's account information, environment information, and version information. Based on the account information, environment information, and version information, the terminal device 100 requests the server 300 to synchronize the shelf-based package configuration information visible to the user in the corresponding state. For example, this can be categorized into the following situations:
[0117] Scenario 1: If the Smart Space APP is for developers to use and can view the unapproved shelf packaging configuration information, then through the pre-production environment interface of server 300, request to parse the unapproved field under the shelf packaging configuration information under the product information specified in S1.1 above.
[0118] Scenario 2: If the Smart Space APP is for testers (such as beta users) to view the approved shelf packaging configuration information, then the approved field under the shelf packaging configuration information under the product information specified in S2.1 above can be requested to be parsed through the pre-production environment interface of server 300.
[0119] Scenario 3: If the Smart Space APP is for use by existing network users (including gray-scale users) and allows viewing of the shelf-based package configuration information under the authenticated status, then the authenticated field under the shelf-based package configuration information under the product information specified in S3.1 is requested to be parsed through the production environment interface of server 300. In one implementation, based on the gray-scale user list stored in server 300, server 300 will only return the configuration information under the corresponding user, thus enabling gray-scale control.
[0120] As shown in Figure 3A , after receiving the configuration information from the server 300, the terminal device 100 can display the home page 12 of the smart space APP, which includes a page navigation bar, a family 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 can include a device icon, a device name, a 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 a connection method (such as Bluetooth).
[0122] Among them, on the side of the smart space APP, the terminal device 100 can use the shelving package configuration information corresponding to the device model when performing device discovery, connection network configuration, and device control operations in the home page 12, depending on the discovery matching rule field in the shelving package configuration information, such as the S1.1 "discovery rule" field.
[0123] For example, according to the configuration information of device model A, the terminal device 100 obtains that device model A has three capabilities of discovery, network configuration, and control, so the terminal device 100 can perform discovery operation, network configuration operation, or control operation on device model A. According to the configuration information of device model B, the terminal device 100 obtains that device model B has two capabilities of discovery and network configuration, so the terminal device 100 can perform discovery operation or network configuration operation on device model B. According to the configuration information of device model C, the terminal device 100 obtains that device model C has only one capability of discovery, so the terminal device 100 can perform discovery operation on device model B.
[0124] Taking a certain model of IoT device having a device discovery capability as an example, referring to Figure 3B , the terminal device 100 can receive a user operation on the add control 106 in the home page 12, referring to Figure 3C , in response to the user operation shown in Figure 3B , the terminal device 100 can display a menu box 301, which includes function controls such as adding a device 302, sharing a device, creating a scene, and connecting a third-party platform.
[0125] In one implementation, in response to the user operation shown in Figure 3C , the terminal device 100 scans nearby devices and displays a user interface 31 shown in Figure 3D .
[0126] As shown in Figure 3DAs shown, the developer / vendor can provide product information of the IoT device to the server 200, including configuration information and shelving package, etc. Because the product of the IoT device will go through different life cycles, the server 200 stores configuration information and shelving package in different states (such as 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. The server 200 synchronizes the shelving package in different states (such as state 1, state 2 and state 3) to the server 400, so that the server 400 can store shelving package in different states (such as state 1, state 2 and state 3).
[0127] The user interface 31 includes prompt information 303, a manual addition control 304 and a scanning addition control 305. The prompt information 303 is used to prompt that a device in the vicinity is being scanned; the manual addition control 304 is used to trigger the addition of the device by manual input; and the scanning addition control 305 is used to trigger the addition of the device by scanning the device QR code.
[0128] From Figure 3D As can be seen, in the process of scanning the device in the vicinity by the terminal device 100, the terminal device 100 can parse the discovery rules of different device models from the obtained configuration information, and then request the server 400 to synchronize the shelving package in the corresponding state that can be seen by the user according to the device model, account information, environment information and version information. For example, the following cases are divided:
[0129] Case 1, if the smart space APP is used by the developer, the shelving package in the unreviewed state can be viewed, then the unreviewed field under the shelving package of the product information specified in S1.2 above is requested to be parsed through the pre-production environment interface of the server 400.
[0130] Case 2, if the smart space APP is used by the tester (such as beta user), the shelving package in the reviewed state can be viewed, then the reviewed field under the shelving package of the product information specified in S2.2 above is requested to be parsed through the pre-production environment interface of the server 400.
[0131] Case 3, if the smart space APP is used by the online user (including the gray user), the shelving package in the authenticated state can be viewed, then the authenticated field under the shelving package of the product information specified in S3.2 above is requested to be parsed through the pre-production environment interface of the server 400.
[0132] As Figure 3D As shown, after the terminal device 100 obtains the field under the shelving package of the specified model device from the server 400, the discovered device 312 can be displayed.
[0133] Please refer to Figure 4 , Figure 4 is a schematic diagram of interaction between a terminal device and a server provided by an embodiment of the present application. As shown in Figure 4 , taking the smart space APP as an example, the terminal device 100 can 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 shelving module 4031, and the shelving module 4031 includes a protocol management module 4032.
[0134] The device management module 401 and the device control module 402 can display some function controls in the form of UX to the user in the application page of the smart space APP, for interaction with the user, for example, as shown in Figure 3A the home page 12. Among them, the device management module 401 and the device control module 402 are used to complete the functions of device discovery, connection network configuration and control, etc., mainly relying on the connection (link) module 403 in the underlying protocol. Among them, in the connection module 403, according to different access schemes and implementation manners, it can include shelving protocol capabilities, standard Bluetooth access capabilities, standard wifi access capabilities, etc. In the embodiment of the present application, taking the shelving protocol capability as an example, other capabilities can refer to the related description of the shelving protocol capability.
[0135] As shown in Figure 4 , after starting the smart space APP, the terminal device 100 acquires 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 steps T1.1, T1.2 and 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 launching the Smart Space APP, the terminal device 100 can determine the APP's environment information based on the compiled and packaged data. For consumers (e.g., existing network users), this environment information includes the device cloud and account environment connected to the APP. For manufacturers, this environment information includes the production environment corresponding to the production version. For testing, this environment information includes the pre-production environment corresponding to the beta version. The environment information also includes the specific environment selected based on the APP interface during APP operation (i.e., the APP version differentiated for developers or / and joint debugging), for example, manufacturers may see either the unapproved pre-release package or only the approved pre-release package. Based on this comprehensive environment and version information, when launching the APP, the terminal device 100 invokes underlying capabilities and passes the environment information to the connection module 403 during initialization.
[0139] In step T1.3, the terminal device 100 invokes the underlying capabilities to pass version information to the environment configuration in the connection module 403.
[0140] Specifically, the terminal device 100 can determine the version information based on the compilation and packaging, such as the generated 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 capabilities and passes the version information to the connection module 403 during initialization.
[0141] like Figure 4 Step T2, as shown, involves the connection module 403 obtaining the account information, environment information, and version information corresponding to the Smart Space APP. Based on this information, it requests synchronization from the server 300 (e.g., a device cloud) of the corresponding shelf configuration information visible to the user. This includes the following scenarios:
[0142] Scenario 1. If the app is for developers to use and allows them to view unapproved packages, then the server's 300 (e.g., device cloud) pre-production environment interface request will be parsed to obtain... Figure 2 The unapproved fields under the product information shelf-based packaging configuration information specified in step S1.1 are shown.
[0143] Scenario 2. If the app is for beta users (testing) and can view approved packages, then a request is made through the pre-production environment interface on the server side (e.g., device cloud) to obtain the relevant information. Figure 2 The approved fields under the product information shelf-based packaging configuration information specified in step S2.1 are shown.
[0144] Scenario 3. If the app is intended for use by existing network users (including gray-scale users), then requests should be made through the production environment interface on the server side (e.g., device cloud), and parsed. Figure 2The fields under the product information shelving package configuration information specified in step S3.1 as shown; and, according to the gray list user management module of the server 300 (such as the 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 may only be 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 analyzes the discovery rules of different device models from the configuration information obtained in step T2. If the discovery ability in the shelving package needs to be used, then perform step T3.2.
[0149] Step T3.2, when it is judged that the shelving package needs to be loaded, 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, 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 the plug - in cloud), and the request parameters carry the un - reviewed fields, and analyze the shelving package of a certain device model under the un - reviewed situation specified in step S1.2.
[0152] Case 2, APP is the same as the second case in T2 step, then the pre-production environment interface request is made through the server 400 (such as plug-in cloud), and the request parameter carries the audited field. The shelf package of a certain model device under the audited field is parsed in S2.2 step.
[0153] Case 3, APP is the same as the third case in T2 step, then the production environment interface request is made through the server 400 (such as plug-in cloud), and the shelf package of a certain model device is parsed in S3.2 step.
[0154] After the terminal device 100 obtains the shelf package of the specified model device from the server 400 (such as plug-in cloud), it matches and verifies with the part 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 downloading, the fields agreed in step S1.1, such as shelf package format, shelf package size, shelf package signature and MD5 check value, are verified. After verification, the final device discovery is returned to the APP side, which is displayed by the APP side.
[0155] As shown in Figure 4 , the APP side of the terminal device 100 can further complete steps T4 and T5 based on step T3. Corresponding to the same model device, the device discovery of step T3, the connection and network configuration of step T4, and the device control of step T5 are independent of each other, and can be independent or dependent. When they are dependent on each other, if the device discovery in step T3 is performed, the subsequent connection and network configuration in step T4 and the device control in step T5 can not need the protocol loading call in step T3.2 and the management and download update of the protocol package in step T3.3. It can be understood that steps T3.2 and T3.3 belong to consumable processes and operations. If the device discovery in step T3 is not performed, the process of the connection and network configuration in step T4 is T4-T4.1-T3.2-T3.3, and the process of the device control in step T5 is T5-T5.1-T3.2-T3.3, both of which need to complete the protocol loading call in step T3.2 and the management and download update of the protocol package in step T3.3.
[0156] Please refer to Figure 5 , Figure 5 is an interactive flowchart of a method for managing IoT devices provided by the embodiments of the present application, applied to Figure 1C the system as shown, including but not limited to the following steps:
[0157] Step S501, the first server synchronizes the configuration information to the second server and synchronizes the resource package to the third server;
[0158] Exemplarily, the configuration information comprises one or more of configuration information in an unreviewed state, configuration information in a reviewed state, and configuration information in an authenticated state. The resource package comprises one or more of a resource package in an unreviewed state, a resource package in a reviewed state, and a resource package in an authenticated state.
[0159] In an implementation, a vendor or a developer uploads product information of an IoT device to a first server, where the uploaded product information of the IoT device is in an unreviewed state, and the product information comprises configuration information and a resource package. The first server synchronizes the configuration information in the unreviewed state to a second server, and synchronizes the resource package in the unreviewed state to a third server.
[0160] In an implementation, the product information in the unreviewed state on the first server is reviewed to become product information in a reviewed state. The first server synchronizes the configuration information in the reviewed state to the second server, and synchronizes the resource package in the reviewed state to the third server.
[0161] In an implementation, the product information in the reviewed state on the first server is authenticated to become product information in an authenticated state. 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 configuration information in an unreviewed state, configuration information in a reviewed state, and configuration information in an authenticated state.
[0163] The second server stores one or more of a resource package in an unreviewed state, a resource package in a reviewed state, and a resource package in an authenticated state.
[0164] In an implementation, the resource package can be a shelving package. For related descriptions of the configuration information and the shelving package, refer to the above Figures 1C-4 , which will not be repeated here.
[0165] It should be noted that the first server can be the server 200 as shown in Figures 1C-4 , the second server can be the server 300 as shown in Figures 1C-4 , and the third server can be the server 400 as shown in Figures 1C-4 .
[0166] In step S502, the terminal device sends a first request to the second server.
[0167] The terminal device is installed with a control application (which can be specifically the smart control application described above). The terminal device sends the first request to the second server in response to a user operation acting on the control application.
[0168] In one implementation, when the control application is used by the manufacturer to debug IoT devices, the terminal device responds to user operations applied to the control application, obtains the compilation and packaging information corresponding to the control application, determines the running status of the control application to be unapproved based on the compilation and packaging information, and sends a first request to a second server based on the unapproved status of the control application. The first request is used to request configuration information for the unapproved status from the second server.
[0169] In one implementation, when the control application is used by beta users to test IoT devices, the terminal device responds to user operations applied to the control application, obtains the compilation and packaging information corresponding to the control application, determines the running status of the control application to be "approved" based on the compilation and packaging information, and sends a first request to a second server based on the approved status of the control application. The first request is used to request configuration information for the approved status from the second server.
[0170] In one implementation, when the control application is used by live users to test IoT devices, the terminal device responds to user operations applied to the control application, obtains the compilation and packaging information corresponding to the control application, determines the running state of the control application to be authenticated based on the compilation and packaging information, and sends a first request to a second server based on the authenticated state of the control application. The first request is used to request configuration information for the authenticated state from the second server.
[0171] The description regarding "the terminal device sending the first request to the second server" can be found in the following section. Figure 2 , Figures 3A-3D or Figure 4 The description in the text.
[0172] In step S503, the second server returns configuration information to the terminal device.
[0173] In one implementation, when the control application is used by the manufacturer to debug IoT devices, a first request is made to a second server to request configuration information in an unapproved state, and the second server returns the configuration information in an unapproved state to the terminal device.
[0174] In one implementation, when the control application is used by beta users to test IoT devices, a first request is made to a second server to request configuration information indicating an audited status, and the second server returns the configuration information indicating an audited status to the terminal device.
[0175] In an implementation, in the case that the application used by the control application is for the manufacturer to debug the IoT device, the first request is used to request the unreviewed state resource package corresponding to the function from the third server.
[0176] The description about the "the second server returns the configuration information to the terminal device" can be referred to the description in Figure 2 , Figures 3A-3D or Figure 4 .
[0177] In 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 controlling the IoT device includes one or more of device discovery, connection network configuration, 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 corresponding to the function from the server.
[0179] In an implementation, in the case that the application used by the control application is for the manufacturer to debug the IoT device, the terminal device sends a second request to the third server. The second request is used to request the unreviewed state resource package corresponding to the function from the third server.
[0180] In an implementation, in the case that the application used by the control application is for the beta user to test the IoT device, the terminal device sends a second request to the third server. The second request is used to request the reviewed state resource package corresponding to the function from the third server.
[0181] In an implementation, in the case that the application used by the control application is for the manufacturer to debug the IoT device, the terminal device sends a second request to the third server. The second request is used to request the unreviewed state resource package corresponding to the function from the third server.
[0182] The description about the "the terminal device sends a second request to the third server" can be referred to the description in Figure 2 , Figures 3A-3D or Figure 4 .
[0183] In step S505, the third server returns the resource package to the terminal device.
[0184] In an implementation, in the case that the application used by the control application is for the manufacturer to debug the IoT device, the second request is used to request the unreviewed state resource package from the third server, and the third server returns the unreviewed state resource package to the terminal device.
[0185] In one implementation, in the case that the application used by the control application is for beta user testing of the IoT device, the second request is for requesting the resource package in the audited state from the third server, and the third server returns the resource package in the audited state to the terminal device.
[0186] In one implementation, in the case that the application used by the control application is for live user testing of the IoT device, the second request is for requesting the resource package in the authenticated state from the third server, and the third server returns the resource package in the authenticated state to the terminal device.
[0187] In one implementation, in the case that the application used by the control application is for beta user testing of the IoT device, the second request is for requesting the resource package in the audited state from the third server, and the third server returns the resource package in the audited state to the terminal device. Figure 2 Figures 3A-3D or Figure 4 .
[0188] The structure of a terminal device provided by an embodiment of the present application is described below. Figure 6 A structural schematic diagram of the terminal device 100 is shown.
[0189] As shown in Figure 6 , the terminal device 100 can 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 loudspeaker 170A, a receiver 170B, a microphone 170C, a headset interface 170D, a sensor module 180, a key 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 can include a pressure sensor 180A, a gyroscope sensor 180B, a barometric 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 can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different arrangement of components. The components shown can be implemented in hardware, software, or a combination of software and hardware.
[0191] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (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 can be independent devices or integrated in one or more processors.
[0192] The controller can generate operation control signals according to instruction operation codes and timing signals, and complete the control of fetching and executing instructions.
[0193] The processor 110 can 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 can save instructions or data that have just been used or are used repeatedly by the processor 110. If the processor 110 needs to use the instructions or data again, it can directly call from the memory. This avoids repeated access and reduces the waiting time of the processor 110, thereby improving the efficiency of the system.
[0194] In some embodiments, the processor 110 can include one or more interfaces. The interfaces can 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 can contain multiple sets of I2C bus. The processor 110 can be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces respectively. For example, the processor 110 can be coupled to the touch sensor 180K through an I2C interface, so that the processor 110 and the touch sensor 180K communicate through the I2C bus interface, and the touch function of the terminal device 100 is realized.
[0196] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can contain multiple sets of I2S bus. The processor 110 can be coupled to the audio module 170 through the I2S bus, and communication between the processor 110 and the audio module 170 is realized. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the I2S interface, and the function of answering a phone through a Bluetooth headset is realized.
[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 through the PCM bus interface. In some embodiments, the audio module 170 can also deliver audio signals to the wireless communication module 160 through the PCM interface, and the function of answering a phone through a Bluetooth headset is realized. Both the I2S interface and the PCM interface can be used for audio communication.
[0198] The UART interface is a universal serial data bus, which is used 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 usually 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, and the Bluetooth function is realized. In some embodiments, the audio module 170 can deliver audio signals to the wireless communication module 160 through the UART interface, and the function of playing music through a Bluetooth headset is realized.
[0199] The MIPI interface can be used to connect the processor 110 and the display screen 194, the camera 193 and other peripheral devices. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), and the like. In some embodiments, the processor 110 and the camera 193 communicate through the CSI interface to implement the photographing function of the terminal device 100. The processor 110 and the display screen 194 communicate through 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 and the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, and the like. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, and the like.
[0201] The USB interface 130 is an interface that conforms to the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. 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 a peripheral device. It can also be used to connect a headset to play audio through the headset. The interface can also be used to connect other terminal devices, such as AR devices and the like.
[0202] It can be understood that the interface connection relationship between the modules shown in the embodiments of the present application is only illustrative and does not constitute a structural limitation of the terminal device 100. In other embodiments of the present application, the terminal device 100 can also use different interface connection methods or combinations of multiple interface connection methods in the above embodiments.
[0203] The charging management module 140 is used to receive charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from a wired charger through the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input through the wireless charging coil of the terminal device 100. The charging management module 140 can charge the battery 142 while also providing power to the terminal device through the power management module 141.
[0204] The power management module 141 is configured to connect the battery 142 and the charging management module 140 to the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the internal memory 121, the display 194, the camera 193, the wireless communication module 160, and the like. The power management module 141 can also be configured to monitor parameters such as the battery capacity, the number of battery cycles, the battery health status (leakage, impedance), and the like. In some embodiments, the power management module 141 can also be disposed in the processor 110. In some other embodiments, the power management module 141 and the charging management module 140 can be disposed in the same device.
[0205] The wireless communication function of the terminal device 100 can be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor, and the like.
[0206] The antenna 1 and the antenna 2 are configured to transmit and receive electromagnetic wave signals. Each antenna in the terminal device 100 can be configured to cover a single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example, the antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in combination with a tuning switch.
[0207] The mobile communication module 150 can provide a solution for wireless communication including 2G / 3G / 4G / 5G and the like applied to the terminal device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), and the like. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter, amplify, and the like the received electromagnetic waves, and transmit the processed signals to the modem processor for demodulation. The mobile communication module 150 can also amplify signals modulated by the modem processor and radiate the signals as electromagnetic waves through the antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 can be disposed in the same device.
[0208] The modem processor can include a modulator and a demodulator. The modulator is configured to modulate a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is configured to demodulate a 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. The low-frequency baseband signal processed by the baseband processor is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a microphone 170B, etc.), or displays an image or a video through a display screen 194. In some embodiments, the modem processor can be a separate device. In other embodiments, the modem processor can be independent of the processor 110 and disposed in the same device as the mobile communication module 150 or other functional modules.
[0209] The wireless communication module 160 can provide a wireless communication solution applied to the terminal device 100, including wireless local area networks (WLAN) (such as a wireless fidelity (Wi-Fi) network), Bluetooth (BT), a global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, and the like. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via an antenna 2, demodulates and filters the electromagnetic wave signal, and transmits the processed signal to the processor 110. The wireless communication module 160 can also receive a signal to be transmitted from the processor 110, modulate it, amplify it, and radiate it as an electromagnetic wave via the antenna 2.
[0210] In some embodiments, the antenna 1 and the mobile communication module 150 of the terminal device 100 are coupled, and the antenna 2 and the wireless communication module 160 are coupled, so that the terminal device 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology can 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, etc. The GNSS can include global positioning system (GPS), global navigation satellite system (GLONASS), beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and / or satellite based augmentation systems (SBAS).
[0211] The terminal device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs that execute program instructions to generate or change display information.
[0212] The display screen 194 is configured to display images, videos, and the like. 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 (AMOLED), a flex light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diode (QLED), or the like. In some embodiments, the terminal device 100 can include one or N display screens 194, where N is a positive integer greater than 1.
[0213] The terminal device 100 can implement the photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor.
[0214] The ISP is configured to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, 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 to convert 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 arranged in the camera 193.
[0215] The camera 193 is configured to capture still images or videos. An object generates an optical image through a lens and projects it onto a 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 light signal into an electrical signal, which is then transmitted to the ISP to convert it 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 the like format. In some embodiments, the terminal device 100 can include one or N cameras 193, where N is a positive integer greater than 1.
[0216] The digital signal processor is used to process digital signals, in addition to being able to process digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy, etc.
[0217] The video codec is used to compress or decompress digital video. The terminal device 100 can support one or more video codecs. In this way, the terminal device 100 can play or record videos in multiple encoding formats, such as: moving picture experts group (MPEG) 1, MPEG 2, MPEG 3, MPEG 4, etc.
[0218] The NPU is a neural-network (NN) calculation processor, which processes input information quickly by drawing on the structure of a biological neural network, such as drawing on the transmission mode between human brain neurons, and can also constantly self-learn. Through the NPU, intelligent cognitive applications of the terminal device 100 can be realized, such as: image recognition, face recognition, voice recognition, text understanding, etc.
[0219] The internal memory 121 can include one or more random access memories (RAMs) and one or more non-volatile memories (NVMs).
[0220] The random access memory can include a static random-access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation of DDR SDRAM is generally referred to as DDR5 SDRAM), etc.; the non-volatile memory can include a magnetic disk storage device, a flash memory.
[0221] According to the operation principle, the flash memory can include NOR FLASH, NAND FLASH, 3D NAND FLASH, etc. According to the potential order of the storage unit, the flash memory can include single-level cell (SLC), multi-level cell (MLC), triple-level cell (TLC), quad-level cell (QLC), etc. According to the storage specification, the flash memory can include universal flash storage (UFS), embedded multi media Card (eMMC), etc.
[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 an operating system or other programs running, and can also be used to store data of users and application programs, etc.
[0223] The non-volatile memory can also store executable programs and store data of users and application programs, etc., and can 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 an external non-volatile memory, so as 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, so as to realize the data storage function. For example, files such as music and video are saved in the external non-volatile memory.
[0225] The terminal device 100 can realize audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and the application processor, etc. For example, music playing, recording, etc.
[0226] The audio module 170 is used to convert digital audio information into analog audio signals, 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 part of the function modules of the audio module 170 can be arranged in the processor 110.
[0227] The speaker 170A, also known as a "loudspeaker", is used to convert audio electrical signals into sound signals. 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 the "earpiece", is used to convert an electrical audio signal into a sound signal. When the terminal device 100 is on a call or receiving a voice message, the user can listen to the voice by holding the receiver 170B close to the ear.
[0229] The microphone 170C, also called the "microphone", "transducer", is used to convert a sound signal into an electrical signal. When making a call or sending a voice message, the user can make a sound by holding the mouth close to the microphone 170C, and input the sound signal into the microphone 170C.
[0230] The earphone interface 170D is used to connect a wired earphone. The earphone interface 170D can be a USB interface 130, or a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0231] The pressure sensor 180A is used to sense a 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 gyroscope sensor 180B can 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 (i.e., x, y and z axes) can be determined by the gyroscope sensor 180B.
[0233] The barometric sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates the altitude, assists positioning and navigation by the air pressure value measured by the barometric sensor 180C.
[0234] The magnetic sensor 180D includes a Hall sensor.
[0235] The acceleration sensor 180E can detect the magnitude of acceleration of the terminal device 100 in various directions (generally three axes).
[0236] The distance sensor 180F is used to measure distance. The terminal device 100 can measure distance by infrared or laser. In some embodiments, when shooting a scene, the terminal device 100 can use the distance sensor 180F to measure distance to achieve fast focusing.
[0237] The proximity light sensor 180G can include, for example, a light emitting diode (LED) and a light detector, such as a photodiode.
[0238] Ambient light sensor 180L is used to sense ambient light brightness. Terminal device 100 can adaptively adjust display screen 194 brightness according to sensed ambient light brightness.
[0239] Fingerprint sensor 180H is used to collect fingerprints. Terminal device 100 can implement fingerprint unlocking, access application lock, fingerprint photograph, fingerprint answer incoming call, etc. by using collected fingerprint characteristics.
[0240] Temperature sensor 180J is used to detect temperature. In some embodiments, terminal device 100 executes temperature processing strategy by using temperature detected by temperature sensor 180J.
[0241] Touch sensor 180K, also called "touch device". Touch sensor 180K can be arranged on display screen 194, and touch screen, also called "touch screen", is composed of touch sensor 180K and display screen 194. Touch sensor 180K is used to detect touch operation acting on or near it. Touch sensor can transmit detected touch operation to application processor to determine touch event type. Visual output related to touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K can also be arranged on the surface of terminal device 100, which is different from the position where display screen 194 is located.
[0242] Bone conduction sensor 180M can obtain vibration signal. In some embodiments, bone conduction sensor 180M can obtain vibration signal of human body sound part vibration bone block.
[0243] Keys 190 include power-on key, volume key, etc. Keys 190 can be mechanical keys. They can also be touch keys.
[0244] Motor 191 can generate vibration prompt. Motor 191 can be used for incoming call vibration prompt, and also can be used for touch vibration feedback.
[0245] Indicator 192 can be indicator light, which can be used to indicate charging state, power change, and also can be used to indicate message, missed call, notification, etc.
[0246] SIM card interface 195 is used to connect SIM card. SIM card can be inserted into or pulled out of SIM card interface 195 to realize contact and separation with terminal device 100.
[0247] The structure of a server provided by an embodiment of the present application is introduced below. Figure 7 An example of a structure schematic diagram of a server provided by an embodiment of the present application is shown. As shown in FIG. 1, the server includes processor 1001, memory 1002, transceiver 1003, power supply 1004, and bus interface 1005. Figure 7As shown, the server can include one or more processors 1001, memory 1002, communication interface 1003, transmitter 1005, receiver 1006, coupler 1007, antenna 1008. These components can be connected through bus 1004 or other means, Figure 7 For example, by bus connection. Among them:
[0248] The communication interface 1003 can be used for the server to communicate with other communication devices, such as terminal devices 100. Specifically, the communication interface 1003 can be a 3G communication interface, a 4G communication interface, a 5G communication interface, or a future new radio communication interface, etc. Not limited to wireless communication interface, the server can also be configured with wired communication interface 1003, such as local access network (local access network, LAN) interface. The transmitter 1005 can be used for transmitting the signal output by the processor 1001. The receiver 1006 can be used for receiving 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 transmitter 1005 and receiver 1006 can be one or more. The antenna 1008 can be used to convert electromagnetic energy in the transmission line into electromagnetic wave in free space, or convert electromagnetic wave in 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 it to multiple receivers 1006.
[0250] The memory 1002 is coupled with the processor 1001, used to store various software programs and / or multiple sets of instructions. Specifically, the memory 1002 can include high-speed random access memory, and can also include 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 can store a network communication program, which can be used to communicate with one or more additional devices, one or more terminal devices, and one or more network devices.
[0251] In some embodiments of the present application, the memory 1002 can be used to store the 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 can be configured to read and execute computer readable instructions. Specifically, the processor 1001 can be configured to invoke a program stored in the memory 1002, for example, an implementation program of the method for managing IoT devices on the server 300 side provided by one or more embodiments of the present application, and execute instructions contained in the program.
[0253] It should be noted that Figure 7 The server 300 shown is only one implementation of an embodiment of the present application, and in actual applications, the server 300 can further include more or fewer components, which are not limited herein.
[0254] For more details about the functions and working principles of the server 300, please refer to the related content in the above various embodiments, which will not be repeated here.
[0255] It should be noted that Figure 7 The server shown is only one implementation of an embodiment of the present application, and in actual applications, the server can further include more or fewer components, which are not limited herein.
[0256] For more details about the functions and working principles of the server, please refer to the related content in the above various embodiments, which will not be repeated here.
[0257] The term "user interface (UI)" in the specification and claims of the present application and the drawings is a medium interface for interaction and information exchange between an application or an 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 the application is source code written in a specific computer language such as Java, extensible markup language (XML), etc. The interface source code is parsed, rendered on the terminal device, and finally presented as content recognizable by the user, such as pictures, texts, buttons, etc. Controls (controls) are also called widgets, which are basic elements of the user interface. Typical controls include toolbars, menu bars, text boxes, buttons, scrollbars, pictures, and texts. The properties and contents of the controls in the interface are defined by tags or nodes, such as XML <textview> 、 <imgview> 、 <videoview>The interface is defined by nodes that specify the controls contained in the interface. One node corresponds to one control or property in the interface, and the nodes are parsed and rendered to present the content visible to the user. In addition, many applications, such as hybrid applications, also contain web pages in the interface. A web page, also referred to as a page, can be understood as a special control embedded in the interface of an application. The web page is a source code written in a specific computer language, such as hyper text markup language (HTML), cascading style sheets (CSS), JavaScript (JS), etc. The web page source code can be loaded and displayed by a browser or a web page display component similar to the function of a browser to present content recognizable to the user. The specific content contained in the web page is also defined by tags or nodes in the web page source code, such as HTML defines a page by 、 、 <video> 、 <canvas>To define the elements and attributes of a web page.
[0258] A common form of user interface is a graphic user interface (GUI), which refers to a user interface that displays in a graphical manner. It can be an icon, window, control, etc. interface element displayed in the display screen of an electronic device, wherein the control can include an icon, button, menu, tab, text box, dialog box, status bar, navigation bar, Widget, etc. visual interface element.
[0259] It should be understood that each step in the above method embodiments provided by the present application can be completed by integrated logic circuits of hardware in the processor or instructions in the form of software. The method steps disclosed in combination with the embodiments of the present application can be directly embodied as hardware processor execution completion, or executed by a combination of hardware and software modules in the processor.
[0260] The present application also provides a chip system, which includes at least one processor for realizing the functions involved in the method executed by the electronic device in any one of the above embodiments.
[0261] In a possible design, the chip system further includes a memory for storing program instructions and data, and the memory is located in the processor or outside the processor.
[0262] The chip system can be composed of a chip, or can include a chip and other discrete devices.
[0263] Optionally, the processor in the chip system can be one or more. The processor can be implemented by hardware or software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc. When implemented by software, the processor can be a general-purpose processor, which realizes by reading software codes stored in the memory.
[0264] Optionally, the memory in the chip system can also be one or more. The memory can be integrated with the processor, or can be arranged separately from the processor, and the embodiments of the present application are not limited in this regard. For example, the memory can be a non-transient processor, such as a read-only memory (ROM), which can be integrated on the same chip as the processor, or can be arranged on different chips, and the embodiments of the present application do not make specific limitations on 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), can be an application specific integrated circuit (ASIC), can also be a system on chip (SoC), can also be a central processor unit (CPU), can also be a network processor (NP), can also be a digital signal processor (DSP), can also be a micro controller unit (MCU), can also be a programmable logic device (PLD) or other integrated chip.
[0266] The embodiments of the present application can be combined in any manner to achieve different technical effects.
[0267] In the above embodiments, all or part of the embodiments can be realized by software, hardware, firmware or any combination thereof. When realized by software, all or part of the embodiments can be realized 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, all or part of the processes or functions described in the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. 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 one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available medium can be a magnetic medium (for example, floppy disk, hard disk, magnetic tape), optical medium (for example, DVD), or semiconductor medium (for example, solid state disk) and the like.
[0268] Those skilled in the art can understand that all or part of the processes in the above-mentioned method embodiments can be implemented by a computer program instructing relevant hardware to complete, and the program can be stored in a computer readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The aforementioned storage medium includes ROM, random access memory (RAM), magnetic disk or optical disk, and various storage media that can store program codes.
[0269] In summary, the above only describes the embodiments of the technical scheme of the present application, and is not used to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present application shall be included in the protection scope of the present application.< / canvas> < / video> < / videoview> < / imgview> < / textview>
Claims
1. A system for managing IoT devices, the system comprising a terminal device, a first server, a second server, and a third server, wherein, The first server is used for: Receive product information from Internet of Things (IoT) devices, wherein the product information includes configuration information and resource packages; The configuration information is sent to the second server, and the resource package is sent to the third server; The second server is used to receive and store the configuration information; The terminal device is used to send a first request to the second server; The second server is used to send the configuration information to the terminal device after receiving the first request; The third server is used to receive and store the resource package; The terminal device is used to send a second request to the third server according to the configuration information; The third server, upon receiving the second request, sends the resource package to the terminal device, the resource package being used by the terminal device to control the IoT device.
2. The system according to claim 1, characterized in that, The terminal device has a control application installed, and the terminal device is used for: In response to a user operation applied to 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: Display the application interface of the control application; In response to a user action 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 user operations applied to the control application, obtain the compilation and packaging information corresponding to the control application; The running status of the control application is determined based on the compilation and packaging information; The first request is sent to the second server according to the running status of the control application, wherein the first request is used to request configuration information related to the running status from the second server.
5. The system according to claim 4, characterized in that, The terminal device is specifically used for: The functions of the IoT device are determined based on the configuration information related to the operating status; The second request is sent to the third server, wherein the second request is used to request a resource package related to the functionality of the IoT device from the third server.
6. The system according to any one of claims 2-5, characterized in that, The product information includes one or more of the following: product information in an unapproved state, product information in an approved state, and product information in a certified state.
7. The system according to claim 6, characterized in that, The running state of the control application includes one or more of the following: unapproved state, approved state, and certified state.
8. A method for managing IoT devices, applied to a terminal device, wherein the terminal device has a control application installed, the control application being used by the terminal device to manage IoT devices, the method comprising: In response to a user operation applied to the control application, a first request is sent to a second server, wherein the second server is used to store configuration information of the IoT device, and the configuration information of the IoT device stored in the second server comes from the first server; Receive the configuration information from the second server and display the application interface of the control application; In response to a user operation on the application interface, a second request is sent to a third server, wherein the third server is used to store the resource package of the IoT device, and the resource package of the IoT device stored in the third server comes from the first server; The terminal device receives a resource packet from the third server and displays the icon of the IoT device. The resource packet is used by the terminal device to control the IoT device.
9. The method according to claim 8, characterized in that, The step of sending a first request to a second server in response to a user operation performed on the control application includes: In response to user operations applied to the control application, obtain the compilation and packaging information corresponding to the control application; The running status of the control application is determined based on the compilation and packaging information; The first request is sent to the second server according to the running status of the control application, wherein the first request is used to request configuration information related to the running status from the second server.
10. The method according to claim 9, characterized in that, The response is based on the user operation of the application interface, and sends a second request to the third server, including: In response to user operations applied to the application interface, the functions of the IoT device are determined based on 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 functionality of the IoT device from the third server.
11. The method according to any one of claims 8-10, characterized in that, The product information of the IoT device includes one or more of the following: product information in an unapproved state, product information in an approved state, and product information in a certified state.
12. The method according to claim 11, characterized in that, The running state of the control application includes one or more of the following: unapproved state, approved state, and certified 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 including computer instructions, and the one or more processors call the computer instructions to cause the terminal device to perform 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, the chip system including one or more processors, the processors being configured to invoke computer instructions to cause the electronic device to perform the method as described in any one of claims 8-12.
15. A computer program product containing instructions, characterized in that, When the computer program product is run on an electronic device, it causes the electronic device to perform the method as described in any one of claims 8-12.
16. A computer-readable storage medium comprising instructions, characterized in that, When the instructions are executed on an electronic device, the electronic device causes the electronic device to perform the method as described in any one of claims 8-12.
Citation Information
Patent Citations
Application installation package processing method and apparatus, and server
CN106484470A
Equipment control method and device, electronic equipment and Internet of Things system
CN109714195A