Patent ID: 12196871

DETAILED DESCRIPTION

FIG.1Aillustrates a beacon transmitter100for location reporting according to embodiments of the technology. The beacon transmitter100, also referred to as a transmitting device, includes a battery110(also referred to as a power source), a controller125, a power block130, a wireless transceiver140, an input/output (I/O) port145, a memory160, user input155, sensors170, and a user output175. As described in further detail below, the beacon transmitter repeatedly transmits, via the wireless transceiver140, a first beacon signal and a second advertising beacon signal according to a transmission pattern, which, in some embodiments, enables power-efficient location tracking of the beacon transmitter100and objects to which it is attached.

The battery110provides direct current (DC) power to the power block130. The battery110includes a housing within which is one or more battery cells, such as lithium ion (“Li-ion”) cells, Nickel-Cadmium (“Ni-Cad”) cells, or cells of another chemistry type. In some embodiments, the battery110is a coin cell battery. In some embodiments, the beacon transmitter100includes another power source in addition to the battery110or in place of the battery110, such as a circuit for connection to alternating current power (e.g., including a rectifier), photovoltaic cells and related circuitry for solar-based power generation, a wind-based power generator, or a kinetic energy power generator.

The power block130is coupled to the battery110via the terminals (not shown) of the battery110and matching terminals (not shown) of the power block130. The power block130provides DC power to components of the beacon transmitter100. The power block130may include power regulating and conversion circuitry to ensure that the power provided to various components of the beacon transmitter100is at the appropriate level(s).

The controller125is further coupled to the wireless transceiver140and the input/output (I/O) port145. As will be described in greater detail below, the power block130, wireless transceiver140, and I/O port145enable the beacon transmitter100to communicate with external devices and may be collectively referred to as a physical interface.

The controller125, which may be an electronic processor, is in communication with the memory160. In some embodiments, the memory160stores and provides to the controller125for transmission the data making up the first beacon signal and the second advertising beacon signal, which are described in further detail below. The memory160further includes, among other elements, instructions that are executed by the controller125to control the functions of the beacon transmitter100described herein. Although the instructions are described as software stored in memory160and executed by the controller125, the instructions may be implemented in part or wholly in hardware of the controller125or outside of the controller125. For example, the instructions may be implemented by one or more separate digital signal processors (DSPs) or general purpose processors executing the instructions, or by one or more field programmable gate arrays (FPGAs) or application specific integrated circuits (ASICs). Although the memory160is shown as a singular unit, the memory160may be made up of various memories individually coupled to the controller125or coupled to the controller125via a bus. Additionally, portions of the memory160may be embedded within the controller125. For instance, parameters such as a status of battery110may be stored within a memory of the controller125. The data stored in the memory160described herein may be provided from an external computing device via the wireless transceiver140or I/O port145and stored in the memory160by the controller125.

The user input155and sensors170include one or more of buttons, microphones, accelerometers, temperature sensors, humidity sensors, and light sensors capable of detecting external stimuli from the environment or the user. The user output175includes one or more of LEDs, a speaker, a vibrating element, etc., to inform the user of the status of the beacon transmitter100. For example, when an error occurs, such as low battery power, the beacon transmitter100may output an audible alert, an LED may flash, and/or the vibrating element may provide tactile feedback to the user. The user output175may be controlled by output signals from the controller125.

The controller125is further coupled to the wireless transceiver140and the I/O port145. As described in further detail below, the controller125may transmit wireless communications via the wireless transceiver140and may receive wireless communications via the wireless transceiver140. The I/O port145may include a wired connection for the beacon transmitter100to enable, for example, programming of the beacon transmitter100or data export from the beacon transmitter100. In some embodiments, the wireless transceiver140is configured to transmit and receive the wireless communications in accordance with Bluetooth and/or Bluetooth low energy (“BLE”) protocols, or other short-range wireless protocols. In some embodiments, additionally or alternatively, the wireless transceiver140is configured to communicate via cellular communications (e.g. 3G, 4G, 5G, LTE, CDMA, etc.), or other applicable communication protocols. In some embodiments, the wireless transceiver140is also configured to receive positional data, such as satellite positional data (e.g., GPS). In some embodiments, the cellular and/or positional data may only be available where the beacon transmitter100is integrated into another device, such as a power tool as described below, where there is additional power available, such as via the power tool battery pack.

