System and method for switching a HUB of a smart socket system between a local operating mode and a cloud operating mode

The smart socket system efficiently switches between local and cloud operating modes by using a non-volatile memory to store a common firmware block, addressing inefficiencies in data storage and management.

WO2026065090A1PCT designated stage Publication Date: 2026-04-02HONEYWELL INTERNATIONAL INC +1
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing smart socket systems lack efficient methods for seamlessly switching between local and cloud operating modes, leading to inefficiencies in data storage and management.

Method used

Implementing a non-volatile memory in the hub to store a common firmware block that supports both local and cloud operating modes, allowing the system to switch between these modes by storing only one operating mode firmware block at a time, and using a controller to manage the transition.

Benefits of technology

Enables efficient switching between local and cloud operating modes, optimizing data storage and management by ensuring only one mode is active at a time, thereby enhancing system flexibility and performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024121675_02042026_PF_FP_ABST
    Figure CN2024121675_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A device includes a common firmware block including firmware functions that support both a first operating mode and a second operating mode. Only one of a first operating mode firmware block including firmware functions supporting the first operating mode or a second operating mode firmware block including firmware functions supporting the second operating mode are stored within a memory of the device at any time. In the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device. In the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR SWITCHING A HUB OF A SMART SOCKET SYSTEM BETWEEN A LOCAL OPERATING MODE AND A CLOUD OPERATING MODETECHNICAL FIELD

[0001] The present disclosure relates generally to smart socket systems, and more particularly methods and systems for switching a hub of a smart socket system between a local operating mode and a cloud operating mode.BACKGROUND

[0002] A smart socket provides power to a variety of different devices that are plugged into the smart socket. Smart sockets can include circuitry that allows a user to remotely control the smart socket to control whether the smart socket provides power to a device that is plugged into a receptacle of the smart socket. A smart socket system may include a number of smart sockets that communicate with a local controller such as a local hub, and report power consumption values and other parameters to the local controller. In a local operating mode, the power consumption values and other parameters are maintained locally in the central controller, and in a cloud operating mode, the power consumption values and other parameters are maintained in the cloud. What would be desirable are systems and methods for efficiently switching between a local operating mode and a cloud operating mode in a smart socket system.SUMMARY

[0003] The present disclosure generally to smart socket systems, and more particularly to methods and systems for switching between a local operating mode and a cloud operating mode in a smart socket system. An example may be found in a method for operating a device (e.g. hub) that has a first operating mode and a second operating mode. The illustrative method includes storing a common firmware block in a non-volatile memory of the device, wherein the common firmware block includes firmware functions that support both the first operating mode and the second operating mode of the device. One of a first operating mode firmware block or a second operating mode firmware block is stored in the non-volatile memory of the device, but not both simultaneously. The first operating mode firmware block includes firmware functions that support the first operating mode of the device and is stored in the non-volatile memory of  the device when the device is in the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device and is stored in the non-volatile memory of the device when the device is in the second operating mode. In the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device. In the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device.

[0004] Another example may be found in a device (e.g. hub) that has a first operating mode and a second operating mode. The device includes a non-volatile memory for storing a common firmware block that includes firmware functions that support both the first operating mode and the second operating mode. A controller is operative coupled to the non-volatile memory and is configured to store one of a first operating mode firmware block or a second operating mode firmware block in the non-volatile memory, but not both simultaneously, wherein the first operating mode firmware block includes firmware functions that support the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device. When operating in the first operating mode, the controller is configured to store the first operating mode firmware block into the non-volatile memory, wherein in the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device. When operating in the second operating mode, the controller is configured to store the second operating mode firmware block into the non-volatile memory, wherein in the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device.

