Integration of add-on interior modules into driver user interface

Information

  • Patent Grant
  • 9744852
  • Patent Number
    9,744,852
  • Date Filed
    Thursday, September 10, 2015
    8 years ago
  • Date Issued
    Tuesday, August 29, 2017
    6 years ago
Abstract
A listing of wireless in-vehicle components installed to a vehicle may be maintained by the vehicle. The listing may include in-vehicle components that are factory-installed to the vehicle as well as add-on in-vehicle components that may be added or removed by a user. A wireless transceiver may scan for changes to the add-on in-vehicle components within the vehicle. A user interface may display a unified interface including both the factory-installed wireless in-vehicle components and the add-on wireless in-vehicle components. A user may review and adjust the configuration of the in-vehicle components of the in-vehicle components using the user interface.
Description
TECHNICAL FIELD

Aspects of the disclosure generally relate to integration of add-on interior modules for the user interface of a head unit or other vehicle interface.


BACKGROUND

Sales of personal devices, such as smartphones and wearables, continue to increase. Thus, more personal devices are brought by users into the automotive context. Smartphones can already be used in some vehicle models to access a wide range of vehicle information, to start the vehicle, and to open windows and doors. Some wearables are capable of providing real-time navigation information to the driver. Device manufacturers are implementing frameworks to enable a more seamless integration of their brand of personal devices into the driving experience.


BLUETOOTH technology may be included in various user devices to allow the devices to communicate with one another. BLUETOOTH low energy (BLE) is another wireless technology designed to provide for communication of data between devices. As compared to BLUETOOTH, BLE offers communication of smaller amounts of data with reduced power consumption.


BLE devices may perform the roles of central device or peripheral device. Central devices wirelessly scan for advertisements by peripheral devices, while peripheral devices make the advertisements. Once the peripheral device connects to the central device, the peripheral device may discontinue the advertisement, such that other central devices may no longer be able to wirelessly identify it or connect to it until the existing connection is terminated.


BLE devices transfer data using concepts referred to as services and characteristics. Services are collections of characteristics. A central device may connect to and access one or more of the characteristics of a service of a peripheral device. Characteristics encapsulate a single value or data type having one or more bytes of data as well as zero or more descriptors that describe the value of the characteristic. The descriptors may include information such as human-readable descriptions, a range for the value of the characteristic, or a unit of measure of the value of the characteristics. A Service Discovery Protocol (SDP) may allow a device to discover services offered by other devices and their associated parameters. The services may be identified by universally unique identifiers (UUIDs).


SUMMARY

In a first illustrative embodiment, a system includes a display integrated into a vehicle; a wireless transceiver; and a processor, coupled to the display and transceiver, programmed to maintain a list of wireless factory-installed in-vehicle components, scan for add-on wireless in-vehicle components within the vehicle using the wireless transceiver, generate a user interface listing both the factory-installed wireless in-vehicle components and the add-on wireless in-vehicle components, and provide the listing to the display.


In a second illustrative embodiment, a method includes maintaining an in-vehicle component listing including factory-installed components and add-on components added after a vehicle is built; scanning, using a wireless transceiver, for add-on in-vehicle components within the vehicle; removing a first add-on wireless in-vehicle component from the listing responsive to failure to locate the first in-vehicle component during the scanning; and adding a second add-on wireless in-vehicle component to the listing located during the scanning.


In a third illustrative embodiment, a computer program product embodied in non-transitory computer readable storage having instructions for programming a processor of a vehicle in communication with a wireless transceiver to control a display, including instructions for maintaining a list of installed in-vehicle components, scanning for current in-vehicle components within the vehicle using the wireless transceiver, updating the list based on the scanning, and sending, to the display, a generated user interface listing of the current in-vehicle components.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1A illustrates an illustrates an example system including a vehicle having a mesh of in-vehicle components configured to interact with a vehicle computing system;



FIG. 1B illustrates an example vehicle computing system equipped with a wireless transceiver configured to facilitate detection of and communication with in-vehicle components;



FIGS. 2A and 2B illustrate an example removable add-on in-vehicle component;



FIG. 3 illustrates an example user interface for selection of applications for use on a display of the vehicle computing system;



FIG. 4A illustrates an example user interface of the vehicle component interface application illustrating in-vehicle components detected by the vehicle computing system;



FIG. 4B illustrates an example user interface for control of a factory-installed in-vehicle component;



FIG. 4C illustrates an example user interface for control of an add-on in-vehicle component;



FIG. 5 illustrates an example process for scanning for in-vehicle components by the vehicle computing system; and



FIG. 6 illustrates an example process for displaying the user interface for control of the in-vehicle components.





DETAILED DESCRIPTION

As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.


Traditional vehicle interior components, such as reading lights or speakers, may be updated to incorporate a communication interface such as BLE. As BLE has a relatively low processor footprint, processors of the interior components may be able to integrate functionality of the communication interface without requiring additional or more powerful processors. These enhanced components of the vehicle interior may be referred to as in-vehicle components.


The in-vehicle components may include components integrated into the vehicle at the factory. As some examples, factory-installed in-vehicle components may include overhead lights, speakers, and built-in headrest video screens. Additionally, the in-vehicle components may include after-market components that may be added to or removed from the vehicle by vehicle occupants. These removable in-vehicle components may include, as some examples, car seats with integrated vibrate or music functionality, or window shades with remote up-down functionality. As the in-vehicle components may be installed or removed, the in-vehicle components available within the vehicle may change over time.


A vehicle computing system may include a communication interface such as BLE. Using the communication interface, the vehicle computing system may be configured to discover, identify, and interact with the in-vehicle components located within the vehicle. The vehicle computing system may perform the discovery of in-vehicle components periodically. As some other examples, the vehicle computing system may perform the discovery in response to a user command to re-identify in-vehicle components, or upon anther trigger condition, such as entry of a vehicle occupant, upon vehicle key-on, or upon initialization of the vehicle computing system itself.


