Field of the Invention
Embodiments of the present invention relate generally to computer processing and, more specifically, to automated techniques for retrofitting devices.
Description of the Related Art
Decreases in prices and increases in the availability of electronics have led to a proliferation of “smart” devices. Smart devices implement more powerful and flexible functionality and/or connectivity than “legacy” devices. For example, a smart thermostat can be configured to control a heating system based on sensor inputs or via a smartphone. By contrast, legacy thermostats are typically configured to control a heating system based on only a single temperature setting that is entered manual via control buttons situated on the thermostat. Although many users would benefit from the additional functionality and connectivity that come with smart devices, users oftentimes do not replace functioning legacy devices with smart devices for various practical or emotional reasons, such as the cost of purchasing the smart devices, the time and effort to replace the legacy devices, and/or emotional attachments to the legacy devices, to name a few. Instead, in many instances, users attempt to retrofit their legacy devices to enable the legacy device to implement additional or different functionality or connectivity.
To retrofit a given legacy device, a user typically designs a proxy interface that provides the desired functionality and connectivity when attached to the legacy device. For example, the proxy interface could include actuators that are configured to manipulate legacy controls based on inputs that are received from a smartphone. One drawback of this approach, however, is that designing a proxy interface is typically a complex, multi-step process. First, the user has to define the high-level behavior for the proxy interface. The user then has to identify and purchase multiple component instances, such as sensors, actuators, microcontrollers, etc. Subsequently, the user has to design and manufacture an enclosure that houses the component instances and, when attached to the legacy device, enables the component instances to manipulate the legacy controls to execute the desired high-level behavior. Lastly, the user has to assemble the component instances into a circuit. In addition, if the proxy interface includes a programmable instance, like a microcontroller, then the user has to write, compile and upload the firmware used to control the operation of the circuit through the programmable instance.
As the foregoing illustrates, designing a proxy interface requires significant knowledge across a range of technical areas, such as enclosure design and fabrication, circuit design, and programming. A lack of knowledge in one or more of these areas can discourage a user from attempting to retrofit a legacy device. Further, because the design and assembly process involves many different, manual operations, designing proxy interfaces can be tedious and time consuming, irrespective of the technical expertise of the user.
As the foregoing illustrates, what is needed in the art are more effective techniques for retrofitting legacy devices with new features and functionalities.