FIG.1Billustrates an embodiment of the beacon transmitter100including a housing180with mounting holes182. The various components of the beacon transmitter100illustrated inFIG.1Aare located within and supported by the housing180. The mounting holes182are configured to receive fasteners (e.g., screws) to secure the beacon transmitter100to an object to be tracked. Other securing elements are used in some embodiments, such as an adhesive pad on the back of the housing180(not shown). In some embodiments, the beacon transmitter100includes a housing having one or more of a different shape, differently positioned mounting holes, and different elements for mounting to objects.

FIG.2depicts an object location tracking system200including the beacon transmitter100attached to an object210, illustrated as a ladder. In some embodiments, the beacon transmitter100is secured to the object210using an adhesive, hook and loop fasteners, or the like, rather than via fasteners through the mounting holes182. The beacon transmitter100communicates via wireless signals202(e.g., Bluetooth™ low energy transmissions) with a personal wireless device204configured to receive such signals. The personal wireless device204(also referred to as a receiving device) may be, for example, a mobile smart phone, laptop computer, desktop computer, personal digital assistant (PDA), or other receiving device. Personal wireless device204communicates via a network206with a location server208. Example computer systems that may implement personal wireless device and location server208are discussed below with respect toFIG.4. The network206may include one more of a local area network (LAN), wide area network (WAN) (e.g., the Internet), a cellular network, or other networks.

In some embodiments, the beacon transmitter100is integrated within an object to be tracked. For example, with respect toFIGS.3A-3B, the beacon transmitter100is integrated into a power tool300, which is described in further detail below.

As described in further detail below, the personal wireless device204receives beacon data from the beacon transmitter100via the wireless signals202. The beacon data may include one or more of a transmitter identifier, a user identifier, user contact information, timestamp, state of charge of the battery110, an object identifier (identifying the object210), and other status information. In turn, the personal wireless device204(a) logs the beacon data locally on a memory of the personal wireless device204, (b) sends tracking data, based on the beacon data, to the location server208for logging, or (c) both logs the beacon data and sends the tracking data.

The location server208includes a tracking database212. A tracking application may be executed by a processor of the location server208to receive tracking data from the personal wireless device204, update the tracking database212, and to receive and respond to database queries for the tracking database212. The tracking database212stores tracking data for the beacon transmitter100including one or more of a transmitter identifier, a user identifier (e.g., an owner of the beacon transmitter100), user contact information, timestamp, last known location, state of charge of the battery110, other status information, personal wireless device identifier (e.g., identifying the most recent personal wireless device204that received communications from the beacon transmitter and communicated to the location server208), and location history (e.g., including previous known locations, timestamps, and personal wireless device identifiers). The tracking database212also stores a lost/not-lost indication (e.g., a flag) that indicates, based on a value of the indicator, whether the beacon transmitter100is considered “lost” or “not lost.”

Although a single beacon transmitter100is illustrated inFIG.2, in some embodiments, the system200includes a plurality of beacon transmitters100, each used to track a different object. Similarly, although a single personal wireless device204is illustrated inFIG.2, in some embodiments, the system200includes a plurality of personal wireless devices204that may each receive wireless signals202from one or more of the personal wireless devices204and that may each communicate with the location server208over the network206or another network. Accordingly, the tracking database212stores and updates tracking data for each beacon transmitter100in the system200based on communications from the one or more personal wireless devices204.

Although the location server208is illustrated as a singular unit, the location server208may be made up of various servers located together or remotely and coupled via one or more networks. Similarly, the tracking database212may be a single database or made up of various databases in communication with one another.

Although the object210is illustrated inFIG.2as being a ladder, the beacon transmitter100may be mounted on various other objects including other types of tools and accessories. For example, the beacon transmitter100may be mounted on and used with hand tools, power tools, test and measurement equipment, battery packs, vacuum cleaners, work site radios, outdoor power equipment, and vehicles. Other tools on which versions of the beacon transmitter100may be mounted include drills, circular saws, jig saws, band saws, reciprocating saws, screw drivers, angle grinders, straight grinders, hammers, multi-tools, impact wrenches, rotary hammers, impact drivers, angle drills, pipe cutters, grease guns, and the like. Test and measurement equipment can include digital multimeters, clamp meters, fork meters, wall scanners, IR thermometers, laser distance meters, laser levels, remote displays, insulation testers, moisture meters, thermal imagers, inspection cameras, and the like. Vacuum cleaners can include stick vacuums, hand vacuums, upright vacuums, carpet cleaners, hard surface cleaners, canister vacuums, broom vacuums, and the like. Outdoor power equipment can include blowers, chain saws, edgers, hedge trimmers, lawn mowers, trimmers, and the like. Other tools on which versions of the transmitter may be mounted include devices such as electronic key boxes, calculators, cellular phones, head phones, cameras, motion sensing alarms, flashlights, worklights, weather information display devices, a portable power source, a digital camera, a digital music player, a radio, and multi-purpose cutters.