The vehicle computing system may further provide a user interface in which the configuration of the in-vehicle components may be reviewed and adjusted. Accordingly, by using information advertised by the in-vehicle modules, the vehicle computing system may be able to provide a dynamic user interface descriptive of the currently available in-vehicle modules and services. Moreover, by using connectivity such as BLE that does not require access to the vehicle bus, development of the in-vehicle components may be performed independent of development of the vehicle systems, and without the validation required for components that do access the vehicle bus.



FIG. 1A illustrates an example system 100 including a vehicle 102 having a mesh of in-vehicle components 106 configured to interact with a vehicle computing system 110. The system 100 may be configured to allow the users, such as vehicle occupants, to use the vehicle computing system 110 to seamlessly interact with the in-vehicle components 106 in the vehicle 102 or with any other framework-enabled vehicle 102.


The vehicle 102 may include various types of automobile, crossover utility vehicle (CUV), sport utility vehicle (SUV), truck, recreational vehicle (RV), boat, plane or other mobile machine for transporting people or goods. In many cases, the vehicle 102 may be powered by an internal combustion engine. As another possibility, the vehicle 102 may be a hybrid electric vehicle (HEV) powered by both an internal combustion engine and one or more electric motors, such as a series hybrid electric vehicle (SHEV), a parallel hybrid electrical vehicle (PHEV), or a parallel/series hybrid electric vehicle (PSHEV). As the type and configuration of vehicle 102 may vary, the capabilities of the vehicle 102 may correspondingly vary. As some other possibilities, vehicles 102 may have different capabilities with respect to passenger capacity, towing ability and capacity, and storage volume.


The personal devices 104-A, 104-B and 104-C (collectively 104) may include mobile devices of the users, and/or wearable devices of the users. The mobile devices may be any of various types of portable computing device, such as cellular phones, tablet computers, smart watches, laptop computers, portable music players, or other devices capable of networked communication with other mobile devices. The wearable devices may include, as some non-limiting examples, smartwatches, smart glasses, fitness bands, control rings, or other personal mobility or accessory device designed to be worn and to communicate with the user's mobile device.


The in-vehicle components 106-A through 106-N (collectively 106) may include various elements of the vehicle 102 having user-configurable settings. These in-vehicle components 106 may include, as some examples, overhead light in-vehicle components 106-A through 106-D, climate control in-vehicle components 106-E and 106-F, seat control in-vehicle components 106-G through 106-J, and speaker in-vehicle components 106-K through 106-N. Other examples of in-vehicle components 106 are possible as well, such as rear seat entertainment screens or automated window shades. In many cases, the in-vehicle component 106 may expose controls such as buttons, sliders, and touchscreens that may be used by the user to configure the particular settings of the in-vehicle component 106. As some possibilities, the controls of the in-vehicle component 106 may allow the user to set a lighting level of a light control, set a temperature of a climate control, set a volume and source of audio for a speaker, and set a position of a seat.


The vehicle 102 interior may be divided into multiple zones 108, where each zone 108 may be associated with a seating position within the vehicle 102 interior. For instance, the front row of the illustrated vehicle 102 may include a first zone 108-A associated with the driver seating position, and a second zone 108-B associated with a front passenger seating position. The second row of the illustrated vehicle 102 may include a third zone 108-C associated with a driver-side rear seating position and a fourth zone 108-D associated with a passenger-side rear seating position. Variations on the number and arrangement of zones 108 are possible. For instance, an alternate second row may include an additional fifth zone 108 of a second-row middle seating position (not shown). Four occupants are illustrated as being inside the example vehicle 102, three of whom are using personal devices 104. A driver occupant in the zone 108-A is not using a personal device 104. A front passenger occupant in the zone 108-B is using the personal device 104-A. A rear driver-side passenger occupant in the zone 108-C is using the personal device 104-B. A rear passenger-side passenger occupant in the zone 108-D is using the personal device 104-C.


Each of the various in-vehicle components 106 present in the vehicle 102 interior may be associated with the one or more of the zones 108. As some examples, the in-vehicle components 106 may be associated with the zone 108 in which the respective in-vehicle component 106 is located and/or the one (or more) of the zones 108 that is controlled by the respective in-vehicle component 106. For instance, the light in-vehicle component 106-C accessible by the front passenger may be associated with the second zone 108-B, while the light in-vehicle component 106-D accessible by passenger-side rear may be associated with the fourth zone 108-D. It should be noted that the illustrated portion of the vehicle 102 in FIG. 1A is merely an example, and more, fewer, and/or differently located in-vehicle components 106 and zones 108 may be used.


The vehicle computing system 110 may be configured to provide telematics services to the vehicle 102. These services may include, as some non-limiting possibilities, navigation, turn-by-turn directions, vehicle health reports, local business search, accident reporting, and hands-free calling. In an example, the vehicle computing system 110 may include the SYNC system manufactured by The Ford Motor Company of Dearborn, Mich.


Referring to FIG. 1B, the vehicle computing system 110 may interface with a wireless transceiver 112 configured to communicate with the in-vehicle components 106 located within the vehicle 102. In an example, the wireless transceiver 112 may support communication over BLUETOOTH and/or BLE.


The vehicle computing system 110 may also receive input from human-machine interface (HMI) controls 114 configured to provide for occupant interaction with the vehicle 102. For instance, the vehicle computing system 110 may interface with one or more buttons or other HMI controls 114 configured to invoke functions on the vehicle computing system 110 (e.g., steering wheel audio buttons, a push-to-talk button, instrument panel controls, etc.). The vehicle computing system 110 may also drive or otherwise communicate with one or more displays 116 configured to provide visual output to vehicle occupants. In some cases, the display 116 may be a touch screen further configured to receive user touch input (e.g., operating as an HMI control 114), while in other cases the display 116 may be an output device only, without also having input capabilities.