[0005] Another example may be found in a non-transitory computer readable medium storing instructions. When the instructions are executed by one or more processors, the one or more processors are caused to store a common firmware block in a non-volatile memory of a hub device, wherein the common firmware block includes firmware functions that support both a local operating mode (e.g. first operating mode) and a remote operating mode (e.g. second operating mode) . The one or more processors are caused to store one of a local operating mode firmware block or a remote operating mode firmware block in the non-volatile memory of the hub device, but not both simultaneously, wherein the local operating mode firmware block is  stored in the non-volatile memory of the hub device when the hub device is in the local operating mode and the remote operating mode firmware block is stored in the non-volatile memory of the hub device when the hub device is in the remote operating mode. The one or more processors are caused to operate the hub device in the local operating mode, wherein in the local operating mode, the common firmware block together with the local operating mode firmware block operate as the firmware for the hub device. The one or more processors are caused to operate the hub device in the remote operating mode, wherein in the remote operating mode, the common firmware block together with the remote operating mode firmware block operate as the firmware for the hub device.

[0006] The preceding summary is provided to facilitate an understanding of some of the innovative features unique to the present disclosure and is not intended to be a full description. A full appreciation of the disclosure can be gained by taking the entire specification, claims, figures, and abstract as a whole.

[0007] BRIEF DESCRIPTION OF THE FIGURES

[0008] The disclosure may be more completely understood in consideration of the following description of various examples in connection with the accompanying drawings, in which:

[0009] Figure 1 is a schematic block diagram showing an illustrative smart socket system operating in a first operating mode in which data is stored locally;

[0010] Figure 2 is a schematic block diagram showing an illustrative smart socket system operating in a second operating mode in which data is stored remotely;

[0011] Figure 3 is a schematic block diagram showing an illustrative smart socket system operating in the first operating mode in which data is stored locally;

[0012] Figure 4 is a schematic block diagram showing an illustrative hub device that may form part of the illustrative smart socket systems shown in Figures 1 through 3;

[0013] Figure 5 is a schematic illustration of how firmware blocks of the hub device may be swapped out when switching between the first operating mode and the second operating mode;

[0014] Figure 6 is a flow diagram showing an illustrative method for operating the illustrative hub device shown in Figure 4;

[0015] Figure 7 is a flow diagram showing an illustrative method for operating the illustrative hub device shown in Figure 4;

[0016] Figure 8 is a flow diagram showing an illustrative series of steps that may be carried out by one or more processors executing stored instructions;

[0017] Figure 9 is a flow diagram showing an illustrative method;

[0018] Figure 10 is a flow diagram showing an illustrative method;

[0019] Figure 11 is a flow diagram showing an illustrative method;

[0020] Figure 12 is a flow diagram showing an illustrative method; and

[0021] Figure 13 is a flow diagram showing an illustrative method.

[0022] While the disclosure is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the disclosure to the particular examples described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure.DESCRIPTION

[0023] The following description should be read with reference to the drawings, in which like elements in different drawings are numbered in like fashion. The drawings, which are not necessarily to scale, depict examples that are not intended to limit the scope of the disclosure. Although examples are illustrated for the various elements, those skilled in the art will recognize that many of the examples provided have suitable alternatives that may be utilized.

[0024] All numbers are herein assumed to be modified by the term “about” , unless the content clearly dictates otherwise. The recitation of numerical ranged by endpoints includes all numbers subsumed within that range (e.g., 1 to 5 includes, 1, 1.5, 2, 2.75, 3, 3.8, 4, and 5) .

[0025] As used in this specification and the appended claims, the singular forms “a” , “an” , and “the” include the plural referents unless the content clearly dictates otherwise. As used in this specification and the appended claims, the term “or” is generally employed in its sense including “and / or” unless the content clearly dictates otherwise.

[0026] It is noted that references in the specification to “an embodiment” , “some embodiments” , “other embodiments” , etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic  is described in connection with an embodiment, it is contemplated that the feature, structure, or characteristic may be applied to other embodiments whether or not explicitly described unless clearly stated to the contrary.