FIGS.3A-Billustrate a power tool300incorporating the beacon transmitter100described above. The power tool300includes a power tool battery pack or other power tool power supply302, a tool controller304, a tool motor306, and a tool output component308. The power tool power supply302may include a circuit for connection to alternating current power, may include power generation components, such as a wind or solar generator, or may be a battery pack that may include one or more battery cells (e.g., lithium-ion cells) within a housing that includes contacts and an attachment mechanism for selectively securing and removing the power tool battery pack to the power tool300. The tool controller304is coupled to and powered by the power tool power supply302and controls the tool motor306to drive the tool output component308. The tool output component308may be, for example, a drill chuck, as illustrated inFIG.3B. The tool controller304may control the tool motor306based on user input received via user input component310, which may be, for example, a trigger, as illustrated inFIG.3B. The power tool300may further include a tool housing312(FIG.3B) that houses the tool controller304, the tool motor306, and the beacon transmitter100.

The beacon transmitter100may be coupled to the tool controller304and the power tool power supply302. For example, the beacon transmitter100may be powered by the power tool power supply302when present, and by the battery110of the beacon transmitter100when the power tool power supply302is not coupled to the power tool300. Additionally, the beacon transmitter100may communicate with the tool controller304to, for example, (i) obtain tool usage data stored on a memory of the tool controller304(e.g., obtained by sensors of the power tool300) to send to the personal wireless device204and/or (ii) provide tool configuration data (e.g., that is sent to the tool controller304for storage on a memory thereof) received from the personal wireless device204. The beacon transmitter100, when incorporated into the power tool300, may store within the memory160(seeFIG.1) identifying information for the power tool300, such as a product identifier (e.g., identifying the type of power tool) and a serial number (e.g., uniquely identifying the particular instance of the power tool). This identifying information of the power tool300may also be provided by the beacon transmitter100as part of the beacon data transmitted with the second advertising beacon signal, described below.

The power tool300, as illustrated inFIG.3B, is a hammer drill/driver. However, the power tool300is merely an example, and other power tools may have the beacon transmitter100incorporated therein. Additionally, other devices may have the beacon transmitter100incorporated therein, such as test and measurement equipment, battery packs (e.g., the power tool power supply302), vacuum cleaners, work site radios, work site lights, outdoor power equipment, and vehicles. Such an incorporated beacon transmitter100may be powered by a battery of the device in which the beacon transmitter100is incorporated, similar to that which is described with respect to the power tool300.

Further, in some embodiments, the beacon transmitter100is incorporated into a repeater device that receives other beacon signals (e.g., similar to the beacon signals emitted by the beacon transmitter100) and repeats (i.e., transmits) those beacon signals using beaconing techniques as described herein.

Embodiments of location logging module and/or of the various location logging methods and techniques as described herein may be executed on one or more computer systems, which may interact with various other devices. One such computer system400is illustrated inFIG.4. In different embodiments, computer system400may be any of various types of devices, including, but not limited to, a personal computer system, desktop computer, laptop, notebook, or netbook computer, mainframe computer system, handheld computer, mobile telephone, workstation, network computer, a camera, a set top box, a mobile device, a consumer device, video game console, handheld video game device, application server, storage device, a peripheral device such as a switch, modem, router, or another type of computing or electronic device. The computer system400is an example of a computer system that may be configured to implement the location server208, and of a computer system that may be configured to implement the personal wireless device204.

In the illustrated embodiment, the computer system400includes one or more processors410coupled to a system memory420via an input/output (I/O) interface422. Computer system400further includes a network interface428coupled to I/O interface422, and one or more input/output devices430, such as cursor control device432, keyboard434, and display(s)436. In some embodiments, it is contemplated that embodiments may be implemented using a single instance of computer system400, while in other embodiments multiple such systems, or multiple nodes making up computer system400, may be configured to host different portions or instances of embodiments. For example, in one embodiment some elements may be implemented via one or more nodes of computer system400that are distinct from those nodes implementing other elements.

In various embodiments, computer system400may be a uniprocessor system including one processor410, or a multiprocessor system including several processors410(e.g., two, four, eight, or another suitable number). Processors410may be any suitable processor capable of executing instructions. For example, in various embodiments, processors410may be general-purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In multiprocessor systems, each of processors410may commonly, but not necessarily, implement the same ISA.

