Unidirectional wireless communication hub
By receiving and managing connected broadcast packets of portable devices by the vehicle, the wireless communication problem between portable devices and vehicles is solved, and efficient communication without pairing is achieved.
Patent Information
- Application Number
- CN202510124604.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-31
- Filing Date
- 2025-01-26
- Publication Date
- 2025-08-08
AI Technical Summary
The prior art is difficult to efficiently realize wireless communication between a portable device and a vehicle, especially without pairing, and traditional methods such as Wi-Fi, Bluetooth and cellular access have problems such as high power consumption, limiting counting, and short signal range.
The vehicle receives a cyclic series of packets of the connectionless broadcast protocol sent by the portable device, including data elements of device identifiers, field identifiers and status information, updates the information cache, and requests status information from the mobile device through data connection to realize the hub function.
It realizes communication with multiple portable devices without pairing, reduces communication overhead, improves communication efficiency, adapts to poor signal conditions, and supports high simultaneous communication limits.
Smart Images

Figure CN120455865A_ABST
Abstract
Description
Technical Field
[0001] Aspects of the present disclosure generally relate to a hub for managing unidirectional wireless communications. Background Art
[0002] Phone-as-a-Key (PaaK) systems are being introduced to allow users to unlock their vehicles using their phones without the need for a key fob. These systems operate similarly to a key fob, but with the phone communicating with the vehicle via Bluetooth Low Energy (BLE), Ultra Wideband (UWB), or other mobile device wireless technologies.
[0003] Backpackers or hikers can use portable water filters to ensure a clean water supply. Water filters can use a variety of technologies, such as membrane filters, chlorine or iodine tablets, or other filter media. Summary of the Invention
[0004] In one or more illustrative examples, a method is provided for using a vehicle as a hub for communicating with a portable device. The vehicle receives a cyclic series of multiple packets of status information sent from the portable device via a local network broadcast. The local network broadcast is sent via a connectionless broadcast protocol, wherein each of the multiple packets includes a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating a value of the status information for the field identifier. An information cache is updated to include the status information. A request for the status information is received from a mobile device via a data connection, the request including the device identifier. The requested status information is sent to the mobile device, the status information being retrieved from the information cache based on the device identifier.
[0005] In one or more illustrative examples, a system implementing a hub for communicating with a portable device is provided. One or more computing devices are configured to receive a cyclic series of multiple packets of status information sent from a portable device via a local network broadcast sent via a connectionless broadcast protocol, each of the multiple packets including a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating a value of the status information for the field identifier; update an information cache to include the status information; receive a request for the status information from a mobile device via a data connection, the request including the device identifier; and send the requested status information to the mobile device, the status information being retrieved from the information cache based on the device identifier.
[0006] In one or more illustrative examples, a non-transitory computer-readable medium includes instructions for implementing a hub for communicating with a portable device, the instructions, when executed by one or more computing devices, causing the one or more computing devices to perform the following operations, including: receiving a cyclic series of multiple packets of status information sent from a portable device via a local network broadcast, the local network broadcast being sent via a connectionless broadcast protocol, each of the multiple packets including a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating a value of the status information for the field identifier; updating an information cache to include the status information; receiving a request for the status information from a mobile device via a data connection, the request including the device identifier; and sending the requested status information to the mobile device, the status information being retrieved from the information cache based on the device identifier. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 An example system for using a vehicle as a hub for implementing a one-way wireless communication protocol is shown;
[0008] Figure 2 An example arrangement of a mobile device receiving a local network broadcast from a portable device is shown;
[0009] Figure 3 An example arrangement of a vehicle receiving a local network broadcast from a portable device is shown;
[0010] Figure 4 An example diagram showing a looping series of local network broadcasts;
[0011] Figure 5 shows an example of information caching according to an example use case;
[0012] Figure 6 An example diagram of a vehicle operating as a hub responding to a request is shown;
[0013] Figure 7 An example diagram of a vehicle operating as a hub in response to received commands is shown;
[0014] Figure 8 An example process for using a vehicle as a hub implementing a one-way wireless communication protocol to maintain an information cache is shown;
[0015] Figure 9 An example process for controlling a portable device from a vehicle operating as a hub is shown; and
[0016] Figure 10An example of a computing device for using a vehicle as a hub for communicating with a portable device is shown. DETAILED DESCRIPTION
[0017] As required, detailed embodiments of the present invention are disclosed herein; however, it should be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The drawings are not necessarily drawn to scale; some features may be exaggerated or minimized to illustrate details of particular components. Therefore, the specific structural and functional details disclosed herein are not to be construed as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
[0018] Many applications require wireless communication with smartphone apps or with connected vehicles. However, if compatibility with existing devices is desired, there are few widely available methods for doing so. Wi-Fi is impractical away from access points, and smartphones prioritize Wi-Fi networks for internet access, so creating an access point for communication would prevent the phone from using cellular data. Traditional Bluetooth requires pairing, which can result in undesirable setup hurdles and has device count limitations. UWB is not present on many devices that might desire connectivity. Cellular access is power-hungry, impractical for low data rates, and relatively expensive. Acoustic communication is very short-range.
[0019] As a further hurdle, some applications do not support other local communication methods due to licensing or design guidelines and may be limited to internet access. For these, if the application will be used with multiple devices and / or vehicles, an aggregator-type device (such as a connected vehicle) may be useful.
[0020] Aspects of the present disclosure relate to a one-way wireless communication protocol implemented by a portable device and a vehicle hub for use with connected applications. The portable device may include various state information that may be useful to the connected application. In the protocol, communication is established via a cyclic series of connectionless advertising packets that can be received by various radio devices without being paired with the radio devices. In one approach, these packets can be received to a mobile device executing a connected application. In another approach, these packets can be received to a vehicle acting as a hub, where the vehicle collects and manages the lifecycle of the state information received in the packets, and the mobile device accesses the vehicle to capture the latest data in the advertising packets.
[0021] The protocol described can be used to communicate with a portable water filter device. The filter device can broadcast information such as whether the filter is operating, the ambient temperature, the state of the filter media, etc. However, it should be noted that this is just one example, and other use cases involving hubs, stateful portable devices, and unidirectional wireless communication protocol methods can be used. As another example, the portable device can be an air compressor, where the air compressor can broadcast information such as the air pressure of the air compressor or the pressure of a tire connected to the air compressor.
[0022] Figure 1 An example system 100 is shown for using a vehicle 102 as a hub for implementing a one-way wireless communication protocol. System 100 includes vehicle 102 configured to provide transportation and navigation and portable device 104 configured to provide information via various sensors 106. Mobile device 112 can utilize mobile control application 114 to keep users informed of water-related events. Wide area network 116 can provide connectivity to the devices of system 100. Cloud server 122 can provide data hosting and computing services to vehicle 102, portable device 104, and / or mobile device 112 via wide area network 116.
[0023] Vehicle 102 may include various types of automobiles, crossover utility vehicles (CUVs), sport utility vehicles (SUVs), trucks, recreational vehicles, boats, airplanes, or other mobile machines used to transport people or goods. Such vehicles 102 may be human-driven or autonomous. In many cases, vehicle 102 may be powered by an internal combustion engine. As another possibility, vehicle 102 may be a battery electric vehicle powered by one or more electric motors. As another possibility, vehicle 102 may be a hybrid electric vehicle powered by both an internal combustion engine and one or more electric motors, such as a series hybrid electric vehicle, a parallel hybrid electric vehicle, or a parallel / series hybrid electric vehicle.
[0024] Vehicle 102 may be a driver-driven vehicle with driver assistance features. In other examples, the vehicle may be a semi-autonomous vehicle (AV). These AV or driver assistance features may be supported via received vehicle-to-everything (V2X) data. The level of automation may vary between different levels of driver assistance technology and fully automated, driverless vehicles. Because the type and configuration of vehicle 102 may vary, the capabilities of vehicle 102 may also vary. As some other possibilities, vehicle 102 may have different capabilities in terms of passenger capacity, towing capacity and capacity, and storage capacity. For ownership, inventory, and other purposes, vehicle 102 may be associated with a unique identifier, such as a vehicle identification number (VIN) (e.g., as defined by the International Organization for Standardization (ISO) 3779 and ISO 4030). It should be noted that while motor vehicles 102 are used as examples of traffic participants, other types of traffic participants that may be equipped with V2X technology, such as bicycles, scooters, and pedestrians, may also or alternatively be used.
[0025] The vehicle 102 may act as a central hub for communicating with the portable device 104. The vehicle 102 may be configured to transport the portable device 104, the user, while also providing wireless connectivity to enable the user to more easily utilize the portable device 104. The vehicle 102 may also be configured to supply energy to the portable device 104.
[0026] In one non-limiting example, portable device 104 may include a portable water filter. In this example, vehicle 102 may also assist the user in finding and collecting drinking water, providing a wireless connection to make it easier for the user to collect water and ensure the reliability of the water supply. In this example, portable device 104 may be one of a variety of devices configured to receive water and remove impurities from the water. This may include removing sediment, bacteria, and / or chemicals from the water. In many cases, the water is passed through a filter medium, such as a delicate physical barrier, a chemical pack, or a biological medium. Once filtered, the water may be retained in a container or otherwise made available for use.
[0027] In another non-limiting example, the portable device 104 may include a portable air compressor. For example, an operator may use the air compressor to fill the tires of the vehicle 102 or another device. The air compressor may accordingly broadcast information such as the air pressure of the air compressor's air tank, the pressure of the tire connected to the air compressor, the amount of time the air compressor has been in operation, and the like.
[0028] The portable device 104 may include various sensors 106 and instruments. The sensors 106 may be configured to measure various status information 108 describing the operation of the portable device 104. The sensors 106 may include flow sensors, temperature sensors, pressure sensors, and the like. Continuing with the filter example, the status information 108 may include, as some non-limiting examples: water filtered over the life of the portable device 104, the ambient temperature of the portable device 104, water filtered during the current filtration session of the portable device 104, gallons filtered by the filter media installed in the portable device 104, water pressure within the portable device 104, and the operating mode and status of the portable device 104 (e.g., filtering, standby, full, empty, etc.). The portable device 104 may also provide a filter media life system that indicates when the filter media needs to be replaced, for example, rather than when a timer expires, regardless of usage.
[0029] The portable device 104 can also utilize sensors 106 to identify characteristics of the environment surrounding the portable device 104. These characteristics can be used to assist in diagnostics and troubleshooting and / or provide alerts. In the filtration example, this can include providing an alert if the filter media of the portable device 104 becomes clogged or no longer receives water to be filtered. For example, the sensor 106 can be used to indicate that the air inlet is no longer submerged or clogged.
[0030] The mobile device 112 can be any of various types of portable computing devices that are brought into the vehicle 102 and have processing and communication capabilities, such as a cellular phone, tablet computer, smartwatch, laptop computer, portable music player, key fob, or other such device. The mobile device 112 can include one or more processors configured to execute computer instructions, as well as a storage medium on which the computer-executable instructions and / or data can be maintained. A mobile control application 114 can be installed on the mobile device 112 to allow the mobile device 112 to interact with various aspects of the portable device 104. Other aspects of the operation of the mobile control application 114 are discussed in detail herein.
[0031] As some non-limiting examples, the wide area network 116 may include one or more interconnected communication networks such as the Internet, a cable television distribution network, a satellite link network, a local area network, and a telephone network. The wide area network 116 may facilitate data communication via data connections 118 between the vehicle 102, the portable device 104, and the mobile device 112 of the system 100. These data connections 118 are Figure 1 is shown as a lightning symbol.
[0032] The portable device 104 may also be configured to broadcast connectionless information via a local network broadcast 120 (such as BLE or another connectionless broadcast protocol). Figure 1 Compared to the data connection 118 , the local network broadcast 120 can be received by the vehicle 102 and / or the mobile device 112 without the overhead of pairing or otherwise establishing the data connection 118 .
[0033] Figure 2 An example arrangement 200 is shown of a mobile device 112 receiving a local network broadcast 120 from a portable device 104. As shown, the local network broadcast 120 can be received directly to the mobile device 112 without requiring an intermediary device. The local network broadcast 120 can include aspects of the state information 108. This can allow the mobile device 112 to receive state information from the portable device 104 without having to establish and maintain a data connection 118 with the portable device 104.
[0034] Figure 3 An example arrangement 300 of a vehicle 102 is shown receiving a local network broadcast 120 from a portable device 104. As shown, the local network broadcast 120 can be received by the vehicle 102. Here, too, the local network broadcast 120 can include aspects of the status information 108. Additionally, the mobile device 112 can communicate with the vehicle 102 via the data connection 118 to receive the status information 108.
[0035] The vehicle 102 can be configured to receive status information 108 via a local network broadcast 120. In an example, a cyclic series of BLE advertising packets can be received by the radio of the vehicle 102 without being paired with the radio. The vehicle 102 can collect and manage the life cycle of the status information 108 received in the local network broadcast 120.
[0036] Figure 4 An example diagram of a cyclic series 400 of local network broadcasts 120 is shown. Each packet of the local network broadcast 120 may include defined information fields, including a device identifier 402 and a manufacturer-specific sequence 404. The manufacturer-specific sequence 404 may include three items: a field identifier 406, a sequence identifier 408, and a data element 410. As shown, the cyclic series 400 includes a status flag for the portable device 104, a temperature measured by the portable device 104, a long message spanning multiple field identifiers 406 (two in this example), and an epoch time indicating when the data element 410 was sent. It should be noted that this is merely an example, and more, fewer, or differently arranged information fields may be broadcast.
[0037] The device identifier 402 may be an element that serves as an identifier for the transmitting device (e.g., the portable device 104), such as a serial number or device name (if unique). If more than one transmitter is nearby, the device identifier 402 may indicate to the receiving device (e.g., the vehicle 102) which specific transmitter is transmitting the data.
[0038] Field identifier 406 can be a series of bits that encodes the numeric index of the value being transmitted. In the event that the value being transmitted is larger than can fit into a single packet, a continuous series of field identifiers 406 (e.g., a subsequence of bits) can be used to indicate subsequent segments of data elements 410.
[0039] Sequence identifier 408 may be included in a multi-packet message. Sequence identifier 408 may have the same value for each packet in the multi-packet message and then subsequently change. Thus, data element 410 may be considered received only when each of the packets with the same sequence identifier 408 is received. This prevents incomplete data sequences from being combined into incorrect values. Embodiments may also apply this to all messages in the current rotation cycle if the messages are intended to be received as a set.
[0040] The data element 410 may be a series of bytes that takes up the rest of the space in the packet.The data element 410 may have any format and may include the contents of each field identifier 406 in a format shared by the sender and receiver.
[0041] The transmitter may send each packet in the order of its field identifier 406 (so that the multi-packet message components arrive in order). The receiver may decode the device identifier 402 upon receiving the packet to determine whether the receiver wants to receive messages from that transmitter. The receiver may then use the field identifier 406 to index the data in the packet into memory in the information cache 124 to indicate which data element 410 is currently being received.
[0042] The information cache 124 is cached to protect against lost packets or poor reception. A given field is updated to the receiver only when all associated elements required for data integrity have been successfully received. For example, if a single-packet field (such as an integer) does not depend on other fields arriving at the same time, it can be updated after it is received. A multi-packet field (such as a text string) can only be updated after all its components have been received and if they have the same sequence identifier 408. This prevents data of different time periods from being merged into an incorrect value.
[0043] Return Reference Figure 1, the vehicle 102 can maintain an information cache 124 of the state information 108 received via the cyclic series 400 of packets. The information cache 124 can, for example, include a snapshot of the most recent set of information received via a complete cycle of the local network broadcast 120. The mobile device 112 can access the vehicle 102 to access the latest data in the local network broadcast 120 advertisement packets stored in the information cache 124. Thus, the vehicle 102 can act as a hub for information about the portable device 104.
[0044] Figure 5 An example 500 of an information cache 124 is shown. As shown, two example portable devices 104 (including Figure 4 The portable device 104 shown in FIG4 maintains cached state information 108. The state information 108 is indexed by device identifier 402, for example, to allow querying the mobile device 112 for portable devices 104 of interest.
[0045] The cloud server 122 may also be configured to maintain various information and services for use by the vehicle 102 and the mobile device 112. In an example, the cloud server 122 may additionally or alternatively maintain a cache 124 of information received from the vehicle 102, such as via the wide area network 116 from which the vehicle 102 receives the local network broadcast 120 from the portable device 104.
[0046] Figure 6 An example diagram 600 of a vehicle 102 operating as a hub in response to a received request 602 is shown. As shown, the request 602 is received by the vehicle 102 via the data connection 118 between the mobile device 112 and the vehicle 102. In the example, the request 602 may specify the device identifier 402 for which the mobile device 112 desires the latest available state information 108. The vehicle 102 receiving the request 602 may access the information cache 124 to locate the state information 108 corresponding to the device identifier 402. The information may then be provided to the mobile device 112 in a response 604 to the request 602. Thus, the vehicle 102 may be able to provide information to the mobile device 112 without requiring the vehicle 102 or the mobile device 112 to maintain the data connection 118 with the portable device 104.
[0047] Figure 7An example diagram 700 is shown of a vehicle 102 operating as a hub in response to a received command 702. As with the request 602, the command 702 is received to the vehicle 102 via the data connection 118 between the mobile device 112 and the vehicle 102. In the example, the command 702 may specify the device identifier 402 for the mobile device 112 to which the command is desired, as well as new device settings for the portable device 104. For example, the command 702 may be sent by the mobile device 112 to turn the portable device 104 on or off.
[0048] In response to receiving the command 702, the vehicle 102 can instantiate a data connection 118 with the desired portable device 104. Notably, the local network broadcast 120 is one-way, and therefore the vehicle 102 cannot send data to the portable device 104 via the local network broadcast 120. However, once the data connection 118 with the portable device 104 is established, the vehicle 102 can forward the command 702 to the portable device 104. It should be noted that in many examples, the portable device 104 may not need to send a response to the command 702. Instead, the vehicle 102 can capture the most recent series 400 of loops of the local network broadcast 120 to determine whether the command 702 has been executed.
[0049] Variations of diagram 700 are possible. In other examples, portable device 104 may receive a no-connect command from vehicle 102 , for example, via local network broadcast 120 transmitted by vehicle 102 , without forming data connection 118 as shown.
[0050] Figure 8 An example process 800 is shown for using the vehicle 102 as a hub implementing a one-way wireless communication protocol to maintain the information cache 124. In an example, the process 800 may be performed by the vehicle 102 in the context of the system 100.
[0051] At operation 802, the vehicle 102 receives one or more packets of a cyclic series 400 of status information 108 via a local network broadcast 120. The local network broadcast 120 is sent by the portable device 104 via a connectionless broadcast protocol, wherein each of the plurality of packets may include a device identifier 402 of the portable device 104, a field identifier 406 of the status information 108 being sent, and a data element 410 indicating the value of the status information 108 for the field identifier 406. The cyclic series 400 may be periodically sent by the portable device 104 to allow the vehicle 102 to be notified of the latest status information 108 from the portable device 104 without the vehicle 102 having to form a data connection 118 with the portable device 104. Figure 4 An example of a cycle series 400 is shown in FIG.
[0052] At operation 804, the vehicle 102 updates the information cache 124. In an example, in response to receiving the cyclic series 400 of packets, the vehicle 102 can decode the device identifier 402 in each of the packets to determine whether the vehicle 102 wants to receive a message from the portable device 104. The vehicle 102 can then index data into memory in the device identifier 402 information cache 124 using the field identifier 406 to indicate which data element 410 is currently being received. Figure 5 An example of the information cache 124 is shown in .
[0053] In some examples, the plurality of packets includes a long message spanning the plurality of packets of the cyclic series 400, each of the plurality of packets including a sequence identifier 408 having the same value for each of the plurality of packets. In such an example, the vehicle 102 can update the state information 108 to include the data element 410 of the long message in response to receiving each of the plurality of packets having the same sequence identifier 408.
[0054] At operation 806, the vehicle 102 receives the request 602 for the status information 108. In an example, the mobile device 112 may establish a data connection 118 between the mobile device 112 and the vehicle 102. The mobile device 112 may then send the request 602 over the data connection 118, specifying the device identifier 402 for which the mobile device 112 desires the latest available status information 108. The vehicle 102 may, in response, receive the request 602 over the data connection 118.
[0055] At operation 808 , the vehicle 102 accesses the information cache 124 . In response to the request 602 received at operation 806 , the vehicle 102 may access the information cache 124 to locate the state information 108 corresponding to the device identifier 402 .
[0056] At operation 810, the vehicle 102 sends a response 604 to the request 602. The response 604 may include the state information 108 retrieved from the information cache 124 and may be sent back to the mobile device 112 via the data connection 118. Thus, the vehicle 102 may be able to provide information to the mobile device 112 without requiring the vehicle 102 or the mobile device 112 to maintain the data connection 118 with the portable device 104. After operation 810, the process 800 ends.
[0057] Figure 9 An example process 900 is shown for controlling a portable device 104 from a vehicle 102 operating as a hub. As with process 800, process 900 can be performed by vehicle 102 in the context of system 100.
[0058] At operation 902, the vehicle 102 receives the command 702. In an example, the mobile device 112 may establish a data connection 118 between the mobile device 112 and the vehicle 102. Alternatively, the mobile device 112 may have previously established a data connection 118 with the vehicle 102, for example, to send the request 602 for status information 108 and / or to send the command 702. The command 702 may specify the device identifier 402 with which the mobile device 112 desires to interact, as well as a specific operation to be performed by the portable device 104. In one example, the command 702 may request to toggle the status of whether the portable device 104 is currently filtering water. The vehicle 102 may receive the command 702 via the data connection 118.
[0059] At operation 904, the vehicle 102 sends the command 702 to the portable device 104. In the example, the vehicle 102 may instantiate a data connection 118 with the desired portable device 104. Once the data connection 118 with the portable device 104 is established, the vehicle 102 may forward the command 702 to the portable device 104. At operation 904, the process 900 ends.
[0060] Thus, the disclosed method provides a solution for sending user-configurable data where each data item being transmitted has a field identifier 406 and a device identifier 402 that requires minimal software overhead compared to methods based on the data connection 118 .
[0061] Thus, the disclosed method is easy to use for the consumer because no physical setup is required for the portable device 104 or other device to begin communicating. Selecting which portable devices 104 or other devices the user wishes to receive from is as simple as selecting based on the device identifier 402. Thus, this replaces the physical pairing procedure with the selected subscribing transmitter.
[0062] A receiver (in many examples, the vehicle 102 , but other types of receivers may be used, such as a mobile device 112 ) will easily work with multiple transmitters (e.g., the portable device 104 , but other types of devices may be used) and can switch between any or all of them at any time.
[0063] In addition, the disclosed method is robust to poor signal conditions. Packets are sent in a rolling sequence of cyclic series 400, so if a packet is lost, the receiver only has to wait a short time to receive its next copy. No reply is required, so it doesn't matter if the sender doesn't hear back from the receiver.
[0064] Furthermore, high simultaneous communication limits are possible. Many Bluetooth LE devices can transmit simultaneously, with no limit on the number of receivers. A given receiver can choose to receive messages from one, several, or all active transmitters simultaneously.
[0065] Figure 10 An example 1000 of a computing device 1002 is shown for use in using a vehicle 102 as a hub for using a portable device 104. Figure 10 And refer to Figures 1 to 9 , vehicle 102, portable device 104, mobile device 112, cloud server 122, etc. may include examples of such computing devices 1002. As shown, computing device 1002 may include a processor 1004 operatively connected to a storage device 1006, a network device 1008, an output device 1010, and an input device 1012. It should be noted that this is merely an example, and computing devices 1002 having more, fewer, or different components may be used.
[0066] The processor 1004 may include one or more integrated circuits that implement the functionality of a central processing unit (CPU) and / or a graphics processing unit (GPU). In some examples, the processor 1004 is a system on a chip (SoC) that integrates the functionality of a CPU and a GPU. The SoC may optionally include other components (such as a storage device 1006 and a network device 1008) into a single integrated device. In other examples, the CPU and GPU are connected to each other via a peripheral connection device (such as a peripheral component interconnect (PCI) express) or another suitable peripheral data connection. In one example, the CPU is a commercially available central processing unit that implements an instruction set such as one of the x86, ARM, Power, or Microprocessor without Interlocked Pipeline Stages (MIPS) instruction set families.
[0067] Regardless of the details, during operation, the processor 1004 executes stored program instructions retrieved from the storage device 1006. The stored program instructions accordingly include software that controls the operation of the processor 1004 to perform the operations described herein, such as those of the mobile control application 114. The storage device 1006 may include both non-volatile memory devices and volatile memory devices. Non-volatile memory includes solid-state memory, such as NAND flash memory, magnetic storage media, and optical storage media, or any other suitable data storage device that retains data when the system is disabled or loses power. Volatile memory includes static and dynamic random access memory (RAM), which stores program instructions and data during operation of the system 100.
[0068] The GPU may include hardware and software for displaying at least two-dimensional (2D) and optionally three-dimensional (3D) graphics to an output device 1010. The output device 1010 may include a graphics or visual display device, such as an electronic display screen, a projector, a printer, or any other suitable device for reproducing a graphical display. As another example, the output device 1010 may include an audio device, such as a speaker or headphones. As another example, the output device 1010 may include a tactile device, such as a mechanically elevable device, which in one example may be configured to display Braille or another physical output that can be touched to provide information to the user.
[0069] Input device 1012 may include any of a variety of devices that enable computing device 1002 to receive control input from a user. Examples of suitable input devices that receive human interface input may include a keyboard, mouse, trackball, touch screen, voice input device, graphics tablet, etc.
[0070] The network devices 1008 may each include any of a variety of devices that enable the vehicle 102, the portable device 104, the mobile device 112, and / or the cloud server 122 to send and / or receive data from an external device over a network, such as the wide area network 116. Examples of suitable network devices 1008 include an Ethernet interface, a Wi-Fi transceiver, a cellular transceiver, a satellite transceiver, a V2X transceiver, a Bluetooth or BLE transceiver, or other network adapters or peripheral interconnect devices that receive data from another computer or external data storage device, which may be useful for receiving large amounts of data in an efficient manner.
[0071] Although exemplary embodiments have been described above, these embodiments are not intended to describe all possible forms covered by the claims. The words used in the specification are descriptive rather than limiting, and it should be understood that various changes can be made without departing from the spirit and scope of the present disclosure. As previously described, the features of the various embodiments can be combined to form other embodiments of the present disclosure that may not be explicitly described or shown. Although various embodiments may have been described as providing advantages or being superior to other embodiments or prior art implementations with respect to one or more desired characteristics, it should be recognized by those skilled in the art that one or more features or characteristics may be compromised to achieve the desired overall system properties, depending on the specific application and implementation. These properties may include, but are not limited to, strength, durability, life cycle, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, etc. For this reason, to the extent that any embodiment is described as less than ideal than other embodiments or prior art implementations with respect to one or more characteristics, these embodiments are not outside the scope of the present disclosure and may be desirable for a particular application.
[0072] Although exemplary embodiments have been described above, these embodiments are not intended to describe all possible forms of the present invention. Rather, the terms used in the specification are descriptive rather than restrictive, and it should be understood that various changes may be made without departing from the spirit and scope of the present invention. In addition, the features of the various implemented embodiments may be combined to form additional embodiments of the present invention.
[0073] According to the present invention, a method of using a vehicle as a communication hub for communicating with a portable device includes: receiving by the vehicle a cyclic series of multiple packets of status information sent from the portable device via a local network broadcast, the local network broadcast being sent via a connectionless broadcast protocol, each of the multiple packets including a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating the value of the status information for the field identifier; updating an information cache to include the status information; receiving a request for the status information from a mobile device via a data connection, the request including the device identifier; and sending the requested status information to the mobile device, the status information being retrieved from the information cache based on the device identifier.
[0074] In one aspect of the invention, the request is received from the mobile device over a wide area network.
[0075] In one aspect of the invention, the plurality of packets comprises a long message spanning a plurality of packets of the cyclic series, each of the plurality of packets comprising a sequence identifier having the same value for each of the plurality of packets, and further comprising: in response to receiving each of the plurality of packets having the same sequence identifier, updating the information cache to include the data elements of the long message.
[0076] In one aspect of the invention, one of the packets of the cyclic series includes an epoch time indicating a time at which the data element was transmitted.
[0077] In one aspect of the invention, the grouping of the cycle series includes the ambient temperature of the portable device and a status indicator of the portable device, the status indicator including whether the portable device is operating, the amount of water being filtered, the number of hours the portable device has been operating and / or the filter life of the portable device.
[0078] In one aspect of the invention, the method includes: forming a data collection between the vehicle and the portable device; and sending a command to the portable device via the data connection.
[0079] In one aspect of the invention, the portable device is a filter, one of the groupings of the cycle series includes a status flag of the filter, the status flag indicating whether the filter is currently filtering water, and wherein the command switches the status of whether the filter is currently filtering water.
[0080] In one aspect of the present invention, the method includes: receiving a second plurality of packets of the cyclic series of status information sent from the filter via the local network broadcast, receiving the second plurality of packets after a command is sent to the filter; updating the information cache to include the status information from the second plurality of packets; and determining whether the command is successful based on the second plurality of packets.
[0081] In one aspect of the invention, the portable device is an air compressor, and the grouping of the cycle series includes one or more of an air pressure of the air compressor or a tire pressure of a tire connected to the air compressor.
[0082] According to the present invention, a system for implementing a hub for communicating with a portable device is provided, comprising: one or more computing devices, wherein the one or more computing devices are configured to: receive a cyclic series of multiple packets of status information sent from a portable device via a local network broadcast, wherein the local network broadcast is sent via a connectionless broadcast protocol, each of the multiple packets including a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating a value of the status information for the field identifier; update an information cache to include the status information; receive a request for the status information from a mobile device via a data connection, wherein the request includes the device identifier; and send the requested status information to the mobile device, wherein the status information is retrieved from the information cache based on the device identifier.
[0083] According to an embodiment, the request is received from the mobile device over a wide area network.
[0084] According to an embodiment, the plurality of packets include a long message spanning a plurality of packets of the cyclic series, each of the plurality of packets including a sequence identifier having the same value for each of the plurality of packets, and further comprising: in response to receiving each of the plurality of packets having the same sequence identifier, updating the state information to include the data elements of the long message.
[0085] According to an embodiment, one of the packets of said cyclic series comprises an epoch time indicating a time at which said data element was sent.
[0086] According to an embodiment, one of the groupings of the cycle series includes the ambient temperature of the portable device, and the status indicator of the portable device includes whether the portable device is operating, the amount of water being filtered, the number of hours the portable device has been operating and / or the filter life of the portable device.
[0087] According to an embodiment, the one or more computing devices are further configured to: form a data collection between the one or more computing devices and the portable device; and send a command to the portable device through the data connection.
[0088] According to an embodiment, the portable device is a filter, one of the groups of the cycle series comprises a status flag indicating whether the filter is currently filtering water, and wherein the command toggles the status of whether the filter is currently filtering water.
[0089] According to an embodiment, the one or more computing devices are further configured to: receive a second plurality of packets of the cyclic series of filter information sent from the filter via the local network broadcast, receiving the second plurality of packets after the command is sent to the filter; update the information cache to include the filter information from the second plurality of packets; and determine whether the command is successful based on the second plurality of packets.
[0090] According to the present invention, a non-transitory computer-readable medium is provided, which has instructions for implementing a hub for communicating with a portable device, and the instructions, when executed by one or more computing devices, cause the one or more computing devices to perform the following operations, including: receiving a cyclic series of multiple packets of status information sent from a portable device via a local network broadcast, the local network broadcast being sent via a connectionless broadcast protocol, each of the multiple packets including a device identifier of the portable device, a field identifier of the status information being sent, and a data element indicating the value of the status information for the field identifier; updating an information cache to include the status information; receiving a request for the status information from a mobile device via a data connection, the request including the device identifier; and sending the requested status information to the mobile device, the status information being retrieved from the information cache based on the device identifier.
[0091] According to an embodiment, the plurality of packets include a long message spanning a plurality of packets of the cyclic series, each of the plurality of packets including a sequence identifier having the same value for each of the plurality of packets, and further comprising: in response to receiving each of the plurality of packets having the same sequence identifier, updating the state information to include the data elements of the long message.
[0092] According to an embodiment, the present invention is also characterized by instructions, which, when executed by the one or more computing devices, cause the one or more computing devices to perform the following operations, including: forming a data set between the one or more computing devices and the portable device; and sending commands to the portable device through the data connection.
[0093] According to an embodiment, the present invention is also characterized by instructions, which, when executed by the one or more computing devices, cause the one or more computing devices to perform the following operations, including: receiving a second plurality of packets of the cyclic series of status information sent from the portable device via the local network broadcast, receiving the second plurality of packets after the command is sent to the portable device; updating the information cache to include the status information from the second plurality of packets; and determining whether the command is successful based on the second plurality of packets.
Claims
1. A method of using a vehicle as a communication hub for communicating with a portable device, comprising: receiving, by the vehicle, a cyclic series of a plurality of packets of status information transmitted from a portable device via a local network broadcast, the local network broadcast being transmitted via a connectionless broadcast protocol, each of the plurality of packets including a device identifier of the portable device, a field identifier of the status information being transmitted, and a data element indicating a value of the status information for the field identifier; updating an information cache to include the state information; receiving a request for the status information from a mobile device over a data connection, the request including the device identifier; as well as The requested state information is sent to the mobile device, the state information being retrieved from the information cache based on the device identifier. The method of claim 1 , wherein the request is received from the mobile device over a wide area network.
3. The method of claim 1 , wherein the plurality of packets comprises a long message spanning a plurality of packets of the cyclic series, each of the plurality of packets comprising a sequence identifier, the sequence identifier having the same value for each of the plurality of packets, and the method further comprising: The information cache is updated to include the data elements of the long message in response to receiving each of the plurality of packets having the same sequence identifier.
4. The method of claim 1, wherein one of the packets of the cyclic series includes an epoch time indicating a time at which the data element was sent.
5. The method of claim 1 , wherein the grouping of the cycle series includes the ambient temperature of the portable device, and the status indicia of the portable device includes whether the portable device is operating, the amount of water being filtered, the number of hours the portable device has been operating, and / or the filter life of the portable device.
6. The method of claim 1, further comprising: forming a data collection between the vehicle and the portable device; as well as Commands are sent to the portable device via the data connection.
7. The method of claim 6 , wherein the portable device is a filter, one of the groupings in the cycle series includes a status flag for the filter, the status flag indicating whether the filter is currently filtering water, and wherein the command toggles the status of whether the filter is currently filtering water.
8. The method of claim 7, further comprising: receiving a second plurality of packets of the cyclic series of status information sent from the filter via the local network broadcast, the second plurality of packets being received after the command is sent to the filter; updating the information cache to include the state information from the second plurality of packets; as well as A determination is made whether the command was successful based on the second plurality of packets.
9. The method of claim 1, wherein the portable device is an air compressor, and the grouping of the cycle series includes one or more of an air pressure of the air compressor or a tire pressure of a tire connected to the air compressor.
10. A system implementing a hub for communicating with a portable device, comprising: One or more computing devices, the one or more computing devices being configured to: receiving a cyclic series of a plurality of packets of status information transmitted from a portable device via a local network broadcast, the local network broadcast being transmitted via a connectionless broadcast protocol, each of the plurality of packets including a device identifier of the portable device, a field identifier of the status information being transmitted, and a data element indicating a value of the status information for the field identifier; updating an information cache to include the state information; receiving a request for the status information from a mobile device over a data connection, the request including the device identifier; as well as The requested state information is sent to the mobile device, the state information being retrieved from the information cache based on the device identifier.
11. The system of claim 10, wherein the request is received from the mobile device over a wide area network.
12. The system of claim 10 , wherein the plurality of packets comprises a long message spanning a plurality of packets of the cyclic series, each of the plurality of packets comprises a sequence identifier, the sequence identifier having the same value for each of the plurality of packets, and the method further comprising: The state information is updated to include the data elements of the long message in response to receiving each of the plurality of packets having the same sequence identifier.
13. The system of claim 10, wherein one or more of the following: One of the packets of the cyclic series includes an epoch time indicating a time at which the data element was sent; or One of the groupings of the cycle series includes the ambient temperature of the portable device, and the status indicia of the portable device includes whether the portable device is operating, the amount of water being filtered, the number of hours the portable device has been operating, and / or the filter life of the portable device.
14. The system of claim 10, wherein the one or more computing devices are further configured to: forming a data collection between the one or more computing devices and the portable device; and sending a command to the portable device via the data connection, Wherein the portable device is a filter, one of the groupings of the cycle series includes a status flag indicating whether the filter is currently filtering water, and wherein the command toggles the status of whether the filter is currently filtering water.
15. The system of claim 14, wherein the one or more computing devices are further configured to: receiving a second plurality of packets of the cyclic series of filter information sent from the filter via the local network broadcast, the second plurality of packets being received after the command is sent to the filter; updating the information cache to include the filter information from the second plurality of packets; as well as A determination is made whether the command was successful based on the second plurality of packets.