The vehicle computing system 110 may be further configured to communicate with other components of the vehicle 102 via one or more in-vehicle networks. The in-vehicle networks may include one or more of a vehicle controller area network (CAN), an Ethernet network, and a media oriented system transfer (MOST), as some examples. The in-vehicle networks may allow the vehicle computing system 110 to communicate with other vehicle systems, such as a vehicle modem (which may not be present in some configurations), a global positioning system (GPS) module configured to provide current vehicle location and heading information, and various other vehicle controllers.


Each in-vehicle component 106 may also be equipped with a wireless transceiver 118. The wireless transceiver 118 may be configured to facilitate communication with the vehicle computing system 110. In an example, the wireless transceiver 118 may include a wireless device, such as a Bluetooth Low Energy transceiver. In an example, the wireless transceiver 112 of the vehicle computing system 110 may communicate data with the wireless transceiver 118 of the in-vehicle component 106 over a wireless connection 120. The wireless connections 120 may be a BLE connection, but other types of local wireless connection 120 may be utilized as well.


The vehicle component interface application 122 may be an application installed to the vehicle computing system 110. The vehicle component interface application 122 may be configured to facilitate vehicle occupant access to features of the in-vehicle components 106 exposed for networked configuration via the wireless transceiver 118. In some cases, the vehicle component interface application 122 may be configured to identify the available in-vehicle components 106, and maintain an in-vehicle component list 124 of the available in-vehicle components 106. In an example, the in-vehicle component list 124 may include a listing of factory-installed wireless in-vehicle components 106 as well as a listing of add-on wireless in-vehicle components 106 detected by the vehicle component interface application 122. The vehicle component interface application 122 may also be configured to identify the available features and current settings of the identified in-vehicle components 106. The vehicle component interface application 122 may be further configured to display a user interface descriptive of the available features of the in-vehicle components 106 on the in-vehicle component list 124, receive user input, and provide commands to the in-vehicle components 106 based on the user input to allow the user to control the features of the in-vehicle components 106. Thus, the system 100 may be configured to allow vehicle occupants to seamlessly interact with the in-vehicle components 106 in the vehicle 102.


The vehicle component interface application 122 executed by the vehicle computing system 110 may be configured to scan for and update the in-vehicle component list 124 of available in-vehicle components 106. As some examples, the scanning may be performed periodically, responsive to a user request to refresh, or upon activation of the vehicle component interface application 122. In examples where the scanning is performed automatically, the correct set of functionality is continuously refreshed and the user interface of the vehicle component interface application 122 is updated to reflect the changes in installed or removed in-vehicle components 106.



FIGS. 2A and 2B illustrate an example removable add-on in-vehicle component 106. As shown in FIG. 2A, the removable in-vehicle component 106 is a smart-shade for attachment to a vehicle 102 window. The smart-shade in-vehicle component 106 may include a motor 202 for raising and lowering the shade, semi-rigid jointed side shafts 204 to stretch the shade fabric open and fold it closed, and stretchable anchors 206 to hold the shade in place. The smart-shade in-vehicle component 106 may further include a controller 208 programmed to direct the motor 202 to open and close.


As shown in the block diagram of FIG. 2B, the smart-shade may further include other components, such as an ultraviolet or other light sensor 210 configured to monitor light conditions and provide the light intensity information to the controller 208. The controller 208 may utilize controller logic 212 to allow the controller to automatically open and close the shade. For instance, the controller logic 212 may include a first light threshold level above which the controller 208 directs the motor 202 to close the shade, and a second light threshold level below which the controller 208 directs the motor 202 to open the shade. The controller 208 may also be programmed to direct the motor 202 in accordance with user input to controls 214 of the smart shade. The controls 214 may include, in an example, open and close buttons that, when selected, send signals to the controller 208 to direct the shade to raise or lower. The controller logic 212 may accordingly receive the signals from the controls 214 and command the motor 202 to raise or lower the shade. The controller 208 may also be programmed to receive wireless commands from the wireless transceiver 118 to control the shade, as well as to direct the wireless transceiver 118 to broadcast information regarding the available functions and current status of the smart-shade (e.g., open, close, etc.).



FIG. 3 illustrates an example user interface 300 for selection of applications for use on a head unit display 116 of the vehicle computing system 110. The head unit display 116 may be driven, for example, by a video connection to the vehicle computing system 110 of the vehicle 102. The user interface 300 may include a category listing 302 of one or more screen of content to be displayed in the main screen area 304 of the head unit display 116. As some examples, the category listing 302 may include an audio screen from which configuration of vehicle 102 audio settings may be performed, a climate control screen from which vehicle 102 climate control settings may be configured, a phone screen from which calling services may be utilized, a navigation screen from which maps and routing may be performed, an applications screen from which installed applications may be invoked, and a settings screen from which backlighting or other general settings of the head unit display 116 may be accessed. The user interface 300 may also include a general information area 306 from which time, current temperature, and other information may remain visible to the user, regardless of the specific screen or application that is active in the main screen area 304.


As shown, the applications screen is illustrated as selected from the category listing 302, and the main screen area 304 is illustrated as showing a listing of available applications that may be invoked. These applications may include, for example, a find new apps application item 308-A, an internet radio item 308-B, a satellite radio item 308-C, a streaming radio item 308-D, an icon 308-E for selection of the vehicle component interface application 122, a maps item 308-F, a messages icon 308-G, and a weather icon 308-G. To invoke the vehicle component interface application 122 to control the in-vehicle components 106, the user may select the icon 308-E from the user interface 300.



