The present disclosure relates generally to systems and methods for zoned wireless heating, ventilation, and air conditioner (HVAC) sensor registration and verification and more particularly to the use of portable devices to capture data for the configuration of an HVAC system.
Oftentimes, when HVAC systems are installed within an environment (for example, a residential or commercial environment such as a home or other building), the HVAC systems need to be properly configured to support the environment. This process typically involves a technician walking through the environment and taking manual notes, such as the location of various types of HVAC components included in the system (for example, registers, equipment room, dampers, etc.). This process is time-consuming and subject to human error, which may lead to improper or suboptimal HVAC system configuration. Additionally, once the HVAC systems are initially configured, any further configuration changes in the future may require the technician to visit the location to manually gather additional information and perform the subsequent configuration change.
The detailed description is set forth with reference to the accompanying drawings. The drawings are provided for purposes of illustration only and merely depict example embodiments of the disclosure. The drawings are provided to facilitate understanding of the disclosure and shall not be deemed to limit the breadth, scope, or applicability of the disclosure. The use of the same reference numerals indicates similar but not necessarily the same or identical components; different reference numerals may be used to identify similar components as well. Various embodiments may utilize elements or components other than those illustrated in the drawings, and some elements and/or components may not be present in various embodiments. The use of singular terminology to describe a component or element may, depending on the context, encompass a plural number of such components or elements and vice versa.
This disclosure relates to, among other things, systems and methods for zoned wireless heating, ventilation, and air conditioner (HVAC) sensor registration and verification. Particularly, the systems and methods involve the use of portable devices that may be disposed within one or more zones of an overall environment including HVAC systems that are desired to be configured (for example, a residential home, a commercial building, and/or any other type of space in which an HVAC system is installed and/or configured to condition). An “HVAC system” as described herein may refer to any combination of different HVAC components and/or units included within the environment. For example, an environment may include two air conditioning units that make up the overall HVAC system. Individual components included within the HVAC units (or components associated with the HVAC units, such as ductwork, dampers, etc.) may be referred to as “HVAC components” herein. Different types of HVAC units and HVAC components are described in additional detail with respect to
The zones may refer to segmented portions of the overall environment. In some instances, the zones may be established based on the physical structure of the environment. As a first example, the zones within a residential home may include the different rooms within the residential home (a family room may include a first zone, a kitchen may include a second zone, etc.). As a second example, the zones within the residential home may instead be established based on floor level (for example, a basement may include a first zone, a main floor may include a second zone, and an upstairs may include a third zone). As another example, zones in a commercial setting may include a lobby, individual offices, a warehouse, etc.
The zones may not necessarily always be established based on the physical structure of the environment, however. In some instances, the zones may be defined in any other manner either automatically or based on manual user input (e.g., input from a resident or occupant, HVAC installation or maintenance personnel, building management personnel, etc.). For example, a user may manually indicate that a first zone of a residential home includes a family room and a kitchen and a second zone includes two upstairs bedrooms. These are merely some examples of ways in which zones may be defined for an environment, and the zones may also be defined in any other suitable manner as well.
The portable devices may be provided in any suitable form factor, such as a spherical shape, a puck shape, and/or any other shape that may allow for the portable devices to be disposed within a given environment. That is, during an HVAC configuration process, a user may dispose one or more of the portable devices at various locations within the environment (an example illustration is shown in the use case 100 of
The portable devices may include any number of different types of sensors that may be used to capture information about an associated zone and/or any HVAC units and/or HVAC components included within the zone. For example, the sensors may include temperature sensors, airflow sensors, carbon monoxide sensors, humidity sensors, and/or any other types and/or combinations of sensors. In some cases, different portable devices may be configured to include different types of sensors. For example, a first portable device may include a humity sensor, a second portable device may include a temperature sensor and an airflow sensor, etc. However, the devices may also all be configured with the same combination of different types of sensors as well. In such cases, the devices may be configured to obtain data from all of the different sensors and/or may be configured to selectively obtain data from some of the sensors. For example, it may be desired to obtain temperature data within one zone of the environment and humidity data within a second zone of the environment.
In some instances, the portable devices may be configured to automatically selectively obtain different types of data. Additionally, a user may be able to manually control which types of data are being captured by any of the portable devices at any given time. The user may be able to interact with the portable devices themselves to configure the types of data to be captured by the individual portable devices. For example, a portable device may include a user interface that a user may interact with to provide inputs to indicate which types of data should be collected. As another example, a mobile device of the user may include an application that may allow the user to send instructions to the portable devices.
In one or more embodiments, any of the portable devices may also be configured to be automatically repositioned from the location at which the portable devices are originally disposed. This may be beneficial when a portable device is disposed within an HVAC unit and may otherwise be difficult to be manually retrieved by a user. For example, a portable device may be disposed within ductwork for an HVAC unit. When the data collection for the portable device has completed or it is otherwise desired for the portable device to be repositioned, the portable device may automatically traverse and exit the ductwork such that the portable device may then be more easily collected by the user. Alternatively, the portable device may traverse the ductwork to a location that provides easier access to the portable device for the user. For example, the portable device may traverse the ductwork to an airflow vent. The one or more portable devices may be configured with any number of different types of mechanisms to allow them to traverse the environment. For example, the portable devices may include wheels, tracks, and/or any other type of relevant mechanism(s) (non-limiting examples are illustrated in
In one or more embodiments, the location to which some or all of the portable devices are repositioned may be manually pre-defined by a user or may be automatically determined by the one or more portable devices. For example, a user may indicate through the mobile device application (and/or any other system or device) that any portable devices disposed in a specific residential home should reposition to a first zone, which may include a kitchen of the home. This may allow for easier collection of the portable devices by the user as all of the portable devices ultimately traverse to the same final location. However, individual portable devices may traverse the environment to different locations and may not necessarily need to reposition to the same location in the environment. Additionally, any of the portable devices may automatically determine a final destination rather than relying on instructions from the user through the mobile device application. For example, if a portable device is disposed in ductwork of an HVAC unit, the portable device may traverse the ductwork until the portable device identifies (through sensors or otherwise) that is has exited the ductwork.
The portable devices may be configured to reposition to a specific location for collection based on any number of different types of conditions. As one non-limiting example, the portable devices may be configured to automatically reposition after a pre-determined period of time. The portable devices may also be configured to be repositioned based on an indication received based on a manual user input. For example, a user may indicate through a mobile device application (or in any other suitable manner) that some or all of the portable devices in an environment should be repositioned. Based on this, an instruction may be transmitted to the portable devices and the portable devices may autonomously perform the reposition based on the instruction. The portable devices may also be configured to be remotely controlled by the user for purposes of performing the reposition rather than the portable devices autonomously performing the reposition. The portable devices may also be configured to be repositioned based on any other number of conditions.
The portable devices may also be configured to traverse the environment for purposes other than being repositioned for collection by a user. For example, a portable device may be initially disposed within one zone to collect data but but traverse to another location at a second point in time to collect data from the second location. In this manner, it may not be required for coverage for all of the zones within the environment to be initially provided devices, as some or all of the portable devices may traverse to other zones for data collection purposes. As another example, a portable device may remain within the same zone but may traverse the zone to reposition itself for optimal data collection. For example, the portable devices may form a mesh network within the environment and may be configured to perform data sharing. Thus, the devices may be configured to reposition within the various zones to provide optimal data collection coverage and/or communication between the devices in the mesh network. The components of an example system, as well as any communications that may be performed between the portable devices and other devices and/or systems (such as user mobile devices, backend systems, etc.) including the portable devices are illustrated further in
The data that is collected by any of the portable devices disposed within the environment may subsequently be used to configure any of the individual HVAC units and/or HVAC components included within the environment, as well as an overall HVAC system. For example, a technician may manually configure the HVAC units based on the collected data. However, the HVAC units may also be automatically configured as well. As one non-limiting example, an HVAC unit may include one or more dampers. As is known in the art, a damper may be a movable plate or other actuatable equipment, that is provided in ductwork of the HVAC unit that may be used to regulate airflow to specific zones within the environment by preventing or adjusting the airflow through the duct. That is, the plate may be rotated within the ductwork to control an amount of airflow that is able to pass through that particular portion of the ductwork. In some embodiments, these dampers may be in communication with such that the dampers may be dynamically and automatically adjusted based on data obtained from the portable devices. In this manner, the HVAC unit may be configured to automatically tune itself to an optimal configuration without requiring any technician intervention. Additionally, the data collected by the portable devices subsequent to any configuration change may be used as a feedback mechanism for verifying the outcome of the configuration change.
In one or more embodiments, the portable devices may also be used for purposes beyond initial configuration of an HVAC system as well. Even after the initial configuration, the portable devices may be used to perform additional dynamic configurations based on changing conditions within the environment. For example, based on the positioning of a residential home and the position of the sun throughout the day, different rooms within the residential home may be exposed to different amounts of heat at different times. The portable devices may capture this data and the data may then be used to dynamically configure the HVAC system to account for this change throughout the day.
The systems and methods described herein provide a number of technical improvements over existing systems by allowing for more efficient or automated initial installation and configuration of an HVAC system (as well as any subsequent changes). While reference is made herein to HVAC systems, units, components, etc., any other type of system, unit, component, etc. may also be applicable (such as, for example, water heaters, etc.).
Turning to the figures,
The use case 100 begins with scene 101. Scene 101 depicts a user 121 within an environment 102. For purposes of the use case 100, the environment 102 may be a residential home. However, any other environment may also be applicable as well (for example, a commercial setting, etc.). Within the environment 102, the user 121 is shown as disposing a portable device 108 (which may be the same as portable device 250 and/or any other portable device described herein) within a first zone 104 of the environment 102. For example, the first zone 104 may be a first room located in the residential home.
For example, the user 121 may be a technician who is inside the residential home to facilitate an initial configuration of any HVAC system including any HVAC units (for example, HVAC unit 122) and/or HVAC components (for example, ductwork 115, damper 126, etc.) of the HVAC unit(s) within the residential home. This configuration process may involve disposing portable devices throughout various location in the residential home, such that the portable devices may then capture data within those locations to be used for configuration of the HVAC systems. As aforementioned, the portable devices may not necessarily be limited to just data collection for initial configuration purposes, but may also remain within the environment 102 even after the initial configuration for subsequent data capture that may be used for monitoring and/or dynamic adjustment of the HVAC units during operation.
In one or more embodiments, when the portable device 108 is disposed within the first zone 104, an indication that the portable device 108 was disposed within the first zone 104 may be provided to other systems or devices within the environment 102 or located remotely from the environment 102. This indication may be provided in any number of different ways. For example, the portable device 108 may include a number of different physical switches. The user 121 may select a different combination of switches to indicate that that the portable device 108 is located in the first zone 104. As a second example, the portable device 108 may include a user interface, such as a touch screen, that the user 121 may interact with to input an indication that the portable device 108 is located in the first zone 104. As a third example, the user 121 may input an indication that the portable device 108 is located in the first zone 104 into a mobile device application, such as a smartphone application (scene 120 shows the user 121 as having a mobile device 123), a laptop or desktop computer, etc.
The indication may also be automatically provided by the portable device 108 without requiring any input from the user 121. In some instances, portable device 108 may use various sensors to determine its location within the environment 102. For example, the portable device 108 may be equipped with a camera and may capture images or video of the first zone 104 and use computer vision techniques to identify its current location. As another example, the portable device 108 may use global positioning signals (GPS) to identify its current location.
As yet another example, the portable device 108 may communicate with other systems and devices (for example, HVAC unit 122, any other portable devices shown in scene 120, mobile device 123, etc.) within the environment 102 to ascertain its location. This may be accomplished in a number of different ways. For example, the portable device 108 may use known locations of other systems and devices (for example, other portable devices, HVAC unit 122, mobile device 123, etc.) in combination with information relating to distances between the portable device 108 and other systems and devices (for example, time of flight for communications, etc.). As another example, the other systems and devices may simply provide an indication of the location of the portable device 108 to the portable device 108. The indication that the portable device 108 is located in the first zone 104 may also be provided in any other suitable manner as well. The communications between the portable device 108 and any other portable devices, systems, devices, etc. may be performed using any suitable type of wired or wireless communications.
The information about the location of the portable device 108 may be provided to a remote system 141 (which may be the same as remote server 240) for storage. The information may also be provided to any other system or device (for example, HVAC unit 122, any other portable devices shown in scene 120, mobile device 123, etc.) located in the environment as well. This location information may be used in conjunction with other data captured by the portable device 108 to more effectively configure the HVAC unit 122 in the environment 102. For example, having information about the location from which the data captured by the portable device 108 originates (in this use case 100, the first zone) may allow the HVAC unit 122 to be more effectively configured to service the residential home.
Scene 120 depicts a top-down view of the environment 102. The top-down view shows that, in addition to the first zone 104, the environment 120 also includes at least a second zone 106 (for example, a hallway in the home) and a third zone 107 (for example, another room in the home). The environment 102 also includes the HVAC unit 122, which may be used to provide heating and/or air conditioning to any of the zones in the environment 102. For example, the HVAC unit 122 is shown as including ductwork 115 that may be used to direct cool or warm air into the first zone 104 through a vent. The ductwork 115 also includes a damper 126, which may be used to regulate the airflow rate through the ductwork 115. For example, the damper 126 may be a moveable plate that may open and close by various degrees to regulate the airflow. The scene 120 shows the damper 126 as being partially opened, such that airflow is possible through the ductwork 115, but not the maximum rate of airflow that may be possible if the damper 126 were fully opened.
The top-down view also shows that a second portable device 112 is disposed in the second zone 106, a third portable device 114 is shown in the third zone 107, and a fourth portable device 116 is disposed in the ductwork 115 of the HVAC unit 112. That is, while the first scene 101 shows one example of the user 121 disposing a first portable device 108 within a particular zone, the user 121 may continue to progress throughout the environment 102 and dispose additional portable devices within the environment 102. In this manner, data may be collected from different locations within the environment 102 using multiple portable devices. This may not only serve to provide further data collection coverage within the environment, but may also provide more granular location-based data points, as data may be associated with multiple specific locations as which the portable devices are disposed.
As an alternative to the user 121 manually disposing the various portable devices within the specific zones in which they are intended to collect data, the user 121 may instead dispose some or all of the portable devices in any arbitrary location in the environment 102 and the portable devices themselves may traverse the environment 102 to their intended destinations. The portable devices may autonomously or semi-autonomously traverse the environment. In some instances, the user 121 may control the movement of the portable devices (for example, using the mobile device application, a remote control, a joystick, and/or through any other control mechanism).
Any of the portable devices (for example, the first portable device 108, second portable device 112, third portable device 114, and fourth portable device 116) may be in communication with one or more remote system(s) 141 (for example, remote servers) over a network 130. Any of the portable devices may also be in communication with any of the other portable devices over the network 130, such that the portable devices may form a mesh network within the environment 102 for data sharing between the portable devices. Additionally, the controller 124 of the HVAC unit 122, the damper 126, and/or the user mobile device 123 may also be in communication with any of the other components within the environment 102 as well.
Particularly, the scene 120 depicts the portable devices obtaining data from the various zones in which they are disposed (or to which they traverse) and transmitting the data to the remote system 141 over the network for processing. That is, the first portable device 108 may obtain data within the first zone 104, the second portable device 112 may obtain data within the second zone 106, the third portable device 114 may obtain data within the third zone 107, and the fourth portable device 116 may obtain data within the ductwork of the HVAC unit 122. This may include any number of different types of data, such as temperature data, airflow data, humidity data, carbon monoxide data, and/or any other types of relevant data. Additionally, in one or more embodiments, the portable devices may not necessarily need to transmit the data to the remote system 141. Rather the portable devices themselves, the mobile device 123, and/or the controller 124 of the HVAC unit 122 may also be configured to perform the same processing of the data as the remote system 141.
Scene 140 depicts the remote system 141 transmitting an instruction to the controller 124 of the HVAC unit 122. The instruction includes an indication of a configuration change to the HVAC unit 122 based on the data obtained from the portable devices disposed within the environment 102. For example, the configuration change may include adjusting the damper 126 such that additional airflow may flow from the HVAC unit 122 and into the first zone 104. The adjustment in this instance may include the damper 126 opening further to allow for the additional airflow through the ductwork 115 (however, the damper may also actuate the other way and further close to reduce the amount of airflow as well). In some instances, the damper 116 may be electrically connected to the controller 124 such that the controller 124 may send a signal to perform the adjustment of the damper 126. While scene 120 shows the remote system 141 providing the instruction to the controller 122, any other component within the environment 102 or located remotely from the environment 102 may also provide the instruction as well. Additionally, the instruction may instead be provided directly to the damper 126 rather than to the controller 124 of the HVAC unit 122. In another embodiment, the configuration change could be modifying a temperature set point and/or humidity set point of the HVAC unit.
Scene 160 depicts some of the portable devices traversing the environment 102 to new locations. For example, the first portable device 108 is shown as traversing from a first location 132 to a second location 134. The second portable device 112 is shown as traversing from a third location 138 to a fourth location 140. The fourth portable device 116 is shown as traversing from a fifth location 142 within the ductwork 115 to a sixth location 144 external to the ductwork 115. As aforementioned, the portable devices may traverse the environment 102 autonomously or based on control instructions. As aforementioned, the portable devices may include any number of different types of suitable mechanisms for allowing the portable devices to traverse the environment 102. For example, the portable devices may be equipped with wheels, tracks, etc.
The portable devices may traverse the environment 102 to different locations for a number of different reasons. For example, a portable device may be initially disposed within one zone to collect data but may traverse to another location to collect data from the second location. As another example, a portable device may remain within the same zone but may traverse the zone to reposition itself for data collection at another location within the same zone.
The portable devices may also traverse the environment 102 to a new location based on information received from other portable devices in the environment 102. The portable devices may form a mesh network within the environment 102 and may be configured to perform data sharing. Based on this data sharing, the portable devices may automatically maneuver to different locations to achieve optimal data collection coverage within the environment 102. For example, the portable devices may automatically maneuver based on communications within the mesh network so that the portable devices may capture data from more (or all) of the area including the environment 102. In some instances, the portable devices may receive signals from other portable devices and, based on the signals, determine a relative signal strength between any of the other portable devices in the mesh network. The signals may include any type of wireless communication signal. Based on these relative signal strengths, the portable devices may determine to traverse the environment closer to or farther away from any of the other portable devices. For example, a first portable device may move farther away from a second portable device based on a signal strength associated with a signal transmitted between the first portable device and the second portable device being above a threshold signal strength value.
The portable devices may also automatically maneuver for reasons other than maximizing area coverage. For example, if more granular data is desired in one specific location within the environment 102, then some or all of the portable devices may reposition themselves closer to that location to provide for the granular data collection. As another example, a first portable device may maneuver to the location of a second portable device if it is determined that the second portable device is no longer able to capture and/or transmit data. This determination may be made in any number of different ways. For example, the determination may be made by any of the systems or devices in the environment 102 or located remotely from the environment 102 not being able to successfully receive communications from the second portable device. As another example, the second portable itself may provide an indication that a sensor is faulty and data capture is no longer possible for that particular portable device. These are just a few examples and are not intended to be limiting in any way.
The one or more portable devices may also be configured to reposition from an initial location to a second location. For example, if a portable device is deposed within an HVAC unit or a component of an HVAC unit (e.g., the portable device is provided within ductwork of the HVAC unit) and is otherwise difficult to be manually collected by a user, the portable device may traverse through the HVAC unit to a location outside of the HVAC unit for collection by the user. Any of the portable devices may also reposition to one or more common locations to simply the collection process for a user. As a non-limiting example, all of the portable devices may reposition to a single location for collection by a user. The location may be indicated by the user, and/or may be based on any number of other criteria, such as the known location of the user.
The HVAC units 210 may include any number of different types of HVAC units that may be included within an environment (for example, an air conditioner, furnace, etc.). Additionally, while reference may be made herein to configuring a single HVAC unit 210, the systems and methods described herein may also be applicable to configuring an overall HVAC system within the environment as a whole. For example, different HVAC units included within the environment may be configured to optimally work in conjunction with one another. Additionally, any reference to configuring an HVAC system, HVAC unit, and/or HVAC components is not necessarily intended to be limiting. For example, reference to configuring an HVAC unit may similarly apply to configuring an HVAC component as well. Additionally, while reference is made herein to the use of HVAC units, any other type of systems or components may also be applicable as well (such as water heaters, etc.).
The HVAC unit 210 may include a controller 212 to facilitate control logic associated with the HVAC unit 210. The controller may be integrated inside of the HVAC unit 210, may be located on the external surface of the HVAC unit 210, and/or any other location on and/or within the HVAC unit 210. A controller 212 may also be a standalone device and not integrated into any of the HVAC units 210 and/or may be associated with a device or system other than an HVAC unit 210. For example, a controller may be associated with the damper 126 shown in
The mobile device 230 (which may be the same as mobile device 123 shown in
The mobile device 230 may include an application 232. The application 232 may display a user interface to the user 235 through the mobile device 230. The application 232 may allow the user 235 to perform any of the functionality described herein or otherwise. For example, a user 235 may indicate through the application 232 a location at which various portable devices 250 are disposed within an environment. The application 232 may also allow a user 235 to remotely control movement of a portable device 250 through an environment. The application 232 may also allow the user 235 to view any data being collected by any of the portable devices 250. The application 232 may also allow the user 235 to control configuration of the HVAC unit 210 based on data received from the one or more portable devices 250 (and/or any other factors). These are merely non-limiting examples of the functionality of the application 232.
The one or more portable devices 250 may include any of the devices that are disposed within an environment for data collection and other purposes. For example, the portable devices 250 may be the same as the first portable devices 108, 112, 114, and 116 in
That is, during an HVAC configuration process, a user may dispose one or more of the portable devices within the various zones of the environment. The portable devices 250 may then be collected from the zones after the HVAC unit 210 has been properly configured. However, the portable devices 250 may also be provided in any other form as well. Additionally, some or all of the portable devices 250 may be permanently disposed within an environment as well. That is, in some instances, some or all of the portable devices 250 may remain within the zones to continue to obtain data from the zones and/or the HVAC units 210 associated with the zones.
The portable devices 250 may include any number of different types of sensors 260 that may be used to capture information about an associated zone and/or any HVAC equipment included within the zone. For example, the sensors 260 may include temperature sensors, airflow sensors, carbon monoxide sensors, humidity sensors, and/or any other types of sensors. In some cases, different devices may be configured to include different types of sensors. However, the portable devices 250 may also all be configured with the same combination of different types of sensors as well. In such cases, the portable devices 250 may be configured to obtain data from all of the different sensors 260 and/or may be configured to selective obtain data from some of the sensors 260.
The remote server 240 may receive data from any of the other elements of the system 200 (for example, the HVAC unit 210, mobile device 230, portable device 250, etc.). Based on this information, the remote server 240 may determine one or more configuration changes to be made to the HVAC unit 210 and/or any other components associated with the HVAC unit 210 (such as the damper 126 of
The HVAC units 210, one or more mobile devices 230, one or more remote servers 240, and/or one or more portable devices 250 via a communications network 270. The communications network 270 may include, but are not limited to, any one of a combination of different types of suitable communications networks such as, for example, broadcasting networks, cable networks, public networks (e.g., the Internet), private networks, wireless networks, cellular networks, or any other suitable private and/or public networks. Additional details about example communications networks may be described with respect to
In one or more embodiments, any of the HVAC units 210, one or more mobile devices 230, one or more remote servers 240, and/or one or more portable devices 250 may include any of the components of the computing device(s) 400 described with respect to
At block 302, the method 300 may include receiving, using one or more processors, first data from a first portable device, the first data indicative of a condition relating to operation of an HVAC unit within a first zone of an environment, wherein the first portable device is configured to be positioned within the first zone of the environment during initial configuration of the HVAC unit and independent of the HVAC unit that is also included within the environment. At block 304, the method 300 may include determining, using the one or more processors and based on the first data, a first configuration change for the HVAC unit. At block 306, the method 300 may include causing a component of the HVAC unit to perform the first configuration change.
One or more operations of the methods, process flows, or use cases of
The operations described and depicted in the illustrative methods, process flows, and use cases of
Although specific embodiments of the disclosure have been described, one of ordinary skill in the art will recognize that numerous other modifications and alternative embodiments are within the scope of the disclosure. For example, any of the functionality and/or processing capabilities described with respect to a particular device or component may be performed by any other device or component. Further, while various illustrative implementations and architectures have been described in accordance with embodiments of the disclosure, one of ordinary skill in the art will appreciate that numerous other modifications to the illustrative implementations and architectures described herein are also within the scope of this disclosure.
Certain aspects of the disclosure are described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to example embodiments. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and the flow diagrams, respectively, may be implemented by execution of computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, or may not necessarily need to be performed at all, according to some embodiments. Further, additional components and/or operations beyond those depicted in blocks of the block and/or flow diagrams may be present in certain embodiments.
Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, may be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
The computing device(s) 400 may be configured to communicate via one or more networks. Such network(s) may include, but are not limited to, any one or more different types of communications networks such as, for example, cable networks, public networks (e.g., the Internet), private networks (e.g., frame-relay networks), wireless networks, cellular networks, telephone networks (e.g., a public switched telephone network), or any other suitable private or public packet-switched or circuit-switched networks. Further, such network(s) may have any suitable communication range associated therewith and may include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs). In addition, such network(s) may include communication links and associated networking devices (e.g., link-layer switches, routers, etc.) for transmitting network traffic over any suitable type of medium including, but not limited to, coaxial cable, twisted-pair wire (e.g., twisted-pair copper wire), optical fiber, a hybrid fiber-coaxial (HFC) medium, a microwave medium, a radio frequency communication medium, a satellite communication medium, or any combination thereof.
In an illustrative configuration, the computing device(s) 400 may include one or more processors (processor(s)) 402, one or more memory devices 404 (generically referred to herein as memory 404), one or more input/output (I/O) interfaces 406, one or more network interfaces 408, one or more sensors or sensor interfaces 410, one or more transceivers 412, one or more optional speakers 414, one or more optional microphones 416, and data storage 420. The computing device(s) 400 may further include one or more buses 418 that functionally couple various components of the computing device(s) 400. The computing device(s) 400 may further include one or more antenna(e) 434 that may include, without limitation, a cellular antenna for transmitting or receiving signals to/from a cellular network infrastructure, an antenna for transmitting or receiving WiFi signals to/from an access point (AP), a Global Navigation Satellite System (GNSS) antenna for receiving GNSS signals from a GNSS satellite, a Bluetooth antenna for transmitting or receiving Bluetooth signals, a Near Field Communication (NFC) antenna for transmitting or receiving NFC signals, and so forth. These various components will be described in more detail hereinafter.
The bus(es) 418 may include at least one of a system bus, a memory bus, an address bus, or a message bus, and may permit the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between various components of the computing device(s) 400. The bus(es) 418 may include, without limitation, a memory bus or a memory controller, a peripheral bus, an accelerated graphics port, and so forth. The bus(es) 418 may be associated with any suitable bus architecture including, without limitation, an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, and so forth.
The memory 404 of the computing device(s) 400 may include volatile memory (memory that maintains its state when supplied with power) such as random access memory (RAM) and/or non-volatile memory (memory that maintains its state even when not supplied with power) such as read-only memory (ROM), flash memory, ferroelectric RAM (FRAM), and so forth. Persistent data storage, as that term is used herein, may include non-volatile memory. In certain example embodiments, volatile memory may enable faster read/write access than non-volatile memory. However, in certain other example embodiments, certain types of non-volatile memory (e.g., FRAM) may enable faster read/write access than certain types of volatile memory.
In various implementations, the memory 404 may include multiple different types of memory such as various types of static random access memory (SRAM), various types of dynamic random access memory (DRAM), various types of unalterable ROM, and/or writeable variants of ROM such as electrically erasable programmable read-only memory (EEPROM), flash memory, and so forth. The memory 404 may include main memory as well as various forms of cache memory such as instruction cache(s), data cache(s), translation lookaside buffer(s) (TLBs), and so forth. Further, cache memory such as a data cache may be a multi-level cache organized as a hierarchy of one or more cache levels (L1, L2, etc.).
The data storage 420 may include removable storage and/or non-removable storage, including, but not limited to, magnetic storage, optical disk storage, and/or tape storage. The data storage 420 may provide non-volatile storage of computer-executable instructions and other data. The memory 404 and the data storage 420, removable and/or non-removable, are examples of computer-readable storage media (CRSM) as that term is used herein.
The data storage 420 may store computer-executable code, instructions, or the like that may be loadable into the memory 404 and executable by the processor(s) 402 to cause the processor(s) 402 to perform or initiate various operations. The data storage 420 may additionally store data that may be copied to the memory 404 for use by the processor(s) 402 during the execution of the computer-executable instructions. Moreover, output data generated as a result of execution of the computer-executable instructions by the processor(s) 402 may be stored initially in the memory 404, and may ultimately be copied to the data storage 420 for non-volatile storage.
More specifically, the data storage 420 may store one or more operating systems (O/S) 422; one or more database management systems (DBMSs) 424; and one or more program module(s), applications, engines, computer-executable code, scripts, or the like such as, for example, one or more HVAC configuration module(s) 426. Some or all of these module(s) may be sub-module(s). Any of the components depicted as being stored in the data storage 420 may include any combination of software, firmware, and/or hardware. The software and/or firmware may include computer-executable code, instructions, or the like that may be loaded into the memory 404 for execution by one or more of the processor(s) 402. Any of the components depicted as being stored in the data storage 420 may support functionality described in reference to corresponding components named earlier in this disclosure.
The data storage 420 may further store various types of data utilized by the components of the computing device(s) 400. Any data stored in the data storage 420 may be loaded into the memory 404 for use by the processor(s) 402 in executing computer-executable code. In addition, any data depicted as being stored in the data storage 420 may potentially be stored in one or more datastore(s) and may be accessed via the DBMS 424 and loaded in the memory 404 for use by the processor(s) 402 in executing computer-executable code. The datastore(s) may include, but are not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like.
The processor(s) 402 may be configured to access the memory 404 and execute the computer-executable instructions loaded therein. For example, the processor(s) 402 may be configured to execute the computer-executable instructions of the various program module(s), applications, engines, or the like of the computing device(s) 400 to cause or facilitate various operations to be performed in accordance with one or more embodiments of the disclosure. The processor(s) 402 may include any suitable processing unit capable of accepting data as input, processing the input data in accordance with stored computer-executable instructions, and generating output data. The processor(s) 402 may include any type of suitable processing unit including, but not limited to, a central processing unit, a microprocessor, a reduced instruction set computer (RISC) microprocessor, a complex instruction set computer (CISC) microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system-on-a-chip (SoC), a digital signal processor (DSP), and so forth. Further, the processor(s) 402 may have any suitable microarchitecture design that includes any number of constituent components such as, for example, registers, multiplexers, arithmetic logic units, cache controllers for controlling read/write operations to cache memory, branch predictors, or the like. The microarchitecture design of the processor(s) 402 may be capable of supporting any of a variety of instruction sets.
Referring now to functionality supported by the various program module(s) depicted in
Referring now to other illustrative components depicted as being stored in the data storage 420, the O/S 422 may be loaded from the data storage 420 into the memory 404 and may provide an interface between other application software executing on the computing device(s) 400 and the hardware resources of the computing device(s) 400. More specifically, the O/S 422 may include a set of computer-executable instructions for managing hardware resources of the computing device(s) 400 and for providing common services to other application programs (e.g., managing memory allocation among various application programs). The O/S 422 may include any operating system now known or which may be developed in the future, including, but not limited to, any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.
The DBMS 424 may be loaded into the memory 404 and may support functionality for accessing, retrieving, storing, and/or manipulating data stored in the memory 404 and/or data stored in the data storage 420. The DBMS 424 may use any of a variety of database models (e.g., relational model, object model, etc.) and may support any of a variety of query languages. The DBMS 424 may access data represented in one or more data schemas and stored in any suitable data repository including, but not limited to, databases (e.g., relational, object-oriented, etc.), file systems, flat files, distributed datastores in which data is stored on more than one node of a computer network, peer-to-peer network datastores, or the like. In those example embodiments in which the computing device(s) 400 is a mobile device, the DBMS 424 may be any suitable lightweight DBMS optimized for performance on a mobile device.
Referring now to other illustrative components of the computing device(s) 400, the input/output (I/O) interface(s) 406 may facilitate the receipt of input information by the computing device(s) 400 from one or more I/O devices as well as the output of information from the computing device(s) 400 to one or more I/O devices. The I/O devices may include any of a variety of components such as a display or display screen having a touch surface or touchscreen; an audio output device for producing sound, such as a speaker; an audio capture device, such as a microphone; an image and/or video capture device, such as a camera; a haptic unit; and so forth. Any of these components may be integrated into the computing device(s) 400 or may be separate. The I/O devices may further include, for example, any number of peripheral devices such as data storage devices, printing devices, and so forth.
The I/O interface(s) 406 may also include an interface for an external peripheral device connection such as a universal serial bus (USB), FireWire, Thunderbolt, Ethernet port or other connection protocol that may connect to one or more networks. The I/O interface(s) 406 may also include a connection to one or more of the antenna(s) 434 to connect to one or more networks via a wireless local area network (WLAN) (such as WiFi) radio, Bluetooth, ZigBee, and/or a wireless network radio, such as a radio capable of communication with a wireless communication network such as a Long Term Evolution (LTE) network, WiMAX network, 3G network, etc.
The computing device(s) 400 may further include one or more network interface(s) 408 via which the computing device(s) 400 may communicate with any of a variety of other systems, platforms, networks, devices, and so forth. The network interface(s) 408 may enable communication, for example, with one or more wireless routers, one or more host servers, one or more web servers, and the like via one or more networks.
The antenna(s) 434 may include any suitable type of antenna depending, for example, on the communications protocols used to transmit or receive signals via the antenna(s) 434. Non-limiting examples of suitable antennae may include directional antennae, non-directional antennae, dipole antennae, folded dipole antennae, patch antennae, multiple-input multiple-output (MIMO) antennae, or the like. The antenna(s) 434 may be communicatively coupled to one or more transceivers 412 or radio components to which or from which signals may be transmitted or received.
As previously described, the antenna(s) 434 may include a cellular antenna configured to transmit or receive signals in accordance with established standards and protocols, such as Global System for Mobile Communications (GSM), 3G standards (e.g., Universal Mobile Telecommunications System (UMTS), Wideband Code Division Multiple Access (W-CDMA), CDMA2000, etc.), 4G standards (e.g., Long-Term Evolution (LTE), WiMax, etc.), direct satellite communications, or the like.
The antenna(s) 434 may additionally, or alternatively, include a WiFi antenna configured to transmit or receive signals in accordance with established standards and protocols, such as the IEEE 802.11 family of standards, including via 2.4 GHz channels (e.g., 802.11b, 802.11g, 802.11n), 5 GHz channels (e.g., 802.11n, 802.11ac), or 60 GHz channels (e.g., 802.11ad). In alternative example embodiments, the antenna(s) 434 may be configured to transmit or receive radio frequency signals within any suitable frequency range forming part of the unlicensed portion of the radio spectrum.
The antenna(s) 434 may additionally, or alternatively, include a GNSS antenna configured to receive GNSS signals from three or more GNSS satellites carrying time-position information to triangulate a position therefrom. Such a GNSS antenna may be configured to receive GNSS signals from any current or planned GNSS such as, for example, the Global Positioning System (GPS), the GLONASS System, the Compass Navigation System, the Galileo System, or the Indian Regional Navigational System.
The transceiver(s) 412 may include any suitable radio component(s) for-in cooperation with the antenna(s) 434—transmitting or receiving radio frequency (RF) signals in the bandwidth and/or channels corresponding to the communications protocols utilized by the computing device(s) 400 to communicate with other devices. The transceiver(s) 412 may include hardware, software, and/or firmware for modulating, transmitting, or receiving-potentially in cooperation with any of antenna(s) 434—communications signals according to any of the communications protocols discussed above including, but not limited to, one or more WiFi and/or WiFi direct protocols, as standardized by the IEEE 802.11 standards, one or more non-Wi-Fi protocols, or one or more cellular communications protocols or standards. The transceiver(s) 412 may further include hardware, firmware, or software for receiving GNSS signals. The transceiver(s) 412 may include any known receiver and baseband suitable for communicating via the communications protocols utilized by the computing device(s) 400. The transceiver(s) 412 may further include a low noise amplifier (LNA), additional signal amplifiers, an analog-to-digital (A/D) converter, one or more buffers, a digital baseband, or the like.
The sensor(s)/sensor interface(s) 410 may include or may be capable of interfacing with any suitable type of sensing device such as, for example, inertial sensors, force sensors, thermal sensors, and so forth. Example types of inertial sensors may include accelerometers (e.g., MEMS-based accelerometers), gyroscopes, and so forth.
The speaker(s) 414 may be any device configured to generate audible sound. The microphone(s) 416 may be any device configured to receive analog sound input or voice data.
It should be appreciated that the program module(s), applications, computer-executable instructions, code, or the like depicted in
It should further be appreciated that the computing device(s) 400 may include alternate and/or additional hardware, software, or firmware components beyond those described or depicted without departing from the scope of the disclosure. More particularly, it should be appreciated that software, firmware, or hardware components depicted as forming part of the computing device(s) 400 are merely illustrative and that some components may not be present or additional components may be provided in various embodiments. While various illustrative program module(s) have been depicted and described as software module(s) stored in the data storage 420, it should be appreciated that functionality described as being supported by the program module(s) may be enabled by any combination of hardware, software, and/or firmware. It should further be appreciated that each of the above-mentioned module(s) may, in various embodiments, represent a logical partitioning of supported functionality. This logical partitioning is depicted for case of explanation of the functionality and may not be representative of the structure of software, hardware, and/or firmware for implementing the functionality. Accordingly, it should be appreciated that functionality described as being provided by a particular module may, in various embodiments, be provided at least in part by one or more other module(s). Further, one or more depicted module(s) may not be present in certain embodiments, while in other embodiments, additional module(s) not depicted may be present and may support at least a portion of the described functionality and/or additional functionality. Moreover, while certain module(s) may be depicted and described as sub-module(s) of another module, in certain embodiments, such module(s) may be provided as independent module(s) or as sub-module(s) of other module(s).
One or more operations of the methods, process flows, and use cases of
Program module(s), applications, or the like disclosed herein may include one or more software components, including, for example, software objects, methods, data structures, or the like. Each such software component may include computer-executable instructions that, responsive to execution, cause at least a portion of the functionality described herein (e.g., one or more operations of the illustrative methods described herein) to be performed.
A software component may be coded in any of a variety of programming languages. An illustrative programming language may be a lower-level programming language such as an assembly language associated with a particular hardware architecture and/or operating system platform. A software component including assembly language instructions may require conversion into executable machine code by an assembler prior to execution by the hardware architecture and/or platform.
Another example programming language may be a higher-level programming language that may be portable across multiple architectures. A software component including higher-level programming language instructions may require conversion to an intermediate representation by an interpreter or a compiler prior to execution.
Other examples of programming languages include, but are not limited to, a macro language, a shell or command language, a job control language, a script language, a database query or search language, or a report writing language. In one or more example embodiments, a software component including instructions in one of the foregoing examples of programming languages may be executed directly by an operating system or other software component without having to be first transformed into another form.
A software component may be stored as a file or other data storage construct. Software components of a similar type or functionally related may be stored together such as, for example, in a particular directory, folder, or library. Software components may be static (e.g., pre-established or fixed) or dynamic (e.g., created or modified at the time of execution).
Software components may invoke or be invoked by other software components through any of a wide variety of mechanisms. Invoked or invoking software components may include other custom-developed application software, operating system functionality (e.g., device drivers, data storage (e.g., file management) routines, other common routines, and services, etc.), or third-party software components (e.g., middleware, encryption, or other security software, database management software, file transfer or other network communication software, mathematical or statistical software, image processing software, and format translation software).
Software components associated with a particular solution or system may reside and be executed on a single platform or may be distributed across multiple platforms. The multiple platforms may be associated with more than one hardware vendor, underlying chip technology, or operating system. Furthermore, software components associated with a particular solution or system may be initially written in one or more programming languages, but may invoke software components written in another programming language.
Computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that execution of the instructions on the computer, processor, or other programmable data processing apparatus causes one or more functions or operations specified in the flow diagrams to be performed. These computer program instructions may also be stored in a computer-readable storage medium (CRSM) that upon execution may direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement one or more functions or operations specified in the flow diagrams. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process.
Additional types of CRSM that may be present in any of the devices described herein may include, but are not limited to, programmable random access memory (PRAM), SRAM, DRAM, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the information and which can be accessed. Combinations of any of the above are also included within the scope of CRSM. Alternatively, computer-readable communication media (CRCM) may include computer-readable instructions, program module(s), or other data transmitted within a data signal, such as a carrier wave, or other transmission. However, as used herein, CRSM does not include CRCM.
Although embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the disclosure is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the embodiments. Conditional language, such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments could include, while other embodiments do not include, certain features, elements, and/or steps. Thus, such conditional language is not generally intended to imply that features, elements, and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or steps are included or are to be performed in any particular embodiment.
This application claims priority to and benefit of U.S. provisional patent application No. 63/385,355 filed Nov. 29, 2022, which is herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
63385355 | Nov 2022 | US |