Remote control method, electronic equipment and communication system

By using the communication system of the main processor and the subprocessor in the controlled device, the long connection and reconnection functions are established, and the remote control problem in the non-powered state is solved, and the remote control and connection stability in multiple states is achieved. , extends the service life of the subprocessor.

CN119232779APending Publication Date: 2024-12-31HONOR DEVICE CO LTD

Patent Information

Application Number
CN202310809701.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The prior art is difficult to implement remote control functions when the controlled device is in a non-on state, such as shutdown, sleep, and sleep states, and it is impossible to successfully receive remote control instructions or responses.

Method used

Using a communication system including a main processor and a sub-processor, the sub-processor establishes a long connection with the server after the controlled device is shut down, and the reconnect function is enabled. After receiving the remote boot command, the main processor is controlled to start through the sub-processor. The main processor turns off the reconnect function and establishes a communication connection with the server to ensure that in different states (shutdown, sleep, sleep, sleep or power-on but fails) you can receive and respond to remote control commands.

Benefits of technology

The remote control function is realized when the controlled device is in multiple states, ensuring the stability and seamless connection of the remote connection, extending the service life of the sub-processor, and reducing the write loss to it.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232779A_ABST
    Figure CN119232779A_ABST
Patent Text Reader

Abstract

The invention discloses a remote control method, electronic equipment and a communication system. The method is applied to a communication system comprising a master control device, a controlled device and a server. And after the controlled equipment is shut down, the controlled equipment establishes long connection with the server through the secondary processor, and the secondary processor starts a reconnection function. When the controlled equipment is in a power-off state, if the controlled equipment receives a remote power-on instruction, forwarded by the server, of the main control equipment based on the long connection, the main processor is controlled to be started through the auxiliary processor, then the main processor controls the auxiliary processor to close the reconnection function, and then communication connection is established with the server through the main processor; when the controlled device is in the shutdown state, if the controlled device detects the startup operation, the main processor is directly controlled to be started, then the main processor controls the auxiliary processor to close the reconnection function, then the communication connection is established through the main processor, and the controlled device can be remotely controlled through the communication connection between the main processor and the server.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of terminals, and in particular to a remote control method, electronic equipment and a communication system. Background Art

[0002] With the development of terminal technology, users can remotely control controlled devices to perform various tasks through a master device. In order to realize the above remote control function, it is necessary to ensure that the controlled device can successfully receive the remote control command and respond successfully.

[0003] However, in actual applications, the controlled device cannot successfully receive the remote control command or cannot successfully respond in some states, such as when it is not powered on, or when it is powered on but cannot respond normally due to software or hardware failures.

[0004] Therefore, how to ensure the effectiveness of the remote control function is an urgent problem to be solved. Summary of the invention

[0005] The present application discloses a remote control method, an electronic device and a communication system. The method is applied to a communication system including a main control device, a controlled device and a server. After the controlled device is turned off, the controlled device establishes a long connection with the server through a sub-processor, and enables the sub-processor to turn on the reconnection function. When the controlled device is in a shutdown state, if the controlled device receives a remote power-on instruction of the main control device forwarded by the server based on the long connection, the main processor is controlled to start through the sub-processor, and then the sub-processor is controlled to turn off the reconnection function through the main processor, and then a communication connection is established with the server through the main processor; when the controlled device is in a shutdown state, if the controlled device detects a power-on operation, the main processor is directly controlled to start, and then the sub-processor is controlled to turn off the reconnection function through the main processor, and then a communication connection is established through the main processor. The controlled device can be remotely controlled through the communication connection between the main processor and the server.

[0006] In a first aspect, the present application provides an electronic device, comprising: a main processor and a sub-processor, wherein the performance of the main processor is better than that of the sub-processor; the sub-processor is used to, when the main processor is in a non-working state, establish a first connection with a server, receive a first instruction sent by the server based on the first connection, and notify the main processor to switch to a working state in response to the first instruction; the main processor is used to, after switching to the working state, turn off the reconnection function of the sub-processor, establish a second connection with the server, and disconnect the first connection when the second connection is established; wherein the reconnection function includes: after the first connection is disconnected, the sub-processor re-establishes the first connection with the server.

[0007] After implementing the method provided in the first aspect, more remote control scenarios can be realized and the stability of the remote connection can be improved through the reconnection function. Specifically, when the electronic device is in a state of shutdown, sleep, hibernation, or in a state of power on but failure, the electronic device can establish a long connection with the server through the sub-processor, and receive and respond to the remote control instructions of the main control device forwarded by the server based on the long connection. When the electronic device is in a state of power on, the controlled device can establish a connection with the server through the main processor, and receive and respond to the remote control instructions of the main control device forwarded by the server based on the connection. On the one hand, when the controlled device is in a state of shutdown, sleep, sleep or power on but failure, the sub-processor of the controlled device automatically turns on the reconnection function, so that when the sub-processor abnormally disconnects the long connection with the server, it can re-request to establish a long connection with the server, thereby ensuring the stability of the long connection between the sub-processor and the server. For example, when the sub-processor is powered on after being powered off, the power off will cause the long connection to be disconnected, but after the power is re-on, the sub-processor can automatically request to establish a long connection with the server.

[0008] On the other hand, when the controlled device is powered on, the main processor of the controlled device will first notify the sub-processor to turn off the reconnection function, and then establish a communication connection with the server through the main processor to automatically disconnect the connection between the sub-processor and the server. In this way, not only the communication connection between the main processor and the server is seamlessly connected to the long connection between the sub-processor and the server, ensuring that the controlled device and the server are always connected, so that the user does not perceive any abnormalities on the main control device side, but also the sub-processor's reconnection function is not triggered after being directly squeezed out by the main processor, resulting in the sub-processor competing with the sub-processor for the connection to the server.

[0009] In combination with the electronic device described in the first aspect, the sub-processor is also used to determine that the main processor is in a non-working state after a bus heartbeat message from the sub-processor is not received within a time limit; or, the sub-processor is also used to determine that the main processor is in a non-working state after receiving a second instruction sent by the main processor.

[0010] In this way, the secondary processor can determine the status of the primary processor in a variety of ways, and then establish a remote connection with the Timely Rain server.

[0011] In combination with the electronic device described in the first aspect, the non-working state of the main processor includes any one of the following: a state in which the main processor is powered off, a state in which the main processor is powered on and faulty, and the main processor is in a working state including a state in which the main processor is powered on and not faulty.

[0012] In combination with the electronic device described in the first aspect, the first instruction includes an instruction sent by the server to start up, wake up from hibernation, wake up from sleep, or restart.

[0013] In combination with the electronic device described in the first aspect, the electronic device further includes an embedded control processor EC; the sub-processor is specifically used to notify the main processor to switch to a working state through the EC.

[0014] In combination with the electronic device described in the first aspect, the main processor is also used to send a network identifier and a first password to the secondary processor when it is in a working state; the secondary processor is also used to access the network based on the network identifier and the first password when the main processor is in a non-working state.

[0015] In combination with the electronic device described in the first aspect, the main processor is also used to send a login account and a second password to the secondary processor when it is in a working state, and establish a second connection based on the login account and the second password; the secondary processor is also used to establish a first connection based on the login account and the second password when the main processor is in a non-working state.

[0016] In combination with the electronic device described in the first aspect, the main processor is also used to send a device capability description file to the secondary processor when it is in a working state; the secondary processor is also used to parse the first instruction based on the device capability description file when the main processor is in a non-working state.

[0017] In combination with the electronic device described in the first aspect, the main processor is also used to perform the following: query the information of the secondary processor; if the information in the secondary processor does not include the first information, send the first information to the secondary processor, and the first information includes any one or more of the following: a network identifier and a first password, a login account and a second password, or a device capability description file.

[0018] In this way, the writing loss to the sub-processor can be reduced and its service life can be extended. Specifically, due to the low specifications of the sub-processor, the number of writes to the NVM (such as flash memory) integrated in the sub-processor is limited. Therefore, before each information synchronization, the controlled device needs to query the main processor whether the information in the sub-processor is consistent with the information to be synchronized. Only when there is inconsistency in the information, it will be written to the sub-processor.

[0019] In combination with the electronic device described in the first aspect, the sub-processor is also used to perform the following: after the sub-processor is powered off, the first connection is disconnected; after the sub-processor is powered off and then powered on again, if the sub-processor does not receive the bus heartbeat message from the main processor, the sub-processor re-establishes the first connection with the server.

[0020] In combination with the electronic device described in the first aspect, the main processor is further used to notify the sub-processor to clear data in the random access memory RAM after establishing the second connection with the server.

[0021] This can reduce the power consumption of the secondary processor, so that when the main processor is working, the secondary processor can enter a low power consumption state.

[0022] In conjunction with the electronic device described in the first aspect, the main processing is further configured to perform the following after establishing a second connection with the server:

[0023] The main processor receives a third instruction sent by the server based on the second connection, where the third instruction includes an instruction to shut down, sleep, hibernate, restart, or play music; in response to the third instruction, the main processor executes a corresponding task.

[0024] In combination with the electronic device described in the first aspect, the secondary processor includes a configuration management module, and the configuration management module is used to determine the working state of the main processor based on the bus heartbeat message of the main processor.

[0025] In combination with the electronic device described in the first aspect, the sub-processor includes a remote connection management module, and the remote connection management module is used to establish a first connection with the server and receive a first instruction based on the first connection.

[0026] In combination with the electronic device described in the first aspect, the secondary processor includes a wake-up management module, and the wake-up management module is used to notify the main processor to switch to a working state.

[0027] In a second aspect, the present application provides a remote control method, which is applied to an electronic device, wherein the electronic device includes a main processor and a sub-processor, and the performance of the main processor is better than that of the sub-processor; the method includes: when the electronic device determines that the main processor is in a non-working state, establishing a first connection with a server through the sub-processor, and receiving a first instruction sent by the server based on the first connection, and in response to the first instruction, notifying the main processor to switch to a working state through the sub-processor; after the main processor of the electronic device switches to the working state, turning off the reconnection function of the sub-processor through the main processor, establishing a second connection with the server through the main processor, and disconnecting the first connection when the second connection is established; wherein the reconnection function includes: re-establishing the first connection with the server through the sub-processor after the first connection is disconnected.

[0028] In combination with the method provided in the second aspect, the electronic device determines that the main processor is in a non-working state specifically includes: the sub-processor of the electronic device determines that the main processor is in a non-working state after the sub-processor of the electronic device times out and fails to receive the bus heartbeat message of the sub-processor; or, the sub-processor of the electronic device determines that the main processor is in a non-working state after receiving the second instruction sent by the main processor.

[0029] In combination with the method provided in the second aspect, the non-working state of the main processor includes any one of the following: a state in which the main processor is powered off, a state in which the main processor is powered on and faulty, and the main processor is in a working state including a state in which the main processor is powered on and not faulty.

[0030] In combination with the method provided in the second aspect, the first instruction includes an instruction sent by the server to start up, wake up from hibernation, wake up from sleep, or restart.

[0031] In combination with the method provided in the second aspect, the electronic device further includes an embedded control processor EC; the electronic device notifies the main processor to switch to the working state through the sub-processor specifically includes: the electronic device notifies the main processor to switch to the working state through the sub-processor and EC.

[0032] In combination with the method provided in the second aspect, the method also includes: when the main processor of the electronic device is in a working state, the electronic device sends a network identifier and a first password to the secondary processor through the main processor; when the main processor of the electronic device is in a non-working state, the secondary processor of the electronic device accesses the network based on the network identifier and the first password.

[0033] In combination with the method provided in the second aspect, the method also includes: when the main processor of the electronic device is in a working state, the electronic device sends a login account and a second password to the sub-processor through the main processor, and establishes a second connection based on the login account and the second password through the main processor; when the main processor of the electronic device is in a non-working state, the sub-processor of the electronic device establishes a first connection based on the login account and the second password.

[0034] In combination with the method provided in the second aspect, the method also includes: when the main processor of the electronic device is in a working state, the electronic device sends a device capability description file to the sub-processor through the main processor; when the main processor of the electronic device is in a non-working state, the sub-processor of the electronic device parses a first instruction based on the device capability description file.

[0035] In combination with the method provided in the second aspect, the method also includes: before the electronic device establishes a first connection with the server through the sub-processor, the method also includes: the electronic device queries the information of the sub-processor through the main processor; if the information in the sub-processor does not include the first information, the first information is sent to the sub-processor through the main processor, and the first information includes any one or more of the following: a network identification and a first password, a login account and a second password, or a device capability description file.

[0036] In combination with the method provided in the second aspect, before the electronic device establishes a first connection with the server through the sub-processor, the method also includes: after the sub-processor is powered off, the first connection is disconnected; after the sub-processor is powered off and then powered on again, if the electronic device does not receive the bus heartbeat message of the main processor through the sub-processor, the first connection is re-established with the server through the sub-processor.

[0037] In combination with the method provided in the second aspect, after the electronic device establishes a second connection with the server through the main processor, the method further includes: notifying the sub-processor to clear data in the random access memory RAM through the main processor.

[0038] In combination with the method provided in the second aspect, after the electronic device establishes a second connection with the server through the main processor, the method also includes: the electronic device receives a third instruction sent by the server based on the second connection through the main processor, and the third instruction includes: an instruction to shut down, sleep, hibernate, restart or play music; in response to the third instruction, the corresponding task is executed through the main processor.

[0039] In combination with the method provided in the second aspect, the secondary processor includes a configuration management module, and the electronic device determines the working state of the main processor based on the bus heartbeat message of the main processor through the configuration management module.

[0040] In combination with the method provided in the second aspect, the sub-processor includes a remote connection management module, and the electronic device specifically establishes a first connection with the server through the remote connection management module, and receives the first instruction based on the first connection.

[0041] In combination with the method provided in the second aspect, the secondary processor includes a wake-up management module, and the electronic device specifically notifies the main processor to switch to the working state through the wake-up management module.

[0042] In a third aspect, the present application provides a chip, which is applied to an electronic device, and the chip is used to call computer instructions to enable the electronic device to execute any method described in the second aspect.

[0043] In a fourth aspect, the present application provides a computer-readable storage medium, which includes instructions. When the instructions are executed on an electronic device, the electronic device executes the method described in any one of the second aspects. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 A schematic diagram of the architecture of a communication system 10 provided in an embodiment of the present application;

[0045] Figure 2 A schematic diagram of the hardware architecture of a master control device provided in an embodiment of the present application;