In some embodiments, at least one processor410may be a graphics processing unit. A graphics processing unit or GPU may be considered a dedicated graphics-rendering device for a personal computer, workstation, game console or other computing or electronic device. Modern GPUs may be very efficient at manipulating and displaying computer graphics, and their highly parallel structure may make them more effective than typical CPUs for a range of complex graphical algorithms. For example, a graphics processor may implement a number of graphics primitive operations in a way that makes executing them much faster than drawing directly to the screen with a host central processing unit (CPU). In various embodiments, the image processing methods disclosed herein may, at least in part, be implemented by program instructions configured for execution on one of, or parallel execution on two or more of, such GPUs. The GPU(s) may implement one or more application programmer interfaces (APIs) that permit programmers to invoke the functionality of the GPU(s). Suitable GPUs may be commercially available from vendors such as NVIDIA Corporation, ATI Technologies (AMD), and others.

System memory420may be configured to store program instructions and/or data accessible by processor410. In various embodiments, system memory420may be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), nonvolatile/Flash-type memory, or any other type of memory. In the illustrated embodiment, program instructions and data implementing desired functions, such as those described above for various embodiments, are shown stored within system memory420as program instructions424and data storage426, respectively. In other embodiments, program instructions and/or data may be received, sent or stored upon different types of computer-accessible media or on similar media separate from system memory420or computer system400. Generally speaking, a computer-accessible medium may include storage media or memory media such as magnetic or optical media, e.g., disk or CD/DVD-ROM coupled to computer system400via I/O interface422. Program instructions and data stored via a computer-accessible medium may be transmitted by transmission media or signals such as electrical, electromagnetic, or digital signals, which may be conveyed via a communication medium such as a network and/or a wireless link, such as may be implemented via network interface428.

In one embodiment, I/O interface422may be configured to coordinate I/O traffic between processor410, system memory420, and any peripheral devices in the device, including network interface428or other peripheral interfaces, such as input/output devices430. In some embodiments, I/O interface422may perform any necessary protocol, timing or other data transformations to convert data signals from one component (e.g., system memory420) into a format suitable for use by another component (e.g., processor410). In some embodiments, I/O interface422may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I/O interface422may be split into two or more separate components, such as a north bridge and a south bridge, for example. In addition, in some embodiments some or all of the functionality of I/O interface422, such as an interface to system memory420, may be incorporated directly into processor410.

Network interface428may be configured to allow data to be exchanged between computer system400and other devices attached to a network, such as other computer systems, or between nodes of computer system400. In various embodiments, network interface428may support communication via wired or wireless general data networks, such as any suitable type of Ethernet network, for example; via telecommunications/telephony networks such as analog voice networks or digital fiber communications networks; via storage area networks such as Fibre Channel SANs, or via any other suitable type of network and/or protocol.

For example, when the computer system400implements the personal wireless device204, the network interface428may include one or more wireless antennas to enable wireless communication with the beacon transmitter100and the location server208. Additionally, when the computer system400implements the location server208, the network interface428may include one or more wireless antennas to enable wireless communication with the personal wireless device204.

Input/output devices430may, in some embodiments, include one or more display terminals, keyboards, keypads, touchpads, scanning devices, voice or optical recognition devices, or any other devices suitable for entering or retrieving data by one or more computer system400. Multiple input/output devices430may be present in computer system400or may be distributed on various nodes of computer system400. In some embodiments, similar input/output devices may be separate from computer system400and may interact with one or more nodes of computer system400through a wired or wireless connection, such as over network interface428.

As shown inFIG.4, the computer system400may further include a global navigation satellite system (GNSS) receiver438. The GNSS receiver438is configured to receive signals from global navigation satellites and to determine, based on the received signals, a location of the GNSS receiver438(e.g., including a latitude, longitude, and altitude) and time. The GNSS receiver438is further configured to provide the determined location and time to other components of the computer system400, such as the processor(s)410. When the computer system400implements the personal wireless device204, the determined location and time information may be used as the location and time of the personal wireless device204used in the various embodiments described herein. The GNSS receiver may, in some embodiments, be a global positions system (GPS) receiver.

FIG.5depicts a first beacon diagram500, which represents example contents of the first beacon signals transmitted by the beacon transmitter100according to embodiments of the technology. The example first beacon diagram500illustrates the iBeacon™ protocol and includes a 47-byte transmission including a 1-byte preamble502, a 4-byte access address504, which is generally set to the value 0x8E89BED6, a protocol data unit (PDU)506of 2-39 bytes, and a cyclic redundancy check (CRC)508of 3 bytes.