[0027] Figure 1 is a schematic block diagram showing an illustrative smart socket system 10. The smart socket system 10 includes a number of smart sockets 12 that can communicate with each other and with a hub 14 via a mesh network. In some cases, the hub 14 may include a gateway function but this is not required. The mesh network may enable communication between as many as fifty (50) smart sockets, for example. The smart socket system 10 may be considered as operating in a first operating mode in which energy consumption and other data is communicated from the smart sockets 12 and stored locally within the hub 14. In some cases, a mobile device 16 may be used to communicate with the smart sockets 12 and / or with the hub 14 using Bluetooth or other wireless communication protocol. In some cases, the mobile device 16 may execute an application that may be used for commissioning the hub 14 and / or the smart sockets 12. In some cases, the hub 14 may be operably coupled, such as via a wired connection, with a WiFi router 18 that allows another mobile device 20 executing a monitor and control application to communicate wirelessly with the WiFi router 18 and thus communicate with the hub 14. The energy consumption and other data is stored locally, within the hub 14, but may be shared wirelessly with the mobile device 20.

[0028] Figure 2 is a schematic block diagram showing several additions to the smart socket system 10. While the smart socket system 10 still includes the WiFi router 18, the WiFi router 18 also functions as a gateway and is also operably coupled with a wired connection to a cloud-based server 22. In some cases, the wired connection may include an Ethernet connection. In some cases, the hub 14 may include the functionality of the WiFi router 18 and gateway. In Figure 2, the smart socket system 10 may be considered as operating in a second operating mode in which energy consumption and other data is communicated to and stored remotely in the cloud-based server 22, instead of (or in addition to) storing the energy consumption and other data locally in the hub 14. In some cases, the cloud-based server 22 may enable a web dashboard 24, that may be displayed on any connected desktop computer, laptop computer or other device, for example.

[0029] Figure 3 is a schematic block diagram showing an illustrative smart socket system 26. The smart socket system 26 may be considered as being an example of the smart socket system  10 shown in Figures 1 and 2. The smart socket system 26 includes a mesh network 28 that includes a number of smart sockets 12 as wireless mesh nodes. The mesh network 28 communicates wirelessly with the hub 14. The smart sockets 12 may generate and communicate energy consumption and other data to the hub 14 via the mesh network 28. Also, control commands may be communicated to the smart sockets 12 via the mesh network 28 to control certain control actions of the smart sockets 12, such as turning power on / off to a receptacle of a smart socket, lock / unlock a manual on / off switch of a smart socket, and / or performing any other suitable control action. The hub 14 and the WiFi router 18 may be considered as being part of a local network 30. As shown, the WiFi router 18 is connected to the hub 14 via an Ethernet connection 32. A local supervisor is coupled to the WiFi router 18 via a BACnet connection 34. Another mobile device 36 is able to connect to the WiFi router 18 via a Websocket connection 38. In some cases, an MQTT (Message Queuing Telemetry Transport) server 40 is able to connect to the WiFi router 18 via a public network 42. In some cases, another mobile device 44 is able to wirelessly connect to the MQTT server 40 to access the energy consumption and other data communicated to the hub 14 by the smart sockets 12.

[0030] Figure 4 is a schematic block diagram showing an illustrative device 46. As an example, the illustrative device 46 may represent part of the hub 14. The device 46 has a first operating mode and a second operating mode. The device 46 includes a non-volatile memory 48 for storing a common firmware block 50. The common firmware block 50 includes common firmware functions that support both the first operating mode and the second operating mode. In some cases, the non-volatile memory 48 may be an Electrically Erasable Programmable Read-Only Memory (EEPROM) . In some cases, the non-volatile memory 48 may include an erasable firmware block 52. When the device 46 is in its first operating mode (e.g. local operating mode) , the erasable firmware block 52 may store a first operating mode firmware block 54. When the device 46 is in its second operating mode (e.g. remote operating mode) , the erasable firmware block 52 may store a second operating mode firmware block 56. To save memory space, the erasable firmware block 52 may only store one of the first operating mode firmware block 54 and the second operating mode firmware block 56 at a time.

[0031] A controller 58 is operatively coupled to the non-volatile memory 48. The controller 58 is configured to store one of the first operating mode firmware block 54 or the second operating mode firmware block 56 in the non-volatile memory 48, but not both simultaneously,  wherein the first operating mode firmware block 54 includes firmware functions that support the first operating mode, and the second operating mode firmware block 56 includes firmware functions that support the second operating mode of the device 46. When the device 46 is operating in the first operating mode, the controller 58 is configured to store the first operating mode firmware block 54 in the non-volatile memory 48, wherein in the first operating mode, the common firmware block 50 and the first operating mode firmware block 54 collectively operate as the firmware for the device 46. When the device 46 is operating in the second operating mode, the controller 58 is configured to store the second operating mode firmware block 56 into the non-volatile memory 48, wherein in the second operating mode, the common firmware block 50 and the second operating mode firmware block 56 collectively operate as the firmware for the device 46.