[0046] Figure 3A A schematic diagram of the hardware architecture of a controlled device provided in an embodiment of the present application;

[0047] Figure 3B A schematic diagram of a software architecture of a controlled device provided in an embodiment of the present application;

[0048] Figure 4 A schematic diagram of the hardware architecture of a server provided in an embodiment of the present application;

[0049] Figure 5A-5D A schematic diagram of an operation interface for normal shutdown of a group of controlled devices provided in an embodiment of the present application;

[0050] Figure 6A-6G A schematic diagram of a set of operation interfaces for remotely controlling the startup of a controlled device through a master device provided in an embodiment of the present application;

[0051] Figure 7A-7C A schematic diagram of a set of operation interfaces for controlling the power on of a controlled device through local operation provided in an embodiment of the present application;

[0052] Figure 8A-8F A schematic diagram of a scenario in which a group of sub-processors of a controlled device are powered off and then powered on again, provided in an embodiment of the present application;

[0053] Fig. 9 A flow chart of a remote control method provided by this application;

[0054] Fig.10 A flow chart of interaction between devices provided for this application;

[0055] Fig.11 This is an interactive process for synchronizing information between a primary processor and a secondary processor according to an embodiment of the present application;

[0056] Fig.12 This is an interactive process for implementing remote control through a sub-processor of a main control device after an abnormal / normal shutdown according to an embodiment of the present application;

[0057] Fig.13 This is an interactive process for implementing remote control through a main processor of a main control device after remote / local startup according to an embodiment of the present application;

[0058] Fig.14 This is an interactive process for implementing remote control when a sub-processor of a main control device is powered on again after power failure in an embodiment of the present application. DETAILED DESCRIPTION

[0059] The technical solutions in the embodiments of the present application will be described clearly and in detail below in conjunction with the accompanying drawings. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in the text is only a description of the association relationship of the associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

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

[0061] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described in this application may be combined with other embodiments.

[0062] The term "user interface (UI)" in the following embodiments of the present application refers to a medium interface for interaction and information exchange between an application or operating system and a user, which realizes the conversion between the internal form of information and the form acceptable to the user. The user interface is a source code written in a specific computer language such as Java and extensible markup language (XML). The interface source code is parsed and rendered on an electronic device, and finally presented as content that can be recognized by the user. The commonly used form of user interface is a graphical user interface (GUI), which refers to a user interface related to computer operation displayed in a graphical manner. It can be a visual interface element such as text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc. displayed on the display screen of an electronic device.

[0063] In a possible remote control method, only when the controlled device is powered on, can the master control device send a remote control instruction to the controlled device through the server to implement the remote control function.

[0064] This is because, when the controlled device is in the power-on state, the processor of the controlled device is powered on and can work, and the controlled device can log in to the server through the processor, so the controlled device can receive the remote control instruction sent by the master device from the server through the processor, and then successfully respond to the remote control instruction. However, when the controlled device is in the non-power-on state, the processor of the controlled device is powered off or stops working, and the controlled device cannot log in to the server through the processor, so the controlled device cannot receive the remote control instruction sent by the master device from the server through the processor, and then cannot successfully respond to the remote control instruction.

[0065] It can be seen that in the above remote control method, it is impossible to implement the remote control function for the controlled device which is in a non-power-on state, such as shutdown, dormancy and sleep state.

[0066] To this end, the present application provides a remote control method, electronic device and communication system. The remote control method is applied to a communication system including a master control device, a controlled device and a server, wherein the controlled device includes a master processor and a slave processor, wherein the slave processor integrates a chip for realizing wireless communication function.

[0067] In this method, after the sub-processor of the controlled device determines that the controlled device is turned off, the controlled device establishes a long connection with the server through the sub-processor, and enables the sub-processor to turn on the reconnection function. When the controlled device is in the shutdown state, if the controlled device receives a remote power-on instruction of the main control device forwarded by the server based on the long connection, the main processor is controlled to start by the sub-processor, and then the sub-processor is controlled to turn off the reconnection function by the main processor, and then a communication connection is established with the server through the main processor; when the controlled device is in the shutdown state, if the controlled device detects a power-on operation, the main processor is directly controlled to start, and then the sub-processor is controlled to turn off the reconnection function by the main processor, and then a communication connection is established through the main processor. The controlled device can be remotely controlled through the communication connection between the main processor and the server.

[0068] Among them, several important concepts involved in this application include:

[0069] Long connection is the relative concept of short connection. Short connection means that the controlled device and the server establish a connection each time they need to send data, and disconnect after the data is sent. That is, each established connection is only used to complete one data sending operation. Long connection means that the controlled device and the server do not disconnect after establishing the connection and sending data, but continue to maintain the connection. When data needs to be sent later, the data can be sent directly on the maintained connection. When the controlled device and the server maintain a long connection, the controlled device and the server can send multiple data packets continuously on one connection. Moreover, during the long connection, if no data packets are sent for a long time, the controlled device and the server are usually required to detect the current communication link to detect the failure of the communication link in time.

[0070] The reconnection function includes: after the secondary processor disconnects the long connection with the server, the secondary processor can automatically re-request to establish the long connection with the server. For example, if the secondary processor is suddenly disconnected, resulting in the disconnection of the long connection with the server, after the power is restored, the secondary processor will automatically trigger a request to re-request to establish the long connection with the server.

[0071] In the embodiment of the present application, in addition to after the sub-processor of the controlled device determines that the controlled device is shut down, the controlled device establishes a long connection with the server through the sub-processor to achieve remote startup, as long as the sub-processor determines that the main processor is in a non-working state, the controlled device establishes a long connection with the server through the sub-processor to achieve remote functions.

[0072] The main processor is in a non-working state including but not limited to: the controlled device is powered off, dormant, sleeping, or powered on but faulty. Specifically, when the controlled device is in a dormant or sleeping state, the controlled device establishes a long connection with the server through the secondary processor to achieve remote wake-up, or when the controlled device is powered on but faulty, the controlled device establishes a long connection with the server through the secondary processor to achieve remote restart.

[0073] The main processor is in a working state including: the state where the controlled device is powered on but not faulty. Specifically, when the controlled device is powered on, the main processor is powered on, so it is ready for operation. Further, if the controlled device is not faulty, the main processor can operate normally. Generally, whether the main processor is in a non-working state or a working state, the sub-processor is in a working state.

[0074] In an achievable manner, the method by which the controlled device determines that the main processor is in a non-working state through the secondary processor includes but is not limited to:

[0075] (1) Determined based on a notification sent by the main processor to the sub-processor. When the main processor receives a shutdown, hibernation or sleep input, it notifies the sub-processor to log in to the server, that is, notifies the sub-processor to establish a long connection with the server, so that the sub-processor determines that the main processor is in a non-working state. The shutdown, hibernation or sleep input received by the main processor can be an operation acting on the controlled device, or a remote control instruction sent by the server to the main processor.

[0076] (2) Determined based on the bus heartbeat state between the main processor and the secondary processor. When the main processor is in the working state, it will periodically send a bus heartbeat message to the secondary processor. When the secondary processor times out and does not receive the bus heartbeat message, it is confirmed that the main processor is in the non-working state. The bus heartbeat message is used to maintain the bus connection between the main processor and the secondary processor, so that the main processor sends control commands to the secondary processor through the bus connection.

[0077] (3) Determined based on the state of the controlled device sent by the embedded controller (EC) to the secondary processor. Specifically, the controlled device also includes the EC, and the EC can notify the secondary processor periodically or when the state of the controlled device changes, so that the secondary processor can confirm that the main processor is in a non-working state.

[0078] In another achievable manner, before the controlled device establishes a long connection with the server through the sub-processor, it is necessary to first synchronize information between the main processor and the sub-processor. The information that needs to be synchronized includes but is not limited to: connection configuration information and device configuration information. The connection configuration information is used for the sub-processor to establish a long connection with the server using the same server login information as the main processor. The device configuration information is used for the sub-processor to access the network after obtaining the network configuration information, and is also used for the sub-processor to learn the capabilities of the controlled device, so that it can parse and respond to the remote control instructions when receiving the remote control instructions. In particular, before each information synchronization, the controlled device first needs to query the information in the sub-processor through the main processor to see if it is consistent with the information to be synchronized. If it is inconsistent, it is written into the non-volatile memory (NVM) of the sub-processor.

[0079] It can be seen that after implementing the remote control method provided by this application, the effectiveness of remote control can be guaranteed in many aspects, and specifically the following technical effects can be brought about:

[0080] (1) Realize more remote control scenarios. Specifically, when the controlled device is powered off, asleep, or dormant, or powered on but faulty, the controlled device can establish a long connection with the server through the secondary processor, and receive and respond to remote control instructions of the master device forwarded by the server based on the long connection. When the controlled device is powered on, the controlled device can establish a connection with the server through the main processor, and receive and respond to remote control instructions of the master device forwarded by the server based on the connection.

[0081] (2) Ensure that the controlled device can stably receive remote control commands. The details are as follows:

[0082] On the one hand, when the controlled device is in the state of being powered off, dormant, sleeping, or powered on but malfunctioning, the sub-processor of the controlled device automatically turns on the reconnection function, so that when the sub-processor abnormally disconnects the long connection with the server, it can re-request to establish a long connection with the server, thereby ensuring the stability of the long connection between the sub-processor and the server. For example, when the sub-processor is powered off and then powered on again, the power off will cause the long connection to be disconnected, but after the power is turned on again, the sub-processor can automatically request to establish a long connection with the server.

[0083] On the other hand, when the controlled device is powered on, the main processor of the controlled device will first notify the sub-processor to turn off the reconnection function, and then establish a communication connection with the server through the main processor to automatically disconnect the connection between the sub-processor and the server. In this way, not only the communication connection between the main processor and the server is seamlessly connected to the long connection between the sub-processor and the server, ensuring that the controlled device and the server are always connected, so that the user does not perceive any abnormalities on the main control device side, but also the sub-processor's reconnection function is not triggered after being directly squeezed out by the main processor, resulting in the sub-processor competing with the sub-processor for the connection to the server.

[0084] (3) Reduce the writing loss to the sub-processor and extend its service life. Specifically, due to the low specifications of the sub-processor, the number of writes to the NVM (such as flash memory) integrated in the sub-processor is limited. Therefore, before each information synchronization, the controlled device needs to query the main processor whether the information in the sub-processor is consistent with the information to be synchronized. Only when there is inconsistency in the information, it will be written to the sub-processor.

[0085] Next, a schematic diagram of the architecture of the communication system 10 to which the remote control method provided in the present application is applied, as well as the product forms of various devices included in the communication system 10, etc. are introduced.

[0086] refer to Figure 1 , Figure 1 The schematic diagram of the architecture of a communication system 10 provided in an embodiment of the present application is exemplified.

[0087] like Figure 1 As shown, the communication system 10 may include a master device, a server, and a controlled device. Figure 1 The number of each device is shown as one by way of example, but the number of the master device, the server, and the controlled device can be one or more, respectively, and this is not limited in the embodiments of the present application.

[0088] The master device is also called the second device. The master device can be equipped with Or portable terminal devices with other operating systems, the product forms of the main control device include but are not limited to: mobile phones, tablet computers, desktop computers, laptop computers, handheld computers, notebook computers, ultra-mobile personal computers (ultra-mobile personal computers, UMPC), netbooks, personal digital assistants (personal digital assistants, PDA), wearable devices, vehicle-mounted devices or other types of electronic devices, etc.

[0089] In the embodiment of the present application, the main control device can establish a communication connection with the server and perform data communication based on the communication connection. Specifically, it includes the following:

[0090] (1) After detecting a remote control operation input by a user, the master device can respond to the operation by sending a command for remotely controlling the controlled device (such as a power-on, sleep wake-up, hibernation wake-up, restart, or shutdown command) to the server based on the communication connection.

[0091] (2) The master device can also receive status information of the controlled device (such as shutdown, hibernation, sleep, fault, power status, etc.) forwarded by the server based on the communication connection.

[0092] The controlled device is also called the first device. The controlled device can be a Or portable terminal devices with other operating systems, the product forms of the controlled devices include but are not limited to: tablet computers, desktop computers, laptop computers, notebook computers, super mobile personal computers, netbooks, as well as augmented reality (AR) devices, virtual reality (VR) devices, artificial intelligence (AI) devices, wearable devices, vehicle-mounted devices, smart home devices and / or smart city devices, etc.

[0093] In the embodiment of the present application, the controlled device can establish a communication connection with the server through the main processor / sub-processor, and perform data communication based on the communication connection. Specifically, it includes the following:

[0094] (1) The controlled device can establish a long connection with the server through the secondary processor, and the controlled device can also receive remote control instructions or send the status of the controlled device based on the long connection.

[0095] Specifically, when the controlled device is turned off, dormant, sleeping, or turned on but malfunctioning, the main processor of the controlled device is in a non-working state, while the sub-processor and EC are in a working state. Therefore, the controlled device can establish a long connection with the server through the sub-processor and communicate data based on the long connection. For example, the sub-processor can receive remote control instructions of the main control device forwarded by the server based on the long connection (such as power on, sleep wake-up, sleep wake-up, and restart instructions), and then the sub-processor notifies the EC to start the processor based on the remote control instruction to perform the corresponding task. For another example, the controlled device can also send status information of the controlled device (such as shutdown, dormancy, sleep, malfunction, power status information, etc.) to the server based on the long connection established between the sub-processor and the server.

[0096] (2) Figure 1As not shown, the controlled device may establish a long connection with the server through the secondary processor, and the controlled device may also receive remote control instructions or send the status of the controlled device based on the long connection.

[0097] Specifically, when the controlled device is turned on and not faulty, the main processor of the controlled device is in working state. Therefore, the controlled device can establish a communication connection with the server through the main processor, and perform data communication based on the long connection. For example, the main processor can receive remote control instructions of the main control device forwarded by the server based on the communication connection (such as shutdown, hibernation, sleep, restart, or play music, etc., the aforementioned instructions are also called third instructions), and then the main processor directly executes the corresponding task based on the remote control instruction. For another example, the controlled device can also send status information of the controlled device (such as power-on, power status information, etc.) to the server based on the communication connection established between the main processor and the server.

[0098] The specific implementation of the controlled device establishing a communication connection with the server through the secondary processor / main processor and performing the above data communication can be referred to in the following text. Figure 9-Figure 14 The description of the method is not described in detail here.