PDU506includes a header510of 2 bytes, a MAC address512of 6 bytes, and data514of 0-31 bytes. Data514includes an iBeacon™ prefix516of 9 bytes, a universally unique identifier (UUID)518of 16 bytes, a major component520of 2 bytes, a minor component522of 2 bytes, and a transmission power component524of 1 bytes. The UUID518may identify, uniquely, the device transmitting the signal (e.g., the beacon transmitter100). In some embodiments, the first beacon signals may take the form of another open protocol different than that which is illustrated inFIG.5. For example, the particular fields and the lengths of the fields (e.g., the number of bytes) in the first beacon signals illustrated inFIG.5is an example, and some embodiments include additional fields, fewer fields, alternate fields, or fields with different lengths.

FIG.6depicts a second beacon diagram600, which represents example contents of the second advertising beacon signals transmitted by the beacon transmitter100according to embodiments of the technology. The second beacon diagram600has various segments including a uniquely identifying product identifier (ID)602that uniquely identifies the type of device transmitting the signal (e.g., the model of the beacon transmitter100), a serial number604that uniquely identifies the particular device from other devices of a similar type, and a universally unique identifier (UUID)606that uniquely identifies the particular device transmitting the signal (e.g., the beacon transmitter100). The second beacon diagram600also includes other segments608as well, which may include data representing one or more of a user identifier, user contact information, timestamp, state of charge of the battery110, and other status information. In some embodiments, the second advertising beacon signals may take the form of another proprietary protocol different than that which is illustrated inFIG.6. For example, the particular fields and the lengths of the fields (e.g., the number of bytes) in the second advertising beacon signals illustrated inFIG.6are examples, and some embodiments include additional fields, fewer fields, alternate fields, or fields with different lengths.

FIG.7is a flowchart for a method for implementing location reporting for a receiving device in communication with a beacon transmitter according to some embodiments. The method ofFIG.7is described with respect to the system200; however, the method may be similarly applicable to other devices and systems. At process block700, the personal wireless device204monitors for a beacon signal. In some embodiments, the personal wireless device204may monitor for a beacon signal by simply passively monitoring for one or more beacon signals via the network interface428. As described above, the beacon signal may be transmitted using various communication protocols, which may be monitored via the personal wireless device. At process block701, the personal wireless device determines whether a first beacon signal has been received, such as one of the first beacon signals500. In response to determining that the first beacon signal was not received, the personal wireless device then determines whether a dormancy timer has elapsed at process block702. The dormancy timer may be a time period since the personal wireless device last received a first beacon signal. In some embodiments, the dormancy timer has a predetermined value, such as ten seconds. However, time periods of more than ten seconds or less than ten seconds are also contemplated. In response to determining that the dormancy timer has not elapsed, the personal wireless device204continues to monitor for a beacon signal at process block700. In response to determining that the dormancy timer has elapsed, the personal wireless device204returns a transmitter location logging to a dormant state at process block703. The personal wireless device204then continues to monitor for a beacon signal at process block700.

Responsive to determining that a first beacon signal has been received at process block701, the personal wireless device204determines whether a transmitter location logging application of the personal wireless device204is active at process block704. In some embodiments, responsive to determining that the first beacon signal has been received at process block701, the personal wireless device204also resets the dormancy timer. When the transmitter location logging application is determined to be active, the personal wireless device204returns to monitoring for a beacon signal at process block700.

In response to the personal wireless device204determining that the location application is not active, the location logging application is activated at process block706. In some embodiment, an operating system of the personal wireless device204receives the first beacon signal and activates the dormant transmitter location logging application. In other embodiments, the first beacon is a signal using a first open protocol for alerting the transmitter location logging application to the presence of the beacon transmitter100transmitting the second advertising beacon signal. In one embodiment, the first beacon signal is structured similarly to the first beacon diagram described above. In one embodiment, the location logging application is stored in a memory of the personal wireless device204, and is configured to store a location of the personal wireless device204when the personal wireless device204receiver is activated at process block706.

The transmitter location logging application of the personal wireless device204listens for a second advertising beacon signal at process block708. For example, to listen, the personal wireless device204may execute a software loop that repeatedly checks for a second advertising beacon signal being received by a wireless antenna of the personal wireless device204. In block710, the personal wireless device204receives the second advertising beacon signal, such as one of the second beacon signals described above, from the transmitting device.

