AUTONOMOUS AGNOSTIC SMART SENSOR
20220391218 · 2022-12-08
Inventors
Cpc classification
G06F9/4411
PHYSICS
International classification
Abstract
The present invention is directed to a computing device capable of accepting, identifying, and processing signals from a plurality of different sensor types without sensor-specific code. The present invention features a small electronic device consisting of one or more sensors with a computing device that can be reconfigured for different purposes at any time, without the need for changing programming code.
Claims
1. A computing device (107) capable of connecting to a sensor (101) without needing to upload new code, the computing device (107) comprising: a. a processor capable of executing computer-readable instructions; and b. a memory component comprising a plurality of computer-readable instructions and a plurality of state representations, each state representation comprising a plurality of parameters and flow control for the plurality of computer-readable instructions, the plurality of computer-readable instructions comprising a plurality of pre-compiled code blocks (201) and steps for: i. identifying a signal representing an external event (109) from the sensor (101); ii. identifying a state representation of the plurality of state representations corresponding with the external event (109); iii. determining, by the flow control of the state representation, one or more pre-compiled code blocks (201) to be executed; and iv. processing the signal through the one or more pre-compiled code blocks (201) and the plurality of parameters of the state representation; wherein executing the computer-readable instructions does not involve compilation or interpretation of new code.
2. The computing device (107) of claim 1, wherein the sensor (101) comprises an analog sensor.
3. The computing device (107) of claim 2, wherein the value of the analog sensor is converted to digital representations through analog-to-digital converters, time-to-digital converters, or a combination thereof.
4. The computing device (107) of claim 1, wherein the plurality of computer-readable instructions further comprises steps for: a. accepting one or more new state representations from an external source; and b. adding the one or more new state representations to the plurality of state representations.
5. The computing device (107) of claim 1, wherein the computing device (107) further comprises hardware components capable of identifying a signal from the sensor (101) as an external event (109).
6. The computing device (107) of claim 5, wherein the hardware components are capable of identifying the external event (109) through timers, electronic levels, sensor values, telemetry interrupts, or a combination thereof.
7. The computing device (107) of claim 1, wherein the computing device (107) is integrated into a microcontroller system and acts as a layer between a hardware interface (301) and a plurality of higher-level management components (305) of the microcontroller.
8. The computing device (107) of claim 1, wherein some sensor-specific code is included.
9. The computing device (107) of claim 1, wherein no sensor-specific code is included.
10. A method for connecting to a sensor (101) without needing to upload new code, the method comprising: a. providing a computing device (107) comprising: i. a processor capable of executing computer-readable instructions; and ii. a memory component comprising a plurality of computer-readable instructions and a plurality of state representations, each state representation comprising a plurality of parameters and flow control for the plurality of computer-readable instructions, the plurality of computer-readable instructions comprising a plurality of pre-compiled code blocks (201); b. identifying, by the computing device (107), a signal representing an external event (109) from the sensor (101); c. identifying, by the computing device (107), a state representation of the plurality of state representations corresponding with the external event (109); d. determining, by the flow control of the state representation, one or more pre-compiled code blocks (201) to be executed; and e. processing, by the computing device (107), the signal through the one or more pre-compiled code blocks (201) and the plurality of parameters of the state representation; wherein executing the computer-readable instructions does not involve compilation or interpretation of new code.
11. The method of claim 10, wherein the sensor (101) comprises an analog sensor.
12. The method of claim 11, wherein the value of the analog sensor is converted to digital representations through analog-to-digital converters, time-to-digital converters, or a combination thereof.
13. The method of claim 10 further comprising: a. accepting one or more new state representations from an external source; and b. adding the one or more new state representations to the plurality of state representations.
14. The method of claim 10, wherein the computing device (107) further comprises hardware components capable of identifying a signal from the sensor (101) as an external event (109).
15. The method of claim 14, wherein the hardware components are capable of identifying the external event (109) through timers, electronic levels, sensor values, telemetry interrupts, or a combination thereof.
16. The method of claim 10, wherein the computing device (107) is integrated into a microcontroller system and acts as a layer between a hardware interface (301) and a plurality of higher-level management components (305) of the microcontroller.
17. The method of claim 10, wherein some sensor-specific code is included.
18. The method of claim 10, wherein no sensor-specific code is included.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0016] The features and advantages of the present invention will become apparent from a consideration of the following detailed description presented in connection with the accompanying drawings in which:
[0017]
[0018]
[0019]
[0020]
DETAILED DESCRIPTION OF THE INVENTION
[0021] Following is a list of elements corresponding to a particular element referred to herein: [0022] 101 first sensor [0023] 103 second sensor [0024] 105 connecting component [0025] 107 computing device [0026] 109 event [0027] 111 external source [0028] 201 compiled code [0029] 203 flow change [0030] 205 flow diagram [0031] 207 flow change directive [0032] 301 microcontroller firmware stack [0033] 303 E-Chip Hardware Abstract Layer [0034] 305 higher level management operations
[0035] Referring now to
[0036] Referring now to
[0037] The sensor (101) implemented in the present invention may be any type of sensor, as the blocks of code, flow control, and parameters can be compatible with any sensor output. In some embodiments, the sensor (101) may comprise an analog sensor and the values of the analog sensor may be converted to digital representations through analog-to-digital converters, time-to-digital converters, or a combination thereof. In some embodiments, the plurality of computer-readable instructions and the method may further comprise steps for accepting one or more new state representations from an external source and adding the one or more new state representations to the plurality of state representations. In some embodiments, the computing device (107) may further comprise hardware components capable of identifying a signal from the sensor (101) as an external event (109). The hardware components may comprise a low power microcontroller, a gas sensor, a light sensor, an accelerometer, a temperature sensor, a humidity sensor, a startup code component, a noise sensor, general purpose input/output components, a debug universal asynchronous receiver-transmitter, an RS485 interface, an analog-to-digital conversion input component, an external memory storage component, or a combination thereof. The hardware components may be capable of identifying the external event (109) through timers, electronic levels, sensor values, telemetry interrupts, or a combination thereof. In some embodiments, as seen in
[0038] This invention describes a computing device intended to monitor one or more conditions in an environment. The device is connected to one or more sensors that provide data on the environment. The sensors may be analog, with their values converted to digital representations using analog-to-digital converters (ADC) or time-to-digital converters (TDC), or the sensors may be digital. The computing device contains two key components: (1) a program that can be precompiled and executed to read and process the sensor inputs, and (2) one or more state representations in memory that provide parameters and flow control for the program. The computing program does not need to contain information that is specific to the sensors. The state representations can be readily changed and uploaded to non-program memory. This can be done through the use of an external set of commands and parameters, provided by an external source. This set of commands and parameters is called a “job” and defines one or more state representations. When a new job is uploaded to the device, the computing device interprets the commands and parameters to update or edit existing state representations in non-program memory. No new programming code is included in the job definitions.
[0039]
[0040] Each state representation is called an “event” and has one or more “event triggers” associated with it. Event triggers are defined by the hardware associated with the sensing unit and may result from timers, electronic levels, sensor values, telemetry interrupts, and the like. A “job” will specify what states of these hardware inputs are to be considered an event trigger and which state representation is associated with that trigger.
[0041] Once an event trigger has been identified by the computing device, it uses the state representation associated with that event trigger to guide the program to read and process the sensor values. No new programming code is compiled or interpreted, but the sequence of operations is dictated by the state representation, and the parameters used in calculations are taken from the state representation.
[0042]
[0043]
[0044] Instructions that cause at least one processing circuit to perform one or more operations are “computer-executable.” Within the scope of the present invention, “computer-readable memory,” “computer-readable storage media,” and the like comprises two distinctly different kinds of computer-readable media: physical storage media that stores computer-executable instructions and transmission media that carries computer-executable instructions. Physical storage media includes RAM and other volatile types of memory; ROM, EEPROM and other non-volatile types of memory; CD-ROM, CD-RW, DVD-ROM, DVD-RW and other optical disk storage; magnetic disk storage or other magnetic storage devices; and any other tangible medium that can store computer-executable instructions that can be accessed and processed by at least one processing circuit. Transmission media can include signals carrying computer-executable instructions over a network to be received by a general-purpose or special-purpose computer. Thus, it is emphasized that embodiments of the present invention expressly exclude signals carrying computer-executable instructions.
[0045] However, it should be understood that once a signal carrying computer-executable instructions is received by a computer, the type of computer-readable storage media transforms automatically from transmission media to physical storage media. This transformation may even occur early on in intermediate memory such as (by way of example and not limitation) a buffer in the RAM of a network interface card, regardless of whether the buffer's content is later transferred to less volatile RAM in the computer. Thus, devices that merely repeat a signal are contemplated by the embodiments of the present invention, even though the media that carry the signal between such devices and the signal itself are expressly not included within the claim scope.
[0046] Although there has been shown and described the preferred embodiment of the present invention, it will be readily apparent to those skilled in the art that modifications may be made thereto which do not exceed the scope of the appended claims.
[0047] Therefore, the scope of the invention is only to be limited by the following claims. In some embodiments, the figures presented in this patent application are drawn to scale, including the angles, ratios of dimensions, etc. In some embodiments, the figures are representative only and the claims are not limited by the dimensions of the figures. In some embodiments, descriptions of the inventions described herein using the phrase “comprising” includes embodiments that could be described as “consisting essentially of” or “consisting of”, and as such the written description requirement for claiming one or more embodiments of the present invention using the phrase “consisting essentially of” or “consisting of” is met.
[0048] The reference numbers recited in the below claims are solely for ease of examination of this patent application, and are exemplary, and are not intended in any way to limit the scope of the claims to the particular features having the corresponding reference numbers in the drawings.