[0099] In addition, in the controlled device, the main processor and the sub-processor may be connected by a bus, the main processor and the EC may be connected by a bus, and the sub-processor and the EC may be connected by a bus.

[0100] Based on the bus connection between the main processor and the sub-processor, the main processor can synchronize information and send bus heartbeat messages to the sub-processor. The synchronized information includes: connection configuration information and device configuration information. The synchronized information is sent in the form of a bus message, so the connection configuration information can also be called a connection configuration message, and the device configuration information can also be called a device configuration message. The connection configuration information is used for the sub-processor to establish a long connection with the server using the same server login information as the main processor. The device configuration information is used for the sub-processor to access the network after obtaining the network configuration information, and is also used for the sub-processor to learn the capabilities of the controlled device, so that it can parse and respond to the remote control command when receiving the remote control command.

[0101] Based on the bus connection between the main processor and the EC, the EC can control the main processor to start working based on the remote control instructions received from the secondary processor. And based on the bus connection between the main processor and the EC, the EC can query the status information of the controlled device from the main processor, including but not limited to: power on, power off, sleep, hibernation, fault status, or power status, etc.

[0102] Based on the bus connection between the sub-processor and the EC, the sub-processor can send corresponding remote control instructions to the EC based on the remote control instructions received from the server. And based on the bus connection between the sub-processor and the EC, the EC can send the status information of the controlled device to the sub-processor, including but not limited to: the status of power on, power off, sleep, hibernation, fault, or power status, etc.

[0103] For the connection relationship and data interaction between the modules in the controlled device, please refer to the following article for specific implementation. Figure 3B The description of the software architecture of the controlled device shown in the figure and the following description of the software architecture of the controlled device Figure 9-Figure 14 The description of the method is not described in detail here.

[0104] The server is equivalent to a remote transfer device between the master device and the controlled device, and is used to provide remote control services for the master device. It includes: receiving instructions sent by the master device, and sending the instructions to the controlled device, so that the controlled device performs the corresponding task according to the instructions. It also includes: receiving status information sent by the controlled device, and sending the status information to the master controlled device, so that the master device can display the status of the controlled device to the user.

[0105] Based on the above introduction to the architecture of the communication system 10 , the software and hardware architecture of each device included in the communication system 10 is introduced next.

[0106] refer to Figure 2 , Figure 2 A schematic diagram of the hardware architecture of the main control device is shown.

[0107] like Figure 2 The main control device may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a camera 193, a display screen 194, etc. The sensor module 180 may include a pressure sensor 180A and a touch sensor 180B.

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

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

[0110] The controller can be the nerve center and command center of the main control device. The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of fetching and executing instructions.

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

[0112] In the embodiment of the present application, the processor 110 is used to control the corresponding software and hardware modules to execute the following text Figure 9-Figure 14 The methods introduced can be combined with the following Figure 9-Figure 14 The relevant description is not repeated here.

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

[0114] The USB interface 130 is an interface that complies with USB standard specifications, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 may be used to connect a charger to charge the main control device.

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

[0116] 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 a wireless charging coil of the main control device. While the charging management module 140 is charging the battery 142, it can also power the main control device through the power management module 141.

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

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

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

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

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

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

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

[0124] In the embodiment of the present application, the main control device can establish a communication connection with the server through the aforementioned mobile communication module 150 or the wireless communication module 160, and then send a remote control instruction for the controlled device to the server based on the communication connection.

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

[0126] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD). The display screen panel can also be made of an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), miniled, microled, micro-oled, quantum dot light emitting diodes (QLED), etc. In some embodiments, the main control device may include 1 or N display screens 194, where N is a positive integer greater than 1.

[0127] In the embodiment of the present application, the main control device can display the following UI embodiment, for example, on the display screen 194: Figure 6A-6D , Figure 8B , Fig.8D and Fig.8F The user interface shown and so on will not be described in detail here.

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

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

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

[0131] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the main control device is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0132] Video codecs are used to compress or decompress digital videos. The master device can support one or more video codecs. In this way, the master device can play or record videos in multiple coding formats, such as: Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

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

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

[0135] Random access memory may include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation DDR SDRAM is generally referred to as DDR5 SDRAM), etc.

[0136] Non-volatile memory may include disk storage devices and flash memory.

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

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

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

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

[0141] The main control device can realize audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone interface 170D, and the application processor.

[0142] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be set on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The main control device determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the main control device detects the touch operation intensity according to the pressure sensor 180A. The main control device can also calculate the touch position according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.

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

[0144] In the present application, the main control device can detect the operation on the display screen 194 through the pressure sensor 180A and the touch sensor 180B, such as the following Figure 6A-6D Touch operations shown, etc.

[0145] The key 190 includes a power key, a volume key, etc. The key 190 can be a mechanical key or a touch key. The main control device can receive key input and generate key signal input related to user settings and function control of the main control device.

[0146] refer to Figure 3A , Figure 3A A schematic diagram of the hardware architecture of the controlled device is shown.

[0147] like Figure 3A The controlled device may include: a main processor 201, a sub-processor 202, an EC 203, a communication module 204, a memory 205, a display screen 206 and a universal serial bus 207. It is understood that the hardware architecture illustrated in the embodiment of the present application does not constitute a specific limitation on the controlled device. In other embodiments of the present application, the controlled device may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0148] The main processor 201 may include one or more processing units, for example: the main processor 201 may include an AP, a modem processor, a GPU, an ISP, a controller, a memory, a video codec, a DSP, a baseband processor, and / or an NPU, etc. Among them, different processing units may be independent devices or integrated into one or more processors. Among them, the controller may be the nerve center and command center of the controlled device. The controller may generate an operation control signal according to the instruction opcode and the timing signal to complete the control of fetching and executing instructions. Usually, when the controlled device is turned off, dormant, or asleep, the main processor 201 is powered off, and the main processor 201 is powered on only when the controlled device is turned on.

[0149] A high-speed cache memory may also be provided in the main processor 201. In some embodiments, the high-speed cache memory may store instructions or data that have just been used or are cyclically used by the main processor 201. If the main processor 201 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the main processor 201, and thus improves the efficiency of the system.

[0150] The main processor 201 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) 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, and / or a universal serial bus (USB) interface, etc.

[0151] The subprocessor 202 is a low-power microcontroller unit (MCU) that supports wireless communication. Usually, the subprocessor is always powered on unless the controlled device runs out of power or the battery is damaged. The subprocessor can be integrated with a communication module 204 to access the network based on the communication module 204 when the controlled device is not turned on, and then establish a long connection with other devices such as a server.

[0152] A flash memory may also be provided in the secondary processor 202. The flash memory is a non-volatile memory, that is, data will not be lost even if the power is turned off. In some embodiments, the flash memory may store information synchronized from the main processor 201 to the secondary processor 202, including but not limited to: connection configuration information and device configuration information. For an introduction to the connection configuration information and the device configuration information, please refer to the following description, which will not be repeated here.

[0153] EC 203 is equivalent to a single-chip microcomputer. Usually, the sub-processor is always powered on unless the controlled device runs out of power or the battery is damaged.

[0154] EC 203 also includes a non-volatile memory for storing independently running software. EC 203 is used for power management, battery management, keyboard control, touchpad control, etc. Specifically, EC 203 can provide power to main processor 201, sub-processor 202, communication module 204, memory 205, display screen 206, etc. EC 203 can also be used to monitor parameters such as battery capacity.

[0155] The communication function of the controlled device can be realized through an antenna, a communication module 204, a modem processor, and a baseband processor.

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

[0157] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device, or displays an image or video through a display screen. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the main processor 201 and be set in the same device as the communication module 204 or other functional modules.

[0158] The communication module 204 may include one or more, for example, the main processor 201 and the sub-processor 202 each integrate a communication module 204. The communication module 204 can provide solutions for wireless communications including WLAN (such as Wi-Fi network), BT, GNSS, FM, NFC, IR, etc. applied to the controlled device. The communication module 204 can be one or more devices integrating at least one communication processing module. The communication module 204 receives electromagnetic waves via an antenna, demodulates and filters the electromagnetic wave signals, and sends the processed signals to the main processor 201 / sub-processor 202. The communication module 204 can also receive the signal to be sent from the main processor 201 / sub-processor 202, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna.

[0159] In the embodiment of the present application, the antenna of the controlled device is coupled to the communication module 204, so that the controlled device can communicate with the server through wireless communication technology. The wireless communication technology may include WLAN, BT, GNSS, NFC, FM, and / or IR technology, etc. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0160] The controlled device realizes the display function through GPU, display screen 206, and application processor. GPU is a microprocessor for image processing, connecting display screen 206 and application processor. GPU is used to perform mathematical and geometric calculations for graphics rendering. Main processor 201 may include one or more GPUs, which execute program instructions to generate or change display information.

[0161] The display screen 206 is used to display images, videos, etc. The display screen 206 includes a display panel. The display panel can be a liquid crystal display (LCD). The display screen panel can also be made of an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), miniLED, microLed, micro-oled, quantum dot light emitting diodes (QLED), etc. In some embodiments, the controlled device may include 1 or N display screens 206, where N is a positive integer greater than 1.

[0162] The memory 205 may include one or more RAMs and one or more NVMs. The RAM can be directly read and written by the main processor 201, and can be used to store executable programs (such as machine instructions) of the operating system or other running programs, and can also be used to store user and application data, etc. The NVM can also store executable programs and store user and application data, etc., and can be loaded into the random access memory in advance for direct reading and writing by the main processor 201.

[0163] RAM may include static random-access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM, for example, the fifth generation DDR SDRAM is generally referred to as DDR5 SDRAM), etc.;

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

[0165] The bus 207 may be connected via any one or more types of interfaces such as the aforementioned I2C interface, PCM interface, UART interface, MIPI interface, GPIO interface, and / or USB interface. It is understood that Figure 3A The modules are connected via bus 207. Based on the bus connection between the main processor 201 and the sub-processor 202, the main processor 201 can synchronize information to the sub-processor 202. Based on the bus connection between the main processor 201 and the EC 203, the EC 203 can control the main processor 201 to start working based on the remote control instruction received from the sub-processor 202; and based on the bus connection between the main processor 201 and the EC 203, the EC 203 can query the status information of the controlled device from the main processor 201. Based on the bus connection between the sub-processor 202 and the EC 203, the sub-processor 202 can send the corresponding remote control instruction to the EC 203 based on the remote control instruction received from the server; and based on the bus connection between the sub-processor 202 and the EC 203, the EC 203 can send the status information of the controlled device to the sub-processor 202.

[0166] The key 208 includes a power button, etc. The key 208 may be a mechanical key or a touch key. The controlled device may receive key input and generate key signal input related to user settings and function control of the controlled device.

[0167] In the embodiment of the present application, the sub-processor 202 / main processor 201 of the controlled device can establish a communication connection with the server through the communication module 204, and perform data communication based on the communication connection. The specific implementation of the sub-processor 202 / main processor 201 of the controlled device establishing a communication connection with the server and performing the data communication can refer to the description of the method flow below, which will not be described in detail here.

[0168] Figure 3B It is a schematic diagram of the software architecture of the controlled device in the embodiment of the present application.

[0169] like Figure 3B As shown, the software architecture of the controlled device mainly includes a software module running on the main processor, a software module running on the secondary processor, and a software module running on the EC.

[0170] 1. The software modules running on the main processor include but are not limited to the following modules: bus communication management module and system manager.

[0171] The bus communication management module is used to establish a bus connection with other modules such as the bus communication management module in the configuration management module, and to send and receive bus messages based on the bus connection. Bus messages include but are not limited to the following types of messages: bus heartbeat messages, connection configuration messages, device configuration messages, and instructions.

[0172] The system manager is used to manage the connection between the main processor and the server. Specifically, when the controlled device is in the power-on state, the system manager can control the main processor to establish a connection with the server, and then receive the remote control instructions sent by the main control device forwarded by the server based on the connection.

[0173] 2. The software modules running on the secondary processor include but are not limited to the following modules: configuration management module, wake-up management module and remote connection management module, etc.

[0174] 2-1. The configuration management module includes but is not limited to the following sub-modules: bus communication management module, bus heartbeat management module, connection configuration module and device configuration management module, etc.

[0175] (1) The bus communication management module is used to establish a bus connection with other modules, such as the bus communication management module running in the software module of the main processor, and send and receive bus messages based on the bus connection, parse the bus messages, and distribute the parsed messages of different types to the corresponding modules. Specifically, it includes:

[0176] The bus communication management module distributes the bus heartbeat message parsed from the bus message to the bus heartbeat management module;

[0177] The bus communication management module also distributes the connection configuration message parsed from the bus message to the connection configuration module; optionally, the bus communication management module also directly passes the instruction parsed from the bus message, such as turning off the reconnection function, to the login module, or the instruction to turn off the reconnection function is encapsulated in the connection configuration message and needs to be parsed by the connection configuration management module before being passed to the remote login management module. Optionally, the bus communication management module also directly passes the instruction parsed from the bus message, such as releasing resources, to the wake-up service management module, or the instruction to release resources is encapsulated in the connection configuration message and needs to be parsed by the connection configuration management module before being passed to the wake-up service management module.

[0178] The bus communication management module also distributes the device configuration message parsed from the bus message to the device configuration management module; optionally, the bus communication management module also directly passes the instruction (also called the second instruction) such as the server login instruction parsed from the bus message to the wake-up service management module, or the server login instruction is encapsulated in the device configuration message and needs to be parsed by the device configuration management module before being passed to the wake-up service management module.

[0179] (2) The bus heartbeat management module is used to parse the bus heartbeat message and maintain the bus connection, which specifically includes:

[0180] If it is parsed from the bus heartbeat message that the bus heartbeat message is received for the first time during a boot process, it is considered that the bus heartbeat state at this time is heartbeat establishment;

[0181] If it is parsed from the bus heartbeat message that the bus heartbeat message is not received during a startup process and after the heartbeat is established, it is considered that the bus heartbeat state at this time is heartbeat loss;

[0182] If it is parsed from the bus heartbeat message that a bus heartbeat message is received again during a boot process and after the heartbeat is lost, it is considered that the bus heartbeat state at this time is heartbeat recovery;

[0183] In addition, the bus heartbeat management module will also transmit the heartbeat status to the wake-up management module, so that the wake-up management module determines whether to start the remote connection management module according to the heartbeat status to execute establishment / disconnection of a long connection with the server.

[0184] (3) The connection configuration module is used to parse the connection configuration message, which includes server login information, or may also include: instructions for closing the reconnection function, instructions for releasing resources, etc. Specifically including:

