This invention relates to receiving, in a remote device through wireless communications, measurements from sensors attached to components in a piece of equipment, such as a vehicle.
Receiving information remotely from a vehicle is known in the prior art. U.S. Pat. Nos. 5,442,553, 5,758,300, 6,295,492, 6,604,033, 6,611,740, 6,636,790 and U.S. published application 2003/0171111 all describe communicating information from components in a vehicle, but teach doing so through a central processor or data collection module in the vehicle. U.S. Pat. No. 5,732,074 describes communication of vehicle data to a remote computer, but discloses that the communications take place via known data network protocols, such as CAN (controller area network). U.S. Pat. No. 6,263,268 teaches sending vehicle data to clients upon request using a server located on board the vehicle.
Thus, at present, a user must depend on intermediate mechanisms, such as a central processor or CAN communications, to retrieve data from a sensor on a piece of equipment such as a vehicle. Accordingly, the need exists for an invention that enables the direct communication of data from sensors to a remote user.
The present invention comprises a system for viewing measurements remotely, including a first processor that is connected to a wireless communications device; a sensor; and at least one measurement device comprising a second processor programmed to (1) receive an input from the sensor and (2) wirelessly communicate with the first processor. The first processor is programmed to retrieve measurements from the measurement device via the wireless communications device.
System Overview
RF modem 106 is used by remote device 100 to effect wireless communications, sometimes through a wireless network 118, using any one of a number of standards and technologies that are known to those skilled in the art, including but by no means limited to Bluetooth®, EEE 802.11, cellular networks, or any other form of wireless transmission known to those skilled in the art.
Software instructions loaded into RAM 104 from ROM 105 or some external medium are executable by processor 102 for configuring and retrieving data from at least one of measurement devices 120a, 120b, . . . , 120n attached to at least one of sensors 122a, 122b, . . . , 122n. Remote device 100 communicates either directly or through wireless network 118 with measurement devices 120a, 120b, . . . , 120n.
Sensor 122 comprises either a gauge or a transducer. Gauges and transducers in equipment, particularly vehicles, are well known to those skilled in the art. For example, gauges and/or transducers may be used to measure vehicle speed, or the pressure or temperature of a vehicle component 123 to which sensor 122 is attached or otherwise proximately located as appropriate.
Measurement device 120 is shown in more detail in
Although the invention is described herein with respect to use with vehicles, it should be understood that the invention is by no means limited to such use and could be used with a wide range of equipment, whether stationary or mobile. Further, in one embodiment, component 123 can be subjected to diagnostic or analysis tests to assist in isolating problems. Remote device 100 may comprise a software program for diagnosing the condition of component 123 based on data received from measurement device 120. To take a simple example, a mechanic or technician might wish to perform a compression test on a cylinder. Measurement device 120 and sensor 122 would be placed in the cylinder, and the software program for diagnosing the condition of component 123 would analyze pressure readings received from measurement device 120 to determine whether or not the cylinder's performance fell into an accepted range.
Data Packet Structure
Number of bytes field 202 indicates the number of bytes of data contained in valid data packet 200.
Command number field 204 indicates the type of command, i.e., the type of data that is being sent in valid data packet 200. For example, in one embodiment the command number is one-hundred if valid data packet 200 contains a standard broadcast of information from measurement device 120, and is two-hundred if valid data packet 200 contains a setup command sent from remote device 100 to measurement device 120 as described below with reference to
Data field 206 contains the actual data that is being sent in valid data packet 200. In some cases this data comprises a setup command, i.e., configuration information, sent by remote device 100 to measurement device 120. In other cases data field 206 represents the determination by measurement device 120 of a reading taken from sensor 122. Data field 206 could contain the raw data output by sensor 122 and/or the reading determined by measurement device 24. Referring to the example given below with reference to Table 1, if sensor 122 was a pressure transducer that had output two volts, measurement device 120 would determine that sensor 122 had provided a reading of eight PSI, and the output of two volts as well as the reading of eight PSI could be included in data field 206.
Checksum field 208 contains a checksum that is used to validate the integrity of valid data packet 200, the use of checksums to validate data packets being well known in the art. In one embodiment, checksum field 208 is a twos complement of the sum of the bytes representing command number field 204 and data field 206.
Measurement Device Process Flow
Next, in step 302, measurement device 120 is initialized. As part of this initialization measurement signal processing device 124 is initialized to enable communication with RF modem 106. This step comprises measurement device 120 loading configuration information into RAM 128, either by loading information stored in memory 127 of measurement device 120, or by receiving configuration instructions from remote device 100 via a setup command. Configuration information for measurement device 120 comprises the type of measurement for which it is to be configured (e.g., speed, pressure, temperature, etc.). Configuration information generally includes at least one scaling function, as discussed below with respect to step 306. Configuration information also generally includes an identification of the type of signal that measurement device 120 will be receiving from sensor 122 (e.g., type of digital or analog signal).
It should be understood that some configuration information may be obtained for storage in memory 127 by performing a calibration of measurement device 120. Such a calibration may be performed by capturing outputs from sensor 122 and associating such outputs with a known state of a component 123. For example, a calibration might comprise associating a voltage output from sensor 122 with a temperature of component 123. Further, those skilled in the art will recognize that performing a plurality of such calibrations would enable the creation of a scaling function as is described below with respect to step 306.
Returning to
Next, in step 306, measurement processor 126, executing software instructions contained in memory 127, formats the data input by sensor 122 for transmission to remote device 100. This formatting may comprise a number of different steps. If the data input by sensor 122 is in analog or some other format, measurement processor 126 converts the data to digital format using analog to digital or other conversion methods that are well known to those skilled in the art. Also in step 306, any required scaling function is applied to the data. The scaling function converts the raw output of sensor 122 to appropriately scaled measurement units representing a measurement read from sensor 122. The particular scaling function applied by measurement processor 126 will depend on the kind of sensor 122 whose output is being read; that is, as will be understood by those skilled in the art, different scaling functions will be appropriate for different kinds of gauges and/or transducers. Often, but by no means always, the scaling function will be linear.
To give one example of the processing performed in step 306, suppose that sensor 122 is a pressure transducer capable of providing output in a range from zero to five volts, representing pressure readings in a range from zero to twenty PSI (pounds per square inch). Table 1 below represents the scaling function used in this case by measurement device 120 to determine the pressure reading provided by sensor 122 based on the voltage output from sensor 122.
It should be apparent that, in this example, the scaling function can be represented by the equation P=4v, where P represents the pressure reading of sensor 122 in PSI determined by measurement device 120 and v represents the output of sensor 122 in volts.
Measurement processor 126 may be programmed to apply the scaling function to data output from sensor 122. Alternatively, as will be understood by one skilled in the art, measurement processor 126 could be programmed to use a table such as Table 1 above to interpolate values for a measurement reading such as the pressure reading. For example, if sensor 122 output 2.25 volts, measurement processor 126 would determine that 2 is the closest number to 2.25 in the sensor output column of Table 1, and that therefore the reported pressure reading P is equal to a number bearing the same ratio to 8 as 2.25 bears to 2, i.e., the reading reported by measurement device 120 is 9 PSI.
Next, in step 308, the data input from sensor 122, having been converted to digital format and otherwise formatted, is stored into the memory of measurement device 120 as a structured packet array. Structured packets are well known, and those skilled in the art will recognize that a number of different structured packet formats could be used in the context of the present invention. Some steps below are discussed with reference to valid data packet 200, which is used in some embodiments.
Next, in step 310, measurement signal processing device 124 sends the data packet or packets created in step 308 to RF modem 106.
Next, in step 312, measurement processor 126 checks command field 204 of valid data packet 200 to see if a valid setup command has been received from remote device 10. If no setup command has been received, or if the received command was invalid, control returns to step 304. If a valid setup command has been received, control proceeds to step 314.
In step 314, the process parses the setup command and stores setup data contained in data field 206 in memory 127. The setup command generally will contain information identifying the kind of sensor 122 to which measurement device 120 is connected and the type of signal (e.g., analog or digital) that sensor 122 will provide as input. Those skilled in the art will recognize that setup data could be encoded into data field 206 in a variety of different ways. For example, when valid data packet 200 is used to send a setup command, data field 206 could comprise two bytes, wherein the first byte contains a code indicating the kind of sensor 122 to which measurement device 120 is connected and the second byte indicates the type of signal (e.g., analog or digital) that sensor 122 will output to measurement device 120. Of course, other data, such as a scaling function, could be included in data field 206.
Following step 314, control returns to step 302. The process described with reference to
Remote Device Process Flow
The function of remote device 100 is described with reference to
The first parallel process begins in step 404, in which the process listens for data from measurement device 120. When data is received, control proceeds to step 406, wherein the process determines whether valid data packet 200 has been received, i.e., whether the received data conforms to the format of valid data packet 200. In particular, checksum field 208 is used to validate received data as described above. If the received data is not in the format of valid data packet 200, control returns to step 404. If the received data is valid data packet 200, control proceeds to step 408.
In step 408, valid data packet 200 is stored in RAM 104 of remote device 100. In some embodiments, valid data packet 200, when stored in RAM 104, is associated with a time stamp, i.e., the time at which valid data packet 200 was received from measurement device 120. The time stamp can be used, in certain embodiments that allow the user to graph the data received from measurement device 120, to provide values for the axis of a graph. It will be understood that, once data received from measurement device 120 is stored in RAM 104, in some embodiments such data may be stored on a computer readable medium or transferred to other computing devices through means that are well known in the art. However, in some embodiments, data received from measurement device 120 persists in RAM 104 only so long as remote device 100 is communicating with measurement device 120 and/or so long as the processes described with reference to
The second parallel process begins in step 410, in which the process determines whether a user input requesting the display of information relating to at least one of measurement devices 120a, 120b, . . . , 120n has been received. If no, control proceeds to step 418. If yes, control proceeds to step 412.
In step 412, the process determines whether any data from at least one of measurement devices 120a, 120b, . . . , 120n has been stored in RAM 104 as described above with respect to step 408. If no, control returns to step 410. If yes, control process to step 414. In step 414, the proceeds to retrieve data stored in RAM 104.
Next, in step 416, the data is organized for display and displayed on display 112. As part of step 416 it should be understood that valid data packet 200 received in step 406 is parsed, using any of the techniques for parsing data packets that are well known to those skilled in the art, for information comprising readings received from measurement device 120 that are contained in data field 206 as described above. Data may then be presented to the user organized in a number of different ways that will be apparent to those skilled in the art. In most embodiments, data is organized according to which of components 123a, 123b, . . . , 123n to which it is related. As noted above, in some embodiments data from one or more of measurement devices 120a, 120b, . . . , 120n can be graphed over time; such data could also be displayed sorted by time stamps.
Step 416 is repeated for each valid data packet 200 that has been received, or for each valid data packet 200 that has been received since the last time step 416 was visited, if step 416 has been previously executed. Control of the second parallel process then returns to step 410.
In step 418, if a request to display data has not been received in step 410, the process determines whether a user input has been received requesting a configuration of at least one of measurement devices 120a, 120b, . . . , 120n. If no, control proceeds to step 428. If yes, control proceeds to step 420.
In step 420, options for configuring measurement devices 120a, 120b, 120n are displayed to the user on display 112. Configuring a measurement device generally comprises providing a measurement device with a scaling function. In some embodiments, the user is prompted to enter values into a sensor table following the format of Table 1 above. Values in a first column of the sensor table define possible values for output from sensor 122. Values in a second column of the sensor table define the readings that correspond to possible output values for sensor 122. For example, in Table 1 above, an output value from sensor 122 of two volts corresponds to a pressure reading of eight PSI.
Next, in step 422, the process determines whether it has been instructed to send setup commands to at least one of measurement devices 120a, 120b, . . . , 120n. If no, control returns to step 410. If yes, control proceeds to step 424.
In step 424, the process formats the selected setup options into defined setup commands. In some embodiments, this means that command field 204 has a value of two-hundred. In some embodiments, data field 206 will contain an identifier for measurement device 120. Also in some embodiments, data field 206 will contain a sensor table created in step 420 above and/or a scaling function.
Next, in step 426, the commands formatted in step 424 are sent to RF Modem 106 via network socket connection 116. RF Modem 106 in turn transmits the formatted setup commands to one, some, or all of measurement signal processing devices 124a, 124b, . . . , 124n as appropriate. Control of the second parallel process then returns to step 410.
In step 428, the process determines whether input has been received from the user requesting to exit the application. If no, control returns to step 410. If yes, the application, including both the first parallel process running as described with reference to steps 404-408 as well as the second parallel process running as described with reference to steps 410-430, is terminated in step 430.
The above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent to those of skill in the art upon reading the above description. The scope of the invention should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the field of wireless measurement and that the disclosed apparatus, systems and methods will be incorporated into such future embodiments. Accordingly, it will be understood that the invention is capable of modification and variation and is limited only by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5400018 | Scholl et al. | Mar 1995 | A |
5442553 | Parrillo | Aug 1995 | A |
5631832 | Hagenbuch | May 1997 | A |
5732074 | Spaur et al. | Mar 1998 | A |
5758300 | Abe | May 1998 | A |
5783990 | Dambach | Jul 1998 | A |
6141610 | Rothert et al. | Oct 2000 | A |
6263268 | Nathanson | Jul 2001 | B1 |
6266527 | Mintz | Jul 2001 | B1 |
6295492 | Lang et al. | Sep 2001 | B1 |
6308065 | Molinari et al. | Oct 2001 | B1 |
6604033 | Banet et al. | Aug 2003 | B1 |
6611740 | Lowrey et al. | Aug 2003 | B2 |
6636790 | Lightner et al. | Oct 2003 | B1 |
6819924 | Ma et al. | Nov 2004 | B1 |
6941202 | Wilson et al. | Sep 2005 | B2 |
6950020 | Shimamoto et al. | Sep 2005 | B2 |
20020049077 | Baese et al. | Apr 2002 | A1 |
20020119769 | Heinonen et al. | Aug 2002 | A1 |
20020133273 | Lowrey et al. | Sep 2002 | A1 |
20020155816 | Fodor et al. | Oct 2002 | A1 |
20030162539 | Fiut et al. | Aug 2003 | A1 |
20030171111 | Clark | Sep 2003 | A1 |
20050079880 | Donner et al. | Apr 2005 | A1 |
20050221817 | Pinola | Oct 2005 | A1 |
20060079208 | Kim et al. | Apr 2006 | A1 |
Number | Date | Country |
---|---|---|
1468755 | Jan 2004 | CN |
2599560 | Jan 2004 | CN |
1 515 496 | Mar 2005 | EP |
2 343 253 | Jul 1999 | GB |
2 364 126 | Jun 2000 | GB |
2 386 952 | Mar 2002 | GB |
2 388 197 | Feb 2003 | GB |
2410554 | Aug 2005 | GB |
WO-03085617 | Oct 2003 | WO |
WO-2005073671 | Aug 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20050181781 A1 | Aug 2005 | US |