FIG. 4A illustrates an example user interface 400-A of the vehicle component interface application 122 illustrating in-vehicle components 106 detected by the personal device 104. As shown, the user interface 400-A may be presented by the vehicle component interface application 122 on the display 116 of the vehicle computing system 110, and may include a listing 402 configured to display selectable list entries 404-A through 404-D (collectively 404) indicative of the identified in-vehicle components 106. Each of the selectable list entries 404 may indicate a detected in-vehicle component 106 family available for configuration by the user. Thus, the selectable list entries 404 may be based on the in-vehicle components 106 maintained by the vehicle computing system 110 on the in-vehicle component list 124. The user interface 400-A may also include a title label 406 to indicate to the user that the user interface 400-A is displaying a menu of in-vehicle components 106 as detected by the vehicle component interface application 122.


As illustrated, the listing 402 of the vehicle component interface application 122 includes an entry 404-A for a shade in-vehicle component 106 (e.g., such as described above with respect to FIGS. 2A and 2B), an entry 404-B for a light in-vehicle component 106, an entry 404-C for a seat in-vehicle component 106, and an entry 404-D for a climate control in-vehicle component 106. Notably, the listing 402 may include a unified listing of both factory-installed in-vehicle components 106 and add-on in-vehicle components 106. The listing 402 may operate as a menu, such that a user of the user interface 400-A may be able to scroll through list entries of the list control 402 (e.g., using up and down arrow buttons and a select button to invoke a selected menu item). In some cases, the list control 402 may be displayed on a touch screen such that the user may be able to touch the list control 402 to select and invoke a menu item. As another example, the user interface 400-A may support voice command selection of the menu items. For example, to invoke the options of the light in-vehicle component 106, the user may speak the voice command “LIGHT.” It should be noted that the illustrated entries 404 are merely examples, and more or different in-vehicle components 106 may be available.



FIG. 4B illustrates an example user interface 400-B for control of a factory-installed in-vehicle component 106. The user interface 400-B may be provided to the display 116 of the vehicle computing system 110. In an example, the user interface 400-B may display functions of a lighting in-vehicle component 106 responsive to user input to the entry 404-B in the user interface 400-A. The user interface 400-B may also include the title label 406 to indicate to the user that the user interface 400-B is displaying functions of the selected lighting in-vehicle component 106.


As shown, the user interface 400-B may include a listing 408 configured to display selectable controls 410-A through 410-C (collectively 410) based on the identified in-vehicle components 106 features. Each of the selectable controls 410 may indicate a function of the indicated in-vehicle component 106 that is available for configuration by the user. The user interface 400-B may also include a title label 308 to indicate to the user that the user interface 400-B is displaying a menu of functions of the indicated in-vehicle component 106. In some cases, when the title label 308 is selected the user interface 400-B may revert back to the user interface 300 allowing the user to return to the listing of currently active in-vehicle components 106.


As illustrated, the listing 408 includes a control 410-A for toggling on and off the light of the in-vehicle component 106, a control 410-B for specifying an intensity of the light in-vehicle component 106, and a control 410-C for specifying a color of the light of the in-vehicle component 106. The listing 408 may also provide for scrolling in cases where there are more controls 410 that may be visually represented in the display 116 at one time. In some cases, the control 410 may be displayed on a touch screen such that the user may be able to touch the controls 410 to make adjustments to the functions of the in-vehicle component 106. As another example, the user interface 400-B may support voice commands. For example, to toggle the light on, the user may speak the voice command “LIGHT ON,” or simply “ON.” It should be noted that the illustrated controls 410 are merely examples, and more or different functions or layouts of functions of the in-vehicle component 106 may be utilized.


It should be noted that while the controls 410 of the user interface 400-B include a toggle switch used to turn the light on and off, and two sliders used to adjust intensity and ambient color based on the characteristics, the actual physical in-vehicle component 106 may have a different user interface 400-B. For instance, the in-vehicle component 106 may include a simpler user interface, such as a single mechanical or proximity switch to turn the light on and off, so the occupant would not have to depend on use of the vehicle computing system 110 to utilize basic functionality of the in-vehicle component 106.


In some examples, the user interface 400-B may further include a zone interface 412 to allow a user of the display 116 to switch among the in-vehicle components 106 within different zones 108. As one possibility, the zone interface 412 may include a control 414-A for selection of a driver-side rear zone 108-C, and a control 414-B for selection of a passenger-side rear zone 108-D (collectively controls 414). Responsive to selection of one of the controls 414, the user interface 400-B may accordingly display the controls 410 of corresponding in-vehicle component 106 for the selected zone 108. For instance, if the light controls in the zone 108-C is currently being displayed and the user selects the control 414-B to display the corresponding control for the zone 108-D, the user interface 400-B may display the functions of the light control for the zone 108-D.



FIG. 4C illustrates an example user interface 400-C for control of an add-on in-vehicle component 106. As with the user interface 400-B, the user interface 400-C may also be provided to the display 116 of the vehicle computing system 110. In an example, the user interface 400-B may display functions of a shade in-vehicle component 106 responsive to user input to the entry 404-A in the user interface 400-A. The user interface 400-C may also include the title label 406 to indicate to the user that the user interface 400-C is displaying functions of the selected shade in-vehicle component 106. Thus, the vehicle component interface application 122 may provide for a consistent user interface across factory-installed and add-on in-vehicle components 106.


As illustrated, the listing 408 includes a control 410-A for toggling on and off the shade of the in-vehicle component 106, and a control 410-B for specifying a location of the shade (e.g., how far up or down the shade is to be placed). Responsive to user input to the control 410-A or control 410-B, the vehicle computing system 110 may wirelessly command the shade in-vehicle component 106. In an example, if the user selects to adjust the shade position using the control 410-B, the vehicle computing system 110 may utilize the wireless transceiver 112 to send a wireless command addressed to the wireless transceiver 118 of the shade in-vehicle component 106. The controller 208 of the shade in-vehicle component 106 may accordingly receive the command, and utilize the controller logic 212 to direct the motor 202 to raise or lower the shade to the desired position. Notably, these operations may be performed without requiring the vehicle computing system 110 or the shade in-vehicle component 106 to communicate with one another across the vehicle bus.