[0185] If the server login information is parsed from the connection configuration message, the connection configuration module calls the interface of the remote connection management module to synchronize it to the network management in the remote connection management module for storage;

[0186] If the instruction to turn off the reconnection function is parsed from the connection configuration message, the connection configuration module notifies the remote login module to turn off the reconnection function. Optionally, the instruction to turn off the reconnection function can be sent directly to the remote login module by the bus communication management module without parsing and forwarding it from the connection configuration message through the connection configuration management module.

[0187] If instructions for releasing resources, etc. are parsed from the connection configuration message, the connection configuration module calls the interface of the wake-up management module to notify the remote login module to release the resources of temporary data. In addition, the wake-up service management module will also disconnect the connected network. Optionally, instructions for releasing resources, etc. can be sent directly from the bus communication management module to the wake-up management module without parsing and forwarding from the connection configuration message through the connection configuration management module.

[0188] (4) The device configuration management module is used to parse the device configuration message, which includes but is not limited to: device capability description file (also known as Profile file), network configuration information (including network identification and corresponding first password, such as WiFi account and corresponding password, etc.), device identification (such as serial number (SN), universally unique identifier (UUID)). Or it may also include: instructions for logging into the server, instructions for restoring factory settings, etc.

[0189] If a Profile file is parsed from the device configuration message, the device configuration management module stores the Profile file;

[0190] If the network configuration information is parsed from the device configuration message, the device configuration management module stores the network configuration information;

[0191] If the device identification is parsed from the device configuration message, the device configuration management module stores the device identification;

[0192] If the instruction to log in to the server is parsed from the device configuration message, the interface of the wake-up management module is called and passed to the wake-up service management module, so that the wake-up service management module executes the login module in the remote connection management module to establish a long connection with the server. Optionally, the instruction to log in to the server can be sent directly to the wake-up service management module by the bus communication management module, without the need for the device configuration management module to parse the device configuration message and forward it to the wake-up service management module.

[0193] 2-2. The wake-up management module running on the secondary processor includes but is not limited to the following sub-modules: a wake-up service management module, an EC control module, and the like.

[0194] (1) The wake-up service management module can be used to:

[0195] Receive the instruction of logging into the server transmitted by the bus management module or the device configuration management module, obtain the network configuration information from the device configuration management module based on the instruction to connect to the network, and obtain the Profile file from the device configuration management module and pass it to the login module in the remote connection management module, so that the login module in the remote connection management module is started to obtain the server login information from the networking module, establish a long connection with the server based on the server login information, and subscribe to the remote control service from the server based on the Profile file.

[0196] Receive the heartbeat status transmitted by the bus heartbeat management module, and manage the long connection between the remote connection management module and the server based on the heartbeat status (such as establishing a long connection, disconnecting a long connection). Specifically, when the controlled device is abnormally shut down, hibernates, sleeps or fails, resulting in the main processor not sending a login server to the secondary processor, the heartbeat status is heartbeat loss. At this time, the wake-up business management module obtains network configuration information from the device configuration management module to connect to the network, and obtains the Profile file from the device configuration management module and passes it to the login module in the remote connection management module, so that the login module in the remote connection management module is started to obtain the server login information from the networking module, establish a long connection with the server based on the server login information, and subscribe to the remote control service from the server based on the Profile file. When the controlled device is turned on, woken up from hibernation, woken up from sleep or restarted, the heartbeat status is heartbeat establishment / heartbeat recovery. At this time, the wake-up business management module controls the login module in the remote connection management module to disconnect the long connection with the server.

[0197] Receive the instruction of releasing resources transmitted by the bus management module or the connection configuration module, and notify the login module in the remote connection management module to release the resources of temporary data. In addition, the wake-up service management module will also disconnect the connected network.

[0198] Receive remote control commands (such as power on, wake up from sleep, wake up from sleep, restart, etc.) transmitted by the cloud service connection management module, and control the device software modules (such as control modules) running on the EC to perform corresponding tasks through the EC control module.

[0199] (2) The EC control module can be used to control the startup of the main chip to achieve startup, hibernation wakeup, sleep wakeup, restart, etc. according to the instructions such as startup, hibernation wakeup, sleep wakeup, restart, etc. transmitted by the wakeup service management module.

[0200] 2-3. The remote connection management module running on the secondary processor includes but is not limited to the following sub-modules: a networking management module, a login module, a device control module, and the like.

[0201] (1) The network management module is used to receive and store the server login information sent by the connection configuration module.

[0202] (2) The login module is used to receive the remote connection enablement instruction transmitted by the wake-up service management module, and based on the instruction, obtain the server login information from the networking management module to log in to the server. The login module is also used to receive the reconnection function disablement instruction transmitted directly by the bus management module or transmitted through the connection configuration module to disable the reconnection function. The login module is also used to receive the resource release instruction transmitted directly by the bus management module or transmitted through the connection configuration module and the wake-up service management module to clear the temporary data in the RAM.

[0203] (3) The device control module is used to receive the remote control command sent by the server and pass it to the wake-up service management module through callback to control the EC control module to execute the task corresponding to the command.

[0204] 3. The software modules running in the EC include but are not limited to the following submodules: Control module: The control module is used to receive control instructions sent by the EC control module in the secondary processor, and then control the startup of the software module of the main processor.

[0205] refer to Figure 4 , Figure 4 A schematic diagram of the hardware architecture of a server provided in an embodiment of the present application.

[0206] like Figure 4 As shown, the server may include: one or more processors 301, memory 302, communication interface 303, transmitter 305, receiver 306, coupler 307 and antenna 308. These components may be connected via bus 304 or other means. Figure 4 Take the connection via bus 304 as an example.

[0207] The processor 301 can be used to read and execute computer-readable instructions. Specifically, the processor 301 can be used to call a program stored in the memory 302, such as a method provided in an embodiment of the present application for forwarding a remote control instruction for a controlled device sent by a master device to a controlled device, implementing a program on the server side, and executing the instructions contained in the program.

[0208] The memory 302 is coupled to the processor 301 and is used to store various software programs and / or multiple sets of instructions. Specifically, the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices.

[0209] The memory 302 may store an operating system (hereinafter referred to as system), such as embedded operating systems such as uCOS, VxWorks, RTLinux, etc. The memory 302 may also store a network communication program, which may be used to communicate with the electronic device 100, etc. The memory 302 may also store device information and login information of the controlled device.

[0210] The communication interface 303 can be used for the server to communicate with other communication devices, such as a master device, a controlled device, etc. Specifically, the communication interface 303 can be a 3G communication interface, a long-term evolution (LTE) (4G) communication interface, a 5G communication interface, a WLAN communication interface, a WAN communication interface, etc. Not limited to a wireless communication interface, the server can also be configured with a wired communication interface 303 to support wired communication.

[0211] In some embodiments of the present application, the transmitter 305 and the receiver 306 can be regarded as a wireless modem. The transmitter 305 can be used to transmit and process the signal output by the processor 301. The receiver 306 can be used to receive the signal. In the server, the number of the transmitter 305 and the receiver 306 can be one or more. The antenna 308 can be used to convert the electromagnetic energy in the transmission line into electromagnetic waves in the free space, or to convert the electromagnetic waves in the free space into electromagnetic energy in the transmission line. The coupler 307 can be used to divide the mobile communication signal into multiple paths and distribute it to multiple receivers 306. It can be understood that the antenna 308 of the network device can be implemented as a large-scale antenna array.

[0212] Based on the above introduction to the embodiments of the present application involving communication systems, electronic devices, servers and other devices, the remote control method provided by the present application is introduced in conjunction with the UI embodiment.

[0213] Figure 5A-5D The following is a schematic diagram of an operation interface for the normal shutdown of a group of controlled devices.

[0214] like Figure 5A As shown, Figure 5A The interface shown is any interface displayed by the controlled device in the power-on state, and the interface displays a start icon 512. In addition, the controlled device is also integrated with a physical power button 511.

[0215] The controlled device may receive an operation on the start icon 512 (eg, a user controls a cursor to click on the start icon 512). In response to the operation, the controlled device displays a power option 513. For details, refer to Figure 5B The content shown.

[0216] like Figure 5B As shown, the controlled device displays a power option 513 .

[0217] The controlled device may receive an operation on the power option 513 (eg, a user controls the cursor to click on the power option 513). In response to the operation, the controlled device expands and displays multiple sub-options. For details, refer to Figure 5C The content shown.

[0218] like Figure 5C As shown, the controlled device displays multiple sub-options included in the power option 513, such as a shutdown option 514, a sleep option, a restart option, and the like.

[0219] The controlled device can receive an operation acting on the shutdown option 514 (for example, the user controls the cursor to click the shutdown option 514), and in response to the operation, the controlled device shuts down, specifically including cutting off the power supply of most hardware except the sub-processor and EC, such as disconnecting the power supply of the main processor, display screen, etc.

[0220] like Figure 5D As shown in the figure, after the controlled device is turned off, the display screen is powered off and does not display anything. In addition, after the controlled device is turned off, the sub-processor and EC of the controlled device are powered on and work. The sub-processor can establish a long connection with the server to receive the remote control instructions of the main control device forwarded by the server. In addition, the sub-processor will also enable the reconnection function to automatically request the server to re-establish a long connection in the case of abnormal disconnection.

[0221] Understandably, Figure 5A-5D Only one shutdown method is shown as an example. Optionally, the shutdown of the controlled device can be triggered by directly operating the power button 511, or the controlled device can be abnormally shut down by cutting off the power supply, or the controlled device can be remotely controlled to shut down by the master device, etc. The embodiment of the present application does not limit the method of controlling the shutdown of the controlled device, which will not be described in detail here.

[0222] Figure 6A-6G A schematic diagram of an operation interface for remotely controlling the startup of a controlled device through a master control device is shown as an example.

[0223] like Fig. 6A As shown, Fig. 6A The desktop of the main control device includes a setting application icon 611 and may also include other application icons, such as smart life application icons and the like.

[0224] The master device may receive an operation on the setting application icon 611, and in response to the operation, the master device displays a setting details page. Figure 6B The content shown.

[0225] like Figure 6BAs shown, Figure 6B The setting details page of the master device includes a plurality of setting sub-options, such as more connection options 612 .

[0226] The master device may receive an operation on the more connection option 612, and in response to the operation, the master device displays a more connection details page, see Figure 6C The content shown.

[0227] like Figure 6C As shown, Figure 6C The more connection details page includes a variety of connection sub-options, such as option 613 for connecting to my PC.

[0228] The master device may receive an operation on the option 613 of connecting to my PC. In response to the operation, the master device displays the PC to which the master device is connected. Fig.6D The content shown.

[0229] like Fig.6D As shown, the master device displays a list 614 of controlled devices pre-added by the master device, such as Xiao Li's MagicBook 14, Xiao Li's MagicBook 16, and Xiao Li's watch, etc. There are many ways to add a controlled device, such as scanning a QR code of the controlled device to obtain the ID of the controlled device, or obtaining the ID of the controlled device through Bluetooth, Wi-Fi transmission, etc.

[0230] The master device can receive Fig.6D In response to the operation, the main control device displays the remote control interface for Xiao Li's MagicBook 14. For details, see Fig. 6E Among them, Xiao Li's MagicBook 14 is the controlled device described in this application, and is also the aforementioned Figure 5A-5D Introducing the controlled device.

[0231] like Fig. 6E As shown, the main control device displays a remote control interface for Xiao Li's MagicBook 14, which displays the current status of Xiao Li's MagicBook 14, such as being in a shutdown state, and also displays a power-on icon 615, as well as other options, such as a hibernation option, a sleep option, a restart option, and more options.

[0232] The master device can receive Fig. 6EIn response to the operation on the power-on icon 615 shown, the master device sends a remote power-on instruction to the controlled device “Xiao Li’s MagicBook 14” through the server, thereby controlling the controlled device to power on.

[0233] like Fig. 6F As shown, based on the connection between the secondary processor and the server, after the controlled device receives the remote power-on command forwarded by the main control device through the server, the secondary processor of the controlled device starts the main processor through the EC, thereby starting the controlled device.

[0234] like Figure 6G As shown, after the controlled device is started up, it is in the power-on state, and the desktop of the controlled device is displayed. In addition, after the controlled device is turned on, the main processor of the controlled device notifies the secondary processor to turn off the reconnection function and then establish a connection with the server, thereby automatically disconnecting the long connection previously established between the secondary processor and the server. The controlled device can also receive remote control instructions of the main control device forwarded by the server based on the connection between the main processor and the secondary processor.

[0235] Figure 7A-7C A group of operation interface schematic diagrams for controlling the startup of a controlled device through local operation are exemplified.

[0236] like Fig. 7A As shown, Fig. 7A The interface showing the controlled device is in shutdown state.

[0237] The controlled device may receive an operation on the power key 511 , and the EC of the specific controlled device may detect the operation and wake up the main processor in response to the operation, that is, control the main processor to be powered on to start working.

[0238] like Figure 7B As shown, Figure 7B An interface showing that the controlled device is starting up.

[0239] like Figure 7C As shown, Figure 7C The interface after the controlled device has completed startup, that is, switched to the power-on state, is shown. In addition, after the controlled device is powered on, the main processor of the controlled device notifies the secondary processor to turn off the reconnection function and then establish a connection with the server, thereby automatically disconnecting the long connection previously established between the secondary processor and the server. The controlled device can also receive remote control instructions of the main control device forwarded by the server based on the connection between the main processor and the secondary processor.

[0240] Figure 8A-8F The schematic diagram exemplarily shows a scenario in which the secondary processors of a group of controlled devices are powered off and then powered on again.

[0241] like Fig. 8A As shown, Fig. 8AA schematic diagram showing the controlled device is shut down and a long connection is established with the server through the secondary processor. Fig. 8A When the status is shown, the master device can display Figure 8B The remote control interface shown.

[0242] like Figure 8B As shown, Figure 8B The remote control interface displayed by the main control device is shown in the state where the controlled device is turned off and a long connection is established with the server through the secondary processor. The content displayed on the remote control interface is the same as the above Fig. 6E The content shown is the same, and the user can remotely control the startup of the controlled device by operating on the startup icon 615 in the remote control interface.

[0243] like Figure 8C As shown, Figure 8C The schematic diagram shows that the controlled device is shut down, and the secondary processor is powered off and disconnected from the long connection with the server. Figure 8C When the status is shown, the master device can display Fig.8D The remote control interface shown.