[0032] In some cases, the controller 58 may be configured to switch from operating in the first operating mode to the second operating mode. In response, the common firmware block 50 includes firmware functions that cause the controller 58 to replace the first operating mode firmware block 54 with the second operating mode firmware block 56 in the non-volatile memory 48 and to reboot the controller 58 using the common firmware block 50 and the second operating mode firmware block 56 collectively as the firmware for the device 46. In some cases, replacing the first operating mode firmware block 54 with the second operating mode firmware block 56 in the non-volatile memory 48 may include downloading the second operating mode firmware block 56 from a remote device 60 and storing the second operating mode firmware block 56 in the non-volatile memory 48 and deleting the first operating mode firmware block 54 from the non-volatile memory 48 of the device 46. In some cases, the controller 58 may be configured to receive an input from a user device 62 directing the controller 58 to switch from operating the device 46 in the first operating mode 54 to operating the device 46 in the second operating mode 56. For example, the user device 62 may be a mobile device such as a smart phone.

[0033] In some cases, the controller 58 may be configured to switch from operating in the second operating mode to the first operating mode. In response, the common firmware block 50 includes firmware functions that cause the controller 58 to replace the second operating mode firmware block 56 with the first operating mode firmware block 54 in the non-volatile memory 48 and to reboot the controller 58 using the common firmware block 50 and the first operating  mode firmware block 54 collectively as the firmware for the device 46. In some cases, replacing the second operating mode firmware block 56 with the first operating mode firmware block 54 in the non-volatile memory 48 may include downloading the first operating mode firmware block 54 from a remote device 60 and storing the first operating mode firmware block 54 in the non-volatile memory 48 and deleting the second operating mode firmware block 56 from the non-volatile memory 48 of the device 46. In some cases, the controller 58 may be configured to receive an input from a user device 62 directing the controller 58 to switch from operating the device 46 in the second operating mode 56 to operating the device 46 in the first operating mode 54.

[0034] In some cases, the first operating mode firmware block 54 may include firmware functions that are configured to cause the controller 58 to locally store data received from one or more connected data providing devices 64 (e.g. smart sockets 12) , and to respond to requests initiated by the user device 62 to access at least some of the locally stored data. In some cases, the second operating mode firmware block 56 may include firmware functions that are configured to cause the controller 58 to send the data received from the one or more connected data providing devices 64 (e.g. smart sockets 12) to the remote device 60, and sometimes not locally store the data. In some cases, when switching from the first operating mode firmware block 54 to the second operating mode firmware block 56, the controller may upload the currently locally stored data to the remote device 60. In some cases, when switching from the second operating mode firmware block 56 to the first operating mode firmware block 54, the controller may download the currently remotely stored data to the device 46 from the remote device 60. In some cases, the one or more connected data providing devices 64 may include a plurality of smart sockets 12, and the data received from the plurality of smart sockets 12 includes energy consumption data provided by each of the plurality of smart sockets 12.

[0035] Figure 5 is a schematic view of how the firmware blocks may be switched. As shown, the non-volatile memory 48 includes the common firmware block 50 that includes features usable in both the first operating mode and the second operating mode as well as erasable firmware block 52. A separate memory 68, which may be RAM (random access memory) , may be used by the common firmware block 50 and either the first operating mode firmware block 54 or the second operating mode firmware block 56.