In block712, a location of the beacon transmitter100that transmitted the second advertising beacon signal is logged by the transmitter location logging application of the personal wireless device204. For example, upon receipt of one of the second advertising beacon signals including the beacon data, the personal wireless device204determines the transmitter identifier of the beacon transmitter100based on beacon data, and determines the location of the personal wireless device204based on an output from a global navigation satellite system (GNSS) receiver of the personal wireless device204. While GNSS is described as an example of location detection, embodiments will include other forms of location awareness, such as registration of location (e.g., stored in a memory as part of an initial set-up) or location detection through detection of wireless networks, without departing from the scope and intent of the present disclosure. The personal wireless device204logs (e.g., stores in a memory) the determined location with the transmitter identifier of the beacon transmitter100such that the location of the personal wireless device204is logged as the location of the beacon transmitter.

In some embodiment, the additional information may be logged by the personal wireless device204for the beacon transmitter100at process block712. For example, additional information from the beacon data, including one or more of a user identifier, user contact information, timestamp, state of charge of the battery110, and other status information may be logged for the beacon transmitter100at process block712. Furthermore, additional information from the personal wireless device204may be logged for the beacon transmitter100at process block712, such as a timestamp (e.g., when not provided as part of the beacon data) and receiving a device identifier that identifies the personal wireless device204or the user thereof. The data that is logged by the personal wireless device204in block712may be referred to as logged data from the beacon transmitter100.

In some embodiments, the personal wireless device204further sends the logged data, including the transmitter identifier and location of the beacon transmitter100to the location server208for storage and processing. In some embodiments, the receiving device sends the logged data to the location server208each time process block712is executed. In other embodiments, the personal wireless device204may be configured to delay sending the logged data when the receiving device has already sent similar data recently (e.g., within the past minute, ten minutes, or hour) to limit data transmission and conserve power. In some embodiments, delaying transmission of the logged data enables the receiving device to obtain further logged data from other beacon transmitters using a similar process and to bundle the logged data for multiple beacon transmitters for a single transmission.

In some embodiments, the process described inFIG.7further includes, during execution of steps700-712, the personal wireless device204waiting through a first number of transmission repetitions of the beacon transmitter100spaced at a first repeat interval, after the first number or transmission repetitions, waiting during a transition interval, and, thereafter, receiving the second advertising beacon signal through a second number of transmission repetitions of the beacon transmitter100spaced at a second repeat interval.

In some embodiments, the method ofFIG.7occurs in the background of the personal wireless device204such that the receiving and logging of information related to the beacon transmitter100occurs without particular notifications to a user of the personal wireless device204of the particular receiving and logging. For example, although the transmitter location logging application may be activated from a dormant state, the activation may occur in the background such that an application on the personal wireless device204is not interrupted or altered to provide a notification of the activation. Similarly, the logged data may be logged on the personal wireless device204and sent to the location server208for logging without a particular notification of these actions being provided to the user of the personal wireless device204.

In some embodiments, in addition to being able to be activated upon receipt of the first beacon signal, the transmitter location logging application of the personal wireless device204may also be activated in response to receiving a user activation input through a user interface. For example, the user activation input may include a user input indicating a selection of the transmitter location logging application for execution. In response to the user activation input, the receiving device proceeds to block708-712, as described above.

In some examples, the wireless beacon100may have limited power availability, such as when the wireless beacon is powered via a coin cell battery, or other low-power power supply. As the transmission of the beacon signal requires power, constant transmission of the beacon signal may put a burden on the power supply of the beacon transmitter100. In some examples, the rate of transmission may be modified based on the available power (e.g. transmit the first beacon signal every two seconds for low-power power supplies, and one second for higher-power power supplies), this can be cumbersome to program, and could result in the transmission intervals being too large resulting in the personal wireless device204not receiving the first beacon signal when the personal wireless device204is in communicative range of the wireless beacon100. Thus, blindly varying the transmission interval of the beacon transmitter100may not always be applicable or advisable. Turning now toFIG.8, a process800is shown for temporarily ceasing transmission based on the beacon transmitter100receiving an indication that the beacon signal has been received by a personal wireless device204.