FIG. 5 illustrates an example process 500 for scanning for in-vehicle components 106 by the vehicle computing system 110. In an example, the process 500 may be performed by the vehicle computing system 110 executing the vehicle component interface application 122.


At operation 502, the vehicle computing system 110 performs scanning. In an example, a scanning service of the vehicle component interface application 122 executed by the vehicle computing system 110 may utilize the wireless transceiver 112 to scan for BLE advertisements. The triggering of the scanning may be performed periodically, in an example. As some other examples, the vehicle computing system 110 may perform the discovery in response to a user command to re-identify in-vehicle components 106, or upon anther trigger condition, such as entry of a vehicle 102 occupant, upon vehicle 102 key-on, or upon initialization of the vehicle computing system 110 and/or the vehicle component interface application 122. At 504, the vehicle computing system 110 determines whether any BLE modules are present. If so, control passes to operation 506. Otherwise control passes to operation 512.


At 506, the vehicle computing system 110 determines whether the detected BLE modules are in-vehicle components 106. In an example, when a module is found, the vehicle component interface application 122 parses the service UUID of the in-vehicle component 106 to determine whether the service UUID is indicative of an in-vehicle component 106. For instance, the vehicle component interface application 122 may identify whether the service UUID is within an identifier range associated with being an in-vehicle component 106. If the module is an in-vehicle component 106, control passes to operation 508. Otherwise, control passes to operation 502.


The vehicle computing system 110 determines whether the detected in-vehicle component 106 was detected previously at 508. For instance, the vehicle computing system 110 may maintain the in-vehicle component list 124 indicative of the currently active in-vehicle components 106, which, in an example, may be used to generate the listing 402 of the vehicle component interface application 122 of the user interface 400-A. The vehicle computing system 110 may compare a service identifier, address, or other information of the detected in-vehicle component 106 to the service identifiers, addresses, or other information of the previously-detected in-vehicle components 106 of the in-vehicle component list 124 to determine whether the in-vehicle component 106 was previously detected. If the in-vehicle component 106 was previously detected, control passes to operation 502. Otherwise, control passes to operation 510.


At operation 510, the vehicle computing system 110 adds the newly-detected in-vehicle component 106 to the in-vehicle component list 124. In an example, the vehicle component interface application 122 may add information from the advertisement to the in-vehicle component list 124, such as the service identifier of the in-vehicle component 106, an address to which the in-vehicle component 106 may be accessed, and/or other information regarding the in-vehicle component 106, such as timeout information from the advertisement. After operation 510, control returns to operation 502 to perform scanning.


In the operations of element 512, the vehicle computing system 110 determines whether any of the in-vehicle components 106 should be removed from the in-vehicle component list 124. In an example, the vehicle component interface application 122 may determine whether any timeouts of the in-vehicle components 106 that are on the in-vehicle component list 124 have expired. In another example, the vehicle component interface application 122 may determine whether any previously-detected in-vehicle components 106 are no longer located during the scan. If so, control passes to operation 620 to remove those in-vehicle components 106 from the in-vehicle component list 124. If not, control returns to operation 502 to perform scanning.


Thus, by using the process 500, the vehicle computing system 110 may be able to wirelessly maintain the in-vehicle component list 124 of the available in-vehicle components 106, without requiring access to the vehicle bus.



FIG. 6 illustrates an example process 600 for displaying the user interface 400 for control of the in-vehicle components 106. In an example, the process 600 may be performed by the in-vehicle component 106 and the vehicle computing system 110 in communication over a wireless connection.


At operation 602, the vehicle computing system 110 receives an indication to invoke the user interface 400. In an example, the vehicle computing system 110 may receive an indication that the user selected the in-vehicle components icon 308-E from the user interface 300. At 604, the vehicle computing system 110 generates the user interface 400. The generated user interface 400 may include a listing 402 of controls 404 based on the in-vehicle component list 124 detection performed in the process 500.


The vehicle computing system 110 determines at 606 whether there is user interaction with the vehicle component interface application 122. In an example, the vehicle component interface application 122 may receive input to a user interface 400 provided to the display 116 to adjust the state of the in-vehicle component 106. As some examples, the user may provide user input to one or more controls 410 as described above with respect to the FIGS. 4B and 4C. If an interaction is received, control passes to operation 608. Otherwise control passes to operation 610.


At 608, the vehicle computing system 110 updates the control values of the in-vehicle component 106. In an example, the vehicle component interface application 122 utilizes the wireless transceiver 112 to send a message to the in-vehicle component 106 to update the state of the in-vehicle component 106. For instance, responsive to the user selecting from the user interface 400 for the smart-shade in-vehicle component 106 be rolled down, the vehicle component interface application 122 may direct the wireless transceiver 112 to send a message addressed to the wireless transceiver 118 of the smart-shade in-vehicle component 106 requesting for the shade to be rolled up or down. After operation 608, control passes to operation 606.


In the operations of 610, the in-vehicle component 106 determines whether there is an update to the state of the in-vehicle component 106. In an example, the user may adjust a control value of the in-vehicle component 106 using the controls of the in-vehicle component 106 (e.g., a user may use a control on the smart-shade in-vehicle component 106 to direct the shade to roll down). In another example, the in-vehicle component 106 may adjust its own state (e.g., the smart-shade in-vehicle component 106 may roll down based on detection of increased light conditions). This interaction may cause the in-vehicle component 106 to broadcast a message or advertise that a change in the state of the in-vehicle component 106 has occurred. If a control value of the in-vehicle component 106 has changed, control passes to operation 612. Otherwise, control passes to operation 606.