[0036] Figure 6 is a flow diagram showing an illustrative method 70 for operating a device (such as the device 46) that has a first operating mode and a second operating mode. The illustrative method 70 includes storing a common firmware block in a non-volatile memory of the device, wherein the common firmware block includes firmware functions that support both the first operating mode and the second operating mode of the device, as indicated at block 72. One of a first operating mode firmware block or a second operating mode firmware block are stored in the non-volatile memory of the device, but not both simultaneously, where the first operating mode firmware block includes firmware functions that support the first operating mode of the device and is stored in the non-volatile memory of the device when the device is in the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device and is stored in the non-volatile memory of the device when the device is in the second operating mode, as indicated at block 74. In some cases, the non-volatile memory includes an Electrically Erasable Programmable Read-Only Memory (EEPROM) , and the first operating mode firmware block and the second operating mode firmware block, when either are stored in the non-volatile memory, are stored in the EEPROM.

[0037] The device is operated in the first operating mode, wherein in the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device, as indicated at block 76. In some cases, the method 70 includes switching from operating the device in the first operating mode to operating the device in the second operating mode, wherein in the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device, as indicated at block 78. In some cases, the method 70 may include receiving an input from a user device directing the device to switch from operating the device in the first operating mode to operating the device in the second operating mode, as indicated at block 80.

[0038] In some cases, the first operating mode firmware block may include firmware functions that are configured to locally store data received from one or more connected data providing devices (e.g. smart sockets 12) , and to respond to requests initiated by a user device to access at least some of the locally stored data. In some cases, the second operating mode firmware block may include firmware functions that are configured to send the data received from the one or more connected data providing devices (e.g. smart sockets 12) to a remote device  (e.g. remote server) and not locally store the data. In some cases, the common firmware block may include firmware functions that upload the locally stored data to the remote device when switching the device to operating in the second operating mode from the first operating mode. In some cases, switching to operating the device in the first operating mode from the second operating mode, wherein the common firmware block includes firmware functions that, when switching to operating the device in the first operating mode from the second operating mode, include downloading to the device the data received from the one or more connected data devices (e.g. smart sockets) and stored on the remote device. In some cases, the data received from the one or more connected data devices (e.g. smart sockets) may include energy consumption data collected by the smart sockets.

[0039] Figure 7 is a flow diagram showing an illustrative method 82 for operating a device (such as the device 46) that has a first operating mode and a second operating mode. The method 70 includes storing a common firmware block in a non-volatile memory of the device, wherein the common firmware block includes firmware functions that support both the first operating mode and the second operating mode of the device, as indicated at block 84. One of a first operating mode firmware block or a second operating mode firmware block are stored in the non-volatile memory of the device, but not both simultaneously, where the first operating mode firmware block includes firmware functions that support the first operating mode of the device and is stored in the non-volatile memory of the device when the device is in the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device and is stored in the non-volatile memory of the device when the device is in the second operating mode, as indicated at block 86. In some cases, the non-volatile memory includes an Electrically Erasable Programmable Read-Only Memory (EEPROM) , and the first operating mode firmware block and the second operating mode firmware block, when either are stored in the non-volatile memory, are stored in the EEPROM.

[0040] The device is operated in the first operating mode, wherein in the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device, as indicated at block 88. In some cases, the method 82 includes switching to operate the device from the first operating mode to the second operating mode, wherein in the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device. In some  cases, switching between the first operating mode and the second operating mode may include replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory of the device. This may be performed by one or more firmware functions of the common firmware block before rebooting the device. Replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory of the device may include downloading the second operating mode firmware block from a remote device and storing the second operating mode firmware block in the non-volatile memory, as indicated at block 90. The first operating mode firmware block may be deleted from the non-volatile memory of the device, as indicated at block 92. In some cases, deleting the first operating mode firmware block from the non-volatile memory of the device may include removing reference to the first operating mode firmware block from a Master File Table associated with the non-volatile memory. In some cases, deleting the first operating mode firmware block from the non-volatile memory of the device may include marking that area of the non-volatile memory as available. These are just examples. In some cases, storing the second operating mode firmware block in the non-volatile memory may include over writing at least part of the first operating mode firmware block in the non-volatile memory of the device, but this is not required.

