Machine sensor configuration system
The controller receives sensor identification data and activates the configuration trigger. The sensor then enters the configuration mode and broadcasts the identification data, solving the problem of sensor identification and configuration in the existing technology and realizing the automatic identification and management of multiple sensors on the machine.
Patent Information
- Application Number
- CN202510581099.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-05-08
- Filing Date
- 2025-05-07
- Publication Date
- 2025-11-11
AI Technical Summary
Existing technologies struggle to effectively manage the diverse types of sensors associated with machines, especially when different types of sensors cannot be identified and configured without relying on specialized setup tools.
The machine's controller receives the sensor's identification data, activates the sensor's configuration trigger, puts the sensor into configuration mode, and broadcasts the identification data. Based on this, the controller updates the sensor configuration to identify and process the sensor address and data.
It enables automatic identification and configuration of various sensors on the machine, improving the efficiency and accuracy of sensor data management and reducing reliance on dedicated setting tools.
Smart Images

Figure CN120935523A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a controller for a machine that wirelessly receives data from a sensor, and more specifically, to an identifier for configuring the controller to identify a particular sensor. Background Technology
[0002] Machines such as haul trucks and other work machines can perform a variety of operations on a construction site or in other environments. As an example, a haul truck can load materials at a first location and transport the materials to a second location.
[0003] Sensors can be associated with parts of a machine. Such sensors can perform measurements, make other types of determinations, or otherwise define sensor data. These sensors can wirelessly transmit sensor data to other systems, such as computing systems on the machine.
[0004] Various systems have been developed in the past to manage sensors associated with machines. For example, U.S. Patent No. 9,493,043 to Yu et al. (hereinafter referred to as "Yu") describes a system in which a setup tool with a display and a user interface can be used to configure a tire pressure sensor associated with a specific vehicle tire, the tire pressure sensor having a position code corresponding to that specific vehicle tire. In Yu's system, the tire pressure sensor can then provide the position code and the tire pressure sensor's identifier to the vehicle's main unit. However, the system described by Yu may rely on a separate setup tool compatible with the tire pressure sensor and may have limited capabilities to manage other types of sensors associated with the machine.
[0005] The examples of the present invention are intended to overcome the above-mentioned drawbacks. Summary of the Invention
[0006] According to a first aspect of the invention, a method includes receiving identification data indicating a sensor address by a controller of a machine. The method includes activation of a configuration trigger for the sensor, wherein the controller determines that the sensor is likely in a configuration mode when the sensor broadcasts the identification data. The method includes, via the controller and based on the determination that the sensor is likely in a configuration mode, adding an entry to a sensor configuration maintained by the controller, the entry including the sensor address indicated by the identification data, and causing the controller to process subsequent sensor data indicating the sensor address.
[0007] According to a second aspect of the invention, a method includes determining the activation of a configuration trigger of a sensor by a sensor associated with the machine. The method includes switching from a normal operating mode to a configuration mode via the sensor and based on the activation of the configuration trigger. The method further includes, while the sensor is in configuration mode, having the sensor broadcast identification data indicating the sensor's sensor address. The identification data causes the machine's controller to update the sensor configuration to include an entry for the sensor's sensor address.
[0008] According to a third aspect of the invention, a system includes a controller for a machine and sensors associated with the machine. The controller is configured to maintain a sensor configuration indicating sensor addresses of various sensors associated with the machine. The controller is also configured to receive sensor data broadcast by the sensors. The controller is further configured to process instances of sensor data indicating sensor addresses included in the sensor configuration. The controller is also configured to receive identification data broadcast by the sensors. The controller is further configured to update the sensor configuration based on instances of the broadcast identification data when the sensors are in a configuration mode. The sensors include configuration triggers. Activation of the configuration triggers temporarily switches the sensors to operate in a configuration mode and causes the sensors to broadcast instances of identification data indicating sensor addresses. When the sensors are in configuration mode, instances of identification data broadcast by the sensors cause the controller to update the sensor configuration by adding an entry including the sensor address. Attached Figure Description
[0009] The detailed description is given with reference to the accompanying drawings. In the drawings, the leftmost number of the reference numerals indicates the drawing in which the reference numeral first appears. The same reference numerals in different drawings indicate similar or identical items.
[0010] Figure 1 An example of a machine sensor configuration system is shown, in which the machine’s controller is configured to communicate wirelessly with one or more sensors associated with the machine.
[0011] Figure 2A and Figure 2B Examples are shown of situations where the first machine can be close to other machines (e.g., a second and / or a third machine) on a construction site or other environment.
[0012] Figure 3 This is a flowchart illustrating an exemplary process by which a sensor can be used to broadcast identification data when in configuration mode.
[0013] Figure 4 This is a flowchart illustrating an exemplary process by which a machine's controller can identify sensors based on received identification data.
[0014] Figure 5This is a flowchart illustrating an exemplary process in which a machine's controller can be configured to recognize sensors associated with the machine.
[0015] Figure 6 This is a flowchart illustrating an exemplary process by which the controller of a machine can detect or replace a dormant sensor based on received identification data.
[0016] Figure 7 This is a flowchart illustrating an exemplary process by which a machine controller can be used to identify sensors associated with the machine and the locations where those sensors are mounted on the machine.
[0017] Figure 8 The flowchart illustrates an exemplary process in which a sensor can be configured with an installation location, and the installation location can be indicated in an identification data broadcast when the sensor is in configuration mode.
[0018] Figure 9 An exemplary system architecture for a sensor is shown.
[0019] Figure 10 An exemplary system architecture for the controller is shown. Detailed Implementation
[0020] Figure 1 An example of a machine sensor configuration system 100 is shown, wherein a controller 102 of a machine 104 is configured to wirelessly communicate with one or more sensors 106 associated with the machine 104. Sensors 106 may have corresponding configuration triggers 108 that, when activated, at least temporarily put the sensor 106 into a configuration mode. When the configuration trigger 108 of a sensor 106 is activated, the sensor 106 may switch from a normal operating mode to the configuration mode at least temporarily, and may broadcast identification data 110 while in the configuration mode. The controller 102 may receive the identification data 110 broadcast by the sensor 106 and may use the identification data 110 to update the sensor configuration 112 maintained by the controller 102. The controller 102 may use the sensor configuration 112 to receive and / or interpret sensor data 114 transmitted by the sensor 106.
[0021] Machine 104 can be a commercial or operational machine, such as a vehicle, heavy machinery, industrial equipment, or any other type of machine. For example, machine 104 can be a mining machine, earthmoving machine, backhoe excavator, scraper, bulldozer, loader (e.g., large wheel loader, track loader, etc.), excavator, truck (e.g., mining truck, haulage truck, highway truck, off-highway truck, articulated truck, tanker, etc.), crane, pipe layer, paver, compactor, tractor, tillage equipment, or any other type of machine. In some examples, machine 104 can be a mobile machine or vehicle that can be driven or otherwise moved around the environment. In other examples, machine 104 can be a stationary machine that operates while stationary at a fixed location. In some cases, machine 104 can operate on a work site, such as a mine, quarry, construction site, or any other type of work site or operating environment.
[0022] Machine 104 may have one or more working tools, such as buckets, scrapers, rippers, shovels, pushers, forks, grapples, plows, tractors, or other types of working tools or implements that machine 104 can use to perform working operations. For example, machine 104 may use one or more types of working tools to move rocks, gravel, soil, sand, timber, building materials, and / or any other type of materials on a work site or in another environment and / or otherwise interact with them.
[0023] Machine 104 can be a manually operated, semi-automatic, or automatic machine. In the example where machine 104 is a manually operated or semi-automatic machine, a human operator or driver can operate, control, or guide some or all of the functions of machine 104. In the example where machine 104 is automatic or semi-automatic, the functions of machine 104, such as steering, speed regulation, tool positioning and movement, and / or other functions, can be fully or partially automatically or semi-automatically controlled by onboard and / or offboard controllers or other computing devices associated with machine 104.
[0024] Controller 102 may be a component of machine 104, such as the electronic control module (ECM) or other onboard computing system of machine 104. Sensor 106 and controller 102 may exchange data wirelessly, for example via one or more wireless data transmission protocols. For example, sensor 106 may wirelessly send data to and / or receive data from controller 102 via Bluetooth, Wi-Fi, or other types of wireless data transmission protocols.
[0025] Controller 102 and sensor 106 can broadcast data and receive broadcast data without requiring a dedicated network connection or other data connection to be established between controller 102 and sensor 106. As used herein, the term “broadcast” can indicate that data broadcast by a transmitting element is not addressed to a specific receiving element and can therefore be received by any compatible receiving element within the transmission range of the transmitting element. For example, identification data 110 and / or sensor data 114 can be broadcast by sensor 106 such that any controller 102 of any machine 104 within the transmission range of sensor 106 can receive the broadcast identification data 110 and / or sensor data 114, instead of sensor 106 addressing identification data 110 and / or sensor data 114 to a specific controller 102, or sensor 106 sending identification data 110 and / or sensor data 114 to a specific controller 102 via a dedicated data connection already established between sensor 106 and a specific controller 102.
[0026] Sensors 106 may each have a sensor data generator 116 configured to generate and / or broadcast sensor data 114, such as sensor data 114 indicating measurements performed by sensor 106, determinations made by sensor 106, or other outputs of sensor 106. Thus, the sensor data generator 116 of sensor 106 can generate and / or determine sensor data 114 and cause sensor 106 to broadcast the sensor data 114 via a wireless data transmission protocol. Controller 102 can receive the sensor data 114 broadcast by sensor 106 and process the received sensor data 114 as further described below.
[0027] Each of the sensors 106 can be associated with a unique sensor address 118. The sensor address 118 of the sensor 106 can be a unique identifier for those sensors 106, such as a media access control (MAC) address, serial number, or other sensor identifier. For example, a particular sensor 106 can be associated with a corresponding MAC address, such as a specific alphanumeric string of hexadecimal characters.
[0028] Sensor 106 may indicate sensor addresses 118 of those sensors 106 in and / or together with sensor data 114 broadcast by sensor 106. For example, sensor addresses 118 of sensor 106 may be stored in the memory of sensor 106, and / or may be encoded into sensor data generator 116 or other elements of sensor 106, such that sensor 106 is configured to indicate those sensor addresses 118 in and / or together with sensor data 114 broadcast by sensor 106.
[0029] Sensor 106 may include one or more types of sensors. In some examples, sensor 106 may include one or more types of sensors that can be temporarily or permanently mounted on the exterior and / or interior of machine 104. For example, some sensors 106 may be at least temporarily mounted on, coupled to, fixed to, or otherwise connected to elements of machine 104, such as the body of machine 104, working tools of machine 104, internal or external components of machine 104, or any other element of machine 104.
[0030] In other examples, sensor 106 may also, or alternatively, include one or more types of sensors that can be removed from machine 104 and / or transported by a user or other components separate from machine 104. For example, sensor 106 may be a wireless keychain associated with machine 104 that can be transported by the operator of machine 104 and thus carried by the operator into the cab of machine 104 while the operator is using machine 104, and carried away from machine 104 when the operator has finished using machine 104.
[0031] Sensor data generators 116 of some types of sensors 106 can be configured to measure and / or determine attributes related to one or more components of machine 104, such as position data, temperature data, and / or other measurements. Such sensors 106 can accordingly broadcast sensor data 114 indicating the values measured and / or otherwise determined by the sensors 106. For example, sensor 106 may include a tool sensor configured to measure or determine the position and / or orientation of a tool on machine 104, a temperature sensor configured to measure the temperature of an engine, transmission element, or other component of machine 104, a fuel level sensor configured to determine the current fuel level of machine 104, a track wear sensor to measure the depth of the tread on the tracks of machine 104, a tire pressure sensor configured to measure the pressure of the tires of machine 104, an oil cap sensor configured to measure the oil level associated with the engine of machine 104, a battery sensor configured to monitor the health, charge status, and / or other parameters of the battery of machine 104, such as a traction battery for a hybrid or electric drive machine or a starter battery for a diesel engine, and / or any other type of sensor.
[0032] The sensor data generator 116 of other types of sensors 106 can output other types of sensor data 114, such as sensor data 114 indicating predetermined codes or other information. For example, sensor 106 may be a wireless key fob that sends key codes or other sensor data 114 that enables the engine of machine 104 to ignite and / or enables machine 104 to perform other operations.
[0033] Controller 102 may include a sensor data processor 120 configured to identify sensor data 114 received from one or more sensors 106 based on sensor configuration 112, and to process and / or interpret the received sensor data 114 based on sensor configuration 112, as further described below. In some examples, sensor data processor 120 may locally process and / or interpret one or more types of sensor data 114. In other examples, sensor data processor 120 may also, or alternatively, send a report 122 associated with the received sensor data 114 to one or more other systems 124. Other systems 124 may be computing systems different from controller 102, such as one or more other computing systems on machine 104 and / or one or more computing systems separate from machine 104, such as site controllers, logistics computing systems, or remote systems executed by one or more servers or cloud computing environments. For example, controller 102 may send reports 122 to remote systems periodically, on demand, or on any other scheduled or unscheduled basis via cellular data networks, Wi-Fi connections, or other network or wireless data transmission systems.
[0034] The report 122 sent by controller 102 may include and / or be based on sensor data 114 received by controller 102 from one or more sensors 106. For example, if a track wear sensor on machine 104 broadcasts sensor data 114 indicating a measurement of tread depth on the track of machine 104, controller 102 may receive the sensor data 114 and use the sensor data 114 to periodically send a corresponding report 122 indicating the track tread depth measured by the track wear sensor to a remote system. The remote system may use the report 122 to monitor the condition of one or more components of machine 104 over a period of time, determine whether parts of machine 104 should be fixed or replaced, predict when maintenance or replacement of parts of machine 104 may be needed, track the productivity of machine 104, and / or otherwise use the sensor data 114 and / or other information provided in the report 122.
[0035] In some examples, machine 104 is operational regardless of whether controller 102 receives sensor data 114 from a particular type of sensor 106. For example, while a track wear sensor may be configured to measure the tread depth of the tracks of machine 104, machine 104 may be able to maneuver around a work site using its tracks in some cases, regardless of whether the track wear sensor is able to measure the current tread depth of the tracks and / or report the corresponding sensor data 114 to controller 102. Thus, in some examples, sensor 106 may be an optional sensor, an aftermarket sensor, and / or other sensors that broadcast sensor data 114 for monitoring and / or data tracking purposes, such as via a report 122 that includes or is generated based on sensor data 114, but the report may not prevent operation of machine 104 if sensor data 114 from sensor 106 is not received by controller 102.
[0036] However, in other examples, some operations of machine 104 may be regulated based on controller 102 receiving sensor data 114 from one or more types of sensors 106. For example, if sensors 106 include one or more wireless key fobs, controller 102 may prevent some or all operations of machine 104 until controller 102 receives a key code or other sensor data 114 from the wireless key fob associated with machine 104.
[0037] Sensor 106 can be configured to broadcast sensor data 114, enabling any controller 102 on any machine 104 within the transmission range of sensor 106 to receive the broadcast sensor data 114. For example, if machine 104 is a first machine 104 operating from a second machine 104 located near the site, then the controller 102 of the first machine 104 is within the transmission range of sensor 106 on the second machine 104. Therefore, the controller 102 of the first machine 104 can receive sensor data 114 broadcast by one or more sensors 106 of the first machine 104, as well as sensor data 114 broadcast by one or more sensors 106 of the second machine 104.
[0038] To identify sensor data 114 broadcast by a sensor 106 already associated with the same machine 104 as controller 102, and not by a sensor 106 associated with another machine 104 or another sensor 106 that controller 102 has not yet configured to identify, controller 102 of machine 104 may maintain sensor configuration 112 in memory associated with controller 102. Sensor configuration 112 may be a table, database, or other data indicating the sensor address 118 of the sensor 106 currently configured to be identified by controller 102. For example, sensor configuration 112 maintained by controller 102 of machine 104 may identify the MAC address and / or other identifiers by which controller 102 has been configured to identify the sensor 106 associated with machine 104.
[0039] The sensor configuration 112 maintained by the controller 102 of machine 104 can also indicate sensor attributes 126 corresponding to each sensor address 118. The sensor attributes 126 corresponding to the sensor address 118 of sensor 106 can indicate the attributes and / or capabilities of those sensors 106, such as the type of sensor 106, the data format or mode used by sensor 106, the type of sensor data 114 that sensor 106 can determine and / or transmit, the hardware and / or software capabilities of sensor 106, the manufacturer of sensor 106, the installation location of sensor 106 on machine 104, the version number of sensor 106, and / or any other information about sensor 106.
[0040] Therefore, when controller 102 receives sensor data 114 broadcast by sensor 106, controller 102 can use sensor configuration 112 to determine whether the sensor address 118 indicated by the received sensor data 114 is included in the sensor configuration 112 maintained by controller 102. If the sensor address 118 indicated by the received sensor data 114 is included in sensor configuration 112, then controller 102 can determine that controller 102 has been configured to identify the sensor 106 associated with that sensor address 118. Controller 102 can also use sensor attributes 126 associated with sensor address 118 in sensor configuration 112 to interpret and / or process the received sensor data 114 associated with sensor address 118, for example, via sensor data processor 120. However, if the sensor address 118 indicated by the received sensor data 114 is not in the sensor configuration 112, then the controller 102 may discard or ignore the received sensor data 114 because the controller 102 has not been configured to identify the sensor 106 associated with the sensor address 118.
[0041] As an example, sensor configuration 112 may include a first sensor address 118 for a work tool sensor, which controller 102 is configured to identify as associated with machine 104. Sensor configuration 112 may also include a second sensor address 118 for a tire pressure sensor, which controller 102 is configured to identify as associated with machine 104.
[0042] In this example, if controller 102 receives first sensor data 114 at a first sensor address 118 in sensor configuration 112, controller 102 can use sensor configuration 112 to determine that the first sensor data 114 comes from a work tool sensor that controller 102 has previously been configured to identify. The sensor data processor 120 of controller 102 can also process and / or interpret the first sensor data 114 based on sensor attributes 126 in sensor configuration 112 corresponding to the first sensor address 118. For example, because sensor attribute 126 in sensor configuration 112 can indicate that the first sensor address 118 corresponds to a work tool sensor that uses a first mode to report location information about the work tool of machine 104, the sensor data processor 120 of controller 102 can process the first sensor data 114 as work tool location data formatted according to the first mode.
[0043] Similarly, in this example, if controller 102 receives second sensor data 114 at a second sensor address 118 in sensor configuration 112, controller 102 can use sensor configuration 112 to determine that the second sensor data 114 comes from a tire pressure sensor previously configured to be identified by controller 102. The sensor data processor 120 of controller 102 can also process and / or interpret the second sensor data 114 based on sensor attributes 126 in sensor configuration 112 corresponding to the second sensor address 118. For example, because sensor attribute 126 in sensor configuration 112 can indicate that the second sensor address 118 corresponds to a tire pressure sensor that uses a second mode to report tire pressure information about a specific tire of machine 104, the sensor data processor 120 of controller 102 can process the second sensor data 114 as tire pressure data formatted according to the second mode and indicating the current tire pressure of the specific tire.
[0044] However, in this example, if controller 102 receives third sensor data 114 that identifies a third sensor address 118 not present in the sensor configuration 112 maintained by controller 102, then controller 102 may ignore or discard the third sensor data 114. In this case, the third sensor address 118 may correspond to a sensor 106 associated with a different machine, or to a sensor 106 that controller 102 has not yet configured to identify as associated with machine 104. For example, the third sensor address 118 may correspond to a sensor 106 on a different machine that is currently positioned close enough to machine 104 that the third sensor data 114 broadcast by that sensor 106 on the different machine can be received by controller 102 of machine 104. Therefore, the third sensor address 118 may not be included in the sensor configuration 112 maintained by controller 102 of machine 104, because controller 102 of machine 104 has not yet been configured to identify sensor 106 on a different machine. Because the third sensor address 118 is not included in the sensor configuration 112 maintained by the controller 102 in this example, the controller 102 may discard and / or ignore the third sensor data 114 that identifies the third sensor address 118.
[0045] In some cases, the sensor configuration 112 maintained by controller 102 may be incomplete or outdated. For example, when a new sensor 106 is added to machine 104, the sensor configuration 112 maintained by controller 102 may not yet include the sensor address 118 of the new sensor 106.
[0046] However, sensor 106 may have a configuration trigger 108, which can be activated to update the sensor configuration 112 maintained by controller 102. Activation of the configuration trigger 108 of sensor 106 can cause sensor 106 to switch from normal operating mode to configuration mode, at least temporarily. For example, activation of the configuration trigger 108 of sensor 106 can cause sensor 106 to remain in configuration mode for thirty seconds, sixty seconds, or any other time period before returning to normal operating mode. While in configuration mode, sensor 106 can broadcast identification data 110 indicating sensor address 118 of sensor 106. Therefore, controller 102 can receive the identification data 110 indicating sensor address 118 of sensor 106, determine that sensor address 118 is not yet in sensor configuration 112, and can accordingly add sensor address 118 to sensor configuration 112, thus configuring controller 102 to identify sensor 106 based on sensor address 118.
[0047] Sensor 106 may have one or more configuration triggers 108 of various types that cause sensor 106 to switch from normal operating mode to configuration mode, at least temporarily. In some examples, the configuration trigger 108 of sensor 106 may be a software trigger or other digital trigger that is automatically activated in response to receiving activation data. For example, as further described below, in some cases or examples, controller 102 may broadcast an identification data request 128, and the identification data request 128 from controller 102 may be activation data that automatically activates the configuration trigger 108 of sensor 106.
[0048] As another example, the activation data for the configuration trigger 108 of the sensor 106 can be provided by a user device, such as a service tool, mobile computing device, laptop computer, or other device used by a technician or other user. For example, the configuration trigger 108 of the sensor 106 can be automatically activated via a near field communication (NFC) signal from an NFC tag or other NFC-enabled device, via a signal wirelessly transmitted via Bluetooth or other transmission protocols from a handheld service tool or other device, or via a signal from a handheld service tool or other device connected to the sensor 106 via a patch cable or other wired connection.
[0049] In other examples, the configuration trigger 108 of sensor 106 may be a hardware trigger, a physical trigger, or another trigger that can be manually, physically, and / or locally activated by a technician or other user. As an example, the configuration trigger 108 of sensor 106 may be a physical button, a capacitive touch sensor, a resistive touch sensor, another type of touch sensor, or another type of physical control element that can be activated by a user by pressing, touching, or providing other physical input to the configuration trigger 108. As another example, the configuration trigger 108 of sensor 106 may include an accelerometer or other motion sensor, allowing a user to activate the configuration trigger 108 by tapping, shaking, or moving the sensor 106 in a manner detected by the accelerometer or other motion sensor. As another example, the configuration trigger 108 of sensor 106 may include a magnetic sensor, allowing a user to activate the configuration trigger 108 by tapping the sensor 106 with a magnetized rod or other magnetized component, or by using a magnetized rod or other magnetized component in a manner detected by the magnetic sensor.
[0050] When the configuration trigger 108 of sensor 106 is not activated and sensor 106 is in normal operating mode, sensor 106 may broadcast sensor data 114 as described above. For example, sensor 106 may broadcast sensor data 114 at periodic intervals when information measured or determined by sensor 106 matches a threshold criterion, and / or at other times. In some examples, sensor 106 may also periodically or occasionally broadcast identification data 110 when it is in normal operating mode. For example, in normal operating mode, sensor 106 may periodically broadcast identification data 110 indicating sensor address 118 of sensor 106, for example as a heartbeat message or other notification, which may indicate to controller 102 that sensor 106 associated with sensor address 118 is active and / or operating normally, even if sensor 106 is not broadcasting sensor data 114. However, because the controller 102 of machine 104 is within the transmission range of sensors 106 on other machines and / or other sensors 106 that the controller 102 is not configured to recognize, the controller 102 can generally ignore identification data 110 including sensor address 118 that is not in the sensor configuration 112 maintained by the controller 102.
[0051] However, if the configuration trigger 108 of sensor 106 is activated and sensor 106 enters configuration mode, sensor 106 can broadcast identification data 110, which causes controller 102 to update the sensor configuration 112 maintained by controller 102. For example, when sensor 106 is in configuration mode and broadcasts identification data 110 including sensor address 118 of sensor 106, if sensor address 118 does not already exist in sensor configuration 112, controller 102 can receive identification data 110 and add the sensor address 118 indicated by identification data 110 to sensor configuration 112. Therefore, identification data 110 sent by sensor 106 in configuration mode enables controller 102 to detect sensor 106 and be configured to identify sensor 106 as associated with machine 104.
[0052] The identification data 110 broadcast by sensor 106 may include indications of one or more sensor attributes 126 of sensor 106. For example, in addition to the sensor address 118 of sensor 106, identification data 110 may also indicate one or more attributes and / or capabilities of sensor 106, such as the type of sensor 106, the data format or mode used by sensor 106, the type of sensor data 114 broadcast by sensor 106, the hardware and / or software capabilities of sensor 106, the manufacturer of sensor 106, the installation location of sensor 106 on machine 104, the version number of sensor 106, and / or any other information about sensor 106. Therefore, when controller 102 updates sensor configuration 112 based on identification data 110 indicating a sensor address 118 not yet in sensor configuration 112, controller 102 may also update sensor configuration 112 to associate the newly added sensor address 118 with the corresponding sensor attribute 126 indicated by identification data 110.
[0053] In some examples, controller 102 may update sensor configuration 112 to indicate sensor attributes 126 of sensor 106 derived or inferred by controller 102 based on sensor address 118 and / or other sensor attributes 126 directly indicated by identification data 110. For example, if identification data 110 does not indicate a sensor type, but the sensor address 118 indicated by identification data 110 is a MAC address falling within the MAC address range for sensor 106 of a particular sensor type, controller 102 may infer that sensor 106 is an instance of that particular sensor type. Controller 102 may update sensor configuration 112 accordingly to indicate that sensor address 118 is associated with an instance of that particular sensor type, even if identification data 110 does not directly specify that particular sensor type.
[0054] As described above, controller 102 can typically ignore identification data 110, which includes a sensor address 118 not in the sensor configuration 112 maintained by controller 102. However, controller 102 can be configured to determine whether the identification data 110 received while sensor 106 is in configuration mode is likely broadcast by sensor 106. If controller 102 determines that the received identification data 110 may have been broadcast by sensor 106 while sensor 106 is in configuration mode, controller 102 can update sensor configuration 112 based on the received identification data 110, for example, by adding the sensor address 118 indicated by the received identification data 110, which was not previously in sensor configuration 112, and / or adding the corresponding sensor attribute 126 indicated by the received identification data 110.
[0055] In some examples, controller 102 may be configured to determine that the received identification data 110 should be used to update sensor configuration 112 if identification data 110 has configuration indicator 130. Sensor 106 may be configured to omit configuration indicator 130 from identification data 110 broadcast by sensor 106 in normal operating mode. However, when sensor 106 switches from normal operating mode to configuration mode in response to activation of configuration trigger 108 of sensor 106, sensor 106 may be configured to indicate configuration indicator 130 within identification data 110 broadcast by sensor 106 in configuration mode.
[0056] In some examples, configuration indicator 130 may be a configuration flag, configuration code, header value, and / or other types of data that sensor 106 adds to identification data 110, indicating that identification data 110 is sent when sensor 106 is in configuration mode. Therefore, in addition to including configuration indicator 130 when sensor 106 is in configuration mode, identification data 110 sent by sensor 106 in configuration mode may be similar to identification data 110 sent by sensor 106 in normal operating mode. In other examples, configuration indicator 130 may be a different data type or format of identification data 110 used by sensor 106 in configuration mode compared to the data type or format of identification data 110 used by sensor 106 in normal operating mode.
[0057] Therefore, if controller 102 receives identification data 110 with sensor address 118 that is not in sensor configuration 112, but identification data 110 has configuration indicator 130, controller 102 can determine to update sensor configuration 112 based on sensor address 118 indicated by identification data 110 and / or sensor attribute 126. In some cases or examples, if controller 102 receives identification data 110 with sensor address 118 that is not in sensor configuration 112, and identification data 110 does not have configuration indicator 130, controller 102 can determine to ignore identification data 110.
[0058] However, if identification data 110 is received within a threshold time period after the controller 102 broadcasts identification data request 128, the controller 102 may also, or alternatively, be configured to determine that the received identification data 110 should be used to update the sensor configuration 112. Identification data request 128 may be a message or notification that activates the configuration trigger 108 of the sensor 106 to put those sensors 106 into configuration mode.
[0059] In some examples, as discussed above, when sensor 106 is in configuration mode, sensor 106 may broadcast identification data 110 with configuration indicator 130. Therefore, controller 102 may use any identification data 110 with configuration indicator 130 to update sensor configuration 112, and receive the identification data by controller 102 within a threshold time period after controller 102 sends identification data request 128.
[0060] In other examples, when sensor 106 is in configuration mode in response to receiving identification data request 128 from controller 102, sensor 106 may reduce the transmission power used to broadcast identification data 110. In these examples, when sensor 106 is in configuration mode, the identification data 110 broadcast by sensor 106 at a reduced transmission power level may omit the configuration indicator 130, or it may include the configuration indicator 130.
[0061] Sensor 106 can be configured to use relatively high transmission power when sensor 106 is in normal operating mode, so that the transmission range of identification data 110 broadcast by sensor 106 can be relatively large. Therefore, when sensor 106 of machine 104 is in normal operation, the transmission range of identification data 110 broadcast can be large enough to include other machines, so that the controllers of those machines can receive identification data 110.
[0062] However, when sensor 106 is in configuration mode in response to identification data request 128, sensor 106 can use a lower transmission power than in normal operating mode to broadcast the corresponding identification data 110, thereby reducing the transmission range of the identification data 110 broadcast by sensor 106. Reducing the transmission power used by sensor 106 to broadcast identification data 110 when sensor 106 is in configuration mode in response to identification data request 128, and thus reducing the transmission range of the identification data 110 broadcast by sensor 106, can reduce the likelihood that the identification data 110 may be received by the controller of other machines. Therefore, when sensor 106 broadcasts identification data 110 using reduced transmission power in response to identification data request 128 sent by controller 102, controller 102 can receive sensor configuration 112 and use identification data 110 to detect sensor 106 and update sensor configuration 112 even if the identification data 110 from sensor 106 omits configuration indicator 130, because the reduced transmission power may make it impossible for controllers of other machines to receive identification data 110 from sensor 106.
[0063] In some examples, when controller 102 broadcasts identification data request 128, controller 102 may at least temporarily reduce the power level it uses to listen for identification data 110 broadcast by sensor 106. For example, when controller 102 broadcasts identification data request 128, controller 102 may reduce the power level used to listen for identification data 110 for thirty seconds, sixty seconds, or any other time period. By reducing the power level used to listen for identification data 110 for a period of time after controller 102 broadcasts identification data request 128, controller 102 may reduce the chance of receiving identification data 110 broadcast by sensor 106 associated with other machines.
[0064] Therefore, when sensor 106 broadcasts identification data 110 using reduced transmission power in response to identification data request 128 sent by controller 102, and / or controller 102 listens for such identification data 110 using reduced power, controller 102 can use the received identification data 110 to update sensor configuration 112 even if the identification data 110 omits configuration indicator 130, because the reduced power level used in response to identification data request 128 may make the identification data 110 received by controller 102 less likely to originate from sensor 106 on a different machine. This reduction in power level for broadcasting and / or listening to identification data 110 in response to identification data request 128 will be referenced below. Figure 2A and 2B Further discussion.
[0065] Controller 102 can be configured to broadcast an identification data request 128 based on the occurrence of one or more conditions. As an example, controller 102 can be configured to broadcast the identification data request 128 if controller 102 has not received sensor data 114 associated with sensor address 118 listed in sensor configuration 112 for more than a threshold time period.
[0066] For example, sensor configuration 112 may include a specific sensor address 118 associated with a specific sensor 106. However, if controller 102 does not receive identification data 110 or sensor data 114 corresponding to that specific sensor address 118 within the last 40 machine operating hours, or any other shorter or longer threshold time period, the lack of data received from the specific sensor 106 within the threshold time period may indicate that the specific sensor 106 has been replaced on machine 104. Therefore, controller 102 may broadcast an identification data request 128 to bring a replacement instance of the specific sensor 106 (if present on machine 104) into configuration mode. If such a replacement sensor 106 is present on machine 104, the replacement sensor 106 may broadcast identification data 110 indicating the sensor address 118 and / or sensor attribute 126 of the replacement sensor 106, and controller 102 may use the identification data 110 to detect the replacement sensor 106 and update sensor configuration 112, enabling sensor data processor 120 to begin recognizing and processing sensor data 114 broadcast by the replacement sensor 106.
[0067] As another example, if controller 102 determines that machine 104 is traveling at a speed that meets or exceeds a threshold speed, controller 102 can be configured to broadcast an identification data request 128. For example, in some examples, controller 102 may use speed data provided by a speed sensor, motion, position, or location data provided by an accelerometer, a Global Positioning System (GPS) sensor, or other sensors, and / or other types of data to determine when machine 104 is in motion and traveling at a speed that meets or exceeds the threshold speed. Therefore, when controller 102 determines that the speed of machine 104 meets or exceeds the threshold speed, controller 102 may broadcast an identification data request 128 to cause any or all sensors 106 currently on machine 104 to enter configuration mode and broadcast corresponding identification data 110. Controller 102 can use this identification data 110 to detect any or all of the sensors 106 currently on machine 104 that broadcast identification data 110 in response to the speed-triggered identification data request 128. The controller 102 can also use the received identification data 110 to automatically update the sensor configuration 112, such as adding sensor addresses 118 and / or sensor attributes 126 for any or all sensors 106 on the machine 104 that are not currently indicated by the sensor configuration 112.
[0068] In the example where the identification data request 128 can be triggered by the speed of machine 104, sensor 106 can also be configured to enable or disable a software-based configuration trigger 108 based on similar detection of the speed of machine 104 by sensor 106, based on the identification data request 128. For example, to conserve the battery life of sensor 106 and / or reduce its energy consumption, sensor 106 can be configured to disable listening to identification data request 128 when the accelerometer of sensor 106 indicates that sensor 106 is stationary and therefore machine 104 is stationary. However, if the accelerometer of sensor 106 indicates that sensor 106 is in motion and therefore machine 104 is in motion, creating an opportunity for controller 102 to broadcast identification data request 128 based on the speed of machine 104, then sensor 106 can enable active listening to identification data request 128 that will activate configuration trigger 108 of sensor 106.
[0069] In some examples, sensor attribute 126 of sensor 106 indicated in sensor configuration 112 may indicate the mounting location of sensor 106, enabling controller 102 to determine where sensor 106 is located on machine 104 and / or distinguish multiple sensors 106 of the same type located at different locations on machine 104. As an example, sensor attribute 126 of a particular sensor 106 indicated in sensor configuration 112 may indicate that the particular sensor 106 is located or near the front end, rear end, right side, or left side of machine 104. As another example, if machine 104 has multiple wheels or tires, sensor attribute 126 of a particular sensor 106 indicated in sensor configuration 112 may indicate which of those wheels or tires the particular sensor 106 is located or near.
[0070] In some of these examples, when sensor 106 is in configuration mode, the sensor attributes 126 included in the identification data 110 broadcast by sensor 106 can accordingly indicate the installation location of sensor 106. Therefore, controller 102 can use the sensor attributes 126 in the received identification data 110 to determine the installation location of sensor 106 indicated by the identification data 110 and update sensor configuration 112 to indicate the installation location of sensor 106.
[0071] In these examples, when a technician installs sensor 106 at a specific mounting location on machine 104, the technician can interact with sensor 106 to configure sensor 106 using location data identifying the specific mounting location of sensor 106 on machine 104. As an example, if sensor 106 can be mounted on the left or right side of machine 104, the technician can use one or more controllers on sensor 106, such as toggle switches, buttons, touch sensors, or other controllers, to indicate whether sensor 106 is actually mounted on the left or right side of machine 104. For example, the technician can press a button on sensor 106 once to indicate that sensor 106 is mounted on the left side of machine 104, or press a button on sensor 106 twice to indicate that sensor 106 is mounted on the right side of machine 104. Sensor 106 may have a memory for storing mounting location data configured by the technician through control of sensor 106. As another example, a technician may use a service tool, mobile computing device, laptop computer or other device that interfaces with sensor 106 to provide user input identifying the installation location of sensor 106, so that sensor 106 can store the corresponding installation location data in sensor 106's memory.
[0072] Therefore, in such an example where sensor 106 is configured with mounting location data, the mounting location of sensor 106 is indicated in the memory of sensor 106. Sensor 106 may include this mounting location data or otherwise indicate the mounting location of sensor 106 in sensor attribute 126, which is included in identification data 110 broadcast by sensor 106. For example, if a user manually activates configuration trigger 108 of sensor 106, or if controller 102 broadcasts identification data request 128 to activate configuration trigger 108 of sensor 106, sensor 106 can enter configuration mode and broadcast identification data 110, which includes sensor attribute 126 indicating the mounting location of sensor 106 on machine 104. Controller 102 can use sensor attribute 126 in identification data 110 to update sensor configuration 112 to indicate the mounting location of sensor 106 on machine 104.
[0073] In other examples, a technician or other user may use the user interface of controller 102, or the user interface of another device interfaced with controller 102, to select a specific installation location. In some examples, user input may also indicate a user-selected sensor type associated with a sensor at the user-selected installation location. The user's selection of a specific installation location may cause controller 102 to interpret the next received identification data 110 with configuration indicator 130 as originating from sensor 106 installed at the user-selected sensor installation location. The user can then activate the configuration trigger 108 of sensor 106 at the user-selected sensor installation location to put sensor 106 into configuration mode and broadcast identification data 110 with configuration indicator 130. Controller 102 may receive the identification data 110 accordingly and use it to update sensor configuration 112 with sensor address 118 and / or sensor attributes 126 of sensor 106, including indication that the corresponding sensor 106 is located at the user-selected sensor installation location and / or is an instance of the user-selected sensor type.
[0074] As an example, a technician can use the user interface of controller 102 or associated devices to indicate that a track wear sensor associated with the left track of machine 104 is being configured. Therefore, controller 102 can begin listening for identification data 110 with configuration indicator 130. The technician can then press a button on the track wear sensor already installed or to be installed on the left track of machine 104, or otherwise manually interact with the track wear sensor to activate its configuration trigger 108. Manual activation of the track wear sensor's configuration trigger 108 causes the track wear sensor to enter configuration mode and begin broadcasting identification data 110 indicating the sensor address 118 and / or sensor attribute 126 of the track wear sensor. The identification data 110 broadcast by the track wear sensor may also have configuration indicator 130, allowing controller 102 to determine that the identification data 110 is sent by sensor 106 in configuration mode, possibly due to the technician's manual activation of configuration trigger 108. The controller 102 can accordingly associate the identification data 110 with the user-selected track wear sensor type and the user-selected left track position, and use the identification data 110 to update the sensor configuration 112 accordingly with the track wear sensor entries associated with the user-selected left track position.
[0075] Therefore, even if the sensor attribute 126 included in the identification data 110 broadcast by the track wear sensor does not directly indicate that the track wear sensor is associated with the left track of machine 104, controller 102 can determine that the identification data 110 is associated with the track wear sensor associated with the left track based on the user's selection of the left track position. Similarly, if the sensor attribute 126 included in the identification data 110 broadcast by the track wear sensor does not directly indicate that the corresponding sensor 106 is a track wear sensor, controller 102 can determine that the identification data 110 is associated with the associated track wear sensor based on the user's selection of the track wear sensor type.
[0076] In some examples, controller 102 may be configured to update sensor configuration 112 based on identification data 110 associated with a particular sensor 106 of interest. As an example, as described above, controller 102 may receive input via a user interface or other system identifying the sensor type and / or installation location of sensor 106, such that controller 102 is configured to interpret the next received identification data 110 as originating from sensor 106 having attributes corresponding to that input. However, in some cases, during the period during which controller 102 expects to receive identification data 110 associated with a particular sensor 106, controller 102 may receive instance identification data 110 broadcast by multiple sensors 106. As described above, in some examples, controller 102 may determine which identification data 110 corresponds to the particular sensor 106 of interest based on sensor type information, installation location information, and / or other types of information indicated by sensor attributes 126 within the identification data 110. However, in other examples, controller 102 may use multiple instances of identification data 110 received from the corresponding sensor 106, and / or determine which instance of identification data 110 has the most recent timestamp when determining which instance of identification data 110 should be considered to be from the specific sensor 106 of interest.
[0077] As an example, if controller 102 expects to receive identification data 110 from sensor 106 of interest, but receives identification data 110 from multiple sensors 106 that may each be sensor 106 of interest, controller 102 can determine how many packets or copies of identification data 110 are received from each of those multiple sensors 106. Controller 102 can be configured to interpret the sensor 106 that broadcasts the highest number of packets or copies of identification data 110 as the sensor 106 of interest, and can use the identification data 110 from that sensor 106 to update sensor configuration 112. If the highest number of packets or copies of identification data 110 are received from multiple sensors 106, for example if each of the multiple sensors 106 broadcasts the same number of packets of identification data 110, controller 102 can use timestamp information indicating when the respective copies or packets of identification data 110 were broadcast and / or received to determine which of the multiple sensors 106 provided the most recent and up-to-date identification data 110. In this case, controller 102 can be configured to interpret sensor 106 broadcasting the most recent and latest identification data 110 as sensor 106 of interest, and can use the identification data 110 from that sensor 106 to update sensor configuration 112.
[0078] In summary, when the configuration trigger 108 of sensor 106 is activated, for example, manually based on direct or indirect input from a technician or other user, or automatically based on an identification data request 128 from controller 102, sensor 106 can enter configuration mode. While in configuration mode, sensor 106 can broadcast identification data 110 with a configuration indicator 130 and / or transmitted by sensor 106 at low transmission power, allowing sensor 106 to determine that identification data 110 is likely to have been transmitted by sensor 106 when sensor 106 is in configuration mode. If sensor 106 determines that identification data 110 is likely to have been transmitted by sensor 106 while sensor 106 is in configuration mode, controller 102 can use the sensor address 118 and / or sensor attributes 126 included in the identification data 110 to update the sensor configuration 112 maintained by controller 102.
[0079] As an example of sensor 106 broadcasting identification data 110 using low transmission power in response to identification data request 128 from controller 102, it will be referred to below. Figure 2A and Figure 2B Further discussion will follow. Another example of the sensor 106 broadcasting identification data 110 in configuration mode and / or the controller 102 using such identification data 110 to update the sensor configuration 112 will be referenced below. Figure 3-8 Further discussion.
[0080] Figure 2A and 2B Example 200 is shown, in which a first machine 104A may be located near other machines, such as a second machine 104B and / or a third machine 104C, at a construction site or other environment. The first machine 104A may have a first controller 102A and may be associated with a first sensor 106A. For example, the first sensor 106A may be a sensor mounted to or otherwise installed on the first machine 104A. Similarly, the second machine 104B may have a second controller 102B and may be associated with a second sensor 106B, while the third machine 104C may have a third controller 102C and may be associated with a third sensor 106C.
[0081] The first sensor 106A can broadcast sensor data 114 and / or identification data 110 within the sensor range area 202 associated with the first sensor 106A, and / or listen for identification data requests 128 from the controller 102 within the sensor range area 202. The first machine 104A can similarly receive sensor data 114 and / or identification data 110 broadcast by the sensor 106 within the controller range area 204 associated with the first sensor 106A, and / or identification data requests 128 broadcast within the controller range area 204.
[0082] The dimensions of the sensor range region 202 and the controller range region 204 can vary depending on the respective power levels used by the first sensor 106A and the first machine 104A. For example, when the first sensor 106A is in normal operating mode, the first sensor 106A can use a first level of transmission power to broadcast sensor data 114 and / or identification data 110 within a relatively large sensor range region 202, such as... Figure 2A As shown. However, when the first sensor 106A switches to configuration mode in response to the identification data request 128, the first sensor 106A can use a lower second transmission power level to reduce the size of the sensor range region 202 and broadcast identification data 110 within this smaller sensor range region 202, such as Figure 2B As shown.
[0083] Similarly, such as Figure 2A As shown, the first controller 102A can typically use a first power level to listen for sensor data 114 and / or identification data 110 broadcast by sensor 106 located within a relatively large controller range area 204. In some examples, the first controller 102A can also... Figure 2AThe relatively large controller range region 204 shown broadcasts identification data request 128. However, after the first controller 102A broadcasts identification data request 128, the first sensor 106A can use a lower second power level to reduce the size of the controller range region 204, which is used to listen for identification data 110 broadcast by the sensor 106 in response to identification data request 128, such as... Figure 2B As shown.
[0084] like Figure 2A As shown, when the first sensor 106A is in normal operating mode, the second controller 102B of the second machine 104B and / or the third controller 102C of the third machine 104C can also be within the relatively large sensor range region 202 associated with the first sensor 106A. Therefore, when the first sensor 106A is in normal operating mode, the second controller 102B and / or the third controller 102C can receive sensor data 114 and / or identification data 110 broadcast by the first sensor 106A. However, because the sensor data 114 and / or identification data 110 broadcast by the first sensor 106A can indicate the sensor address 118 of the first sensor 106A, the second controller 102B and / or the third controller 102C can ignore the sensor data 114 and / or identification data 110 from the first sensor 106A, since the sensor address 118 of the first sensor 106A may not be in the sensor configuration 112 maintained by the second controller 102B and / or the third controller 102C.
[0085] Similarly, such as Figure 2A As shown, the second sensor 106B of the second machine 104B and / or the third sensor 106C of the third machine 104C can be within a relatively large controller range 204, which is typically associated with the first controller 102A. Therefore, the first controller 102A can receive sensor data 114 and / or identification data 110 broadcast by the second sensor 106B and / or the third sensor 106C. However, because the sensor data 114 and identification data 110 broadcast by the second sensor 106B and / or the third sensor 106C can indicate the respective sensor addresses 118 of the second sensor 106B and the third sensor 106C, the first controller 102A can ignore the sensor data 114 and / or identification data 110 from the second sensor 106B and the third sensor 106C, since the sensor addresses 118 of the second sensor 106B and the third sensor 106C may not be in the sensor configuration 112 maintained by the first controller 102A.
[0086] The first sensor 106A on the first machine 104A may also be within a relatively large controller range region 204 associated with the first controller 102A of the first machine 104A, and the first controller 102A may be within a relatively large sensor range region 202 associated with the first sensor 106A. Therefore, the first controller 102A may receive sensor data 114 and / or identification data 110 broadcast by the first sensor 106A. If the sensor address 118 of the first sensor 106A included in the sensor data 114 and / or identification data 110 broadcast by the first sensor 106A is within the sensor configuration 112 maintained by the first controller 102A, then the first controller 102A may identify the first sensor 106A as associated with the first machine 104A. The first controller 102A may accordingly process and / or use the sensor data 114 and / or identification data 110 received from the first sensor 106A, for example, to provide a corresponding report 122 to a remote system.
[0087] However, as described herein, in some examples, the sensor configuration 112 maintained by controller 102 may be incomplete or outdated. Therefore, in some examples or situations, the first controller 102A may be configured to broadcast an identification data request 128 to prompt any or all sensors 106 currently on the first machine 104A to switch to configuration mode, and broadcast an indication that the first controller 102A can be used to update the identification data 110 of the sensor address 118 and / or sensor attribute 126 of the sensor configuration 112 maintained by the first controller 102A.
[0088] As an example, if the first controller 102A does not receive identification data 110 and / or sensor data 114 associated with a specific sensor address 118 in the sensor configuration 112 maintained by the first controller 102A for more than a threshold time, the sensor 106 associated with that specific sensor address 118 may have been replaced on the first machine 104A. Therefore, the first controller 102A may broadcast an identification data request 128 to prompt the replacement sensor 106 (if any) on the first machine 104A to broadcast the corresponding identification data 110 that the first controller 102A can use to update the sensor configuration 112 maintained by the first controller 102A.
[0089] As another example, if the first controller 102A detects that the first machine 104A has stopped but has started moving, and / or has started moving at a speed greater than a threshold, the first controller 102A may broadcast an identification data request 128 to prompt any or all sensors 106 currently on the first machine 104A to broadcast corresponding identification data 110. Therefore, the first controller 102A can use the identification data 110 received in response to the identification data request 128 to update the sensor configuration 112 maintained by the first controller 102A. For example, if the identification data 110 received in response to the identification data request 128 includes new sensor addresses 118 not yet in the sensor configuration 112, the first controller 102A may determine that these sensor addresses 118 are associated with new sensors 106 that are on the first machine 104A and / or moving with the first machine 104A. Therefore, the first controller 102A may update the sensor configuration 112 to include those sensor addresses 118 and / or corresponding sensor attributes 126.
[0090] like Figure 2A As shown, the sensor range region 202 and controller range region 204 associated with the first machine 104A can typically be large enough to include other machines, such as the second machine 104B and / or the third machine 104C. However, to reduce the chance that the first controller 102A of the first machine 104A might receive identification data 110 from sensors 106 on other machines in response to identification data request 128, the first controller 102A may broadcast the identification data request 128 over the relatively large controller range region 204, such as... Figure 2A As shown, however, the power level used to listen for the response identification data 110 broadcast by the sensor 106 located within the smaller controller range area 204 is then reduced, as... Figure 2B As shown. Alternatively, the first controller 102A can use lower transmission power in Figure 2B The smaller controller range area 204 shown broadcasts an identifier data request 128, and then listens for signals from the controller located at... Figure 2B The response identification data 110 broadcast by sensor 106 within the smaller controller range area 204 shown.
[0091] The first machine 104A may use a lower power level to listen for identification data 110 in response to the identification data request 128 broadcast by the first controller 102A, making it likely that the first controller 102A will only receive identification data from the location located at [location missing]. Figure 2B The identification data 110 broadcast by sensor 106 within the smaller controller range area 204 shown. Figure 2BThe smaller controller range region 204 shown may be large enough to surround the first machine 104A, but not large enough to surround other machines, such as the second machine 104B or the third machine 104C. By using the smaller controller range region 204 to listen for identification data 110 in response to identification data request 128, the first machine 104A can determine with relatively high confidence that any identification data 110 received in response to identification data request 128 originates from a sensor 106 currently on the first machine 104A, such as the first sensor 106A, rather than from a sensor on another machine, such as the second sensor 106B or the third sensor 106C.
[0092] In some cases or examples, the second sensor 106B on the second machine 104B or the third sensor 106C on the third machine 104C may broadcast corresponding identification data 110 after the first controller 102A broadcasts identification data request 128. However, because the first controller 102A may use a smaller controller range region 204 that does not include the second machine 104B or the third machine 104C to listen for identification data 110 after broadcasting identification data request 128, it may be impossible for the first controller 102A to receive identification data 110 from the second sensor 106B or the third sensor 106C. Therefore, it is impossible for the first controller 102A to receive identification data 110 from sensors 106 on other machines, or to use such identification data 110 to update the sensor configuration 112 maintained by the first controller 102A after broadcasting identification data request 128.
[0093] Similarly, to reduce the likelihood of sensor 106 on the machine broadcasting identification data 110 in response to identification data request 128 received from the controller of another machine, sensor 106 can be configured to reduce the transmission power used for broadcasting identification data 110 in response to identification data request 128. For example, the first sensor 106A can typically broadcast identification data 110 over a relatively large sensor range area 202, such as... Figure 2A As shown. However, when the first sensor 106A receives the identification data request 128, the first sensor 106A can switch to a configuration mode and lower transmission power to reduce the size of the sensor range region 202, as shown. Figure 2BAs shown. Therefore, the first sensor 106A on the first machine 104A can broadcast identification data 110 within a smaller sensor range region 202 in response to identification data request 128. The smaller sensor range region 202 may include a first controller 102A, such that if the identification data request 128 originates from the first controller 102A, the first controller 102A can receive the identification data 110 broadcast by the first sensor 106A and can use the identification data 110 to update the sensor configuration 112 maintained by the first controller 102A. However, because the smaller sensor range region 202 does not include the second controller 102B of the second machine 104B or the third controller 102C of the third machine 104C, it may be impossible for the second controller 102B and the third controller 102C to receive the identification data 110 broadcast by the first sensor 106A in response to identification data request 128. If the identification data request 128 originates from a controller of a different machine, the identification data 110 broadcast by the first sensor 106A within the smaller sensor range area 202 may not be able to reach the controller of the different machine, making it possible for the controller of the different machine to update the sensor configuration 112 based on the identification data 110 from the first sensor 106A on the first machine 104A.
[0094] In some examples, sensor 106 on the machine can be configured to actively listen for or identify identification data request 128 only when accelerometer data or other motion data indicates that the machine is in motion and the reception of identification data request 128 is relatively likely. For example, as described above, first controller 102A of first machine 104A can be configured to broadcast identification data request 128 if speed data indicates that first machine 104A is traveling at a speed greater than a threshold. First sensor 106A on first machine 104A may include accelerometer or other motion sensor data that can determine when first machine 104A is in motion, making it relatively likely that first controller 102A will broadcast identification data request 128. Therefore, in order to reduce the chance of receiving identification data request 128 from the controller of another machine, and / or increase the chance of receiving identification data request 128 only from the first controller 102A of the first machine 104A, the first sensor 106A can be configured to start listening for identification data request 128 if accelerometer data or other motion data determined by the first sensor 106A indicates that the first sensor 106A is moving and therefore the first machine 104A is moving. For example, the first sensor 106A can use Figure 2B The smaller controller range area 204 shown is used to actively listen for identification data requests 128 during the time when the first sensor 106A detects motion.
[0095] In summary, in some cases, by using Figure 2BThe smaller sensor range region 202 and / or the smaller controller range region 204 shown, where identification data 110 broadcast by sensor 106 on machine 104 in response to identification data request 128 from controller 102 of machine 104, may be received by that controller, but may not be received by controllers of other machines. Therefore, even if the identification data 110 broadcast by sensor 106 of machine 104 in response to identification data request 128 does not have a configuration indicator 130, the increased possibility that only controller 102 of the same machine 104 receives identification data 110 due to the use of the smaller sensor range region 202 and / or the smaller controller range region 204 may allow controller 102 to use identification data 110 to update sensor configuration 112 maintained by controller 102, and may reduce the possibility that controllers of other machines may use identification data 110 to update other corresponding sensor configurations 112 maintained by other controllers. Reference will be made below. Figure 3-8 Further discussion includes other examples of the sensor 106 broadcasting identification data 110 and / or the controller 102 using such identification data 110 to update the sensor configuration 112.
[0096] Figure 3 This is a flowchart 300 illustrating an exemplary process by which sensor 106 can be used to broadcast identification data 110 when in configuration mode. Further discussion follows. Figure 9 An exemplary system architecture for this sensor 106 is described.
[0097] At box 302, when sensor 106 is in normal operating mode, sensor 106 may broadcast sensor data 114 and / or identification data 110. For example, when sensor 106 is in normal operating mode, sensor 106 may broadcast sensor data 114 indicating a measurement performed by sensor 106, a determination made by sensor 106, a keying code associated with sensor 106, or other output of sensor 106. Sensor 106 may also broadcast identification data 110 when in normal operating mode. In some examples, the identification data 110 broadcast by sensor 106 in normal operating mode may lack a configuration indicator 130, such that the absence of configuration indicator 130 indicates that sensor 106 is in normal operating mode. In some examples, when sensor 106 is in normal operating mode, sensor 106 may use normal transmission power to broadcast identification data 110, such that identification data 110 is broadcast within a relatively large sensor range area 202, such as... Figure 2A As shown.
[0098] At box 304, sensor 106 can monitor the activation of configuration trigger 108 of sensor 106. As an example, configuration trigger 108 of sensor 106 can be a physical control, such as a button, touch sensor, accelerometer, magnetic component, or other type of control that can be selectively activated manually and / or via a magnetic device or other activation tool by a user. As another example, configuration trigger 108 can be a digital trigger activated via a wireless or wired signal from a service tool or other user device, or via an identification data request 128 broadcast by controller 102 of machine 104.
[0099] At box 306, sensor 106 can determine whether configuration trigger 108 has been activated. If configuration trigger 108 has not been activated (box 306 - No), sensor 106 can remain in normal operating mode and return to box 302 to broadcast sensor data 114 and / or identification data 110. However, if sensor 106 determines that configuration trigger 108 has been activated (box 306 - Yes), then at box 308, sensor 106 can switch to configuration mode.
[0100] In box 310, when sensor 106 is in configuration mode, sensor 106 may broadcast identification data 110. The identification data 110 broadcast at box 310 may include the sensor address 118 of sensor 106, such as a MAC address uniquely associated with sensor 106. The identification data 110 broadcast at box 310 may also indicate sensor attributes 126 of sensor 106, such as the type of sensor 106, the data format or mode used by sensor 106, the type of sensor data 114 broadcast by sensor 106, the hardware and / or software capabilities of sensor 106, the manufacturer of sensor 106, the installation location of sensor 106 on machine 104, the version number of sensor 106, and / or any other information about sensor 106.
[0101] In some examples, when sensor 106 is in configuration mode, the identification data 110 broadcast at block 310 may have a configuration indicator 130 to indicate to the receiving controller 102 that the identification data 110 was sent by sensor 106 in configuration mode. Therefore, the receiving controller 102 can use the identification data 110 to update the sensor configuration 112, for example, if the sensor address 118 indicated by the identification data 110 is not already in the sensor configuration 112.
[0102] In other examples, if the configuration trigger 108 is activated based on the receipt of identification data request 128, then sensor 106 may reduce transmission power while in configuration mode, causing the identification data 110 broadcast at block 310 to... Figure 2BTransmission is performed over the relatively small sensor range area 202 shown. The reduced transmission power used for broadcasting identification data 110 increases the likelihood that the controller 102 associated only with the same machine 104 as sensor 106 at block 310 will receive the broadcast identification data 110, and decreases the chance that the controller 102 of a different machine 104 at block 310 will receive the broadcast identification data 110. Therefore, even if the broadcast identification data 110 at block 310 lacks configuration indicator 130, the controller 102 of the same machine 104 can still use the identification data 110 to update the sensor configuration 112 maintained by the controller 102 if the controller 102 has already broadcast the identification data request 128.
[0103] When the configuration trigger 108 of sensor 106 is activated and sensor 106 switches to configuration mode at block 308, sensor 106 can remain in configuration mode for a period of time, such as 30 seconds or any other longer or shorter period. During this period, at block 310, sensor 106 can broadcast identification data 110 once or multiple times. At block 310, after sensor 106 has broadcast identification data 110 and the period associated with configuration mode has expired, at block 312, sensor 106 can return to normal operating mode. Therefore, when in normal operating mode, sensor 106 can return to block 302 to broadcast sensor data 114 and / or identification data 110.
[0104] Figure 4 This is a flowchart 400 illustrating an exemplary process by which the controller 102 of machine 104 can identify sensor 106 based on received identification data 110. Further discussion follows. Figure 10 An exemplary system architecture for this controller 102 is described.
[0105] At box 402, controller 102 may maintain sensor configuration 112. Sensor configuration 112 may be a table, database, or other data indicating the sensor address 118 of sensor 106 that controller 102 is currently configured to recognize. Sensor configuration 112 may also indicate sensor attributes 126 of sensor 106 corresponding to sensor address 118, such as the type of sensor 106, the data format or mode used by sensor 106, the type of sensor data 114 that sensor 106 can determine and / or send, the hardware and / or software capabilities of sensor 106, the manufacturer of sensor 106, the installation location of sensor 106 on machine 104, the version number of sensor 106, and / or any other information about sensor 106.
[0106] At block 404, controller 102 may receive sensor data 114 indicating sensor address 118. For example, sensor data 114 may have been broadcast by sensor 106 corresponding to sensor address 118, and controller 102 may accordingly receive the broadcast sensor data 114 at block 404.
[0107] At block 406, controller 102 may determine whether the sensor address 118 indicated by the received sensor data 114 is in the sensor configuration 112 maintained by controller 102. If the sensor address 118 indicated by the received sensor data 114 is in the sensor configuration 112 (block 406 - Yes), controller 102 may process the received sensor data 114 at block 408. For example, at block 406, controller 102 may use sensor configuration 112 to determine sensor attributes 126 associated with sensor address 118, such as the type of sensor 106 that sent sensor data 114, the data format to be used to interpret sensor data 114, and / or other information, enabling controller 102 to determine how to process sensor data 114. In some examples, controller 102 may process sensor data 114 by including sensor data 114 in a report 122 sent by controller 102 to another system 124, or by using sensor data 114 to derive or determine information to be included in such a report 122.
[0108] However, if the sensor address 118 indicated by the received sensor data 114 is not in sensor configuration 112 (block 406 - No), controller 102 may ignore sensor data 114 at block 410. For example, because sensor address 118 is not in sensor configuration 112, controller 102 may not currently be configured to recognize sensor 106 identified by sensor address 118 as associated with the same machine 104 as controller 102.
[0109] At block 412, controller 102 may receive identification data 110 indicating sensor address 118. For example, identification data 110 may have been broadcast by sensor 106 corresponding to identification data 110, and controller 102 may accordingly receive the broadcast identification data 110 at block 412.
[0110] At block 414, controller 102 may determine whether the sensor address 118 indicated by the received identification data 110 is in the sensor configuration 112 maintained by controller 102. If the sensor address 118 indicated by the received identification data 110 is in sensor configuration 112 (block 414 - Yes), then controller 102 may determine at block 416 that controller 102 has been configured to identify the sensor 106 associated with sensor address 118. For example, as described above, because sensor address 118 is in sensor configuration 112, controller 102 may process the corresponding sensor data 114 at block 408. Because controller 102 has been configured to identify the sensor 106 associated with sensor address 118 based on the current sensor configuration 112, controller 102 may return to block 402 without updating sensor configuration 112.
[0111] However, if the sensor address 118 indicated by the received identification data 110 is not in sensor configuration 112 (block 414 - No), controller 102 may determine at block 418 the likelihood that identification data 110 was broadcast by sensor 106 while sensor 106 is in configuration mode. In some examples, if identification data 110 has a configuration indicator 130, controller 102 may determine that identification data 110 is likely broadcast by sensor 106 in configuration mode. Configuration indicator 130 may be a configuration flag, a different data format, or other indication that identification data 110 was broadcast by sensor 106 in configuration mode.
[0112] In other examples, if identification data 110 is received within a threshold time period following the controller 102's own broadcast of identification data request 128, the controller 102 can determine that identification data 110 was likely broadcast by sensor 106 in configuration mode, and accordingly reduce the power level to decrease the size of the controller range region 204 used to listen for identification data 110 broadcast by sensor 106 in response to identification data request 128. For example, if the controller 102 uses, during the time period following the broadcast of identification data request 128, as... Figure 2B If the relatively small controller range area 204 is shown, and identification data 110 is received at box 412 during this time period, then the controller 102 can determine at box 418 that the sensor 106 may be broadcasting identification data 110 when it is in a configuration mode triggered by identification data request 128 from the controller 102.
[0113] At block 420, controller 102 may determine whether the probability that identification data 110 has been broadcast by sensor 106 in configuration mode exceeds a threshold probability. If the probability does not exceed the threshold (block 420 - No), controller 102 may ignore identification data 110 at block 422 and return to block 402. For example, if the controller determines that identification data 110 is unlikely to have been sent by sensor 106 in configuration mode, for example because identification data 110 does not have configuration indicator 130 or has not been received within the threshold time for controller 102 to broadcast identification data request 128, then sensor 106 that sent identification data 110 may already be operating in normal mode. For example, sensor 106 may be associated with another machine 104, or may not be associated with the same machine 104 as controller 102, thus there is no indication that the sensor address 118 indicated by identification data 110 should be added to the sensor configuration 112 maintained by controller 102.
[0114] If the probability that identification data 110 broadcast by sensor 106 in configuration mode exceeds a threshold, then the probability does not exceed the threshold (box 420 - Yes), controller 102 can update sensor configuration 112 at box 424 based on identification data 110. For example, if identification data 110 has configuration indicator 130 or is received within a threshold timeframe for controller 102 to broadcast identification data request 128, then sensor 106 sending identification data 110 may have already been operating in configuration mode in response to activation of configuration trigger 108. Controller 102 may accordingly determine that sensor 106 may be associated with the same machine 104 as controller 102. Controller 102 may configure itself to identify sensor 106 by adding sensor address 118 indicated by identification data 110 to sensor configuration 112. Controller 102 may also pair sensor address 118 in sensor configuration 112 with sensor attributes 126 indicated by and / or derived from identification data 110.
[0115] After updating sensor configuration 112 at box 424 to include sensor address 118 and / or sensor attribute 126 as indicated by identification data 110 at box 424, controller 102 can return to box 402. Therefore, if controller 102 later receives sensor data 114 indicating sensor address 118 to be added to sensor configuration 112, controller 102 can determine that sensor data 114 is associated with sensor 106, which controller 102 has been configured to recognize, and can process sensor data 114 at box 408. Similarly, if controller 102 later receives identification data 110 indicating sensor address 118 to be added to sensor configuration 112, controller 102 can determine at box 416 that controller 102 has been configured to recognize sensor 106 associated with sensor address 118.
[0116] Figure 5 This is a flowchart 500 illustrating an exemplary process by which the controller 102 of machine 104 can be configured to identify the sensor 106 associated with machine 104. Further discussion follows. Figure 9 An exemplary system architecture for this sensor 106 is described. Further discussion follows. Figure 10 An exemplary system architecture for this controller 102 is described.
[0117] At box 502, when sensor 106 is in normal operating mode, sensor 106 can broadcast sensor data 114 and / or identification data 110, as shown above regarding... Figure 3 As discussed in box 302. Sensor 106 can broadcast sensor data 114 and / or identification data 110 using normal transmission power in normal operating mode, making the sensor range area 202 associated with such broadcasting relatively large, such as... Figure 2A As shown in the image.
[0118] At block 504, controller 102 can listen for sensor data 114 broadcast by sensor 106, such as sensor data 114 broadcast by sensor 106 at block 502. If controller 102 receives such sensor data 114, and sensor data 114 indicates a sensor address 118 in the sensor configuration 112 maintained by the controller, then controller 102 can process sensor data 114, for example, as described above regarding... Figure 4 The discussion is in box 408.
[0119] At block 506, controller 102 may use accelerometer data, velocity data, and / or other information associated with the motion of machine 104 to determine whether machine 104 is in motion and / or traveling at a speed that meets or exceeds a threshold speed. If controller 102 does not detect such motion of machine 104 (block 506 - No), then at block 504, controller 102 may continue to listen to sensor data 114. However, if controller 102 does detect sufficient motion of machine 104 (block 506 - Yes), controller 102 may broadcast an identification data request 128 at block 508. For example, controller 102 may use the motion of machine 104 as a trigger to broadcast identification data request 128 to prompt any or all sensors 106 currently on machine 104 to switch to configuration mode, and the broadcast controller 102 may be used to update the corresponding identification data 110 of the sensor configuration 112 maintained by controller 102.
[0120] When controller 102 broadcasts identification data request 128 in block 508, controller 102 can also list identification data 110 that sensor 106 can broadcast in response to identification data request 128 at the beginning of block 510. After broadcasting identification data request 128, controller 102 can use a reduced power level to listen for identification data 110, thereby reducing the size of controller range area 204, such as... Figure 2B As shown. Therefore, using a reduced power level to listen for identification data 110 increases the likelihood that controller 102 will receive identification data 110 only from sensors 106 currently on the same machine 104 as controller 102, and reduces the chance of receiving identification data 110 from other sensors 106 (e.g., sensors 106 on other machines 104). In some examples, controller 102 may also use a reduced power level at block 508 to send identification data request 128 to increase the chance that only sensors 106 currently on machine 104 and within a smaller controller range area 204 can receive and respond to identification data request 128. Controller 102 can be configured to use a lower power level to listen for identification data 110 at block 510 for a defined period of time, such as 30 seconds or any longer or shorter period of time, after broadcasting identification data request 128 at block 508.
[0121] In some examples, sensor 106 may also be configured to detect motion of machine 104. For example, sensor 106 may be configured to use accelerometer data or other data to detect motion of sensor 106 itself, which may indicate that machine 104 associated with sensor 106 is also in motion. Because motion of machine 104 can trigger controller 102 to broadcast identification data request 128 at block 508, sensor 106 may also be configured to listen for such identification data request 128 in response to the detection of motion of machine 104. Thus, sensor 106 may determine at block 512 whether sensor 106 has detected motion of machine 104. If sensor 106 has not detected motion of machine 104 (block 512 - No), then at block 502, sensor 106 may continue to broadcast sensor data 114 and / or identification data 110 in normal configuration mode. However, if sensor 106 has detected motion of machine 104 (block 512 - Yes), then sensor 106 may begin actively listening for identification data request 128 broadcast by controller 102 at block 514. In other examples, sensor 106 may be configured to actively listen for identification data request 128 at box 514 at other times and / or under other conditions without prior detection of motion of machine 104.
[0122] At box 516, sensor 106 can determine whether identification data request 128 has been received. If sensor 106 has not yet received identification data request 128 (box 516 - No), then at box 502, sensor 106 can continue broadcasting sensor data 114 and / or identification data 110 in normal configuration mode. However, if sensor 106 has received identification data request 128 (box 516 - Yes), sensor 106 can switch to configuration mode at box 518 and broadcast identification data 110 indicating sensor address 118 and / or sensor attribute 126 of sensor 106. Because sensor 106 broadcasts identification data 110 at box 518 in response to identification data request 128 sent by controller 102, sensor 106 can use a reduced transmission power level to broadcast identification data 110 when in configuration mode. When sensor 106 is in configuration mode, using this reduced transmission power level at box 518 can reduce the size of sensor range area 202, such as... Figure 2B As shown, compared to the larger size of the sensor range area 202 used in the normal configuration mode at box 502, such as Figure 2AAs shown. Therefore, in response to the identification data request 128 sent by controller 102, reducing the size of the sensor range area 202 at block 518 for broadcasting identification data 110 can increase the chance that controller 102 on only the same machine 104 as sensor 106 will receive identification data 110, and decrease the chance that controllers on other machines will receive identification data 110 broadcast at block 518.
[0123] Upon receiving the identification data request 128, sensor 106 may remain in configuration mode for a period of time, such as 30 seconds or any other longer or shorter period, and may broadcast identification data 110 once or multiple times during this period. At block 518, after sensor 106 has broadcast identification data 110 and the time period associated with configuration mode has expired, at block 520, sensor 106 may return to normal operating mode. Therefore, the sensor may return to block 502 to continue broadcasting sensor data 114 and / or identification data 110 in normal configuration mode.
[0124] As described above, at block 510, controller 102 may begin listening for identification data 110 broadcast by sensor 106 in response to identification data request 128 broadcast by controller 102 at block 508. Controller 102 may be configured to use a low power level to listen for identification data 110 at block 510 for a defined period of time, such as 30 seconds or any longer or shorter period of time, following the broadcast of identification data request 128 at block 508. Therefore, at block 508, controller 102 may determine whether identification data 110 has been received during the period following the broadcast of identification data request 128. At block 522, controller 102 may also determine whether any received identification data 110 received during that period indicates an unidentified sensor address 118 not currently in the sensor configuration 112 maintained by controller 102.
[0125] If the identification data 110 received by controller 102 in response to identification data request 128 does not indicate any sensor address 118 that is not yet in sensor configuration 112 (box 522 - No), then controller 102 may have been configured to identify the sensor 106 currently on machine 104 that responded to identification data request 128 by broadcasting identification data 110. Therefore, controller 102 may return to box 504 to continue listing sensor data 114 from those sensors 106.
[0126] However, if the identification data 110 received by controller 102 in response to identification data request 128 does indeed indicate an unidentified sensor address 118 that is not yet in sensor configuration 112 (box 522 - Yes), then at box 524, controller 102 can update sensor configuration 112 based on the identification data 110. Because controller 102 reduces the power level used to listen for identification data 110 at box 510, controller 102 can determine at a high confidence level that the identification data 110 indicating an unidentified sensor address 118 exists within a smaller controller range area 204 surrounding machine 104 but not surrounding other machines, and therefore the sensor 106 broadcasting identification data 110 may be on the same machine 104 as controller 102. Controller 102 can update sensor configuration 112 based on identification data 110 by adding sensor address 118 indicated by identification data 110, and / or by adding sensor attributes 126 indicated by and / or derived from identification data 110, as described above. Figure 4 This is discussed in box 424. After updating sensor configuration 112 at box 524, controller 102 can return to box 504 to continue listing sensor data 114. If sensor data 114 received later indicates the sensor address 118 added to sensor configuration 112 at box 524, controller 102 can determine that sensor data 114 comes from sensor 106 currently on machine 104, and controller 102 has been configured to recognize this, allowing controller 102 to process sensor data 114 accordingly.
[0127] Figure 6 This is a flowchart 600 illustrating an exemplary process by which the controller 102 of machine 104 can detect or replace the sleep sensor 106 based on received identification data 110. Further discussion follows. Figure 10 An exemplary system architecture for this controller 102 is described.
[0128] At box 602, controller 102 can load a predefined sensor configuration 112. The predefined sensor configuration 112 can be based on a new sensor configuration 112 provided to controller 102 at the factory, a previous update of sensor configuration 112 performed manually via a computer or other device used by a technician, or another previously existing state of sensor configuration 112. For example, if a technician installs sensor 106 on machine 104 at a factory or maintenance facility, the technician can use a computer or other device to manually update the sensor configuration 112 of controller 102 to include the sensor address 118 of sensor 106.
[0129] Therefore, at block 604, controller 102 can use a predefined sensor configuration 112 to listen for sensor data 114 and / or identification data 110 indicating sensor address 118 in sensor configuration 112. For example, if controller 102 receives sensor data 114 indicating sensor address 118 in sensor configuration 112, controller 102 can process sensor data 114, as described above. Figure 4 The discussion is in box 408.
[0130] The controller 102 can also track when it receives instances of sensor data 114 and / or identification data 110 indicating sensor address 118 in sensor configuration 112. Therefore, at block 606, the controller 102 can determine whether sensor data 114 and / or identification data 110 indicating sensor address 118 in sensor configuration 112 has not been received for at least a threshold time period (such as 40 machine operating hours or any other longer or shorter time period).
[0131] If controller 102 determines that no threshold time period has elapsed between receiving instances of sensor data 114 and / or identification data 110 indicating all sensor addresses 118 in sensor configuration 112 (box 606 - No), then at box 604, controller 102 may continue to listen for such sensor data 114 and / or identification data 110. However, if sensor data 114 or identification data 110 indicating one of the sensor addresses 118 in sensor configuration 112 has not been received for at least the threshold time period (box 606 - Yes), there may be a chance that the corresponding sensor 106 has been replaced, making the current sensor configuration 112 used by controller 102 obsolete. Therefore, at box 606, controller 102 may broadcast an identification data request 128 to prompt the replacement sensor 106 (if a replacement sensor exists on machine 104) to switch to configuration mode and broadcast the corresponding identification data 110. If the original sensor 106 is still on the machine 104, but has entered sleep mode so that it does not broadcast identification data 110 for at least the threshold time period, then the identification data request 128 broadcast at box 608 can prompt the original sensor 106 to broadcast such identification data 110, so that the controller 102 can confirm that the original sensor 106 is still on the machine 104.
[0132] When controller 102 broadcasts identification data request 128 in block 608, controller 102 can also list identification data 110 that sensor 106 can broadcast in response to identification data request 128 at the beginning of block 610. After broadcasting identification data request 128, controller 102 can use a reduced power level to listen for identification data 110, thereby reducing the size of controller range area 204, such as... Figure 2BAs shown. Therefore, using a reduced power level to listen for identification data 110 increases the likelihood that controller 102 will receive identification data 110 only from sensors 106 currently on the same machine 104 as controller 102, and reduces the chance of receiving identification data 110 from other sensors 106 (e.g., sensors 106 on other machines 104). In some examples, controller 102 may also use a reduced power level at block 608 to send identification data request 128 to increase the chance that only sensors 106 currently on machine 104 and within a smaller controller range area 204 can receive and respond to identification data request 128. Controller 102 can be configured to use a lower power level to listen for identification data 110 at block 610 for a defined period of time, such as 30 seconds or any longer or shorter period of time, after broadcasting identification data request 128 at block 608.
[0133] At block 610, controller 102 may determine whether identification data 110 is received during a time period following the broadcast of identification data request 128. At block 612, controller 102 may determine whether any received identification data 110 received during that time period indicates an unidentified sensor address 118 that is not currently in the sensor configuration 112 maintained by controller 102.
[0134] If the identification data 110 received by controller 102 in response to identification data request 128 does not indicate any sensor address 118 that is not yet in sensor configuration 112 (box 612 - No), then controller 102 may have been configured to identify sensor 106 currently on machine 104 and responding to identification data request 128 by broadcasting identification data 110. Therefore, controller 102 may return to box 604 to continue listening for sensor data 114 and / or identification data 110 based on the current sensor configuration 112 maintained by controller 102.
[0135] As an example, sensor 106, which is determined at block 606 to have not transmitted sensor data 114 and / or identification data 110 for at least a threshold time period, may be dormant, but may have already broadcast identification data 110 in response to identification data request 128 broadcast by controller 102 at block 608. As an example, sensor 106, which is determined at block 606 to have not transmitted sensor data 114 and / or identification data 110 for at least a threshold time period, may have been removed from machine 104 and not replaced, causing a replacement sensor 106 to not broadcast identification data 110 in response to identification data request 128 broadcast by controller 102 at block 608.
[0136] However, if the identification data 110 received by controller 102 in response to identification data request 128 does indeed indicate an unidentified sensor address 118 that is not yet in sensor configuration 112 (box 612 - yes), then at box 614, controller 102 can update sensor configuration 112 based on the identification data 110. Because controller 102 reduces the power level used to listen for identification data 110 at box 610, controller 102 can determine at a high confidence level that the identification data 110 indicating an unidentified sensor address 118 exists within a smaller controller range area 204 surrounding machine 104 but not surrounding other machines, and therefore the sensor 106 broadcasting identification data 110 may be on the same machine 104 as controller 102. Controller 102 can update sensor configuration 112 based on identification data 110 by adding sensor address 118 indicated by identification data 110, and / or by adding sensor attributes 126 indicated by and / or derived from identification data 110, as described above. Figure 4 The discussion is in box 424.
[0137] For example, if it is determined at box 606 that a sensor 106 that has not sent sensor data 114 and / or identification data 110 for at least a threshold time period has been replaced by a new sensor 106 on machine 104, then newly received identification data 110 with an unidentified sensor address 118 may come from the replaced sensor 106. Therefore, controller 102 may add the sensor address 118 and / or corresponding sensor attribute 126 indicated by the newly received identification data 110 to the sensor configuration 112 maintained by controller 102.
[0138] After updating sensor configuration 112 at box 614, controller 102 can return to box 604 to continue listening to sensor data 114 and / or identification data 110 based on the updated sensor configuration 112. For example, if sensor data 114 received later indicates a sensor address 118 added to sensor configuration 112 at box 614, controller 102 can determine that sensor data 114 comes from sensor 106 currently on machine 104, and controller 102 has been configured to recognize this, allowing controller 102 to process sensor data 114 accordingly.
[0139] Figure 7 This is a flowchart 700 illustrating an exemplary process in which the controller 102 of machine 104 can be configured to identify a sensor 106 associated with machine 104 and the mounting location of the sensor 106 on machine 104. Further discussion follows. Figure 9 An exemplary system architecture for this sensor 106 is described. Further discussion follows. Figure 10An exemplary system architecture for this controller 102 is described.
[0140] At box 702, controller 102 can receive user input that defines the selected installation location for the sensor 106 being configured. For example, controller 102 may interface with a screen or other display in the cab of machine 104, which may display a user interface, input controls, and / or other elements allowing the user to provide input for selecting the installation location. As another example, a technician or other user may connect a laptop computer, service tool, or other device to controller 102 via a wired or wireless connection, allowing the user to use the device to provide input for selecting the installation location. The user input received at box 702 may also define the selected sensor type and / or other information about sensor 106.
[0141] The installation location selected by user input received at box 702 can indicate the position of the sensor 106 being configured on machine 104. For example, if a technician is installing a sensor 106 that can be installed at multiple locations on machine 104, such as at the front of machine 104, at the rear of machine 104, on the left side of machine 104, or on the right side of machine 104, the technician can provide user input at box 702 to indicate one of those potential locations where the sensor 106 has been installed or will be installed.
[0142] At box 704, controller 102 can listen to identification data 110 broadcast by sensor 106, including configuration indicator 130. Selecting an installation location at box 702 allows controller 102 to listen to identification data 110 including configuration indicator 130 for at least a threshold time period, such as 30 seconds or any longer or shorter time period.
[0143] At box 702, a user or a different user may provide user input received by controller 102 to activate the configuration trigger 108 of sensor 106 at box 704 while controller 102 is listening for identification data 110. In some examples, after user input defining the mounting location of sensor 106 has been provided to controller 102, the user may activate the physical configuration trigger 108 of sensor 106 by pressing a button on sensor 106, touching the touchpad of sensor 106, tapping or moving sensor 106 to make the accelerometer of sensor 106 detect the activation of configuration trigger 108, moving a magnetic component near sensor 106, and / or via other manual actions. In other examples, after user input defining the mounting location of sensor 106 has been provided to controller 102, the user may activate the digital configuration trigger 108 of sensor 106 by using a different setting tool or other computing device than controller 102 to transmit signals or other data via a wired or wireless data connection activating the digital configuration trigger 108 of sensor 106.
[0144] Therefore, although sensor 106 can initially operate in normal operating mode at block 706, at block 708, sensor 106 can determine that its configuration trigger 108 has been activated based on manual user input or data received from the user device. Thus, activating the configuration trigger 108 at block 708 causes sensor 106 to switch to configuration mode at block 710 and broadcast identification data 110 with configuration indicator 130. The identification data 110 broadcast at block 710 can indicate the sensor address 118 of sensor 106. The identification data 110 broadcast at block 710 can also indicate certain types of sensor attributes 126, but the mounting location of sensor 106 can be omitted because sensor 106 itself may not be configured with information indicating the location where sensor 106 has been or will be mounted on machine 104. After broadcasting identification data 110 at box 710, sensor 106 can return to normal operating mode at box 712 and operate in normal operating mode at box 706 until the next time the configuration trigger 108 of sensor 106 is activated.
[0145] At block 714, controller 102 may receive identification data 110 with configuration indicator 130 broadcast by sensor 106 at block 710. In response to receiving user input indicating a selected installation location at block 702, controller 102 may receive identification data 110 during the time period during which controller 102 listens for such identification data 110 at block 704. The user input received at block 702 may cause controller 102 to consider that the next identification data 110 with configuration indicator 130 received by controller 102 is from sensor 106 located at the installation location indicated by the user input. Therefore, when controller 102 receives identification data 110 at block 714, controller 102 can determine that identification data 110 was broadcast by a sensor located at the selected installation location defined by the user input.
[0146] At block 716, controller 102 may update the sensor configuration 112 maintained by controller 102 accordingly based on the identification data 110 received at block 714. For example, if user input received at block 702 indicates that sensor 106 on the left side of machine 104 is being configured, then at block 716, controller 102 may add an entry to sensor configuration 112 indicating that sensor 106 associated with the sensor address 118 indicated by identification data 110 exists on the left side of machine 104. In some examples, sensor attribute 126 expressed in identification data 110 may also indicate sensor type or other data, allowing controller 102 to indicate the information to be added to the entry in sensor configuration 112. In other examples, if user input received at block 702 indicates the sensor type or other data to be associated with the sensor 106 being configured, controller 102 may indicate that the information in that entry is added to sensor configuration 112.
[0147] After updating sensor configuration 112 at box 716, controller 102 can now be configured to identify and process sensor data 114 that will be received from sensor 106 in the future. For example, because sensor configuration 112 can now indicate sensor address 118 of sensor 106 and the mounting location of sensor 106 on machine 104, controller 102 can determine that future sensor data 114 indicating sensor address 118 is associated with sensor 106 located at the corresponding mounting location identified in sensor configuration 112. For example, controller 102 can distinguish this sensor data 114 from similar sensor data 114 received from other instances of the same type of sensor present at other mounting locations on machine 104.
[0148] For sensors in other installation locations, the process can be repeated. Figure 7 The process shown. For example, Figure 7The process shown can be used at the first moment to configure controller 102 based on the first user input at box 702 on the left side of machine 104, using the first sensor address 118 of the first sensor installed on the left side of machine 104. Figure 7 The process shown can then be repeated at a second time to configure controller 102 using the second sensor address 118 of the second sensor mounted on the right side of machine 104, based on the second user input at box 702 on the right side of machine 104.
[0149] Figure 8 This is a flowchart 800 illustrating an exemplary process in which sensor 106 can be configured with an installation location, and the installation location can be indicated in identification data 110 broadcast when sensor 106 is in configuration mode. Further discussion follows. Figure 9 An exemplary system architecture for this sensor 106 is described.
[0150] At box 802, sensor 106 may receive user input defining the mounting location of sensor 106. The mounting location may be a location on machine 104 where sensor 106 is mounted or where sensor 106 will be mounted. For example, sensor 106 may be a type of sensor that can be mounted at a predetermined set of locations on machine 104, such as on the left or right side of machine 104 or on a component of machine 104. Therefore, user input may indicate a specific mounting location selected from a predefined set of locations where sensor 106 can be mounted.
[0151] A technician or other user can provide user input received at box 804, which can be used to interact with sensor 106 manually or indirectly via a setting tool, a computer, or another device different from the controller 102 of machine 104. For example, if sensor 106 can be mounted on the left or right side of machine 104, a technician can use one or more controllers on sensor 106, such as toggle switches, buttons, touch sensors, or other controllers, to indicate whether sensor 106 is actually mounted on the left or right side of machine 104, or will be mounted on the left or right side of machine 104. For example, a technician can press a button on sensor 106 once to indicate that sensor 106 is mounted on the left side of machine 104, or press a button on sensor 106 twice to indicate that sensor 106 is mounted on the right side of machine 104. Sensor 106 may have a memory for storing mounting position data configured by a technician through control of sensor 106. As another example, a technician may use a service tool, mobile computing device, laptop computer or other device that interfaces with sensor 106 to provide user input identifying the installation location of sensor 106, so that sensor 106 can store the corresponding installation location data in sensor 106's memory.
[0152] At box 804, after sensor 106 has received user input defining the mounting location of sensor 106, the sensor can operate in normal operating mode. For example, when operating in normal operating mode, sensor 106 can broadcast sensor data 114 and / or identification data 110. Identification data 110 can indicate identification data request 128 and sensor attributes 126, such as the mounting location of sensor 106. However, because sensor 106 is in normal operating mode, the configuration indicator 130 can be omitted from the identification data 110 broadcast at box 804.
[0153] At box 806, sensor 106 can monitor the activation of configuration trigger 108 of sensor 106. As an example, configuration trigger 108 of sensor 106 can be a physical control, such as a button, touch sensor, accelerometer, magnetic component, or other type of control that can be selectively activated manually and / or via a magnetic device or other activation tool by a user. As another example, configuration trigger 108 can be a digital trigger activated via a wireless or wired signal from a service tool or other user device, or via an identification data request 128 broadcast by controller 102 of machine 104.
[0154] At box 808, sensor 106 can determine whether configuration trigger 108 has been activated. If configuration trigger 108 has not been activated (box 808 - No), sensor 106 can remain in normal operating mode and return to box 804 to broadcast sensor data 114 and / or identification data 110. However, if sensor 106 determines that configuration trigger 108 has been activated (box 808 - Yes), sensor 106 can switch to configuration mode and broadcast identification data 110 at box 810.
[0155] When in configuration mode at box 810, the identification data 110 broadcast by sensor 106 may include the sensor address 118 of sensor 106 and may also indicate the mounting location of sensor 106. For example, because data indicating the mounting location of sensor 106 may be stored in the memory of sensor 106 based on user input received at box 802, sensor 106 may include this mounting location data in the identification data 110 broadcast at box 810, or the identification data 110 broadcast at box 810 may indicate the mounting location of sensor 106. The identification data 110 broadcast at box 810 may also indicate other sensor attributes 126 of sensor 106.
[0156] In some examples, when sensor 106 is in configuration mode, the identification data 110 broadcast at block 810 may have a configuration indicator 130 to indicate to the receiving controller 102 that the identification data 110 was sent by sensor 106 in configuration mode. In another example, if configuration trigger 108 is activated based on receiving identification data request 128, sensor 106 may reduce transmission power while in configuration mode, causing the identification data 110 broadcast at block 810 to... Figure 2B The data is transmitted over a relatively small sensor range area 202, as shown, in order to increase the chance that only the controller 102 associated with the same machine 104 as sensor 106 will receive the identification data 110.
[0157] At box 810, for example at one or more times during a time period associated with the configuration mode, after sensor 106 has broadcast identification data 110, at box 812, sensor 106 can return to normal operating mode. Therefore, when in normal operating mode, sensor 106 can return to box 804 to broadcast sensor data 114 and / or identification data 110.
[0158] The controller 102 of machine 104 can receive identification data 110 broadcast by sensor 106 at block 810, and can use the identification data 110 to update the sensor configuration 112 maintained by the controller 102. For example, if the identification data 110 includes a sensor address 118 of sensor 106 and indicates that sensor 106 is installed at the front end of machine 104, the controller 102 can add an entry indicating that sensor 106 associated with sensor address 118 is located at the front end of machine 104 to the sensor configuration 112. In some examples, sensor attributes 126 expressed in the identification data 110 may also indicate sensor type or other data, allowing the controller 102 to indicate information added to the entries in the sensor configuration 112.
[0159] For different sensors 106 associated with different installation locations, execution can be performed at different times. Figure 8 The process is shown. For example, it can be used immediately. Figure 8 The process shown configures a first sensor with mounting data identifying a first mounting location, and causes the first sensor to broadcast first sensor address 118 and first identification data 110 indicating the first mounting location. Therefore, the controller 102 can update the sensor configuration 112 maintained by the controller 102 based on the first identification data 110 to associate the first sensor address 118 with the first mounting location indicated by the first identification data 110. Similarly, it can be used at a second time. Figure 8 The process shown configures a second sensor with installation data identifying a second installation location, and causes the second sensor to broadcast second identification data 110 indicating a second sensor address 118 and a second installation location. Therefore, the controller 102 can update the sensor configuration 112 maintained by the controller 102 based on the second identification data 110 to associate the second sensor address 118 with the second installation location indicated by the second identification data 110.
[0160] Figure 9An exemplary system architecture 900 for a sensor 106 performing one or more elements described in this invention is shown. As described above, sensor 106 can be a sensor type associated with machine 104, such as a sensor that can be temporarily or permanently mounted to machine 104, or a sensor that can be transported to and / or carried by machine 104. For example, sensor 106 can be a tool sensor configured to measure or determine the position and / or orientation of a tool on machine 104, a temperature sensor configured to measure the temperature of an engine, drivetrain element, or other component of machine 104, a fuel level sensor configured to determine the current fuel level of machine 104, a track wear sensor measuring the depth of the tread on the tracks of machine 104, a tire pressure sensor configured to measure the pressure of the tires of machine 104, an oil cap sensor configured to measure the oil level associated with the engine of machine 104, a wireless key fob compatible with machine 104, a battery sensor configured to monitor or determine the properties of the battery of machine 104, and / or any other type of sensor.
[0161] Sensor 106 may be a computing device including one or more processors 902, memory 904, and / or communication interface 906. Sensor 106 may also include other elements, such as one or more sensing elements 908, hardware configuration triggers 910, and / or motion sensors 912. The one or more sensing elements 908 may be components that detect the state of sensor 106, perform measurements associated with sensor 106 and / or the surrounding environment, and / or perform other determinations. Hardware configuration triggers 910 may be hardware instances that configure trigger 108, such as buttons, touch sensors, magnetic sensors, or other types of control elements that a user or user device can physically interact with to activate hardware configuration trigger 910. Motion sensor 912 may be an accelerometer or other motion sensor incorporated into sensor 106, enabling sensor 106 to detect when sensor 106 moves, thereby detecting when machine 104 moves. In some examples, motion sensor 912 may be the sensing element 908 of sensor 106.
[0162] The processor 902 of sensor 106 is operable to perform various functions as set forth herein. Processor 902 may include one or more chips, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) and / or other programmable circuits, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), and / or other processing units or components known in the art. In some examples, processor 902 may have one or more arithmetic logic units (ALUs) that perform arithmetic and logical operations, and / or one or more control units (CUs) that fetch instructions and stored contents from processor cache and execute such instructions by invoking the ALUs during program execution. Processor 902 may also access contents and computer-executable instructions stored in memory 904 and execute such computer-executable instructions.
[0163] Memory 904 may be a volatile and / or non-volatile computer-readable medium, including integrated or removable storage devices, including random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive or other disk drive, memory card, optical storage, magnetic storage, and / or any other computer-readable medium. The computer-readable medium may be a non-transitory computer-readable medium. The computer-readable medium may be configured to store computer-executable instructions that can be executed by processor 902 to perform the operations described herein.
[0164] For example, memory 904 may include drive units and / or other elements including machine-readable media. The machine-readable media may store one or more instruction sets, such as software or firmware, that implement any one or more of the methods or functions described herein. These instructions may also reside wholly or at least partially within processor 902 and / or communication interface 906 during the execution of these instructions by sensor 106. Additionally, processor 902 may have local memory that may also store program modules, program data, and / or one or more operating systems.
[0165] Memory 904 may store data and / or computer-executable instructions associated with the elements of sensor 106 described herein. As an example, memory 904 may store sensor address 118 of sensor 106, such as the unique MAC address of sensor 106. As another example, if sensor 106 is configured to store sensor mounting location data 914, memory 904 may store sensor mounting location data 914 indicating the mounting location of sensor 106 on machine 104. Memory 904 may also, or alternatively, store data indicating one or more other sensor attributes 126, such as the type of sensor 106, the data format or mode used by sensor 106, the type of sensor data 114 broadcast by sensor 106, the hardware and / or software capabilities of sensor 106, the manufacturer of sensor 106, the version number of sensor 106, and / or any other information about sensor 106.
[0166] The memory 904 may also store other data and / or computer-executable instructions, such as data and / or computer-executable instructions associated with the sensor data generator 116, the digital configuration trigger 916, and / or the mode controller 918. The sensor data generator 116 may generate sensor data 114 and / or enable the communication interface 906 of the sensor 106 to broadcast sensor data 114, for example, based on input from one or more sensing elements 908. The digital configuration trigger 916 may be a software-based instance of the configuration trigger 108, configured to be activated based on an identification data request 128 from the controller 102 and / or based on an activation signal or other data received via a wired or wireless data connection to a user device or setting tool. The mode controller 918 may, for example, switch the sensor 106 from a normal operating mode to a configuration mode based on the activation of the hardware configuration trigger 910 or the digital configuration trigger 916. The mode controller 918 may also return the sensor 106 from the configuration mode to the normal operating mode, for example, after a threshold time period has elapsed following the activation of the hardware configuration trigger 910 or the digital configuration trigger 916.
[0167] The memory 904 may also store other modules and data 920, which can be used by the sensor 106 to perform or enable any action taken by the sensor 106. For example, the other modules and data 920 may include a platform, operating system, and / or application, as well as data used by the platform, operating system, and / or application.
[0168] The communication interface 906 may include a transceiver, modem, interface, antenna, and / or other components that can transmit and / or receive data via a network or other data connection, broadcast data, receive data broadcast by other components, and / or otherwise transmit and / or receive data. Therefore, when the sensor is in normal operating mode and / or configuration mode, the sensor 106 can use the communication interface 906 to broadcast sensor data 114 and / or identification data 110. The sensor 106 can also use the communication interface 906 to receive identification data request 128 broadcast by the controller 102, and / or receive signals or other data from user devices or setting tools to activate the digital configuration trigger 916.
[0169] In some examples, sensor 106 can change the power level of communication interface 906 used to broadcast and / or listen to data, for example, to control the size of sensor range region 202. For instance, in some examples or situations, when sensor 106 is in configuration mode, sensor 106 can reduce the power level of communication interface 906 used to broadcast identification data 110 to reduce the size of sensor range region 202, such as... Figure 2B As shown.
[0170] Figure 10 An exemplary system architecture 1000 is shown for a controller 102 for performing one or more elements described in this invention. The controller 102 may include one or more computing devices or other computing elements, including one or more processors 1002, memory 1004, and / or communication interfaces 1006.
[0171] Controller 102 may be or may include the ECM or other onboard computing system of machine 104. In other examples, controller 102 may be a separate computing system or device that can communicate with and / or integrate with the ECM or other onboard computing system of machine 104.
[0172] In some examples, the elements of the controller 102 described herein may be distributed among multiple computing systems or devices, which may have the same characteristics as... Figure 10 The system architecture shown in the diagram is similar to that of the system architecture 1000. For example, the sensor configuration 112 maintained by the controller 102 can be stored and / or updated by the first computing system of the machine 104, while the sensor data processor 120 can be executed by the second computing system of the machine 104 based on the sensor configuration 112 maintained by the first computing system.
[0173] The processor 1002 of controller 102 is operable to perform various functions as set forth herein. Processor 1002 may include one or more chips, microprocessors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) and / or other programmable circuits, central processing units (CPUs), graphics processing units (GPUs), digital signal processors (DSPs), and / or other processing units or components known in the art. In some examples, processor 1002 may have one or more arithmetic logic units (ALUs) that perform arithmetic and logical operations, and / or one or more control units (CUs) that fetch instructions and stored contents from processor cache and execute such instructions by invoking the ALUs during program execution. Processor 1002 may also access contents and computer-executable instructions stored in memory 1004 and execute such computer-executable instructions.
[0174] Memory 1004 may be a volatile and / or non-volatile computer-readable medium, including integrated or removable storage devices, including random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive or other disk drive, memory card, optical storage, magnetic storage, and / or any other computer-readable medium. The computer-readable medium may be a non-transitory computer-readable medium. The computer-readable medium may be configured to store computer-executable instructions that can be executed by processor 1002 to perform the operations described herein.
[0175] For example, memory 1004 may include drive units and / or other elements including machine-readable media. The machine-readable media may store one or more instruction sets, such as software or firmware, that implement any one or more of the methods or functions described herein. These instructions may also reside wholly or at least partially within processor 1002 and / or communication interface 1006 during execution of these instructions by controller 102. Additionally, processor 1002 may have local memory that may also store program modules, program data, and / or one or more operating systems.
[0176] Memory 1004 may store data and / or computer-executable instructions associated with elements of the controller 102 described herein. For example, memory 1004 may store data and / or computer-executable instructions associated with sensor configuration 112, sensor data processor 120, sensor configuration updater 1008, and / or other elements. Sensor configuration updater 1008 may be configured to determine whether the received identification data 110 should be used to update sensor configuration 112, and if so, to update sensor configuration 112 accordingly based on the received identification data 110.
[0177] The memory 1004 may also store other modules and data 1010, which the controller 102 may use to perform or enable any actions taken by the controller 102. For example, other modules and data 1010 may include a platform, operating system and / or applications, as well as data used by the platform, operating system and / or applications.
[0178] Communication interface 1006 may include a transceiver, modem, interface, antenna, and / or other components that can transmit and / or receive data via a network or other data connection, broadcast data, receive data broadcast by other components, and / or otherwise transmit and / or receive data. Therefore, controller 102 can use communication interface 1006 to receive sensor data 114 and / or identification data 110 that has been broadcast by sensor 106. Controller 102 can also use communication interface 906 to broadcast identification data request 128, send received sensor data 114 and / or corresponding report 122 to other systems 124, and / or send or receive any other data.
[0179] In some examples, controller 102 can change the power level of communication interface 1006 used to broadcast and / or listen to data, for example, to control the size of controller range region 204. For example, in some examples or situations, controller 102 can reduce the power level of communication interface 1006 used to listen to identification data 110 in response to identification data request 128 broadcast by sensor 106, thereby reducing the size of controller range region 204, such as... Figure 2B As shown.
[0180] Industrial applicability
[0181] As described herein, activation of the configuration trigger 108 of sensor 106 can cause sensor 106 to enter configuration mode and broadcast identification data 110 indicating sensor address 118 of sensor 106. The controller 102 of machine 104 can use the sensor address 118 included in the identification data 110 broadcast by sensor 106 to update sensor configuration 112, thereby configuring controller 102 to recognize sensor 106 as associated with machine 104.
[0182] Therefore, controller 102 can automatically update sensor configuration 112 to include sensor address 118 indicated by identification data 110 broadcast by sensor 106, instead of requiring manual updates of sensor configuration 112 by a technician or other user. As described herein, automatic updates of sensor configuration 112 maintained by controller 102 can be more accurate than manual updates.
[0183] For example, the sensor address 118 of sensor 106 can be a MAC address, such as a series of hexadecimal characters. In some cases, the MAC address may be printed on a label or marking attached to sensor 106, provided in a user manual, or in other documentation associated with sensor 106. When a technician or other user installs sensor 106 on machine 104, the user may attempt to update the sensor configuration 112 associated with controller 102 of machine 104 by reading the MAC address on the label, marking, or other documentation associated with sensor 106 and manually entering that MAC address into the user interface associated with controller 102. However, although the MAC address can uniquely identify sensor 106, the hexadecimal characters of the MAC address may appear largely random to the user. Therefore, there is a significant risk of the user making a typo when transcribing the MAC address and manually entering the hexadecimal characters of the sensor's MAC address into the user interface associated with controller 102. Such a typographical error may cause the sensor address 118 added to the sensor configuration 112 to be inaccurate, and thus cause the controller 102 to fail to recognize the sensor 106 as associated with the machine 104.
[0184] However, as described herein, controller 102 can automatically update sensor configuration 112 based on the MAC address or other sensor address 118 directly indicated by identification data 110 broadcast by sensor 106. Therefore, controller 102 can accurately and automatically update sensor configuration 112 to indicate the correct MAC address or other sensor address 118 of sensor 106 without the risk of typographical errors or other user mistakes.
[0185] As described herein, the automatic updating of the sensor configuration 112 maintained by controller 102 can also be used in situations where manual updating of the sensor configuration 112 may be difficult or impossible. As an example, as mentioned above, in some cases, the MAC address of sensor 106 may be printed on a label, tag, or other document. However, in some cases, such printed MAC addresses may fade and become difficult to read over time, may be scratched off or damaged over time, or may experience other problems that may make the printed MAC address difficult or impossible to read, preventing the user from manually entering the sensor's MAC address into the user interface associated with controller 102. In cases where the sensor's MAC address may not be known to the user, controller 102 can still automatically update the sensor configuration 112 based on the MAC address directly indicated by the identification data 110 broadcast by sensor 106.
[0186] As another example, the controller 102 of machine 104 may be configured, as described herein, to broadcast an identification data request 128 in response to the detection of motion of machine 104, such as when machine 104 begins to move or moves at a speed exceeding a threshold. When the controller 102 broadcasts the identification data request 128 while machine 104 is moving, any or all sensors 106 currently on machine 104 and moving with machine 104 may be triggered to broadcast identification data 110 indicating the corresponding sensor addresses 118 of those sensors 106. Therefore, the controller 102 may automatically update its sensor configuration 112 in response to the identification data request 128 based on the sensor addresses 118 received in the identification data 110 to ensure that the controller 102 is configured to recognize any or all sensors 106 currently on machine 104.
[0187] For example, when machine 104 is parked, a technician or other user may have already installed a new sensor 106 on machine 104, such as a new type of sensor 106 or a replacement sensor 106. However, the user may have forgotten to manually update the sensor configuration 112, be unable to manually update the sensor configuration 112, or have made a typographical error when attempting to manually update the sensor configuration 112. Although controller 102 may therefore have an inaccurate or incomplete sensor configuration 112, which does not accurately indicate the MAC address of the new sensor 106 when machine 104 begins to move, the identification data request 128 broadcast by controller 102 in response to the movement of machine 104 can prompt the new sensor 106 to broadcast identification data 110 indicating the MAC address of the new sensor 106. Therefore, after machine 104 begins to move, controller 102 can automatically update sensor configuration 112 to indicate the MAC address of the new sensor 106 now on machine 104.
[0188] While various aspects of the invention have been specifically shown and described with reference to the foregoing embodiments, those skilled in the art will understand that various additional embodiments can be contemplated through modifications to the disclosed machines, systems, and methods without departing from the spirit and scope of the disclosure. These embodiments should be understood to fall within the scope of the invention as defined by the claims and any equivalents.
Claims
1. A method comprising: The machine's controller receives identification data indicating the sensor's address. Based on the activation of the configuration trigger of the sensor, the controller determines that the sensor is likely in configuration mode when the sensor broadcasts the identification data; as well as The controller adds entries to the sensor configuration maintained by the controller based on the determination that the sensor may be in the configuration mode. The entry includes the sensor address indicated by the identification data, and causes the controller to process subsequent sensor data indicating the sensor address.
2. The method according to claim 1, further comprising: The controller broadcasts an identification data request, which is configured to activate the configuration trigger of the sensor. The controller determines that the sensor is likely in the configuration mode based on the time when the sensor broadcasts the identification data, within a threshold time period after the controller broadcasts the identification data request.
3. The method according to claim 1, wherein: The identification data received from the sensor has a configuration indicator, and The controller determines that the sensor is likely in the configuration mode based on the configuration indicator of the identification data.
4. The method according to claim 1, wherein: The identification data or user input provided to the controller indicates the installation location of the sensor, and The entry added by the controller to the sensor configuration further indicates the installation location indicated by the identification data or the user input.
5. A method comprising: The activation of the configuration trigger of the sensor is determined by the sensor associated with the machine; The system switches from normal operation mode to configuration mode via the sensor and based on the activation of the configuration trigger. as well as While the sensor is in the configuration mode, the sensor broadcasts identification data indicating the sensor's address. The identification data causes the machine's controller to update the sensor configuration to include an entry for the sensor address.
6. The method of claim 5, wherein the identification data has a configuration indicator associated with the configuration mode.
7. The method of claim 5, wherein broadcasting the identification data when the sensor is in the configuration mode comprises broadcasting the identification data at a reduced power level relative to the power level used by the sensor to broadcast the identification data when the sensor is in the normal operating mode.
8. The method of claim 5, wherein the configuration trigger includes a hardware configuration trigger configured to be manually activated by a user or user tool.
9. The method of claim 5, wherein the configuration trigger comprises a digital configuration trigger, the digital configuration trigger being configured to be activated based on one or more of the following: Data from user device, or The identifier data request broadcast by the controller.
10. The method of claim 5, further comprising: The sensor receives user input specifying its installation location. The identification data broadcast by the sensor indicates the installation location of the sensor.
Citation Information
Patent Citations
TPMS sensor position setting method
US9493043B2