At operation 612, the vehicle computing system 110 receives control state values from the in-vehicle component 106. In an example, the vehicle component interface application 122 may acquire the current state of the controls from the in-vehicle component 106 due to the in-vehicle component 106 using BLE to advertise a change in state or by broadcasting to the vehicle computing system 110 the change in state.


At 614, the vehicle computing system 110 refreshes the user interface 400. In an example, the vehicle component interface application 122 may indicate the changed state of the controls (e.g., on, off, volume level, shade up/down, etc.) based on the state of the controls received at operation 612. After operation 614, control passes to operation 606.


Computing devices described herein, such as the personal devices 104, in-vehicle components 106, vehicle computing system 110, and controller 208, generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above. Computer-executable instructions, such as the instructions of the vehicle component interface application 122 or controller logic 212, may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, Java™, C, C++, C#, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer-readable media.


With regard to the processes, systems, methods, heuristics, etc., described herein, it should be understood that, although the steps of such processes, etc., have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claims.


While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.

Claims
  • 1. A system comprising: a display integrated into a vehicle;a wireless transceiver; anda processor, coupled to the display and transceiver, programmed to maintain a list of wireless factory-installed in-vehicle components,scan for add-on wireless in-vehicle components within the vehicle using the wireless transceiver,generate a user interface listing both the factory-installed wireless in-vehicle components and the add-on wireless in-vehicle components, andprovide the listing to the display.
  • 2. The system of claim 1, wherein the processor is further programmed to: receive user input to the display requesting a change in state of one of the in-vehicle components, andutilize the wireless transceiver to update the state of the one of the in-vehicle components.
  • 3. The system of claim 2, wherein the change in state is one of rolling down a smart-shade in-vehicle component or rolling up a smart-shade in-vehicle component.
  • 4. The system of claim 1, wherein the processor is further programmed to: receive an indication of a change in state from one of the in-vehicle components; andupdate the state of the one of the in-vehicle components in the list responsive to the indication.
  • 5. The system of claim 4, wherein the change in the state is an automatic change based on input to the one of the in-vehicle components from a light sensor of the in-vehicle component.
  • 6. The system of claim 4, wherein the change in the state is in response to input received to a user interface control of the one of the in-vehicle components.
  • 7. The system of claim 1, wherein the display is a head unit of the vehicle, and the processor is a telematics control unit processor.
  • 8. A method comprising: maintaining in a storage by a processor of a vehicle an in-vehicle component listing including factory-installed components and add-on components added after a vehicle is built;scanning, using a wireless transceiver as directed by the processor, for add-on in-vehicle components within the vehicle;removing, by the processor, a first add-on wireless in-vehicle component from the listing responsive to failure to locate the first in-vehicle component during the scanning; andadding, by the processor, a second add-on wireless in-vehicle component to the listing located during the scanning.
  • 9. The method of claim 8, further comprising: generating a user interface listing including both the factory-installed components and the add-on components; andproviding the user interface listing to a display.
  • 10. The method of claim 9, where the display is a head unit of the vehicle.
  • 11. The method of claim 9, further comprising: receiving user input to the display requesting a change in state of one of the in-vehicle components; andutilizing the wireless transceiver to update the state of the one of the in-vehicle components.
  • 12. The method of claim 11, wherein the change in state is one of rolling down a window shade in-vehicle component or rolling up a window shade in-vehicle component.
  • 13. The method of claim 9, further comprising: receiving an indication of a change in state from one of the in-vehicle components; andupdating the state of the one of the in-vehicle components in the user interface responsive to the indication.
  • 14. The method of claim 13, wherein the change in the state is one of: an automatic change based on input to the one of the in-vehicle components from a sensor of the in-vehicle component, or in response to input received to a user interface control of the one of the in-vehicle components.
  • 15. A computer program product embodied in non-transitory computer readable storage having instructions for programming a processor of a vehicle in communication with a wireless transceiver to control a display, comprising instructions for: maintaining a list of installed in-vehicle components,scanning for current in-vehicle components within the vehicle using the wireless transceiver,updating the list based on the scanning, andsending, to the display, a generated user interface listing of the current in-vehicle components.
  • 16. The computer program product of claim 15, further comprising instructions for maintaining, in the list, identifiers of factory-installed components and add-on components added after a vehicle is built.
  • 17. The computer program product of claim 15, further comprising instructions for removing an add-on wireless in-vehicle component from the listing responsive to failure to locate the wireless in-vehicle component during the scanning.
  • 18. The computer program product of claim 15, further comprising instructions for adding an add-on wireless in-vehicle component to the listing located during the scanning.