[0244] like Fig.8D As shown, Fig.8D The remote control interface displayed by the master device is shown when the controlled device is turned off and the secondary processor is powered off. The remote control interface displays a prompt message 811 indicating that the controlled device is offline. The prompt message 811 includes, for example, "PC is offline and cannot be remotely controlled temporarily." Optionally, in a possible implementation, the master device may also change all remote control-related icons and controls to an inoperable state, such as a gray display state. Fig.8D Not shown yet.

[0245] like Fig. 8E As shown, Fig. 8E The figure shows that the controlled device is shut down, and the secondary processor is powered off and then powered on again to restore the long connection with the server. Fig. 8E When the status is shown, the master device can display Fig.8F The remote control interface shown.

[0246] like Fig.8F As shown, Fig.8FThe remote control interface displayed by the master device is shown when the controlled device is turned off and the sub-processor is powered on again after power failure, thereby restoring the long connection with the server. The remote control interface displays a prompt message 812 prompting the controlled device to go online, and the prompt message 812 includes, for example: PC is online and can be remotely controlled. Optionally, in a possible implementation, the master device may also restore all remote control related icons and controls to an operable state.

[0247] This is because, after the controlled device established a long connection with the server, the controlled device turned on the reconnection function. Therefore, after the sub-processor of the controlled device suddenly lost power and then restored power, the sub-processor of the controlled device can automatically trigger a request to re-establish a long connection with the server, thereby restoring the long connection.

[0248] In the embodiments of the present application, the above UI embodiments only introduce the remote control function provided by the setting application of the master device. In addition, the remote control function can also be implemented through other system-level applications installed in the master device, such as Smart Life, or other third-party applications. Regardless of which application provides the remote control function, its specific implementation method can be the remote control method provided by the present application, and specific reference is made to the description of the method embodiment below.

[0249] refer to Fig. 9 , Fig. 9 A remote control method provided by the present application is exemplified.

[0250] like Fig. 9 As shown, the method comprises the following steps:

[0251] In optional operation S61, when the controlled device is powered on, the main processor of the controlled device synchronizes information with the secondary processor.

[0252] Specifically, each time the controlled device is powered on, the main processor and the sub-processor are powered on and in working state, and the main processor synchronizes information to the sub-processor based on the pre-established bus connection. For the specific implementation of synchronization information, please refer to the following text. Figure 10-11 A detailed description of the interaction process.

[0253] The information synchronized from the main processor to the sub-processor may be in the form of bus messages, which include but are not limited to the following types of messages: bus heartbeat messages, connection configuration messages (including the server login information introduced above), device configuration messages (including the device identification, network configuration information, and Profile files introduced above), etc. Optionally, some instructions sent by the main processor may also be sent to the sub-processor in the form of bus messages, such as instructions for logging into the server and instructions for restoring factory settings, which may be encapsulated in device configuration messages, and instructions for turning off the reconnection function and releasing resources, which may be encapsulated in device configuration messages.

[0254] S61 is an optional operation. In some possible implementations, the controlled device may pre-store the above information that needs to be synchronized in the main processor and the sub-processor, without the need for the main processor to synchronize with the sub-processor.

[0255] S62, when the controlled device is powered off, dormant, sleeping, or powered on but in a faulty state, the controlled device establishes a first connection with the server through the secondary processor, and enables a reconnection function of the secondary processor.

[0256] In one possible implementation, after the main processor of the controlled device receives the input of shutdown, hibernation or sleep, the main processor will first send an instruction to log in to the server to the secondary processor, so that the secondary processor accesses the network based on the instruction according to the network configuration information in the synchronization information, and then establishes a first connection with the server according to the server login information in the synchronization information (i.e., the long connection introduced above), and then the main processor will power off and stop working, thereby causing the controlled device to enter a shutdown, hibernation or sleep state.

[0257] In another possible implementation, after the main processor receives the input of shutdown, hibernation or sleep, if the main processor is powered off and stops working before sending the instruction to log in to the server to the secondary processor, the main processor cannot periodically send heartbeat messages to the secondary processor based on the bus connection. The secondary processor can then determine that the heartbeat between the secondary processor and the main processor is lost, thereby enabling the secondary processor to access the network according to the network configuration information in the synchronization information, and then establish a first connection with the server according to the server login information in the synchronization information.

[0258] In another possible implementation, when the controlled device is powered on but in a faulty state, the main processor is powered on but cannot work normally. The main processor cannot periodically send heartbeat messages to the secondary processor based on the bus connection. The secondary processor can then determine that the heartbeat between the secondary processor and the main processor is lost, thereby enabling the secondary processor to access the network according to the network configuration information in the synchronization information, and then establish a first connection with the server according to the server login information in the synchronization information.

[0259] In addition, the sub-processor of the controlled device is pre-configured with a reconnection function, that is, when the sub-processor establishes a connection with the server, the sub-processor automatically turns on the reconnection function by default. The reconnection function includes: after the sub-processor disconnects the long connection with the server, the sub-processor can automatically re-request to establish the long connection with the server. For example, if the sub-processor suddenly disconnects and disconnects the long connection with the server, after the power is turned on again, the sub-processor will automatically trigger a request to re-establish the long connection with the server.

[0260] When the controlled device is in the aforementioned shutdown, hibernation, sleep, or powered on but faulty state, if the controlled device receives a power on, hibernation wake-up, sleep wake-up, or restart input, the controlled device will establish a second connection with the server through the main processor and disconnect the first connection between the secondary processor and the server.

[0261] The following S63-1, S64-1, and S65-1 introduce the specific implementation of establishing a remote connection between the controlled device and the server through the main processor after triggering the controlled device to start up, wake up from sleep, wake up from sleep, or restart through local operations.

[0262] S63-1, the controlled device detects a local power-on, sleep wake-up, sleep wake-up, or restart operation.

[0263] Specifically, the local power-on, hibernation wake-up, sleep wake-up or restart operation can be an operation on a physical button or an operation on a virtual control in the display screen, and the above operations can be directly received by the main processor of the controlled device, or detected by the EC of the controlled device and then passed to the main processor. The embodiments of the present application do not limit this.

[0264] S64-1, the controlled device wakes up the main processor directly or through the EC, then controls the sub-processor to turn off the reconnection function through the main processor, and establishes a second connection with the server through the main processor.

[0265] Specifically, when the main processor of the controlled device directly receives a local power-on, sleep wake-up, sleep wake-up or restart operation, the controlled device directly starts the processor. When the controlled device detects a local power-on, sleep wake-up, sleep wake-up or restart operation through the EC, the controlled device starts the main processor through the EC. Starting the main processor includes powering on the main processor so that the main processor starts working. For example, the controlled device controls the sub-processor to turn off the reconnection function through the main processor, and establishes a second connection with the server after connecting to the network through the main processor. In addition, the main processor startup will also perform other initialization operations to switch the controlled device to the power-on, sleep wake-up, sleep wake-up or restart state.

[0266] Optionally, when the server login information (account) used by the main processor and the secondary processor is the same, when the main processor establishes a second connection with the server, the first connection between the secondary processor and the server will be automatically disconnected.

[0267] S65-1, the controlled device receives the remote control instruction of the master device forwarded by the server based on the second connection and responds.

[0268] Specifically, after the controlled device establishes a second connection with the server through the main processor, the controlled device can receive remote control instructions (such as shutdown, hibernation or sleep instructions, or instructions for playing music, etc.) sent by the main control device and forwarded by the server based on the second connection, thereby enabling the main processor to perform corresponding tasks according to the remote control instructions.

[0269] The following S63-2, S64-2, and S65-2 introduce the specific implementation of establishing a remote connection between the controlled device and the server through the main processor after the controlled device is triggered to power on, wake up from sleep, wake up from sleep, or restart through remote control instructions.

[0270] S63-2: The controlled device receives a power-on, sleep-wake-up, sleep-wake-up, or restart instruction based on the first connection.

[0271] Specifically, after the controlled device in S62 establishes a first connection with the server through the sub-processor, the sub-processor of the controlled device can receive an instruction of the main control device forwarded by the server based on the first connection, such as an instruction of power on, sleep wake-up, sleep wake-up or restart, etc. The above-mentioned instruction of the main control device forwarded by the server received by the sub-processor of the controlled device based on the first connection can also be called a first instruction.

[0272] S64-2, the controlled device controls the EC through the secondary processor to start the main processor, and then controls the secondary processor through the main processor to turn off the reconnection function, and establishes a second connection with the server through the main processor.

[0273] Specifically, after the sub-processor of the controlled device receives the instruction of power on, dormancy wake-up, sleep wake-up or restart, the sub-processor can notify the EC to start the main processor based on the instruction. Starting the main processor includes powering on the main processor so that the main processor starts working. For example, the controlled device controls the sub-processor to turn off the reconnection function through the main processor, and establishes a second connection with the server after connecting to the network through the main processor. In addition, the main processor startup will also perform other initialization operations to switch the controlled device to the state after power on, dormancy wake-up, sleep wake-up or restart.

[0274] S65-2: The controlled device receives the remote control instruction of the master device forwarded by the server based on the second connection and responds.

[0275] Specifically, after the controlled device establishes a second connection with the server through the main processor, the controlled device can receive remote control instructions (such as shutdown, hibernation or sleep instructions, or instructions for playing music, etc.) sent by the main control device and forwarded by the server based on the second connection, thereby enabling the main processor to perform corresponding tasks according to the remote control instructions.

[0276] It can be seen that the implementation of the above Fig. 9 After the method shown, the following technical effects can be achieved:

[0277] First, more remote control scenarios are realized. That is, when the controlled device is powered off, asleep, dormant, or powered on but faulty, the controlled device can establish a long connection with the server through the secondary processor, and receive and respond to the remote control instructions of the main control device forwarded by the server based on the long connection; when the controlled device is powered on, the controlled device can establish a connection with the server through the main processor, and receive and respond to the remote control instructions of the main control device forwarded by the server based on the connection.

[0278] Secondly, the main and secondary processors are seamlessly connected to the server to ensure the stability of the remote connection.

[0279] On the one hand, when the controlled device is in the state of being powered off, dormant, sleeping, or powered on but malfunctioning, the sub-processor of the controlled device automatically turns on the reconnection function, so that when the sub-processor abnormally disconnects the long connection with the server, it can re-request to establish a long connection with the server, thereby ensuring the stability of the long connection between the sub-processor and the server. For example, when the sub-processor is powered off and then powered on again, the power off will cause the long connection to be disconnected, but after the power is turned on again, the sub-processor can automatically request to establish a long connection with the server.

[0280] On the other hand, when the controlled device is powered on, the main processor of the controlled device will first notify the sub-processor to turn off the reconnection function, and then establish a communication connection with the server through the main processor to automatically disconnect the connection between the sub-processor and the server. In this way, not only the communication connection between the main processor and the server is seamlessly connected to the long connection between the sub-processor and the server, ensuring that the controlled device and the server are always connected, so that the user does not perceive any abnormalities on the main control device side, but also the sub-processor's reconnection function is not triggered after being directly squeezed out by the main processor, resulting in the sub-processor competing with the sub-processor for the connection to the server.

[0281] Next, combine Fig.10 Hereinafter, the interaction process between devices involved in a remote control method provided by the present application will be introduced.

[0282] like Fig.10As shown, the communication system involved in the remote control method includes: a main control device, a server and a controlled device, wherein the controlled device includes a main processor, a sub-processor and an EC. Fig.10 The EC is only taken as an independent chip in the controlled device as an example. In other achievable ways, the EC may also be integrated into the main processor, and this application does not impose any limitation on this.

[0283] Fig.10 The interaction process between the devices shown includes the following:

[0284] Phase 1 (S111-S112): After the controlled device is powered on each time, the main processor and the sub-processor synchronize information based on the bus connection.

[0285] S111, a main processor and a sub-processor of a controlled device establish a bus connection.

[0286] Specifically, each time the controlled device is powered on, the main processor and the sub-processor of the controlled device are powered on to start working. The work performed by the main processor includes but is not limited to: establishing a bus connection between the main processor and the sub-processor.

[0287] The present application does not limit the type of bus connection, and the type of bus connection may be any one or more types of connection such as USB, PCI, SPI, I2C, PCM, UART, MIPI, GPIO, etc.

[0288] S112, the main processor of the controlled device sends bus messages to the secondary processor, such as bus heartbeat messages, connection configuration messages and device configuration messages.

[0289] Specifically, after the main processor of the controlled device establishes a bus connection with the secondary processor, the main processor sends a bus message to the secondary processor based on the bus connection.

[0290] The bus messages include but are not limited to the following types of messages: bus heartbeat messages, connection configuration messages, device configuration messages and instructions, etc. For the specific functions of each type of message, please refer to the detailed description above, or the following description will not be repeated here.

[0291] Next, we will introduce how the controlled device establishes a remote connection with the server to implement the interaction process of remote functions after the controlled device is shut down, hibernates or sleeps.

[0292] Taking into account the possibility that the controlled device may fail, this application provides an interactive process for realizing the remote control function in the case of abnormal shutdown, hibernation, and sleep (see stage 2-1), and also provides an interactive process for realizing the remote control function in the case of normal shutdown, hibernation, and sleep (see stage 2-2).

[0293] Stage 2-1 (S121-S125): After the controlled device is abnormally shut down, hibernates or sleeps, a first connection is established with the server through the sub-processor to implement the remote control function.

[0294] S121: The secondary processor of the controlled device times out and fails to receive the bus heartbeat message.

[0295] Specifically, after receiving the bus heartbeat message described in S112, the sub-processor of the controlled device can parse the heartbeat status (including heartbeat establishment, heartbeat recovery and heartbeat loss, etc.) therefrom. When the sub-processor of the controlled device times out and fails to receive the bus heartbeat message, the heartbeat status is confirmed to be heartbeat loss. Therefore, it can be considered that the controlled device is in an abnormal state, resulting in the main processor being unable to work normally and unable to send bus heartbeat messages to the sub-processor regularly.

[0296] The controlled device being in an abnormal state may be: the controlled device is abnormally shut down, hibernates or sleeps, causing the main processor to suddenly lose power and stop working; or the controlled device is in the powered-on state but a fault occurs, causing the main processor to be powered on but unable to work normally.

[0297] S122: The sub-processor of the controlled device accesses the network based on the network configuration information in the device configuration message.

[0298] Specifically, after receiving the device configuration message described in S112, the sub-processor of the controlled device can parse out the network configuration information (such as WiFi account and password) therefrom, and then the sub-processor can access the network based on the network configuration information.