[0041] Figure 8 is a flow diagram showing an illustrative series of steps 96 that may be carried out by one or more processors when the one or more processors are executing instructions stored on a non-transitory computer-readable storage medium. The one or more processors may be part of the controller 58 of a hub 14, for example. The one or more processors are caused to store a common firmware block in a non-volatile memory of a hub device, wherein the common firmware block includes firmware functions that support both a local operating mode and a remote operating mode, as indicated at block 98. The one or more processors are caused to store one of a local operating mode firmware block or a remote operating mode firmware block in the non-volatile memory of the hub device, but not both simultaneously, wherein the local operating mode firmware block is stored in the non-volatile memory of the hub device when the hub device is in the local operating mode and the remote operating mode firmware block is stored in the non-volatile memory of the hub device when the hub device is in the remote operating mode, as indicated at block 100. The one or more processors are caused to operate the hub device in the local operating mode, wherein in the local  operating mode, the common firmware block together with the local operating mode firmware block operate as the firmware for the hub device, as indicated at block 102. The one or more processors are caused to operate the hub device in the remote operating mode, wherein in the remote operating mode, the common firmware block together with the remote operating mode firmware block operate as the firmware for the hub device, as indicated at block 104.

[0042] The one or more processors are caused to carry out several steps when in the local operating mode, as indicated at block 106. For example, the one or more processors may be caused to store energy data received from each of a plurality of connected plug sockets in the hub device, as indicated at block 106a. The one or more processors may be caused to respond to requests from a local user device (e.g. via a local network 30) to provide energy data to the local user device, as indicated at block 106b. In the remote operating mode, the one or more processors may be caused to send the energy data received from each of the plurality of connected plug sockets to a remote server for storage, as indicated at block 108.

[0043] Figure 9 is a flow diagram showing an illustrative method 110 for switching from the local service mode (e.g. first operating mode) to the cloud service mode (e.g. second operating mode) . The steps outlined in the method 110 may be carried out by the common firmware block 50. The method 110 includes setting the gateway (hub 14) to switch from the local service mode to the cloud service mode, as indicated at block 112. The common feature firmware block (e.g. common firmware block 50) uploads the electric energy data stored in the gateway (e.g. hub 14) to the cloud, as indicated at block 114. The gateway (e.g. hub 14) downloads the firmware for the cloud service mode to the erasable firmware block, as indicated at block 116. The gateway (e.g. hub 14) reboots and switches to the cloud service mode, as indicated at block 118.

[0044] Figure 10 is a flow diagram showing an illustrative method 120 for switching from the cloud service mode to the local service mode. The steps outlined in the method 120 may be carried out by the common firmware block 50. The method 120 includes setting the gateway (hub 14) to switch from the cloud service mode to the local service mode, as indicated at block 122. The Common Feature Firmware block (common firmware block 50) downloads the electric energy data from the cloud to the local device, as indicated at block 124. The gateway (hub 14) downloads the firmware for the local mode from the cloud to the erasable firmware block, as indicated at block 126. The gateway (e.g. hub 14) reboots and switches to the local service mode, as indicated at block 128.

[0045] Figure 11 is a flow diagram showing an illustrative method 130 for switching from a supervised local service mode to the local service mode, where in the supervised local service mode the gateway (e.g. hub 14) is coupled to a local server via a BACnet connection. The method 130 includes, when switching to the supervised local service mode from local service mode, the gateway (e.g. hub 14) disables the BACnet protocol and enabling the WebSocket protocol, as indicated at block 132. The WebSocket protocol may be used by a local mobile device 36 to connect to the gateway (e.g. hub 14) via a WiFi connection. When switching from the local service mode to the supervised local service mode, the gateway (e.g. hub) disables the WebSocket protocol and enables the BACnet protocol, as indicated at block 134.

[0046] Figure 12 is a flow diagram showing an illustrative method 136. The method 136 begins with the user switching to from a local service mode to a remote service mode (e.g. air mode) , as indicated at block 138. A determination is made at decision block 140 as to whether the hub (e.g. hub 14) is connected to the cloud. If so, control passes to decision block 142 where a determination is made as to whether a license has been purchased to access / use the cloud. If so, control passes to block 144 and the remote service mode firmware block is downloaded to the hub (e.g. hub 14) . The local data generated by the smart sockets 12 and currently stored on the hub (e.g. hub 14) is uploaded to the cloud, as indicated at block 146. The hub (e.g. hub 14) switches to the remote service mode (e.g. air mode) , as indicated at block 148. The method 136 terminates at an end block 150. If the answer is “no” at either decision block 140 or decision block 142, control passes to the end block 150.