At process block802, the beacon transmitter100transmits a beacon signal at a predetermined interval as described above. For example, the beacon transmitter100may transmit via the wireless transceiver140a beacon signal every 100 ms. In other examples, the beacon transmitter100may transmit a beacon signal every 1 second. In still further examples, the beacon transmitter100may transmit a beacon signal every 10 seconds. However, it is contemplated that transmission intervals of less than 100 ms, and greater than 10 seconds are also contemplated, along with all values in between. At process block804, the beacon transmitter100determines whether the beacon transmitter100has received an acknowledgement signal. In some embodiments, the acknowledgment signal is received from the personal wireless device204, and the personal wireless device204sends the acknowledgment signal based on the personal wireless device204receiving the beacon signal, as described in more detail below. The acknowledgment signal may be received via the wireless transceiver140. In some embodiments, the acknowledgment signal includes the identifier of the beacon transmitter100(e.g., UUID518) such that the beacon transmitter100can determine that the acknowledgment signal was in response to a beacon signal transmitted by that particular beacon transmitter (e.g., by comparing the received UUID to a UUID stored in the memory160).

In response to determining that no acknowledgement signal has been received, the transmitter beacon100continues to transmit the beacon signal at the predetermined interval at process block802. In response to determining that the acknowledgement signal is received, the beacon transmitter stops transmitting the beacon signal for a predetermined time at process block806. In some embodiments, the predetermined time may be 60 seconds. However, predetermined times of less than 60 seconds or greater than 60 seconds are contemplated. In some embodiments, a user may be able to set the predetermined time via the personal wireless device204. In other embodiments, the predetermined time may be set during manufacturing. In still further embodiments, the predetermined time may be set based on the power source available to the beacon transmitter100. For example, where the beacon transmitter100is coupled to a low-power power source (e.g. a coin cell battery), the predetermined time may be a higher value than where the beacon transmitter100is coupled to a high-power power source (e.g. battery pack of a power tool). This variable time allows for more power to be saved when the beacon transmitter100is coupled to a low-power power supply.

In embodiments where the beacon transmitter100may use cellular communication and/or location monitoring, the predetermined time period may be still higher to substantially reduce the amount of power consumed by the beacon transmitter100. Due to the higher power requirements to read location data, and/or communicate via cellular communication, reducing a single cellular transmission can result in power savings equivalent to thousands of communications using BLE.

At process block808, the beacon transmitter100determines whether the predetermined time period has expired. In response to determining that the predetermined time period has not expired, the beacon transmitter continues to not transmit the beacon data at process block806. In response to the beacon transmitter100determining that the predetermined time period has expired, the beacon transmitter resumes transmitting the beacon signal at predetermined intervals at process block802.

In some embodiments, the wireless transceiver140is configured to receive signals from global navigation satellites such that the controller125and wireless transceiver140function as a GNSS receiver configured to determine a location of the beacon transmitter100. Additionally, the wireless transceiver140is configured to communicate beacon signals via a short-range wireless communication protocol (e.g., Bluetooth or BLE) to a personal wireless device as described above (seeFIG.7), and also configured to periodically transmit its location determined based on the received signals from the global navigation satellites and identifier (e.g., UUID) via a long-range wireless communication protocol (e.g., cellular) to the location server208(i.e., bypassing the personal wireless device). Accordingly, even when no personal wireless device is nearby the beacon transmitter100, the location server208is able to receive and log location information for the beacon transmitter100.

However, in such embodiments, communicating via cellular communication, and functioning as a GNSS receiver significantly increases the power consumption of the beacon transmitter100. For example, a single cellular transmission can use similar amount of power as hundreds or thousands of beacon signals transmitted using BLE.

Accordingly, in some embodiments, in addition to temporarily ceasing transmission of a beacon signal using the wireless protocol over which the acknowledgment signal was received (e.g., ceasing beacon signals over BLE), the beacon transmitter100also temporarily ceases transmission of a location beacon signal that would otherwise be sent using a long-range communication protocol (e.g., cellular). Thus, because a short range beacon signal is acknowledged as received by a portable wireless device, the beacon transmitter100may obtain power savings by temporarily ceasing transmission of beacon signals over two protocols.

As an example implementation, in some embodiments, the process800further includes determining, by the beacon transmitter, a location of the beacon transmitter based on signals received from global navigation satellites. For example, as noted, the controller125and wireless transceiver140may function as a GNSS receiver configured to determine a location of the beacon transmitter100. The beacon transmitter further transmits, periodically, a location beacon signal at a second repeat interval that is longer than the first repeat interval, the location beacon signal including the location of the beacon transmitter. For example, the beacon transmitter100may transmit the location beacon signal periodically, but at a rate lower (e.g., every hour, every four hours, every twenty-four hours, etc.) than the rate at which the beacon signal (block802) is transmitted. The beacon transmitter further stops transmission of the location beacon signal for a second predetermined amount of time based on the acknowledgement signal. For example, the second predetermined amount of time is longer than the predetermined time of block806. In some examples, the second predetermined amount of time is equal to the second repeat interval (e.g., an hour, four hours, twenty-four hours, etc.). In some examples, to stop the transmission of the location beacon signal for the second predetermined amount of time, the beacon transmitter skips the next planned transmission (i.e., the second predetermined amount of time is the equal to the time until the next scheduled transmission plus the second repeat interval). In yet other embodiments, the second predetermined amount of time is another selected time period. The beacon transmitter100then determines that the second predetermined amount of time has expired, and then resumes periodic transmission of the location beacon signal based on determining the second predetermined amount of time has expired. When resuming the periodic transmission, the location beacon signal may be again transmitting the location beacon signal periodically at the second repeat interval, or at a different repeat interval (still longer than the first repeat interval).