[0299] S123: The sub-processor of the controlled device requests the server to establish a first connection based on the server login information in the connection configuration message.

[0300] Specifically, after receiving the connection configuration message described in S112, the sub-processor of the controlled device can parse the server login information (such as the login account and the corresponding password, also called the second password) therefrom, and then request the server to establish the first connection based on the server login information. In addition, when the sub-processor of the controlled device requests the server to establish the first connection, it also carries the identifier of the controlled device, which can be pre-parsed from the device configuration message.

[0301] S124: The server sends a message to the sub-processor of the controlled device indicating that the first connection is successfully established.

[0302] Specifically, after the server receives the request for establishing the first connection sent by the sub-processor of the controlled device, it can verify the login account and password, and if the verification is successful, it replies to the sub-processor with the indication information that the first connection is successfully established. The server also stores the identification of the controlled device, which is used to subsequently send the remote control instruction sent by the main control device to the corresponding controlled device based on the identification of the controlled device.

[0303] S125, the secondary processor of the controlled device starts the reconnection function.

[0304] Specifically, the sub-processor of the controlled device is pre-configured with a reconnection function. After the sub-processor confirms the establishment of the first connection with the server, the reconnection function can be automatically turned on by default. The reconnection function includes: after the sub-processor disconnects the long connection with the server, the sub-processor can automatically re-request to establish the long connection with the server. For example, if the sub-processor suddenly disconnects and causes the long connection with the server to be disconnected, the sub-processor will automatically trigger a request to re-establish the long connection with the server after power is restored.

[0305] Stage 2-2 (S131-S136): After the controlled device is normally shut down, hibernates or sleeps, a first connection is established with the server through the sub-processor to implement the remote control function.

[0306] S131, the main processor of the controlled device receives an input of shutdown, hibernation or sleep.

[0307] Specifically, when the controlled device is in a powered-on state, the main processor of the controlled device may receive an input of powering off, dormant or sleeping.

[0308] The aforementioned main processor receives the shutdown, hibernation or sleep input which may be triggered by an operation on a physical button of the controlled device, or by an operation on a virtual control displayed by the controlled device, which is not limited in this embodiment of the present application.

[0309] The aforementioned input may be directly detected by the main processor of the controlled device, or may be detected by the EC of the controlled device and transmitted to the main processor, which is not limited in this embodiment of the present application.

[0310] S132, the main processor of the controlled device notifies the secondary processor to log in to the server.

[0311] Specifically, after the main processor of the controlled device receives the aforementioned shutdown, hibernation or sleep input, the main processor needs to send an instruction to the sub-processor before powering off and stopping working to notify the sub-processor to log in to the server. After the sub-processor logs in to the server, the main processor will power off and stop working, causing the controlled device to enter a shutdown, hibernation or sleep state.

[0312] The instruction to log in to the server may be sent in the form of a bus message, and may be specifically encapsulated in a device configuration message.

[0313] S133-S136 correspond one-to-one to S122-S125 in stage 2-1. For details, please refer to the previous description and will not be repeated here.

[0314] Next, we will introduce how to wake up the controlled device when it is powered off, in hibernation or sleeping mode, and how to establish a remote connection with the server after the controlled device is woken up to realize the interaction process of remote functions.

[0315] Considering that the methods of waking up the controlled device include remote wakeup and local wakeup, this application provides an interactive process for achieving remote control through remote wakeup (see stage 3-1), and also provides an interactive process for achieving remote control through local wakeup (see stage 3-2).

[0316] Stage 3-1 (S141-S154): After the controlled device is remotely powered on, awakened from sleep or awakened from sleep, the controlled device disconnects the first connection and establishes a second connection with the server through the main processor to implement the remote control function.

[0317] S141, the main control device sends a power-on, sleep wake-up, sleep wake-up or restart instruction to the server.

[0318] Specifically, the master device can log in to the server in advance and add the controlled device to the server to subscribe to the server for remote control of the controlled device. Afterwards, the master device can send a command for powering on, waking up from sleep, waking up from sleep, or restarting the controlled device to the server based on user operations.

[0319] S142: The server sends a power-on, sleep-wake-up, sleep-wake-up, or restart instruction to the secondary processor of the controlled device based on the first connection.

[0320] Specifically, after receiving the remote control instruction for the controlled device sent by the main control device, the server can send a power-on, sleep wake-up, sleep wake-up or restart instruction to the secondary processor.

[0321] S143, the sub-processor of the controlled device identifies the instruction based on the Profile file in the device configuration message.

[0322] Specifically, after receiving the device configuration message described in S112, the sub-processor of the controlled device can parse the Profile file therefrom and identify the meaning of the instruction based on the Profile file.

[0323] The Profile file describes the capabilities of the controlled device, that is, the commands that the controlled device can support. For example, a command can be represented by a command identifier (ID) and a specific value (value) under the command ID. For example, command ID = 1 indicates that the command belongs to a power-on / off type command, command value = 0 under command ID = 1 indicates a power-off command, and command value = 1 under command ID = 1 indicates a power-on command; command ID = 2 indicates that the command belongs to a sleep type command, command value = 0 under command ID = 2 indicates a sleep command, and command value = 1 under command ID = 2 indicates a sleep wake-up command.

[0324] Optional S144, the sub-processor of the controlled device verifies the instruction based on the authentication information in the device configuration message.

[0325] After parsing the instruction, the controlled device may verify the instruction, that is, verify whether the instruction is sent by the authorized master device. S144 is an optional operation.

[0326] S145, the sub-processor of the controlled device sends a power-on, sleep-wake-up, sleep-wake-up or restart instruction to the EC based on the bus connection.

[0327] Specifically, the sub-processor of the controlled device establishes a bus connection with the EC in advance, and sends the parsed power-on, sleep wake-up, sleep wake-up or restart instruction to the EC based on the bus connection, so that the EC controls the main processor to perform the corresponding task.

[0328] S146, the EC of the controlled device notifies the main processor to power on, wake up from hibernation, wake up from sleep, or restart.

[0329] S147, the main processor of the controlled device is started, and the controlled device is switched to the power-on state.

[0330] Specifically, the main processor of the controlled device is started under the control of the EC and starts to work, so that the controlled device is switched to the power-on state.

[0331] S148, the main processor of the controlled device notifies the secondary processor to turn off the reconnection function.

[0332] Specifically, the main processor of the controlled device can establish a connection with the server after starting to work, but in order to prevent the secondary processor from preempting the first connection established with the server, the main processor needs to control the secondary processor to turn off the reconnection function first.

[0333] S149, the secondary processor of the controlled device turns off the reconnection function.

[0334] S150: The main processor of the controlled device requests the server to establish a second connection based on the server login information.

[0335] Specifically, the main processor of the controlled device pre-stores the server login information (login account and password) mentioned above, and the server login account and password can be the same as the login account and password used by the sub-processor mentioned above.

[0336] S151, the server notifies the sub-processor of the controlled device that the first connection has been disconnected.

[0337] Specifically, since the same account can only be logged in by one client, after the server receives the information sent by the main processor of the controlled device requesting to establish a connection, the server will automatically log out of the sub-processor of the controlled device that was previously logged in using the same login account, and notify the sub-processor of the controlled device that the first connection has been disconnected.

[0338] S152, the server notifies the main processor of the controlled device that the second connection has been established.

[0339] Specifically, when the server disconnects the ground connection with the secondary processor of the controlled device, it establishes a second connection with the main processor of the controlled device and notifies the main processor of the controlled device that the second connection has been established.

[0340] It can be seen that the above S151 and S152 occur simultaneously, so the server and the controlled device establish a seamless connection, which can prevent the user of the main control device from feeling the disconnection of the controlled device, and bring the user a remote control experience of the process.

[0341] S153, the main processor of the controlled device notifies the secondary processor to release resources.

[0342] Specifically, after the main processor of the controlled device successfully establishes a second connection with the server, the controlled device does not need to use a sub-processor to replace the main processor to implement the remote control function. Therefore, the main processor of the controlled device will notify the sub-processor to release resources, thereby reducing the work of the sub-processor and making the sub-processor enter a low-power working mode.

[0343] S154, the sub-processor of the controlled device exits the network and clears the temporary data in the RAM.

[0344] Specifically, the sub-processor releases resources including but not limited to: exiting the network and clearing temporary data in the RAM. The exited network is the network connected based on the network configuration information in the configuration message described in S122. The temporary data in the RAM includes but is not limited to data parsed from the bus heartbeat message to the memory, such as instruction information parsed from the profile file.

[0345] Stage 3-2 (S161-S169): After the controlled device is powered on locally, awakened from sleep or awakened from sleep, the controlled device disconnects the first connection and establishes a second connection with the server through the main processor to implement the remote control function.

[0346] S161, the main processor of the controlled device receives an input of power on, sleep wake-up or sleep wake-up.

[0347] Specifically, when the controlled device is in the shutdown state, the main processor of the controlled device can receive a power-on input; when the controlled device is in the sleep state, the main processor of the controlled device can receive a sleep wake-up input; when the controlled device is in the sleep state, the main processor of the controlled device can receive a sleep wake-up input; when the controlled device is in the power-on, sleep or sleep state, the main processor of the controlled device can also receive a restart input.

[0348] The aforementioned input may be triggered by operating a physical button of the controlled device, or by operating a virtual control displayed by the controlled device, which is not limited in the embodiments of the present application.

[0349] The aforementioned input may be directly detected by the main processor of the controlled device, or may be detected by the EC of the controlled device and transmitted to the main processor, which is not limited in this embodiment of the present application.

[0350] S162-S169 correspond one-to-one to S147-S154 in stage 3-1. For details, please refer to the previous description and will not be repeated here.

[0351] Next, combined with the above Figure 3B The software architecture of the controlled device introduced, and Fig.10 The device interaction process shown in the figure is as follows. Next, the detailed module interaction process of each stage will be introduced in detail.

[0352] refer to Fig.11 , Fig.11 The detailed module interaction process included in the information synchronization stage is exemplified.

[0353] like Fig.11 As shown, the synchronization information stage is jointly executed by the main processor and the sub-processor of the controlled device, and specifically involves the following modules: the system manager and bus communication management module running on the main processor, the configuration management module, the wake-up management module and the remote connection management module running on the sub-processor. Among them, the configuration management module includes the bus communication management module, the bus heartbeat management module, the connection configuration management module and the device configuration management module. Among them, the wake-up management module includes the wake-up service management module, and the remote connection management module includes the networking management module. For the introduction of each module, please refer to the aforementioned Figure 3BDescription of the software architecture of the controlled device shown.

[0354] like Fig.11 As shown in the figure, the synchronization information phase includes the following interaction processes:

[0355] S711, the controlled device is powered on and the system manager is started.

[0356] S712: The system manager of the controlled device starts the bus communication management module in the main processor.

[0357] S713-S719 introduces the interaction process between the main processor and the sub-processor to maintain the bus connection through synchronous bus heartbeat messages.

[0358] S713, the bus communication management module in the main processor of the controlled device establishes a bus connection with the bus communication management module in the secondary processor.

[0359] S714, the bus communication management module in the main processor of the controlled device sends a bus heartbeat message to the bus communication management module in the secondary processor.

[0360] Specifically, the bus heartbeat message may be used to maintain the bus connection between the main processor and the secondary processor, so that the main processor sends a control command to the secondary processor through the bus connection.

[0361] S715, the bus communication management module in the sub-processor of the controlled device sends a bus heartbeat message to the bus heartbeat management module.

[0362] S716: The bus heartbeat management module in the sub-processor of the controlled device detects the bus heartbeat status.

[0363] Specifically, the bus heartbeat management module in the sub-processor of the controlled device detects the bus heartbeat state based on the received bus heartbeat message.

[0364] If the bus heartbeat message is parsed from the bus heartbeat management module and it is found that the bus heartbeat message is received for the first time during a boot process, it is considered that the bus heartbeat state at this time is heartbeat establishment;

[0365] If it is parsed from the bus heartbeat message of the bus heartbeat management module that the bus heartbeat message is not received during a startup process and after the heartbeat is established, it is considered that the bus heartbeat state at this time is heartbeat loss;

[0366] If it is parsed from the bus heartbeat message of the bus heartbeat management module that a bus heartbeat message is received again during a boot process and after the heartbeat is lost, it is considered that the bus heartbeat state at this time is heartbeat recovery.

[0367] S717, the bus heartbeat management module in the sub-processor of the controlled device sends the bus heartbeat status to the wake-up service management module.

[0368] Specifically, the bus heartbeat management module transmits the heartbeat status to the wake-up management module, so that the wake-up management module determines whether to start the remote connection management module according to the heartbeat status to execute establishment / disconnection of a long connection with the server.

[0369] S718-S719, the bus heartbeat management module in the secondary processor of the controlled device replies the bus heartbeat status to the bus communication management module in the main processor through the bus communication management module.

[0370] Specifically, the bus heartbeat management module in the sub-processor of the controlled device replies the bus heartbeat status to the bus communication management module in the main processor through the bus communication management module, which can be used by the main processor to know the online status of the sub-processor and maintain the bus connection for two-way communication.

[0371] The process of the synchronous bus heartbeat is that after the controlled device is turned on, the main processor periodically sends a bus heartbeat message to the secondary processor, and the secondary processor replies to the bus heartbeat message accordingly.

[0372] S721-S729 introduces the interactive process of synchronizing device configuration information to the secondary processor when the query comparison results of the main processor are different.

[0373] S721, the bus communication management module in the main processor of the controlled device queries the bus communication management module in the secondary processor for device configuration information.

[0374] Specifically, the device configuration information may also be referred to as a device configuration message. For an introduction to the device configuration information, please refer to the above description, which will not be repeated here.

[0375] S722-S725, the bus communication management module in the secondary processor of the controlled device reads the device configuration information through the device configuration management module and returns it to the bus communication management module in the main processor.

[0376] Specifically, since the sub-processor of the controlled device stores the device configuration information synchronized by the main processor in the device configuration management module, before the main processor of the controlled device synchronizes the device configuration information to the sub-processor, it is necessary to query from the device configuration management module of the sub-processor whether there is information identical to the device configuration information to be synchronized. If there is identical information, synchronization will not be repeated. If it is different, synchronization will continue.