[0047] Figure 13 is a flow diagram showing an illustrative method 152. The method 152 may begin at either block 154, where the license to access / use the cloud has expired, or at block 156, with the user has directed to switch to the local service mode. In either case, control passes to block 158 and the local service mode firmware block is downloaded to the hub (e.g. hub 14) . The energy data generated by the smart sockets 12 and stored in the cloud in the remote service mode is downloaded from the cloud to the hub (e.g. hub 14) , as indicated at block 160. A determination is made at decision block 164 as to whether the local service mode has been initiated. If so, control passes to block 164 and the WebSocket protocol is enabled. If a supervised remote service mode has been initiated, control passes to block 166 and BACnet protocol is enabled. Next, the method 152 terminates at an end block 168.

[0048] Having thus described several illustrative embodiments of the present disclosure, those of skill in the art will readily appreciate that yet other embodiments may be made and used within the scope of the claims hereto attached. It will be understood, however, that this disclosure is, in many respects, only illustrative. Changes may be made in details, particularly in matters of shape, size, arrangement of parts, and exclusion and order of steps, without exceeding the scope of the disclosure. The disclosure’s scope is, of course, defined in the language in which the appended claims are expressed.

Claims

1.A method for operating a device that has a first operating mode and a second operating mode, the method comprising:storing a common firmware block in a non-volatile memory of the device, wherein the common firmware block includes firmware functions that support both the first operating mode and the second operating mode of the device;storing one of a first operating mode firmware block or a second operating mode firmware block in the non-volatile memory of the device, but not both simultaneously;wherein the first operating mode firmware block includes firmware functions that support the first operating mode of the device and is stored in the non-volatile memory of the device when the device is in the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device and is stored in the non-volatile memory of the device when the device is in the second operating mode;operating the device in the first operating mode, wherein in the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device; andswitching to operating the device from the first operating mode to the second operating mode, wherein in the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device.2.The method of claim 1, wherein switching to operating the device in the second operating mode comprises:replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory of the device; andrebooting the device using the common firmware block and the second operating mode firmware block collectively as the firmware for the device.3.The method of claim 2, wherein replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory of the device is performed by one or more firmware functions of the common firmware block before the rebooting the device.4.The method of claim 3, wherein replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory of the device comprises:downloading the second operating mode firmware block from a remote device and storing the second operating mode firmware block in the non-volatile memory; anddeleting the first operating mode firmware block from the non-volatile memory of the device.5.The method of claim 4, wherein deleting the first operating mode firmware block from the non-volatile memory of the device removes reference to the first operating mode firmware block from a Master File Table associated with the non-volatile memory.6.The method of claim 4, wherein storing the second operating mode firmware block in the non-volatile memory comprises over writing at least part of the first operating mode firmware block in the non-volatile memory of the device.7.The method of claim 1, wherein the non-volatile memory of the device comprises an Electrically Erasable Programmable Read-Only Memory (EEPROM) , and wherein the first operating mode firmware block and the second operating mode firmware block are stored in the EEPROM.8.The method of claim 1, comprising:receiving an input from a user device directing the device to switch from operating the device in the first operating mode to operating the device in the second operating mode.9.The method of claim 1, wherein:the first operating mode firmware block includes firmware functions that are configured to locally store data received from one or more connected data providing devices, and to respond to requests initiated by a user device to access at least some of the locally stored data; andthe second operating mode firmware block includes firmware functions that are configured to send the data received from the one or more connected data providing devices to a remote device and not locally storing the data.10.The method of claim 9, wherein the common firmware block includes firmware functions that upload the locally stored data to the remote device when switching the device to operating in the second operating mode from the first operating mode.11.The method of claim 9, comprising:switching to operating the device in the first operating mode from the second operating mode, wherein the common firmware block includes firmware functions that, when switching to operating the device in the first operating mode from the second operating mode, downloads to the device the data received from the one or more connected data devices and stored on the remote device.12.The method of claim 9, wherein the one or more connected data providing devices comprise a plurality of plug sockets, and the data received from the plurality of plug sockets includes energy data provided by each of the plurality of plug sockets.13.A device that has a first operating mode and a second operating mode, the device comprising:a non-volatile memory for storing a common firmware block, wherein the common firmware block includes firmware functions that support both the first operating mode and the second operating mode;a controller operative coupled to the non-volatile memory, the controller configured to:store one of a first operating mode firmware block or a second operating mode firmware block in the non-volatile memory, but not both simultaneously, wherein the first operating mode firmware block includes firmware functions that support the first operating mode, and the second operating mode firmware block includes firmware functions that support the second operating mode of the device;when operating in the first operating mode, store the first operating mode firmware block into the non-volatile memory, wherein in the first operating mode, the common firmware block and the first operating mode firmware block collectively operate as the firmware for the device; andwhen operating in the second operating mode, store the second operating mode firmware block into the non-volatile memory, wherein in the second operating mode, the common firmware block and the second operating mode firmware block collectively operate as the firmware for the device.14.The device of claim 13, wherein the controller is configured to:switch from operating in the first operating mode to the second operating mode;and in response, the common firmware block includes firmware functions that cause the controller to:replace the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory; andreboot the controller using the common firmware block and the second operating mode firmware block collectively as the firmware for the device.15.The device of claim 14, wherein replacing the first operating mode firmware block with the second operating mode firmware block in the non-volatile memory comprises:downloading the second operating mode firmware block from a remote device and storing the second operating mode firmware block in the non-volatile memory; anddeleting the first operating mode firmware block from the non-volatile memory of the device.16.The device of claim 14, wherein the controller is configured to:receive an input from a user device directing the controller to switch from operating the device in the first operating mode to operating the device in the second operating mode.17.The device of claim 14, wherein:the first operating mode firmware block includes firmware functions that are configured to cause the controller to locally store data received from one or more connected data providing devices, and to respond to requests initiated by a user device to access at least some of the locally stored data; andthe second operating mode firmware block includes firmware functions that are configured to cause the controller to send the data received from the one or more connected data providing devices to a remote device and not locally storing the data.18.The device of claim 17, wherein the one or more connected data providing devices comprise a plurality of plug sockets, and the data received from the plurality of plug sockets includes energy data provided by each of the plurality of plug sockets.19.A non-transitory computer readable medium storing instructions that when executed by one or more processors causes the one or more processors to:store a common firmware block in a non-volatile memory of a hub device, wherein the common firmware block includes firmware functions that support both a local operating mode and a remote operating mode;store one of a local operating mode firmware block or a remote operating mode firmware block in the non-volatile memory of the hub device, but not both simultaneously, wherein the local operating mode firmware block is stored in the non-volatile memory of the hub device when the hub device is in the local operating mode and the remote operating mode firmware block is stored in the non-volatile memory of the hub device when the hub device is in the remote operating mode;operate the hub device in the local operating mode, wherein in the local operating mode, the common firmware block together with the local operating mode firmware block operate as the firmware for the hub device; andoperate the hub device in the remote operating mode, wherein in the remote operating mode, the common firmware block together with the remote operating mode firmware block operate as the firmware for the hub device.20.The non-transitory computer readable medium of claim 19, wherein:in the local operating mode, the instructions cause the one or more processors to:store energy data received from each of a plurality of connected plug sockets in the hub device;respond to requests from a local user device to provide energy data to the local user device; andin the remote operating mode, the instructions causes the one or more processors to:send the energy data received from each of the plurality of connected plug sockets to a remote server for storage.

Citation Information

Patent Citations

  • Remote control system, socket and gateway

    CN106385353A

  • System and method to recover FPGA firmware over a sideband interface

    CN112868013A

  • Wireless communication device, control method for wireless communication device, control program for wireless communication device, firmware providing device, control method for firmware providing device, control program for firmware providing device, and communication system

    JP2019200620A

  • Secure updating of computing system firmware

    US20190325139A1