In some embodiments, the beacon signal (of block802) is transmitted according to a first protocol and at a first power level (e.g., according to Bluetooth or BLE), and the location beacon signal is transmitted according to a second protocol and at a second power level (e.g., according to a cellular protocol), where the first protocol is different than the second protocol, and where the first power level is lower than the second power level. Accordingly, because the beacon signal (of block802) is acknowledged as received by a portable wireless device204, the beacon transmitter100may obtain power savings by temporarily ceasing transmission of signals over two protocols (e.g., beacon signal over BLE and location beacon signal over cellular).

Turning now toFIG.9, a process900for providing an acknowledgment signal to a beacon transmitter is shown, according to some embodiments. In one embodiment, the process900is performed by the personal wireless device204, however other devices, such as computer system400may also perform the process900. At process block902, the personal wireless device204monitors for a beacon signal, such as described above. At process block904, the personal wireless device204determines whether a beacon signal has been received. In response to no beacon signal being received, the personal wireless device204continues to monitor for a beacon signal at process block902. In response to receiving a beacon signal, the personal wireless device transmits the acknowledgment signal at process block906. In some embodiments, the personal wireless device204includes the unique ID (e.g. UUID518) of the received beacon signal in the acknowledgment signal. By including the unique ID in the acknowledgment signal, the personal wireless device204can ensure that the correct beacon transmitter receives the acknowledgment signal. Upon transmitting the acknowledgment signal, the personal wireless device204continues to monitor for beacon signals at process block902.

In some embodiments, in addition to transmitting an acknowledgment signal, in block906, the personal wireless device204also logs a location of the beacon transmitter100that transmitted the beacon signal, as described with respect to block712.

In some embodiments, the process900is used in conjunction with the method ofFIG.7. For example, the process900may be used in place of blocks708and710ofFIG.7, such that the block902is entered instead of block708, and, after block906, the method continues to block712(rather than returning back to block902like shown inFIG.9). Thus, after a second beacon signal is received by the personal wireless device204, the personal wireless device204transmits an acknowledgement signal to the beacon transmitter100, which then, in accordance with the flow chart ofFIG.8, ceases transmission of beacon signals (e.g., one or both of the first and second beacon signals) for a predetermined time.

Those skilled in the art will also appreciate that, while various items are illustrated as being stored in memory or on storage while being used, these items or portions of them may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments some or all of the software components may execute in memory on another device and communicate with the illustrated computer system via inter-computer communication. Some or all of the system components or data structures may also be stored (e.g., as instructions or structured data) on a computer-accessible medium or a portable article to be read by an appropriate drive, various examples of which are described above. In some embodiments, instructions stored on a computer-accessible medium separate from computer system400may be transmitted to computer system400via transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and/or a wireless link. Various embodiments may further include receiving, sending or storing instructions and/or data implemented in accordance with the foregoing description upon a computer-accessible medium. Accordingly, the present technology may be practiced with other computer system configurations.

Various embodiments may further include receiving, sending or storing instructions and/or data implemented in accordance with the foregoing description upon a computer-accessible medium. Generally speaking, a computer-accessible medium may include storage media or memory media such as magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as network and/or a wireless link.

The various methods as illustrated in the Figures and described herein represent example embodiments of methods. The methods may be implemented in software, hardware, or a combination thereof. The order of method may be changed, and various elements may be added, reordered, combined, omitted, modified, etc.

Various modifications and changes may be made as would be obvious to a person skilled in the art having the benefit of this disclosure. It is intended that the technology embrace all such modifications and changes and, accordingly, the above description to be regarded in an illustrative rather than a restrictive sense.

Thus, the technology provides, among other things, a systems and methods for location logging of transmission devices. Various features and advantages of the technology are set forth in the following claims.