[0377] In addition, since the sub-processor of the controlled device may be restored to factory settings and thus clear the previously stored synchronized device configuration information, and the main processor does not know when the sub-processor is restored to factory settings, the main processor needs to query and compare with the sub-processor before synchronizing the information each time the controlled device is turned on.

[0378] S726, the bus communication management module of the main processor of the controlled device compares the device configuration information.

[0379] Specifically, the bus communication management module of the main processor of the controlled device compares the device configuration information to be synchronized with the device configuration information queried from the secondary processor. If the comparison results are the same, the device configuration information will not be synchronized repeatedly. If the comparison results are different, the subsequent S727-S729 will be executed.

[0380] S727, the bus communication management module of the main processor of the controlled device sends device configuration information to the bus communication management module of the secondary processor when the comparison results are different.

[0381] S728, the bus communication module of the secondary processor of the controlled device sends the device configuration information to the device configuration management module.

[0382] S729: The device configuration management module of the secondary processor of the controlled device stores the device configuration information.

[0383] Specifically, after receiving the device configuration information sent by the bus communication management module, the device configuration management module of the sub-processor of the controlled device stores it in the NVM to ensure that the device configuration information will not be lost after power failure, but the device configuration information will be cleared when the sub-processor restores the factory settings.

[0384] S731-S742 introduces the interactive process of the main processor synchronizing the connection configuration information to the secondary processor when the query comparison results are different.

[0385] S731, the bus communication management module in the main processor of the controlled device queries the bus communication management module in the secondary processor for connection configuration information.

[0386] Specifically, the connection configuration information may also be referred to as a connection configuration message. For an introduction to the connection configuration information, please refer to the previous description, which will not be repeated here.

[0387] S732-S737, the bus communication management module in the secondary processor of the controlled device reads the connection configuration information through the connection configuration management module and the networking association module and returns it to the bus communication management module in the main processor.

[0388] Specifically, since the sub-processor of the controlled device stores the connection configuration information synchronized by the main processor in the networking management module, before the main processor of the controlled device synchronizes the connection configuration information to the sub-processor, it is necessary to query from the networking management module of the sub-processor whether there is information identical to the connection configuration information to be synchronized. If there is the same information, synchronization will not be repeated. If it is different, synchronization will continue.

[0389] In addition, since the sub-processor of the controlled device may be restored to factory settings and thus clear the previously stored synchronized connection configuration information, and the main processor does not know when the sub-processor is restored to factory settings, the main processor needs to query and compare with the sub-processor before synchronizing the information each time the controlled device is turned on.

[0390] S738, the bus communication management module of the main processor of the controlled device compares the connection configuration information.

[0391] Specifically, the bus communication management module of the main processor of the controlled device compares the connection configuration information to be synchronized with the connection configuration information queried from the secondary processor. If the comparison results are the same, the synchronization of the connection configuration information is no longer repeated. If the comparison results are different, the subsequent S739-S742 is executed.

[0392] S739, the bus communication management module of the main processor of the controlled device sends connection configuration information to the bus communication management module of the secondary processor when the comparison results are different.

[0393] S740-S741, the bus communication module of the secondary processor of the controlled device sends connection configuration information to the networking association module through the connection configuration management module.

[0394] S742: The networking management module of the secondary processor of the controlled device stores the connection configuration information.

[0395] Specifically, after receiving the connection configuration information, the networking management module of the sub-processor of the controlled device stores it in the NVM to ensure that the connection configuration information is not lost after power failure, but the connection configuration information is cleared when the sub-processor is restored to factory settings.

[0396] The embodiment of the present application does not limit the execution order of the above three types of synchronization information. For example, the synchronization device configuration information can be executed during or after the synchronization connection configuration information, and the embodiment of the present application does not limit this.

[0397] It can be seen that the above Fig.11 After the interactive method of synchronizing information between the main and sub-processors is shown, the writing loss to the sub-processor is reduced and its service life is extended. Specifically, due to the low specifications of the sub-processor, the number of writes to the NVM (such as flash memory) integrated in the sub-processor is limited. Therefore, before each information synchronization, the controlled device first needs to query the main processor whether the information in the sub-processor is consistent with the information to be synchronized. Only when there is inconsistency in the information, it will be written to the sub-processor.

[0398] The information to be synchronized from the main processor to the server introduced in the aforementioned S731-S742 may also be referred to as the first information.

[0399] refer to Fig.12 , Fig.12 The detailed module interaction process included in the stage of establishing a connection with a server after abnormal shutdown / normal shutdown of the controlled device is exemplified.

[0400] like Fig.12 As shown, the abnormal shutdown / normal shutdown stage is jointly executed by the main control device (not shown), the server, the main processor and the sub-processor of the controlled device. Specifically involved are the following modules: a system butler and a bus communication management module running on the main processor, a configuration management module, a wake-up management module and a remote connection management module running on the sub-processor. Among them, the configuration management module includes a bus communication management module, a bus heartbeat management module, a connection configuration management module and a device configuration management module. Among them, the wake-up management module includes a wake-up service management module and an EC control module, and the remote connection management module includes a login module and a networking management module. For the introduction of each module, please refer to the aforementioned Figure 3B The detailed description of the software architecture of the controlled device shown is not repeated here.

[0401] like Fig.12 As shown in the figure, the abnormal shutdown / normal shutdown stage includes the following interactive processes:

[0402] S811-S821 introduces the interactive process of establishing a connection with the server after the controlled device is abnormally shut down. The interactive process of establishing a connection with the server after the controlled device abnormally sleeps, sleeps, or starts up but fails can also be referred to S811-821. Here, we will only introduce the abnormal shutdown as an example.

[0403] S811, after receiving the shutdown input, the controlled device shuts down the system manager in the main processor.

[0404] S812, the main processor of the controlled device is turned off.

[0405] Specifically, after the system manager in the main processor of the controlled device receives the shutdown input, it starts to control the controlled device to execute the shutdown program, so that most modules except the sub-processor and EC are shut down, that is, the power is cut off and the work is stopped.

[0406] S813: The bus heartbeat management module in the secondary processor of the controlled device detects that the bus heartbeat is lost.

[0407] Specifically, in one possible scenario, after the controlled device receives a shutdown input, the main processor may suddenly stop working without notifying the secondary processor in time. The bus connection previously established between the main processor and the secondary processor when the controlled device was powered on is also disconnected accordingly, causing the main processor to be unable to regularly send bus heartbeat messages to the secondary processor. Therefore, the secondary processor can detect through the bus heartbeat management module that the bus heartbeat message has not been received due to timeout, and then determine that the bus heartbeat is lost.

[0408] S814: The bus heartbeat management module in the secondary processor of the controlled device notifies the wake-up service management module that the bus heartbeat is lost.

[0409] S815, the wake-up service management module in the secondary processor of the controlled device obtains the network configuration information in the device configuration information from the device configuration management module.

[0410] Specifically, the device configuration management module pre-stores the device configuration information synchronized by the main processor, and the device configuration information includes but is not limited to: device identification, network configuration information, profile file, etc.

[0411] The device identifier can be used when the controlled device registers and logs in to the server, so that the server can store the association between the login account and the identifier of the controlled device. The network configuration information includes the network identifier and password, such as the Wi-Fi name and Wi-Fi password, which can be used for the controlled device to access the network. The profile file includes information related to the instructions supported by the controlled device, which is used by the secondary processor to parse the remote control instructions based on the information.

[0412] S816: The wake-up service management module in the secondary processor of the controlled device accesses the network based on the network configuration information.

[0413] Specifically, after the wake-up service management module obtains the network configuration information, it can access the network based on the information, so as to establish a connection with other devices such as a server for data communication.

[0414] S817, the wake-up service management module in the secondary processor of the controlled device obtains the profile file in the device configuration information from the device configuration management module.

[0415] Specifically, the device configuration management module pre-stores the device configuration information synchronized by the main processor, which includes but is not limited to: device identification, network configuration information, profile files, etc. For a detailed introduction of this information, please refer to the above description, which will not be repeated here.

[0416] It is understandable that S817 can be executed synchronously with S815, and the embodiment of the present application does not limit this.

[0417] S818, the wake-up service management module in the secondary processor of the controlled device starts the login module and carries the profile file.

[0418] S819, the login module in the secondary processor of the controlled device obtains the server login information in the connection configuration information from the networking management module.

[0419] Specifically, the network management module pre-stores connection configuration information synchronized with the main processor, and the connection configuration information includes but is not limited to: server login information, such as a login account and password.

[0420] S820: A login module in the secondary processor of the controlled device establishes a first connection with the server based on the server login information.

[0421] Specifically, the login module of the sub-processor can send a login request to the server and carry the server login information. Since the main processor has been pre-registered in the server, the server has pre-stored the login information of the controlled device, and can then verify the server login information sent by the sub-processor. After successful verification, the sub-processor is allowed to log in to the server, which is equivalent to the sub-processor successfully establishing a first connection with the server through the login module.

[0422] S821, the login module in the secondary processor of the controlled device starts the reconnection function.

[0423] Specifically, after the secondary processor establishes a connection with the server through the login module, the login module of the secondary processor automatically starts a reconnection function so that the connection can be restored after an abnormal disconnection.

[0424] S831-S841 introduces the interactive process of establishing a connection with the server after the controlled device is shut down normally. The interactive process of establishing a connection with the server after the controlled device is in normal dormancy, sleep or powered on but fails can also be referred to S831-841. Here we only take abnormal shutdown as an example for introduction.

[0425] S831: The system manager in the main processor of the controlled device receives a shutdown input.

[0426] Specifically, after the controlled device receives the shutdown input, it will be transmitted to the system manager, causing the system manager to shut down.

[0427] S832, the system manager in the main processor of the controlled device sends an instruction to the bus communication module to notify the secondary processor to log in to the server.

[0428] Specifically, in one possible scenario, when the controlled device receives a shutdown input, the main processor will not stop working suddenly, but will first notify the sub-processor to log in to the server and then start controlling the controlled device to execute the shutdown program, so that most modules except the sub-processor and EC are shut down, that is, the power is cut off and the device stops working.

[0429] S833-S834, the bus communication module in the sub-processor of the controlled device notifies the wake-up service management module to log in to the server through the bus communication module of the sub-processor.

[0430] Specifically, in one possible scenario, after the controlled device receives a shutdown input, the main processor may suddenly stop working without notifying the secondary processor in time. The bus connection previously established between the main processor and the secondary processor when the controlled device was powered on is also disconnected accordingly, causing the main processor to be unable to regularly send bus heartbeat messages to the secondary processor. Therefore, the secondary processor can detect through the bus heartbeat management module that the bus heartbeat message has not been received due to timeout, and then determine that the bus heartbeat is lost.

[0431] S835-S841 correspond to S815-S821 in the abnormal shutdown stage one by one. For details, please refer to the previous description and will not be repeated here.

[0432] It can be seen that the above Fig.12 After the interactive method shown, no matter the controlled device shuts down normally or abnormally, causing the main processor of the controlled device to suddenly lose power and stop working, the sub-processor of the controlled device can be informed of this situation, and then establish a connection with the server through the sub-processor to realize the remote control function.

[0433] refer to Fig.13 , Fig.13 The detailed module interaction process included in the stage of establishing a connection with a server after the controlled device is remotely powered on / locally powered off is exemplified.

[0434] like Fig.13 As shown, the remote startup / local startup stage is jointly executed by the main control device (not shown), the server, the main processor of the controlled device, the sub-processor and the EC. Specifically, the following modules are involved: a system manager and a bus communication management module running on the main processor, a configuration management module, a wake-up management module and a remote connection management module running on the sub-processor. Among them, the configuration management module includes a bus communication management module and a connection configuration management module. Among them, the wake-up management module includes a wake-up service management module and an EC control module, and the remote connection management module includes a login module and a device control module. For the introduction of each module, please refer to the aforementioned Figure 3B The detailed description of the software architecture of the controlled device shown is not repeated here.

[0435] like Fig.13 As shown in the figure, the remote startup / local shutdown stage includes the following interactive processes:

[0436] S911-S930 introduces the interactive process of establishing a connection with the server after the controlled device is remotely powered on. You can also refer to S911-930 for the interactive process of establishing a connection with the server after the controlled device is remotely awakened from sleep, awakened from sleep, or restarted. Here we will only introduce the remote power on as an example.

[0437] S911, the server receives a power-on instruction for the controlled device sent by the master control device.

[0438] Specifically, the master device can add one or more controlled devices, and the user can remotely control the added remote controlled devices on the master device. Figure 6A-6E After the remote power-on operation of the added Xiao Li's MagicBook 14 is performed on the main control device, the main control device can send a power-on instruction for Xiao Li's MagicBook 14 to the server.

[0439] The power-on instruction may be represented by a command ID and a corresponding specific value.

[0440] S912, the server sends a power-on instruction to the device control module in the secondary processor of the controlled device.

[0441] S913, the device control module in the sub-processor of the controlled device obtains the profile file from the login module.

[0442] S914: The device control module in the sub-processor of the controlled device parses the power-on instruction based on the profile file.

[0443] S915: The device control module in the sub-processor of the controlled device parses the power-on instruction based on the profile file.

[0444] Specifically, after receiving the remote control instruction sent by the server, the device control module in the sub-processor of the controlled device does not know the specific event corresponding to the instruction, so it is necessary to parse the event corresponding to the power-on instruction as a power-on event based on the command set described in the profile file.

[0445] S916-S917, the device control module in the sub-processor of the controlled device notifies the EC to wake up the controlled device through the wake-up service management module and the EC control module.

[0446] S918, the EC of the controlled device notifies the main processor to wake up the controlled device.

[0447] Specifically, after the EC notifies the main processor to wake up the controlled device, the main processor can start the system manager, the bus communication module and other modules.

[0448] S919, the main processor of the controlled device starts.

[0449] Specifically, after the main processor of the controlled device is started up, the controlled device is switched to the power-on state.

[0450] S920: The main processor of the controlled device establishes a bus connection with the bus communication module in the secondary processor.

[0451] Specifically, the bus communication module in the main processor may establish a bus connection with the bus communication module in the secondary processor.

[0452] S921-S923, the main processor of the controlled device notifies the login module to close the reconnection function through the bus communication module and the connection configuration management module in the secondary processor.

[0453] S924, the login module in the secondary processor of the controlled device turns off the reconnection function.

[0454] S925: The main processor of the controlled device establishes a second connection with the server based on the server login information.

[0455] Specifically, the main processor of the controlled device is pre-installed with network configuration information, server login information, etc., so the main processor can request to establish a second connection with the server based on the server login information after accessing the network.

