The following relates to systems and methods for using magnetometer readings to control electronic devices.
Mobile communication devices, such as cellular telephones, PDAs, smart phones, tablet computers, etc., can operate in many different locations and under various circumstances. Changes in the environment in which the device operates can affect usability of the device. For example, the device may be used in various fixtures. However, the device may be coupled to the fixture in various orientations, which can impede usage of some features.
Embodiments will now be described by way of example only with reference to the appended drawings wherein:
A magnetometer is an instrument used to measure the strength and/or direction of the magnetic field in the vicinity of the instrument. Many electronic devices exist that utilize a magnetometer for taking measurements for a particular application, e.g. metal detectors, geophysical instruments, aerospace equipment, and mobile communications devices such as cellular telephones, PDAs, smart phones, tablet computers, etc., to name a few.
It has been found that readings taken by a magnetometer in an electronic device can also be used to determine if one or more properties of particular readings match one of a set of predetermined magnetic signatures, wherein the magnetic signatures are indicative of an expected magnetic influence from another object (e.g. another device such as a holster, cradle, etc. or component thereof), which enables other objects or orientations with respect thereto to be distinguished from each other. By associating one or more actions with each magnetic signature, discovering a matched signature can be used to control the electronic device in a particular way. The actions can be used to adapt the electronic device to its current state or environment (e.g. when holstered, cradled, etc.) in order to pre-emptively perform operations and/or suppress operations accordingly. In this way, not only can data obtained from a magnetometer be intelligently harnessed to perform relevant actions, but power consumption and bandwidth conservation can be employed when the device's state is indicative of an appropriate environment in which to suppress features such as alerts and data communications.
Although the following examples are presented in the context of mobile communication devices, the principles may equally be applied to other devices such as applications running on personal computers, embedded computing devices, other electronic devices, and the like.
For clarity in the discussion below, mobile communication devices are commonly referred to as “mobile devices” for brevity. Examples of applicable mobile devices include without limitation, cellular phones, cellular smart-phones, wireless organizers, pagers, personal digital assistants, computers, laptops, handheld wireless communication devices, wirelessly enabled notebook computers, portable gaming devices, tablet computers, or any other portable electronic device with processing and communication capabilities.
An exterior view of an example mobile device 10 is shown in
Accordingly, it can be appreciated that a magnetic reading obtained by the mobile device 10 can be used to not only detect the presence of or coupling to a particular other object (e.g. cradle 19, holster 20, or other device or accessory), but also to determine the mobile device's orientation with respect to that other object. In either case, the magnetic influence of the other object, when distinguishable from other objects or orientations, provides a unique magnetic signature that enables the mobile device 10 to determine its current state with respect to such other objects or orientations relative thereto, and to enable one or more actions to be executed according to the current state. For example, as will be explained in greater detail below, alerts, notifications, power consumption, and the use of various applications can be controlled based on the presence of a particular other device and/or the orientation of the mobile device 10 relative to that other object.
It can also be appreciated that the mobile device 10 shown in
An example configuration for a mobile device 10 comprising a magnetometer 24 is shown in
Applications 30 on the mobile device 10 may utilize the readings in the data store 28, for example an electronic compass application, a stud finder application, metal detector application, augmented reality based applications, etc., to name a few. As noted above, it has been found that other applications 30 and/or the mobile device's operating system (OS) can also benefit from determining if one or more properties of the readings are indicative of particular magnetic signatures 40, the magnetic signatures 40 being indicative of the presence of or coupling to another device. A magnetic signature module 26 is provided, which in this example is an application programming interface (API) that enables an application 30 to utilize properties of the readings acquired by the magnetometer 24 to execute one or more actions to control the mobile device 10. In this example, the magnetic signature module 26 is provided with access to the magnetometer sensor readings database 28 in order to determine if a particular magnetic influence of another device matches one of a set of one or more magnetic signatures 40. The magnetic signatures 40 are thus indicative of an expected magnetic influence from another object and they are stored in a magnetic signature database 36. The magnetic signature module 26 may be queried by an application 30, e.g. upon the application detecting an event trigger 32 such as a connection being made to another device or a change in device state, or may automatically determine if properties of a magnetometer reading match one of the predetermined magnetic signatures 40 in the database 36. It can be appreciated that the magnetic signatures 40 may be stored in the mobile device 10, e.g. at the time of manufacture, may be loaded onto the device during an installation or registration process (e.g. when being registered or paired with a new accessory), may be learned by the mobile device 10 when coupled to another object or device, or may be downloaded or otherwise provided to the mobile device 10 at some other time using a data input interface 38 of the mobile device 10 as illustrated. It can also be appreciated that the mobile device 10 may be configured to be compatible with particular other devices and accessories and thus any magnetic influence from such objects, devices or accessories can be empirically determined prior to usage of the device or accessory by the mobile device 10 in order to make its magnetic signature 40 available to the magnetic signature module 26.
Application N shown in
Accordingly, matching properties of the magnetometer readings to predetermined magnetic signatures 40 and enabling one or more actions on the mobile device 10, can be implemented by an application 30 on the mobile device 10, the mobile device 10 itself (e.g. via its OS), an API such as the magnetic signature module 26, or any combination of one or more similar components on the mobile device 10.
As noted above, in the example shown in
The total magnetic field {right arrow over (B)} shown by way of example in
It can be appreciated that for other types of magnetometers 24, such as a scalar magnetometer, and/or in other examples, the magnetic signature 40 can be detectable using other properties. A scalar magnetometer 24 that is capable of measuring the strength of a magnetic field, magnetic signatures 40 based on only field strength can be predetermined. For example, if it is determined that the magnetic field is typically 3 times stronger than the background level due to the Earth's influence when the mobile device 10 is face up in a holster 20, and 5 times stronger when face down in a holster 20, and 7 times stronger when in an in-vehicle cradle 19, magnetic signatures 40 representing 3×, 5×, and 7× the background magnetic field could be mapped to one or more actions associated with those different orientations and/or fixture types.
As discussed, the signatures 40 may distinguish the magnetic influence of one device from another device, or may distinguish different orientations of the mobile device 10 with respect to the same device, e.g. a holster 20.
It can be appreciated that the principles as applied in
An example set of operations for performing 204 is shown in
If the magnetic signature module 26 determines at 216 that the magnetic field vector 46 falls in the region defined by the particular magnetic signature 40, the current state of the mobile device 10 is then associated with that magnetic signature 40 to thus be interpreted as a match at 206.
It can be appreciated that the operations shown in
Turning now to
Various actions associated with particular magnetic signatures 40 may be executed by the mobile device 10. Such actions may be related to the performance of an application 30 or the mobile device 10 and may pre-emptively perform various operations, suppress various options (e.g. to conserve battery power) or execute any predetermined instruction.
If the Bluetooth radio is not ON, it may be turned on at 230. If not, in this example, a next operation is performed. In addition to opening the GPS application and ensuring the Bluetooth radio is ON, a notification profile can also be changed to suit the particular environment. For example, the notification profile could be set to be LOUD (i.e. relatively loud audible tones when compared to other profiles) at 232 to ensure that the mobile device 10 can be heard over vehicle noise. Similarly, at 234, an sync with another vehicle system can be initiated, e.g. an infotainment, subscription-based communication system, security system, etc.
A set of actions similar to those illustrated in
It can be appreciated that multiple sets of actions can be performed accordingly to a particular trigger. For example, the operations shown in
Referring now to
The main processor 102 also interacts with additional subsystems such as a Random Access Memory (RAM) 106, a flash memory 108, a display 34, an auxiliary input/output (I/O) subsystem 112, a data port 114, a keyboard 116, a speaker 118, a microphone 120, GPS receiver 121, magnetometer 24, short-range communications 122, and other device subsystems 124.
Some of the subsystems of the mobile device 10 perform communication-related functions, whereas other subsystems may provide “resident” or on-device functions. By way of example, the display 34 and the keyboard 116 may be used for both communication-related functions, such as entering a text message for transmission over the network 150, and device-resident functions such as a calculator or task list.
The mobile device 10 can send and receive communication signals over the wireless network 150 after required network registration or activation procedures have been completed. Network access is associated with a subscriber or user of the mobile device 10. To identify a subscriber, the mobile device 10 may use a subscriber module. Examples of such subscriber modules include a Subscriber Identity Module (SIM) developed for GSM networks, a Removable User Identity Module (RUIM) developed for CDMA networks and a Universal Subscriber Identity Module (USIM) developed for 3G networks such as UMTS. In the example shown, a SIM/RUIM/USIM 126 is to be inserted into a SIM/RUIM/USIM interface 128 in order to communicate with a network. The SIM/RUIM/USIM component 126 is one type of a conventional “smart card” that can be used to identify a subscriber of the mobile device 10 and to personalize the mobile device 10, among other things. Without the component 126, the mobile device 10 may not be fully operational for communication with the wireless network 150. By inserting the SIM/RUIM/USIM 126 into the SIM/RUIM/USIM interface 128, a subscriber can access all subscribed services. Services may include: web browsing and messaging such as e-mail, voice mail, SMS, and MMS. More advanced services may include: point of sale, field service and sales force automation. The SIM/RUIM/USIM 126 includes a processor and memory for storing information. Once the SIM/RUIM/USIM 126 is inserted into the SIM/RUIM/USIM interface 128, it is coupled to the main processor 102. In order to identify the subscriber, the SIM/RUIM/USIM 126 can include some user parameters such as an International Mobile Subscriber Identity (IMSI). An advantage of using the SIM/RUIM/USIM 126 is that a subscriber is not necessarily bound by any single physical mobile device. The SIM/RUIM/USIM 126 may store additional subscriber information for a mobile device as well, including datebook (or calendar) information and recent call information. Alternatively, user identification information can also be programmed into the flash memory 108.
The mobile device 10 is typically a battery-powered device and may include a battery interface 132 for receiving one or more batteries 130 (typically rechargeable). In at least some embodiments, the battery 130 can be a smart battery with an embedded microprocessor. The battery interface 132 is coupled to a regulator (not shown), which assists the battery 130 in providing power V+ to the mobile device 10. Although current technology makes use of a battery, future technologies such as micro fuel cells may provide the power to the mobile device 10.
The mobile device 10 also includes an operating system (OS) 134 and software components 136 to 146. The operating system 134 and the software components 136 to 146 that are executed by the main processor 102 are typically stored in a persistent store such as the flash memory 108, which may alternatively be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that portions of the operating system 134 and the software components 136 to 146, such as specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as the RAM 106. Other software components can also be included, as is well known to those skilled in the art.
The subset of software applications 136 that control basic device operations, including data and voice communication applications, may be installed on the mobile device 10 during its manufacture. Other software applications include a message application 138 that can be any suitable software program that allows a user of the mobile device 10 to send and receive electronic messages. Various alternatives exist for the message application 138 as is well known to those skilled in the art. Messages that have been sent or received by the user are typically stored in the flash memory 108 of the mobile device 10 or some other suitable storage element in the mobile device 10. In at least some embodiments, some of the sent and received messages may be stored remotely from the mobile device 10 such as in a data store of an associated host system that the mobile device 10 communicates with.
The software applications can further comprise a device state module 140, a Personal Information Manager (PIM) 142, and other suitable modules (not shown). The device state module 140 provides persistence, i.e. the device state module 140 ensures that important device data is stored in persistent memory, such as the flash memory 108, so that the data is not lost when the mobile device 10 is turned off or loses power.
The PIM 142 includes functionality for organizing and managing data items of interest to the user, such as, but not limited to, e-mail, contacts, calendar events, voice mails, appointments, and task items. A PIM application has the ability to send and receive data items via the wireless network 150. PIM data items may be seamlessly integrated, synchronized, and updated via the wireless network 150 with the mobile device subscriber's corresponding data items stored and/or associated with a host computer system. This functionality creates a mirrored host computer on the mobile device 10 with respect to such items. This can be particularly advantageous when the host computer system is the mobile device subscriber's office computer system.
The mobile device 10 may also comprise a connect module 144, and an IT policy module 146. The connect module 144 implements the communication protocols that are required for the mobile device 10 to communicate with the wireless infrastructure and any host system, such as an enterprise system, that the mobile device 10 is authorized to interface with.
The connect module 144 includes a set of APIs that can be integrated with the mobile device 10 to allow the mobile device 10 to use any number of services associated with the enterprise system. The connect module 144 allows the mobile device 10 to establish an end-to-end secure, authenticated communication pipe with a host system (not shown). A subset of applications for which access is provided by the connect module 144 can be used to pass IT policy commands from the host system to the mobile device 10. This can be done in a wireless or wired manner. These instructions can then be passed to the IT policy module 146 to modify the configuration of the device 10. Alternatively, in some cases, the IT policy update can also be done over a wired connection.
The IT policy module 146 receives IT policy data that encodes the IT policy. The IT policy module 146 then ensures that the IT policy data is authenticated by the mobile device 100. The IT policy data can then be stored in the flash memory 106 in its native form. After the IT policy data is stored, a global notification can be sent by the IT policy module 146 to all of the applications residing on the mobile device 10. Applications for which the IT policy may be applicable then respond by reading the IT policy data to look for IT policy rules that are applicable.
Other types of software applications or components 139 can also be installed on the mobile device 10. These software applications 139 can be pre-installed applications (i.e. other than message application 138) or third party applications, which are added after the manufacture of the mobile device 10. Examples of third party applications include games, calculators, utilities, etc.
The additional applications 139 can be loaded onto the mobile device 10 through at least one of the wireless network 150, the auxiliary I/O subsystem 112, the data port 114, the short-range communications subsystem 122, or any other suitable device subsystem 124. This flexibility in application installation increases the functionality of the mobile device 10 and may provide enhanced on-device functions, communication-related functions, or both. For example, secure communication applications may enable electronic commerce functions and other such financial transactions to be performed using the mobile device 10.
The data port 114 enables a subscriber to set preferences through an external device or software application and extends the capabilities of the mobile device 10 by providing for information or software downloads to the mobile device 10 other than through a wireless communication network. The alternate download path may, for example, be used to load an encryption key onto the mobile device 10 through a direct and thus reliable and trusted connection to provide secure device communication.
The data port 114 can be any suitable port that enables data communication between the mobile device 10 and another computing device. The data port 114 can be a serial or a parallel port. In some instances, the data port 114 can be a USB port that includes data lines for data transfer and a supply line that can provide a charging current to charge the battery 130 of the mobile device 10.
The short-range communications subsystem 122 provides for communication between the mobile device 10 and different systems or devices, without the use of the wireless network 150. For example, the subsystem 122 may include an infrared device and associated circuits and components for short-range communication. Examples of short-range communication standards include standards developed by the Infrared Data Association (IrDA), Bluetooth, and the 802.11 family of standards developed by IEEE.
In use, a received signal such as a text message, an e-mail message, or web page download may be processed by the communication subsystem 104 and input to the main processor 102. The main processor 102 may then process the received signal for output to the display 34 or alternatively to the auxiliary I/O subsystem 112. A subscriber may also compose data items, such as e-mail messages, for example, using the keyboard 116 in conjunction with the display 34 and possibly the auxiliary I/O subsystem 112. The auxiliary subsystem 112 may comprise devices such as: a touch screen, mouse, track ball, infrared fingerprint detector, or a roller wheel with dynamic button pressing capability. The keyboard 116 is an alphanumeric keyboard and/or telephone-type keypad. However, other types of keyboards may also be used. A composed item may be transmitted over the wireless network 150 through the communication subsystem 104.
For voice communications, the overall operation of the mobile device 10 in this example is substantially similar, except that the received signals are output to the speaker 118, and signals for transmission are generated by the microphone 120. Alternative voice or audio I/O subsystems, such as a voice message recording subsystem, can also be implemented on the mobile device 10. Although voice or audio signal output is accomplished primarily through the speaker 118, the display 34 can also be used to provide additional information such as the identity of a calling party, duration of a voice call, or other voice call related information.
It will be appreciated that any module or component exemplified herein that executes instructions may include or otherwise have access to computer readable media such as storage media, computer storage media, or data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. Examples of computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (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 desired information and which can be accessed by an application, module, or both. Any such computer storage media may be part of the mobile device 10 (or other computing or communication device that utilizes similar principles) or accessible or connectable thereto. Any application or module herein described may be implemented using computer readable/executable instructions that may be stored or otherwise held by such computer readable media
Although the above principles have been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the scope of the claims appended hereto.