US Referenced Citations (180)
Number Name Date Kind
4721954 Mauch Jan 1988 A
4792783 Burgess Dec 1988 A
4962302 Katsumi Oct 1990 A
5132880 Kawamura Jul 1992 A
5143437 Matsuno et al. Sep 1992 A
5543591 Gillespie et al. Aug 1996 A
5648656 Begemann et al. Jul 1997 A
5650929 Potter et al. Jul 1997 A
5697844 Von Kohorn Dec 1997 A
5757268 Toffolo May 1998 A
5796179 Honaga Aug 1998 A
5848634 Will Dec 1998 A
5850174 DiCroce et al. Dec 1998 A
6028537 Suman et al. Feb 2000 A
6377860 Gray et al. Apr 2002 B1
6397249 Cromer et al. May 2002 B1
6449541 Goldberg Sep 2002 B1
6473038 Patwari et al. Oct 2002 B2
6536928 Hein et al. Mar 2003 B1
6935763 Mueller et al. Aug 2005 B2
7009504 Banter et al. Mar 2006 B1
7015791 Huntzicker Mar 2006 B2
7015896 Levy et al. Mar 2006 B2
7034655 Magner et al. Apr 2006 B2
7342325 Rhodes Mar 2008 B2
7502620 Morgan et al. Mar 2009 B2
7595718 Chen Sep 2009 B2
7672757 Hong et al. Mar 2010 B2
7706740 Collins et al. Apr 2010 B2
7778651 Billhartz Aug 2010 B2
7800483 Bucher Sep 2010 B2
7810969 Blackmore et al. Oct 2010 B2
7973773 Pryor Jul 2011 B2
8065169 Oldham Nov 2011 B1
8073589 Rasin et al. Dec 2011 B2
8324910 Lamborghini et al. Dec 2012 B2
8344850 Girard, III et al. Jan 2013 B2
8408766 Wilson et al. Apr 2013 B2
8417258 Barnes, Jr. Apr 2013 B2
8421589 Sultan et al. Apr 2013 B2
8447598 Chutorash et al. May 2013 B2
8476832 Prodin et al. Jul 2013 B2
8482430 Szczerba Jul 2013 B2
8797295 Bernstein et al. Aug 2014 B2
8823517 Hadsall, Sr. Sep 2014 B2
8831514 Tysowski Sep 2014 B2
8856543 Geiger et al. Oct 2014 B2
8866604 Rankin et al. Oct 2014 B2
8873147 Rhodes et al. Oct 2014 B1
8873841 Yang et al. Oct 2014 B2
8880100 Dobyns Nov 2014 B2
8930045 Oman et al. Jan 2015 B2
8947202 Tucker et al. Feb 2015 B2
9053516 Stempora Jun 2015 B2
9078200 Wuergler et al. Jul 2015 B2
9350809 Leppanen May 2016 B2
9417691 Belimpasakis et al. Aug 2016 B2
20020069002 Morehouse Jun 2002 A1
20020070923 Levy et al. Jun 2002 A1
20020087423 Carbrey Palango Jul 2002 A1
20020092019 Marcus Jul 2002 A1
20020096572 Chene et al. Jul 2002 A1
20020178385 Dent et al. Nov 2002 A1
20020197976 Liu et al. Dec 2002 A1
20030078709 Yester et al. Apr 2003 A1
20030171863 Plumeier et al. Sep 2003 A1
20040034455 Simonds et al. Feb 2004 A1
20040076015 Aoki Apr 2004 A1
20040215532 Boman et al. Oct 2004 A1
20050040933 Huntzicker Feb 2005 A1
20050099320 Nath May 2005 A1
20050136845 Masuoka et al. Jun 2005 A1
20050185399 Beermann et al. Aug 2005 A1
20050261807 Sorensen et al. Nov 2005 A1
20050261815 Cowelchuk et al. Nov 2005 A1
20050288837 Wiegand et al. Dec 2005 A1
20060075934 Ram Apr 2006 A1
20060089755 Ampunan et al. Apr 2006 A1
20060155429 Boone et al. Jul 2006 A1
20060155547 Browne et al. Jul 2006 A1
20060205456 Bentz Sep 2006 A1
20060250217 Hamling et al. Nov 2006 A1
20060258377 Economos et al. Nov 2006 A1
20060271261 Flores et al. Nov 2006 A1
20070021885 Soehren Jan 2007 A1
20070140187 Rokusek et al. Jun 2007 A1
20070198472 Simonds et al. Aug 2007 A1
20070201389 Murayama Aug 2007 A1
20070262140 Long Nov 2007 A1
20080140868 Kalayjian Jun 2008 A1
20080180231 Chen Jul 2008 A1
20080261643 Bauer et al. Oct 2008 A1
20080288406 Seguin et al. Nov 2008 A1
20090253439 Gantner et al. Oct 2009 A1
20100091394 DeWind et al. Apr 2010 A1
20100176917 Bacarella Jul 2010 A1
20100197359 Harris Aug 2010 A1
20100216401 Kitahara Aug 2010 A1
20100222939 Namburu et al. Sep 2010 A1
20100225443 Bayram et al. Sep 2010 A1
20100231958 Okigami Sep 2010 A1
20100233957 Dobosz Sep 2010 A1
20100280711 Chen et al. Nov 2010 A1
20100315373 Steinhauser et al. Dec 2010 A1
20110086668 Patel Apr 2011 A1
20110137520 Rector et al. Jun 2011 A1
20110187496 Denison et al. Aug 2011 A1
20110199298 Bassompiere et al. Aug 2011 A1
20110219080 McWithey et al. Sep 2011 A1
20120006611 Wallace et al. Jan 2012 A1
20120065815 Hess Mar 2012 A1
20120096908 Fuse Apr 2012 A1
20120109451 Tan May 2012 A1
20120136802 McQuade May 2012 A1
20120214463 Smith et al. Aug 2012 A1
20120214471 Tadayon et al. Aug 2012 A1
20120229253 Kolar Sep 2012 A1
20120244883 Tibbitts et al. Sep 2012 A1
20120254809 Yang et al. Oct 2012 A1
20120268235 Farhan et al. Oct 2012 A1
20120268242 Tieman et al. Oct 2012 A1
20130015951 Kuramochi et al. Jan 2013 A1
20130079951 Brickman Mar 2013 A1
20130099892 Tucker et al. Apr 2013 A1
20130116012 Okayasu May 2013 A1
20130218371 Simard Aug 2013 A1
20130259232 Petel Oct 2013 A1
20130300608 Margalef et al. Nov 2013 A1
20130329111 Desai et al. Dec 2013 A1
20130335222 Comerford et al. Dec 2013 A1
20140043152 Lippman et al. Feb 2014 A1
20140068713 Nicholson Mar 2014 A1
20140139454 Mistry et al. May 2014 A1
20140142783 Grimm et al. May 2014 A1
20140163774 Demeniuk Jun 2014 A1
20140164559 Demeniuk Jun 2014 A1
20140200736 Silvester Jul 2014 A1
20140212002 Curcio et al. Jul 2014 A1
20140213287 MacDonald et al. Jul 2014 A1
20140215120 Saylor et al. Jul 2014 A1
20140226303 Pasdar Aug 2014 A1
20140258727 Schmit et al. Sep 2014 A1
20140277935 Daman et al. Sep 2014 A1
20140309806 Ricci Oct 2014 A1
20140321321 Knaappila Oct 2014 A1
20140375477 Jain et al. Dec 2014 A1
20140379175 Mittermeier Dec 2014 A1
20140380442 Addepalli et al. Dec 2014 A1
20150039877 Hall et al. Feb 2015 A1
20150048927 Simmons Feb 2015 A1
20150094088 Chen Apr 2015 A1
20150116085 Juzswik Apr 2015 A1
20150116100 Yang et al. Apr 2015 A1
20150123762 Park et al. May 2015 A1
20150147974 Tucker et al. May 2015 A1
20150148990 Patel May 2015 A1
20150149042 Cooper et al. May 2015 A1
20150154531 Skaaksrud Jun 2015 A1
20150172902 Kasslin et al. Jun 2015 A1
20150178034 Penilla Jun 2015 A1
20150181014 Gerhardt et al. Jun 2015 A1
20150204965 Magarida et al. Jul 2015 A1
20150210287 Penilla et al. Jul 2015 A1
20150223151 Lei et al. Aug 2015 A1
20150261219 Cuddihy Sep 2015 A1
20150261573 Rausch Sep 2015 A1
20150278164 Kim Oct 2015 A1
20150283914 Malone Oct 2015 A1
20150294518 Peplin et al. Oct 2015 A1
20150332530 Kishita Nov 2015 A1
20150352953 Koravadi Dec 2015 A1
20150382160 Slay, Jr. et al. Dec 2015 A1
20160039430 Ricci Feb 2016 A1
20160055699 Vincenti Feb 2016 A1
20160119782 Kim Apr 2016 A1
20160133072 Santavicca May 2016 A1
20160203661 Pudar et al. Jul 2016 A1
20160214572 Snider Jul 2016 A1
20160248905 Miller et al. Aug 2016 A1
20160332535 Bradley et al. Nov 2016 A1
Foreign Referenced Citations (4)
Number Date Country
102445954 Mar 2014 CN
103942963 Jul 2014 CN
2011131833 Jul 2011 JP
2013052043 Nov 2013 WO
Non-Patent Literature Citations (16)
Entry
Rasin, “An In/Vehicle Human/Machine Interface Module,” XML Journal, Jan. 3, 2003, (9 pages), retrieved from http://xml.sys/con.com/node/40547 on Dec. 13, 2014.
Shahzada, “Touch Interaction for User Authentication,” Thesis, Carleton University, Ottawa, Ontario, May 2014 (124 pages).
Napa SAE/BAE et al., “Biometric/Rich Gestures: A Novel Approach to Authentication on Multi/touch Devices,” NYU/Poly, CHI 2012, May 5-10, 2012, Austin, TX (10 pages).
Services/Bluetooth Development Portal, last accessed May 30, 2015, https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx. (1 page).
Azad, “The Quick Guide to GUIDs,” Better Explained / Math insights that click, last accessed May 24, 2015, http://betterexplained.com/articles (15 pages).
Goodwin, “Add/on module auto/unlocks your car when your phone is near,” CNET, Car Tech, Nov. 19, 2013, http://www.cnet.com/news/add/on/module/auto/unlocks/your/car/when/your/phone/is/near (2 pages).
Hertz 24/7, “Book. Unlock. Go. You can reserve your vehicle anywhere, anytime / up to 10 days in advance,” last accessed Jul. 28, 2015, https://www.hertz247.com/parkridge/en/us/About (3 pages).
Klosowski, “Unlock Your Car with a Bluetooth Powered Keyless Entry System,” Lifehacker, Sep. 30, 2013, http://lifehacker.com/unlock/your/car/with/a/bluetooth/powered/keyless/entry/1427088798 (2 pages).
Toyota, Toyota Prius C Brochure, 2015, available at http://www.toyota.com/priusc/ebrochure.
Thomas, “2010 Toyota Prius Touch Tracer Display,” Mar. 3, 2009, available at https://www.cars.com/articles/2009/03/2010/toyota/prius/touch/tracer/display/.
Gahran, “Vehicle owner's manuals // now on smartphones,” CNN.com, Jan. 31, 2011, available at http://www.cnn.com/2011/TECH/mobile/01/31/car.manual.phone/.
Specification of the Bluetooth System, Version 42, “Master Table of Contents & Compliance Requirements,” Dec. 2, 2014, https://www.bluetooth.or/en/us/specification/adopted/specifications. (2,772 pages).
General Motors Corporation; Pontiac GTO Owner's Manual; 2005; pp. 3-19 and 3-20; https://my.gm.com/content/dam/gmmownercenter/gmna/dynamic/manuals/2006/pontiac/gto/2006—gto—owners.pdf.
Bargshady et al., Precise Tracking of Things via Hybrid 3-D Fingerprint Database and Kernel Method Particle Filter, 2016, IEEE, p. 8963-8971.
Murugappan et al., Wireless EEG Signals based Neuromarketing System using Fast Fourier Transform (FFT), 2014, IEEE, p. 25-30.
Katoh et al., A Method of Advertisement Selection in Multiple RFID-Tags Sensor Network for a Ubiquitous Wide-Area Advertising Service, 2008, IEEE, p. 519-524.
Related Publications (1)
Number Date Country
20170072794 A1 Mar 2017 US