The present invention relates to a method for utilizing a sensor in an electronic device having a sensor.
Recently, various endeavors are being made to develop new applications by deploying sensors in portable electronic devices, such as cellular phones. As an example of a sensor deployed in a cellular phone and the utilization thereof, cellular phones that are, for example, equipped with an acceleration sensor and interprets the user's movement as operation instructions, are commercially available. In addition, other utilizations have been developed, such as deployment of a light sensor for brightness control, or deployment of an RFID sensor for use in payment transactions. Additionally, electronic devices equipped with a barometer or a hygrometer to forecast the weather from changes in barometric pressure or humidity are also commercially available.
However, a sensor may not always be optimized for the existing application software that uses the sensor. Actually, most sensor devices tend to be either overly idle, or overly active. For example, a certain type of sensor sends data only upon receipt of a direct query from the application software, thus the application must constantly monitor the sensor. Another type of sensor continuously sends data needlessly.
In addition, it may be difficult to incorporate the programming code for sensor control into the application software, especially when there is a need to control a plurality of sensors. Therefore, a scheme has been sought to enable the use of a sensor that is both optimized for the application, as well as easier to use than ever before.
The object of the present invention is to enable to utilize the sensor(s) in the manner that is optimized for the application, as well as easily.
According to one aspect of the present invention, the invention provides the following computer software, i.e. program. This software is a program configured to receive an instruction from another software, collect information from one or a plurality of sensors based on said instruction, judge whether said information satisfies the condition required from said instruction, and if so, report to said another software.
According to said software which provided by the present invention, since this software takes charge of collecting and analyzing the information from sensors, the other software employing said software can minimize the programming code required to control the sensors. In other words, by employing said software, the programming efforts required for utilizing the sensor can be greatly reduced. As the number of sensors being used increases, the benefits become greater.
In addition, the condition required by the instruction from the other software using said software according to the present invention can be made such that it relates to the conditions of the plurality of sensors. In other words, the other software using said provided software can define a virtual sensor containing the combined information on a plurality of sensors. Thereby, said provided software appears to operate as a virtual sensor for the other software. In this manner, said provided software enables the use of the sensor that is optimized for the requirements and operation of the application, as well as easier to use.
Preferably, said instruction is software function. Additionally, said instruction can consist of a combination of a plurality of software functions. Thus, said software according to the present invention is preferably programmed to interpret the software functions, collect information directly from the sensor(s) based on the results of the interpretation, and analyze the collected information.
Said software provided by the present invention is preferably programmed to receive and process a plurality of instructions from one or two or more other programs.
Said software provided by the present invention is preferably configured to perform said reporting to the other software through an interrupt request.
In one embodiment, the software according to the present invention can be configured to control not only sensors incorporated in an electronic device on which said software is installed, but also to control other remote sensors. For example, the software according to the present invention can be configured to control a sensor connected to said electronic device by a wireless communication means such as a cellular network, Bluetooth, UWB and WLAN, or a sensor connected over the Internet. According to this embodiment, the other software employing the software according to the present invention can use these sensors without concern for the physical location of the sensors. Of course, a virtual sensor combining a plurality of remote sensors can also be defined.
The software according to the present invention can be installed on a portable electronic device such as a cellular phone. In addition, the software according to the present invention can also be stored on a memory media such as a CD, produced and marketed, or distributed, for example, via the Internet or a cellular network.
According to another aspect of the present invention, the invention provides the following electronic device: the electronic device comprising a sensor, a first software, and a second software operating between said sensor and said first software, wherein said second software is configured to receive an instruction from said first software, collect information from said one or a plurality of sensors based on said instruction, and report to said first program based on said collected information.
Said electronic device may comprise a plurality of sensors controllable by the second software. In addition, the first software is preferably configured to receive an interrupt request from the second software, and the second software is preferably configured to perform the above-mentioned reporting according to the interrupt request. In addition, said second software is preferably configured to collect information on sensors remote from the body of the electronic device.
Said provided electronic device is preferably a portable information device.
Using the present invention, the use of a sensor that is both optimized for the application, as well as easier to use can be provided.
The embodiments of the present invention are explained hereinafter by way of examples and with reference to the drawings, which is:
An electronic device 1, to which the present invention is applied, comprises sensor application 10, sensor manager 20, sensor A, sensor B, and sensor C. The sensor application 10 is software that provides to the user various features through use of the sensor, such as weather forecasting or other operations of the electronic device 1. The sensor manager 20 is software operating between the physical sensors A, B and C and the sensor application 10. The sensor manager 20 collects information from the sensor A, sensor B, and so on based on the instructions from sensor application 10, analyzes the information, and reports the results to the sensor application 10. The sensor application 10 and sensor manager 20 actualize the above-mentioned features, as well as the features described below, by operating CPU (not shown) that is comprised in the electronic device 1 according to instructions in the software.
Instructions sent from the sensor application 10 to the sensor manager 20 are in the form of software functions. Therefore, the sensor manager 20 is programmed to understand and execute the contents of these functions. The instructions sent from the sensor application 10 to the sensor manager 20 may consist of a combination of a plurality of software functions.
Furthermore, the instructions sent from the sensor application 10 to the sensor manager 20 may relate to the conditions of one or a plurality of sensor A, sensor B and sensor C. In other words, said instructions include features that are similar to those of a virtual “new” sensor composed of all three of sensors A, B and C.
In
X=alert [(5<A<10)and (B>C)] (1)
The “alert” function is a function for making reports when the conditions contained in parentheses have been satisfied. The sensor manager 20, which has received said instructions, collects information from the sensors A to C, analyzes whether the sensors satisfy the conditions required by the instructions, and if so, reports said conditions to the sensor application 10. In other words, when the sensor manager 20 detects conditions in which the output value of the sensor A is between 5 and 10 and the output value of the sensor B is larger than that of the sensor C, it reports the conditions to the sensor application 10. In this manner, the “alert” function acts like a virtual sensor to detect the conditions defined by Equation 1. Since the sensor application 10 does not have to collect information from the sensors A to C or contain the programming code required to analyze whether said information satisfies Equation 1, the programming work for the sensor application can be very efficient. The “alert” function and Equation 1 are of course only examples, and various types of functions can be defined between the sensor application 10 and the sensor manager 20.
When detecting the conditions defined by Equation 1, the sensor manager 20 reports said conditions to the sensor application 10 through an interrupt request. Of course, the sensor application 10 should also be programmed to receive the interrupt request from the sensor manager 20. The interrupt request is an existing technology and can be implemented by one skilled in the art. Using this configuration, the sensor application 10 does not have to be programmed to check the sensor output values regularly. In this way, the present invention enables to utilize the sensor(s) in the manner that is optimized for the application, and further, easily.
As a more specific example, the electronic device 1 can be configured as a “laundry sensor”. In this example, the sensor A is a temperature sensor and the sensor B is a humidity sensor. The sensor C will not be necessary. The sensor application 10 defines a virtual sensor that receives a report when certain conditions are satisfied in the relationship between temperature and humidity, and sends a command to the sensor manager 20. This relationship is preferably one in which the user can specify his/her own settings in addition to the predetermined settings. The sensor application 10, based on the report from the sensor manager 20, transmits a message such as “Today is a good day for hang-drying clothes,” to the user through, for example, audio or visual means. The sensor manager 20 regularly checks the output values from the temperature sensor and humidity sensor to determine whether the values satisfy the defined conditions. However, the sensor application 10 does not have to perform such an operation and only reports to the user based on the report from the sensor manager 20. Therefore, the structure of the sensor application 10 can be greatly simplified.
As another specific example, electronic device 1 can be configured as a “weather sensor”. In this example, the sensor A is a temperature sensor, the sensor B is a humidity sensor, and the sensor C is a barometric pressure sensor. The sensor application 10 defines a virtual sensor that receives a report, such as “fair” “cloudy” or “rainy” based on changes in the temperature, humidity, and barometric pressure. The sensor manager 20 checks these three output values regularly (for example, at 30-second intervals) and calculates the rate of change of said output values. Then, based on the rate of change, the sensor manager 20 determines forecasts such as, for example, “It will clear up,” “It will be cloudy in the afternoon” or “It will rain tomorrow.” The sensor application 10 receives a report of the weather forecast from the sensor manager 20, for example, once every hour, and based on said report, the sensor application 10 forecasts the weather for the user by, for example, visual or audio means. The sensor application 10 does not have to contain any programming code for sensor control or analysis, greatly reducing the programming effort required compared to cases in which the present invention is not applied.
In another embodiment, the sensor manager 20 can also be configured to control sensors remote from the body of the electronic device 1. For example, the sensor manager 20 can be configured to control a sensor connected to the electronic device 1 by wireless communication means such as cellular network, Bluetooth, UWB and WLAN, or a sensor connected over the Internet. Even in such an embodiment, the sensor application 10 can define a virtual sensor without particular regard to the physical location of the sensors. Of course, a virtual sensor combining a plurality of remote sensors can also be defined.
The electronic device 1 may be a sensor application-specialized device, a cellular phone, PDA, or the like. In addition, an embodiment is also possible wherein various sensor applications are installed in a portable electronic device pre-equipped with a physical sensor and sensor manager.
Next, another embodiment of the present invention is explained by reference to
Sensors 120, 122, 124 and 126 are physical sensors. The sensors are connected to the sensor manager 106 through device drivers 128, 130, 132, 134 or the like. Sensor 120 is detected by and connected to the sensor manager 106 through the dynamic detection method.
The sensor 122 is connected to the sensor manager 106 through the device driver 134. The sensor 124 is connected to the sensor manager 106 through a sensor entry 140 of FPGA 138. The sensor 126 is connected to the sensor manager 106 by a wireless communication means 142.
The sensors connected to the device drivers are connected to a sensor virtualization block 152 of the sensor manager 106 through sensor entries 144, 146, 148, 150 or the like. The sensor virtualization block 152 can filter the sensor output data and combine a plurality of sensor output.
Although the embodiments of the present invention were explained by way of the above examples, it goes without saying that the embodiments of the invention are not limited to these examples and various modifications may be made without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2005-185740 | Jun 2005 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/IB2006/051996 | 6/21/2006 | WO | 00 | 1/29/2009 |