[0456] S926, the server notifies the login module in the secondary processor of the controlled device that the first connection has been disconnected.

[0457] The second connection established between the controlled device and the server through the main processor and the disconnection of the first connection between the sub-processor and the server occur simultaneously. This is because the first connection is an MQTT connection, and the main processor and the sub-processor use the same login account to establish a connection with the server. The server only retains a connection with one device, that is, the main processor that most recently requested to establish a connection.

[0458] S927-S929, the main processor of the controlled device notifies the login module to release resources through the bus communication management module and the connection configuration management module in the secondary processor.

[0459] Optionally, the main processor of the controlled device may also notify the service wake-up management module to release resources through the bus communication management module and the connection configuration management module in the secondary processor, so that the service wake-up management module clears temporary data in the RAM, such as exiting the connected network.

[0460] S930, the login module in the secondary processor of the controlled device clears the temporary data in the RAM.

[0461] Specifically, the recording module clears temporary data in the RAM including information such as instruction sets parsed from the profile file.

[0462] S941-S954 introduces the interactive process of establishing a connection with the server after the controlled device is powered on locally. The interactive process of establishing a connection with the server after the controlled device is awakened from sleep or restarted locally can also be referred to S941-S954. Here, we will only introduce the local power-on as an example.

[0463] S941, the EC of the controlled device receives a power-on input.

[0464] Specifically, the power-on input may be triggered by an operation on a physical key, such as the operation on Fig. 7A Operations on the power key 511.

[0465] S942, the main processor of the controlled device starts.

[0466] Specifically, after the main processing of the controlled device completes the startup work, the controlled device switches to the power-on state.

[0467] S943-S954 correspond one to one with S919-S930 in the remote startup stage. For details, please refer to the previous description and will not be repeated here.

[0468] It can be seen that the above Fig.13 After the interaction method shown, it can be ensured that the controlled device stably receives the remote control command. Specifically, when the controlled device is powered on, the main processor of the controlled device will first notify the sub-processor to turn off the reconnection function, and then establish a communication connection with the server through the main processor to automatically disconnect the connection between the sub-processor and the server. In this way, not only the communication connection between the main processor and the server is seamlessly connected to the long connection between the sub-processor and the server, ensuring that the controlled device and the server are always connected, so that the user does not perceive any abnormality on the main control device, but also it can prevent the sub-processor from triggering the reconnection function of the sub-processor after being directly squeezed out by the main processor, resulting in the sub-processor competing with the sub-processor to connect to the server.

[0469] refer to Fig.14 , Fig.14 The detailed module interaction process included in the stage of establishing a connection with a server when the sub-processor of the controlled device is powered off and then restored is exemplified.

[0470] like Fig.14As shown, the abnormal shutdown / normal shutdown stage is jointly executed by the main control device (not shown), the server, the main processor and the sub-processor of the controlled device. Specifically involved are the following modules: a system butler and a bus communication management module running on the main processor, a configuration management module, a wake-up management module and a remote connection management module running on the sub-processor. Among them, the configuration management module includes a bus communication management module, a bus heartbeat management module, a connection configuration management module and a device configuration management module. Among them, the wake-up management module includes a wake-up service management module and an EC control module, and the remote connection management module includes a login module and a networking management module. For the introduction of each module, please refer to the aforementioned Figure 3B The detailed description of the software architecture of the controlled device shown is not repeated here.

[0471] Fig.14 The interactive process shown in the figure occurs after the main processor and the secondary processor of the controlled device complete information synchronization and the controlled device is shut down, that is, after the above Figure 11-Figure 12 After the interaction flow described, that is, after executing Fig.14 Before the interactive process shown, the controlled device has established a first connection with the server through the secondary processor.

[0472] S511, the bus heartbeat management module in the secondary processor of the controlled device starts the total heartbeat timing. If no bus heartbeat message is received during the timing period, the subsequent S512-S519 are executed.

[0473] Specifically, after the sub-processor loses power and then resumes power, the bus heartbeat management module of the sub-processor detects the bus heartbeat message. During the period when no bus heartbeat message is received, the startup module of the sub-processor is automatically triggered to start and then restore the first connection with the service period, see S512-S519 for details.

[0474] S512-S519 correspond one-to-one to the aforementioned S814-S821, and will not be described in detail here.

[0475] S520, after the bus heartbeat management module in the secondary processor of the controlled device detects that the bus heartbeat has been restored, it means that the controlled device has been turned on and the main processor can start working. Therefore, it switches to establishing a second connection with the server through the main processor. For the process of switching to establishing a second connection with the server through the main processor, please refer to the description of S920-S930 above, which will not be repeated here.

[0476] Visible adoption Fig.14After the method shown, when the controlled device is in the shutdown process, the sub-processor will establish a connection with the server, but if the sub-processor loses power (for example, the battery is exhausted), the remote control function of the controlled device implemented by the sub-processor will be temporarily lost. If the sub-processor is subsequently powered on again, the controlled device may still be in the shutdown state. The controlled device will not establish a connection with the server through the main processor, nor will it establish a bus connection with the sub-processor to synchronize information. At this time, the sub-processor can sense the state by itself through the bus heartbeat, automatically trigger the reading of the previously synchronized information from the NVM (for example, flash), and then restore the first connection with the server, thereby restoring the remote control capability.

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

[0478] The present application also provides an electronic device, which may include: a memory and a processor, wherein the memory may be used to store a computer program; and the processor may be used to call the computer program in the memory so that the electronic device executes the method in any one of the above embodiments.

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

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

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

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

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

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

[0485] The present application also provides a computer program product, which includes: a computer program (also referred to as code, or instruction), which enables a computer to execute the method executed by the electronic device in any of the above embodiments when the computer program is executed.

[0486] The present application also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program (also referred to as code or instruction). When the computer program is executed, the computer executes the method executed by the electronic device in any of the above embodiments.

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

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

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

[0490] In short, the above description is only an embodiment of the technical solution of the present invention, and is not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present invention shall be included in the protection scope of the present invention.

Claims

1. An electronic device, characterized in that: The electronic device comprises: a main processor and a sub-processor, wherein the performance of the main processor is better than that of the sub-processor; The secondary processor is used for, when the primary processor is in a non-working state, establishing a first connection with a server, receiving a first instruction sent by the server based on the first connection, and in response to the first instruction, notifying the primary processor to switch to a working state; The main processor is used to turn off the reconnection function of the secondary processor after switching to the working state, and establish a second connection with the server, and the first connection is disconnected when the second connection is established; The reconnection function includes: the secondary processor re-establishing the first connection with the server after the first connection is disconnected.

2. The electronic device according to claim 1, characterized in that: The secondary processor is further used to determine that the main processor is in a non-working state after failing to receive a bus heartbeat message from the secondary processor within a timeout period; or, The secondary processor is further configured to determine that the main processor is in a non-working state after receiving a second instruction sent by the main processor.

3. The electronic device according to claim 1 or 2, characterized in that: The non-working state of the main processor includes any one of the following: a state in which the main processor is powered off, a state in which the main processor is powered on and fails, The main processor being in the working state includes a state where the main processor is powered on and has no faults.

4. The electronic device according to any one of claims 1 to 3, characterized in that: The first instruction includes an instruction sent by the server to start up, wake up from hibernation, wake up from sleep, or restart.

5. The electronic device according to any one of claims 1 to 4, characterized in that: The electronic device further comprises an embedded control processor EC; The secondary processor is specifically used for notifying the primary processor to switch to a working state through the EC.

6. The electronic device according to any one of claims 1 to 5, characterized in that: The main processor is also used to send a network identifier and a first password to the secondary processor when in a working state; The secondary processor is used to access the network based on the network identifier and the first password when the main processor is in a non-working state.

7. The electronic device according to any one of claims 1 to 6, characterized in that: The main processor is further used to send a login account and a second password to the secondary processor when in working state, and establish the second connection based on the login account and the second password; The secondary processor is further configured to establish the first connection based on the login account and the second password when the primary processor is in a non-working state.

8. The electronic device according to any one of claims 1 to 7, characterized in that: The main processor is also used to send a device capability description file to the secondary processor when in a working state; The secondary processor is further used for parsing the first instruction based on the device capability description file when the primary processor is in a non-working state.

9. The electronic device according to any one of claims 1 to 8, characterized in that: The main process is also used to perform the following: Querying the information of the secondary processor; If the information in the sub-processor does not include the first information, the first information is sent to the sub-processor, wherein the first information includes any one or more of the following: a network identifier and a first password, a login account and a second password, or a device capability description file.

10. The electronic device according to any one of claims 1 to 9, characterized in that: The subprocess is also used to perform the following: After the secondary processor is powered off, the first connection is disconnected; After the secondary processor is powered off and then powered on again, if the secondary processor does not receive the bus heartbeat message from the primary processor, the secondary processor re-establishes the first connection with the server.

11. The electronic device according to any one of claims 1 to 10, characterized in that: The main processor is further configured to notify the secondary processor to clear data in a random access memory (RAM) after establishing the second connection with the server.

12. The electronic device according to any one of claims 1 to 11, characterized in that: The main process is further configured to perform the following after establishing the second connection with the server: The main processor receives a third instruction sent by the server based on the second connection, and the third instruction includes: an instruction to shut down, sleep, hibernate, restart or play music; In response to the third instruction, the main processor executes a corresponding task.

13. The electronic device according to any one of claims 1 to 12, characterized in that: The secondary processor comprises a configuration management module, and the configuration management module is used to determine the working state of the main processor based on the bus heartbeat message of the main processor.

14. The electronic device according to any one of claims 1 to 13, characterized in that: The sub-processor includes a remote connection management module, and the remote connection management module is used to establish a first connection with a server and receive the first instruction based on the first connection.

15. The electronic device according to any one of claims 1 to 14, characterized in that: The secondary processor includes a wake-up management module, and the wake-up management module is used to notify the main processor to switch to the working state.

16. A remote control method, characterized in that: The method is applied to an electronic device, the electronic device comprises a main processor and a sub-processor, the performance of the main processor is better than the performance of the sub-processor; the method comprises: When the electronic device determines that the main processor is in a non-working state, the electronic device establishes a first connection with a server through the secondary processor, receives a first instruction sent by the server based on the first connection, and in response to the first instruction, notifies the main processor to switch to a working state through the secondary processor; After the main processor of the electronic device switches to the working state, the main processor turns off the reconnection function of the secondary processor, establishes a second connection with the server through the main processor, and disconnects the first connection when the second connection is established; The reconnection function includes: re-establishing the first connection with the server through the secondary processor after the first connection is disconnected.

17. The method according to claim 16, characterized in that The electronic device determining that the main processor is in a non-working state specifically includes: After the secondary processor of the electronic device fails to receive the bus heartbeat message of the secondary processor within a timeout period, determining that the main processor is in a non-working state; or, After receiving the second instruction sent by the main processor, the secondary processor of the electronic device determines that the main processor is in a non-working state.

18. The method according to claim 16 or 17, characterized in that The non-working state of the main processor includes any one of the following: a state in which the main processor is powered off, a state in which the main processor is powered on and fails, The main processor being in the working state includes a state where the main processor is powered on and has no faults.

19. The method according to any one of claims 16 to 18, characterized in that: The first instruction includes an instruction sent by the server to start up, wake up from hibernation, wake up from sleep, or restart.

20. The method according to any one of claims 16 to 19, characterized in that The electronic device further comprises an embedded control processor EC; The electronic device notifying the main processor to switch to the working state through the sub-processor specifically includes: the electronic device notifying the main processor to switch to the working state through the sub-processor and the EC.

21. The method according to any one of claims 16 to 20, characterized in that The method further comprises: When the main processor of the electronic device is in the working state, the electronic device sends a network identifier and a first password to the secondary processor through the main processor; When the main processor of the electronic device is in a non-working state, the secondary processor of the electronic device accesses a network based on the network identifier and a first password.

22. The method according to any one of claims 16 to 21, characterized in that The method further comprises: When the main processor of the electronic device is in the working state, the electronic device sends a login account and a second password to the secondary processor through the main processor, and establishes the second connection based on the login account and the second password through the main processor; When the main processor of the electronic device is in a non-working state, the sub-processor of the electronic device establishes the first connection based on the login account and the second password.

23. The method according to any one of claims 16 to 22, characterized in that The method further comprises: When the main processor of the electronic device is in the working state, the electronic device sends a device capability description file to the secondary processor through the main processor; When the main processor of the electronic device is in a non-working state, the sub-processor of the electronic device parses the first instruction based on the device capability description file.

24. The method according to any one of claims 16 to 23, characterized in that Before the electronic device establishes a first connection with the server through the secondary processor, the method further includes: The electronic device queries the information of the secondary processor through the main processor; If the information in the secondary processor does not include the first information, the first information is sent to the secondary processor via the main processor, wherein the first information includes any one or more of the following: a network identifier and a first password, a login account and a second password, or a device capability description file.

25. The method according to any one of claims 16 to 24, characterized in that Before the electronic device establishes a first connection with the server through the secondary processor, the method further includes: After the secondary processor is powered off, the first connection is disconnected; After the secondary processor is powered off and then powered on again, if the electronic device does not receive the bus heartbeat message of the main processor through the secondary processor, the first connection with the server is re-established through the secondary processor.

26. The method according to any one of claims 16 to 25, characterized in that After the electronic device establishes a second connection with the server through the main processor, the method further includes: The main processor notifies the sub-processor to clear data in the random access memory RAM.

27. The method according to any one of claims 16 to 26, characterized in that After the electronic device establishes a second connection with the server through the main processor, the method further includes: The electronic device receives a third instruction sent by the server through the main processor based on the second connection, and the third instruction includes: an instruction to shut down, sleep, hibernate, restart or play music; In response to the third instruction, a corresponding task is executed by the main processor.

28. A chip, wherein: The chip is applied to an electronic device, and the chip is used to call computer instructions so that the electronic device executes the method as described in any one of claims 16-27.

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

Citation Information

Patent Citations

  • Startup control method and apparatus and server

    CN105022629A

  • Control method and device and electronic equipment

    CN112882759A

  • Method and system for waking up system chip

    CN113709202A

  • Quantum communication client disconnection and reconnection system and method

    CN114422571A

  • Remote power-on method, electronic equipment and system

    CN116074303A

Cited By

  • Method and system for accessing newly added sub-equipment of conveying system

    CN119612086A

  • A method and system for accessing newly added sub-equipment in a conveying system

    CN119612086B