This disclosure relates to triangulation and vibration measurements.
A positioning technique may use triangulation to determine a position of an object. For example, wireless base stations can take signal strength measurements of radio frequency (RF) signals transmitted by a cell phone, forward the measurements to a centralized server, and the centralized server can compute a position of the cell phone using triangulation. Alternatively, the cell phone may take signal strength measurements of RF signals received from different base stations, and then use these measurements to determine a position of the cell phone.
Techniques and systems are described for creating and operating a vibration triangulation network. A vibration triangulation network can include vibration sensor devices placed in a building, such as a store or a house, which are able to pinpoint the location of a target, e.g., person, animal, etc., through triangulation. According to an aspect of the present disclosure, a described technique includes receiving vibration notifications from vibration sensor devices, determining a location of a target within the building based on at least a portion of the vibration notifications and a vibration sensor map associated with the building, and triggering an alarm event based on a detection of the target. In some implementations, the described technique includes receiving vibration notifications from the vibration sensor devices, detecting a target within the building based on at least a portion of the vibration notifications and the vibration sensor map associated with the building, and triggering an alarm event based on the detected target within the building and one or more alarm criteria. Other implementations include corresponding systems, apparatus, and computer programs to perform the actions of methods defined by instructions encoded on computer readable storage.
These and other implementations can include one or more of the following features. The technique can include performing a calibration process on vibration sensor devices within a building such as a house or a store, obtaining layout information of the building, and determining locations of the vibration sensor devices located in the building with respect to the layout information to create a vibration sensor map. In some implementations, a vibration sensor device can transmit a vibration notification via a short-range wireless communication link such as Wi-Fi, Bluetooth, or Z-Wave. In some implementations, a vibration notification includes a sensor identifier, a vibration level (e.g., amplitude), and timestamp. A vibration sensor map can include sensor location entries for respective sensor devices. In some implementations, a sensor location entry can include a room identifier and a sensor identifier. In some implementations, a sensor registration entry can include a sensor identifier and sensor coordinates. The technique can include filtering vibrations based on vibrational amplitudes and a predetermined amplitude criterion. For example, the technique can exclude vibrations having an amplitude below a predetermined threshold value. In some implementations, the technique can exclude vibrations that originate from known sources such as a washer, dryer, or dishwasher. Excluding vibrations can include analyzing a pattern of vibrations, and excluding vibrations that have a specific pattern, e.g., slow vibration, fast vibration, etc. In some implementations, the technique includes determining a path of intruder within the building based on the vibration notifications, determining what rooms the intruder entered, determining a number of intruders, or a combination thereof.
According to an aspect of the present disclosure, a described system includes a controller and three or more vibration sensor devices located in a building. Each of the vibration sensor devices can include a vibration sensor, processor coupled with the vibration sensor, and a communication module coupled with the processor. A vibration sensor device can include a battery or other type of power source. Each of the vibration sensor devices can be configured to transmit a vibration notification in response to one or more detected vibrations. The controller can be configured to receive vibration notifications from the vibration sensor devices and detect a moving target within the building based on at least a portion of the vibration notifications and a vibration sensor map associated with the building. The vibration sensor map can include location data for each of the vibration sensor devices. In some implementations, the controller is configured to trigger an alarm event based on a detection of the moving target within the building and one or more alarm criteria.
According to an aspect of the present disclosure, a described technique includes determining the locations of vibration sensor devices within a building such as a store, amusement park, or office space, creating a vibration sensor map based on the sensor locations, receiving vibration notifications from the vibration sensor devices, determining locations of targets based on the vibration notifications and the vibration sensor map, and creating a heat map showing customer activity within the building. In some implementations, the technique includes aggregating the target locations on a map of the store to generate one or more heat maps of customer movement for the building.
According to an aspect of the present disclosure, a described technique includes receiving, by a controller, vibration notifications from vibration sensor devices distributed within a building; accessing, by the controller, a vibration sensor map associated with the building, the vibration sensor map including sensor location entries for the vibration sensor devices; determining a location of a target based on at least a portion of the vibration notifications and the vibration sensor map; and triggering an alarm event based on a detection of the target within the building and one or more alarm criteria. Other implementations include corresponding systems, apparatus, and computer programs to perform the actions of methods defined by instructions encoded on computer readable storage.
These and other implementations can include one or more of the following features. Implementations can include filtering one or more of the vibration notifications that correspond to one or more vibrations originating from one or more predetermined vibration sources. In some implementations, for determining the location of the target, the at least the portion of the vibration notifications can correspond to one or more vibrations that originate from locations other than the one or more predetermined vibration sources. In some implementations, each of the vibration notifications includes a sensor identifier, a vibration amplitude, and a timestamp. Implementations can include filtering one or more of the vibration notifications based on the respective vibrational amplitudes and a predetermined amplitude criterion, wherein the at least the portion of the vibration notifications satisfy the predetermined amplitude criterion.
In some implementations, the one or more alarm criteria specifies a restricted area of the building, and wherein triggering the alarm event comprises triggering the alarm event based on a detection of the target within the restricted area of the building. Implementations can include determining a path of the target within the building based on the vibration notifications; identifying one or more rooms of the building that the target entered based on the path; and generating a list of one or more room identifiers corresponding to the identified one or more rooms.
Implementations can include performing a calibration process on the vibration sensor devices; obtaining layout information of the building; and determining locations of the vibration sensor devices located in the building with respect to the layout information. The sensor location entries can respectively include the determined locations. In some implementations, each of the sensor location entries includes a sensor identifier, a room identifier, and sensor coordinates. Performing the calibration process can include selecting a vibration sensor device to calibrate; and providing a notification to prompt a user to walk in a room containing the selected vibration sensor device to obtain a vibrational baseline for that device.
Particular configurations of the technology described in this disclosure can be implemented so as to realize one or more of the following potential advantages. The use of a vibration triangulation network can detect the presence of people. The network can provide detailed information about people's movements including the locations visited, timestamps of when someone entered or left a property or a room, and the number of people that were present. Further, vibration sensor devices can offer several advantages over other types of sensors such as cameras. For example, vibration sensors can be discrete, easily hidden, resilient to tampering, and/or located in places where cameras are not appropriate such as bedrooms, bathrooms, and changing rooms. Vibration triangulation networks can be integrated with a variety of systems such as security, monitoring, business planning, and environmental systems. Vibration triangulation networks can be combined with other sensors such as a door sensor to provide more detailed information such as whether a door was opened from the inside or outside.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings.
A vibration triangulation network can include vibration sensor devices placed in a building, such as a store or a house, to pinpoint the location of a target through triangulation. The network can track movement of one or more targets such as people, animals, vehicles, and other moving objects within proximity of the network. A vibration triangulation network can be used for security and monitoring purposes. Such a network can also be used for business related purposes such as studying customer behaviors within a store.
From a security standpoint, a security system can include a vibration triangulation network to provide a valuable dataset of movement around a user's property. For example, in the case of a break-in, the user can access the security system to retrieve information such as a timestamped path of movement of the intruder. A vibration triangulation network can produce information such as the time when an intruder entered the property, how many intruders, where they went inside, how long they spent in each room, and when they left. A vibration sensor network deployed in a house may determine, for example, that two robbers entered the house at 3:42 AM, spent four minutes in the kitchen, then went to the bedroom where they spent two minutes, and finally spent three minutes in the living room before leaving at 3:51 AM. Police may use this information to apprehend suspects and determine the extent of what was taken. Such information can provide details of where items were taken from such as from a particular room or near a safe. Such information can also provide information on where items were not taken from, e.g., no vibrations in a master bedroom can indicate that the robbers did not take items from that room. Further, vibration sensor devices can offer several advantages over other types of sensors such as cameras. For example, vibration sensor devices can be discrete, easily hidden, resilient to tampering, and/or located in places where cameras are not appropriate such as bedrooms, bathrooms, and changing rooms.
Vibration triangulation networks can also provide monitoring and automation functionality. For example, the network can detect the presence of a person and output a detection event that causes a light to turn on or causes a camera to take a picture. The network can be integrated into an environmental system such as a heating, ventilation, and air conditioning (HVAC) system. For example, a controller can trigger the HVAC system to stop cooling a property if there is a lack of detection events for a predetermined period of time. Further, vibration triangulation networks can be deployed in geo-fencing applications. For example, a controller can trigger an alarm if motion is detected in a user-defined boundary by the network.
An installation of vibration sensor devices can include a calibration process to optimize target detection. In some implementations, after installing vibration sensor devices, a controller can prompt a user to provide the locations of the sensor devices on a layout diagram of the property. In some implementations, an application on a user's mobile device can be used to provide the locations of the sensor devices. A triangulation process can use the sensor location data to map vibration detections to sensor locations within the property and determine an origin of a vibration based on those sensor locations. When something happens that causes vibrations, e.g., a person's step or jump, each sensor device may measure those vibrations at different strengths, e.g., vibrational amplitudes. From this, the triangulation process can determine a distance to an origin of the action, i.e., vibration, based on the sensors' vibrational data by comparing relative strength of readings from different sensors. Some sensors may lack the ability to provide directional information. As such, there is a circle of possible origin points around each sensor that detected a vibration, where the diameter of the circle is based on a detected vibrational amplitude. The intersection of three or more circles can provide the location for the origin of a vibration, and hence, the location of where the action occurred.
For each sensor device that reported a vibration 215a-d, the controller can determine bounding circles 225a-d that represent possible vibration origin points. Each bounding circle 225a-d is centered about its respective vibration sensor 215a-d. The diameter of a bounding circle 225a-d can be based on an amplitude of a vibrational wave. As a vibrational wave propagates, its amplitude at a given point becomes weaker. As such, a larger bounding circle 225b means that the vibration sensor device 215b is farther away from the target 205 relative to a smaller bounding circle 225c. The smaller circle 225c means that its corresponding vibration sensor 215c is closer to the target 205. The controller can determine an intersection of three or more bounding circles 225a-d to determine a location for the origin of a vibration, i.e., target 205.
At 315, the controller selects a vibration sensor device from the list. At 320, the controller determines a location of the vibration sensor device with respect to the layout information. Determining a sensor location can include querying a user via a user interface to input a location for the sensor. The user interface can display a floor plan, and receive an input (e.g., touch, click, voice) that signifies a location of the sensor device on the floor plan. Sensor location information can include a room identifier. In some implementations, sensor location information includes two-dimensional or three-dimensional coordinates. In some implementations, sensor location information includes a vertical displacement value, e.g., height from the floor if mounted on a wall. At 325, the controller stores the sensor identifier and the location in a sensor database.
At 330, the controller performs additional sensor calibration routines if needed. In some implementations, a sensor calibration routine includes calibrating the sensitivity of the vibration sensor device. In some implementations, a sensor calibration routine includes calibrating a minimum threshold value that controls whether a vibration sensor device will transmit a notification based on detecting a vibrational input. The controller can determine vibrational levels for when someone is walking in the room and for when no one is walking in the room. In some implementations, the controller can prompt a user to walk in the room to make vibrational measurements. In some implementations, the controller can query a user to determine whether someone walked in the room so that it can associate vibrational measurements with whether someone walked in the room or not. The minimum threshold value to trigger a transmission can be based on a vibration level when no one is walking in the room. Further, a vibrational level for when someone is walking in the room can be used to set a vibrational baseline for one or more devices within the room. A vibrational baseline can be used to adjust vibrational amplitudes received from a sensor or to adjust a delay factor to account for differences in vibrational wave propagations (e.g., a sensor placed on a hollow wall or floor may sense a vibration faster than a sensor placed on solid wall or floor).
In some implementations, the controller provides a notification such as an audio and/or visual message to prompt a user to walk in a room containing the selected vibration sensor device to obtain a vibrational baseline for that device. In some implementations, the controller can determine a location of the user via a user's mobile device to further optimize the vibration baseline. In some implementations, the controller can prompt the user to walk in a predetermined pattern in a specific area of the room such as the center.
In some implementations, the controller may prompt the user to re-position the sensor device. For example, if the vibrational levels sensed by the device for when someone is walking in the room is not greater than (or too close to) vibrational levels sensed by the device for when no one is walking in the room, then the controller may prompt the user to re-position the sensor device. This may be the case when the sensor is placed on a surface that significantly dampens vibrational waves.
At 335, the controller determines whether there is another sensor device on the list. If there is, the controller continues at 315. If there are no more sensor devices on the list, the controller continues at 340. At 340, the controller creates a vibration sensor map based on the sensor locations and layout information. At 345, the controller stores the vibration sensor map. In some implementations, the controller may determine that a room lacks a sufficient number of sensors to perform triangulation. For example, the controller can determine that there are less than three sensors in a room, and prompt the user to add one or more additional vibrational sensor devices. In some implementations, to provide full coverage, there would be enough sensors that for every point in a building that will be monitored, an uninterrupted line can be drawn to at least three sensors.
At 425, the controller determines whether there are a sufficient number of vibration notifications to detect a location of a target. Determining whether there are a sufficient number of vibration notifications to detect a location of a target can include querying the database to check whether there are two or more additional vibration notifications from different sensors associated with the same room identifier as the newly received vibration notification. In some implementations, three or more vibration notifications from respective three or more sensors are used to triangulate an origin location for the vibrations. The controller can impose a windowing criterion to filter, e.g., remove or exclude, older vibration notifications that are not relevant or no longer relevant. The controller can use timestamp information to exclude older vibration notifications. In some implementations, the database is implemented as a buffer where vibration notifications that are older than a predetermined time threshold are deleted from the buffer. In some implementations, the buffer is implemented on a per-room basis.
If there is not a sufficient number of vibration notifications, the controller continues at 405 to receive additional notifications. If there is a sufficient number of vibration notifications, the controller continues at 430. At 430, the controller determines a location of a target within the building based on at least a portion of the vibration notifications and the vibration sensor map associated with the building. Determining a location of a target can include converting vibration measurements such as a wave amplitude into distance values for different sensor devices and performing a trilateration and/or triangulation process using the distance values and sensor location information given by the sensor map. In some implementations, the trilateration and/or triangulation process determines potential locations of a target (e.g., circle or circle segment) for each reporting sensor in a room, and determines an overlap among the potential locations to produce a final location for a target at a given point in time. In some implementations, the process obtains time-of-arrival (TOA) information for vibrational waves based on the notifications, and uses TOA information to locate a source of a vibration. In some implementations, vibrational baselines for sensors are used to adjust TOAs to account for differences in vibrational wave propagations (e.g., a sensor placed on a hollow wall or floor may sense a vibration faster than a sensor placed on solid wall or floor). In some implementations, vibrational baselines for sensors are used to adjust vibrational amplitudes to account for differences in vibrational wave propagations.
At 435, the controller determines whether to trigger an alarm event based on the location of the target. In some implementations, the controller can use additional criteria in determining whether to trigger an alarm, such as time-of-day, whether an alarm system is armed, etc. In some implementations, one or more criteria specify a restricted area of a building, and an alarm event can be triggered based on a detection of the target within the restricted area. In some implementations, an area can be classified as a restricted area during one or more predetermined times of the day. If triggered, the controller outputs an alarm event at 440. If not triggered, the controller continues at 405 to receive additional notifications.
In some implementations, the target's determined location is checked against a geo-fence, and if the location is within a fenced-off area, an alarm even is triggered. In some implementations, the controller logs the target's determined location. In some implementations, the controller may determine the number of people present in a room or a building based on their vibrations. In some implementations, the controller forwards the vibration notifications to a server, and the server performs the location determination. In some implementations, the controller can filter, e.g., remove or exclude, vibrations from known sources such as a washer, dryer, refrigerator, or dishwasher. In some implementations, the controller can analyze vibration patterns, and can filter vibrations that have a specific pattern, e.g., slow vibration, fast vibration, etc.
In some implementations, the controller can determine a path of the target within the building based on the vibration notifications. The controller can identify one or more rooms of the building that the target entered based on the path. The controller can perform successive triangulations on vibration notifications as they are received using the map, and identify vibration sources and their corresponding rooms. The controller can generate a list of one or more room identifiers corresponding to the identified one or more rooms.
In some implementations, the controller can receive an appliance notification, e.g., washer is on, and adjust its detection criteria for sensors that are closest to the active appliance, e.g., ignore vibrations from laundry room sensors while the washer is on. For example, a washer or device associated with the washer may provide a notification that informs other devices such as the controller that the washer is on. In some implementations, a calibration process can prompt the user to turn on and off an appliance such as a washer/dryer or dishwasher so that the controller can obtain measurements for when the appliance is on and off. In some implementations, the controller can perform machine learning to separate vibration from known sources, vibrations from pets, vibrations from known occupants, and vibrations from intruders; and selectively trigger an alarm event based on who or what caused the vibrations.
From a commercial standpoint, a business can use a monitoring system equipped with a vibration triangulation network to generate heat maps of customer movement. For example, vibration sensor devices can be placed around a store to detect customer movement throughout the store. Such heat maps can provide insight into a consumer's shopping behavior and help business owners optimize the layout of their stores. For example, a grocery store owner may want to increase sales by optimizing the store layout. The owner installs a vibration triangulation network in the store. After taking data for a period of time, the owner learns where the customers tend to walk around the store based on the generated heat map, and see what areas have the most foot traffic and what areas have the least foot traffic. Given this information, the owner may rearrange one or more aisles so foods which customers are most likely to buy on impulse are near the high-foot traffic areas. The owner may place certain specialty items that are not frequently bought in lower traffic areas.
At 515, the server receives vibration notifications from the vibration sensor devices. In some implementations, the server receives the notifications through a controller located by the sensor devices. At 520, the server determines locations of targets based on the vibration notifications and the vibration sensor map. At 525, the server creates a heat map showing customer activity within the store. In some implementations, the server aggregates the target locations on a map of the store to generate a heat map of customer movement for the store. This can provide insight into consumer's shopping behavior and help business owners optimize the layout of their stores.
The controller 605 includes a communication module 615 to communicate with sensors. The communication module 615 can be coupled with one or more antennas 620. In some implementations, the communication module 615 includes a receiver to receive signals from vibration sensor devices. In some implementations, the controller 605 includes a transceiver that provides the functionality for both communication modules 615, 618. In some implementations, the communication modules 615, 618 can use the same wireless protocol for communications or different protocols. In some implementations, the communication module 615 uses a short-range wireless technology such as IEEE 802.11, Bluetooth, or Z-Wave. In some implementations, the communication module 618 uses wireless technology IEEE 802.11, LTE, GSM, or CDMA for communications. In some implementations, the communication module 618 uses a wireline technology such as Ethernet.
The memory 625 can store information such as data, instructions, or both. In some implementations, the memory 625 can store instructions associated with a calibration process such as the one shown in
The memory 725 can store information such as data, instructions, or both. In some implementations, the memory 725 can store instructions to cause the processor 710 to generate data for transmission. In some implementations, the memory 725 can store instructions to cause the processor 710 to process data received via the communication module 715. In some implementations, the memory 725 can store instructions for a vibration processing routine 760 that collects vibration sensor data from sensor 750, generates vibration notifications based on the sensor data, and transmits the vibration notifications via the communication module 715. In some implementations, the device 705 can quantize sensor data and report a quantized sensor reading to a controller. In some implementations, the memory 725 can store instructions associated with a calibration process. In some implementations, the vibration sensor device 705 can include a controller. In some implementations, a network of vibration sensor devices 705 can select one of the vibration sensor devices to be a control node for the network. In some implementations, the device 705 can communicate with other devices to triangulate an origin of a vibration.
The network 805 is configured to enable exchange of electronic communications between devices connected to the network 805. For example, the network 805 may be configured to enable exchange of electronic communications between the control unit 810, the one or more user devices 840, 850, the monitoring server 860, and the central alarm station server 870. The network 805 may include, for example, one or more of the Internet, Wide Area Networks (WANs), Local Area Networks (LANs), analog or digital wired and wireless telephone networks (e.g., a public switched telephone network (PSTN), Integrated Services Digital Network (ISDN), a cellular network, and Digital Subscriber Line (DSL)), radio, television, cable, satellite, or any other delivery or tunneling mechanism for carrying data. Network 805 may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway. The network 805 may include a circuit-switched network, a packet-switched data network, or any other network able to carry electronic communications (e.g., data or voice communications). For example, the network 805 may include networks based on the Internet protocol (IP), asynchronous transfer mode (ATM), the PSTN, packet-switched networks based on IP, X.25, or Frame Relay, or other comparable technologies and may support voice using, for example, VoIP, or other comparable protocols used for voice communications. The network 805 may include one or more networks that include wireless data channels and wireless voice channels. The network 805 may be a wireless network, a broadband network, or a combination of networks including a wireless network and a broadband network.
The control unit 810 includes a controller 812 and a network module 814. The controller 812 is configured to control a control unit monitoring system (e.g., a control unit system) that includes the control unit 810. In some examples, the controller 812 may include a processor or other control circuitry configured to execute instructions of a program that controls operation of a control unit system. In these examples, the controller 812 may be configured to receive input from sensors, flow meters, or other devices included in the control unit system and control operations of devices included in the household (e.g., speakers, lights, doors, etc.). For example, the controller 812 may be configured to control operation of the network module 814 included in the control unit 810.
The network module 814 is a communication device configured to exchange communications over the network 805. The network module 814 may be a wireless communication module configured to exchange wireless communications over the network 805. For example, the network module 814 may be a wireless communication device configured to exchange communications over a wireless data channel and a wireless voice channel. In this example, the network module 814 may transmit alarm data over a wireless data channel and establish a two-way voice communication session over a wireless voice channel. The wireless communication device may include one or more of a LTE module, a GSM module, a radio modem, cellular transmission module, or any type of module configured to exchange communications in one of the following formats: LTE, GSM or GPRS, CDMA, EDGE or EGPRS, EV-DO or EVDO, UMTS, or IP.
The network module 814 also may be a wired communication module configured to exchange communications over the network 805 using a wired connection. For instance, the network module 814 may be a modem, a network interface card, or another type of network interface device. The network module 814 may be an Ethernet network card configured to enable the control unit 810 to communicate over a local area network and/or the Internet. The network module 814 also may be a voice band modem configured to enable the alarm panel to communicate over the telephone lines of Plain Old Telephone Systems (POTS).
The control unit system that includes the control unit 810 includes one or more sensors. For example, the monitoring system may include multiple sensors 820. The sensors 820 may include a lock sensor, a contact sensor, a motion sensor, or any other type of sensor included in a control unit system. The sensors 820 also may include an environmental sensor, such as a temperature sensor, a water sensor, a rain sensor, a wind sensor, a light sensor, a smoke detector, a carbon monoxide detector, an air quality sensor, etc. The sensors 820 further may include a health monitoring sensor, such as a prescription bottle sensor that monitors taking of prescriptions, a blood pressure sensor, a blood sugar sensor, a bed mat configured to sense presence of liquid (e.g., bodily fluids) on the bed mat, etc. In some examples, the sensors 820 may include a radio-frequency identification (RFID) sensor that identifies a particular article that includes a pre-assigned RFID tag.
As shown in
The control unit 810 communicates with an automation module 822 and the camera 830 to perform monitoring. The automation module 822 is connected to one or more devices that enable home automation control. For instance, the automation module 822 may be connected to one or more lighting systems and may be configured to control operation of the one or more lighting systems. The automation module 822 may be connected to one or more electronic locks at the property and may be configured to control operation of the one or more electronic locks (e.g., control Z-Wave locks using wireless communications in the Z-Wave protocol. Further, the automation module 822 may be connected to one or more appliances at the property and may be configured to control operation of the one or more appliances. The automation module 822 may include multiple modules that are each specific to the type of device being controlled in an automated manner. The automation module 822 may control the one or more devices based on commands received from the control unit 810. For instance, the automation module 822 may cause a lighting system to illuminate an area to provide a better image of the area when captured by a camera 830.
The camera 830 may be a video/photographic camera or other type of optical sensing device configured to capture images. For instance, the camera 830 may be configured to capture images of an area within a building or within a residential facility 102-A monitored by the control unit 810. The camera 830 may be configured to capture single, static images of the area and also video images of the area in which multiple images of the area are captured at a relatively high frequency (e.g., thirty images per second). The camera 830 may be controlled based on commands received from the control unit 810.
The camera 830 may be triggered by several different types of techniques. For instance, a Passive Infra-Red (PIR) motion sensor may be built into the camera 830 and used to trigger the camera 830 to capture one or more images when motion is detected. The camera 830 also may include a microwave motion sensor built into the camera and used to trigger the camera 830 to capture one or more images when motion is detected. The camera 830 may have a “normally open” or “normally closed” digital input that can trigger capture of one or more images when external sensors (e.g., the sensors 820, PIR, door/window, etc.) detect motion or other events. In some implementations, the camera 830 receives a command to capture an image when external devices detect motion or another potential alarm event. The camera 830 may receive the command from the controller 812 or directly from one of the sensors 820.
In some examples, the camera 830 triggers integrated or external illuminators (e.g., Infra-Red, Z-wave controlled “white” lights, lights controlled by the automation module 822, etc.) to improve image quality when the scene is dark. An integrated or separate light sensor may be used to determine if illumination is desired and may result in increased image quality.
The camera 830 may be programmed with any combination of time/day schedules, system “arming state,” or other variables to determine whether images should be captured or not when triggers occur. The camera 830 may enter a low-power mode when not capturing images. In this case, the camera 830 may wake periodically to check for inbound messages from the controller 812. The camera 830 may be powered by internal, replaceable batteries if located remotely from the control unit 810. The camera 830 may employ a small solar cell to recharge the battery when light is available. Alternatively, the camera 830 may be powered by the controller's 812 power supply if the camera 830 is co-located with the controller 812.
The system 800 also includes thermostat 834 to perform dynamic environmental control at the property. The thermostat 834 is configured to monitor temperature and/or energy consumption of an HVAC system associated with the thermostat 834, and is further configured to provide control of environmental (e.g., temperature) settings. In some implementations, the thermostat 834 can additionally or alternatively receive data relating to activity at a property and/or environmental data at a property, e.g., at various locations indoors and outdoors at the property. The thermostat 834 can directly measure energy consumption of the HVAC system associated with the thermostat, or can estimate energy consumption of the HVAC system associated with the thermostat 834, for example, based on detected usage of one or more components of the HVAC system associated with the thermostat 834. The thermostat 834 can communicate temperature and/or energy monitoring information to or from the control unit 810 and can control the environmental (e.g., temperature) settings based on commands received from the control unit 810.
In some implementations, the thermostat 834 is a dynamically programmable thermostat and can be integrated with the control unit 810. For example, the dynamically programmable thermostat 834 can include the control unit 810, e.g., as an internal component to the dynamically programmable thermostat 834. In addition, the control unit 810 can be a gateway device that communicates with the dynamically programmable thermostat 834.
A HVAC module 837 is connected to one or more components of an HVAC system associated with a property, and is configured to control operation of the one or more components of the HVAC system. In some implementations, the HVAC module 837 is configured to monitor energy consumption of the HVAC system components, for example, by directly measuring the energy consumption of the HVAC system components or by estimating the energy usage of the one or more HVAC system components based on detecting usage of components of the HVAC system. The HVAC module 837 can communicate energy monitoring information and the state of the HVAC system components to the thermostat 834 and can control the one or more components of the HVAC system based on commands received from the thermostat 834.
The system 800 further includes one or more integrated security devices 880. The one or more integrated security devices may include any type of device used to provide alerts based on received sensor data. For instance, the one or more control units 810 may provide one or more alerts to the one or more integrated security input/output devices. Additionally, the one or more control units 810 may receive one or more sensor data from the sensors 820, 864a-b and determine whether to provide an alert to the one or more integrated security input/output devices 880.
The sensors 820, 864a-b, the automation module 822, the camera 830, the thermostat 834, and the integrated security devices 880 communicate with the controller 812 over communication links 824, 826, 828, 832, 884, and 886. The communication links 824, 826, 828, 832, 884, and 886 may be a wired or wireless data pathway configured to transmit signals from the sensors 820, 864a-b, the automation module 822, the camera 830, the thermostat 834, and the integrated security devices 880 to the controller 812. The sensors 820, the automation module 822, the camera 830, the thermostat 834, and the integrated security devices 880 may continuously transmit sensed values to the controller 812, periodically transmit sensed values to the controller 812, or transmit sensed values to the controller 812 in response to a change in a sensed value.
The communication links 824, 826, 828, 832, 884, and 886 may include a local network. The sensors 820, 864a-b, the automation module 822, the camera 830, the thermostat 834, and the integrated security devices 880, and the controller 812 may exchange data and commands over the local network. The local network may include 802.11 “Wi-Fi” wireless Ethernet (e.g., using low-power Wi-Fi chipsets), Z-Wave, ZigBee, Bluetooth, “Homeplug” or other “Powerline” networks that operate over AC wiring, and a Category 8 (CATS) or Category 8 (CAT6) wired Ethernet network. The local network may be a mesh network constructed based on the devices connected to the mesh network.
The monitoring server 860 is an electronic device configured to provide monitoring services by exchanging electronic communications with the control unit 810, the one or more user devices 840, 850, and the central alarm station server 870 over the network 805. For example, the monitoring server 860 may be configured to monitor events (e.g., alarm events) generated by the control unit 810. In this example, the monitoring server 860 may exchange electronic communications with the network module 814 included in the control unit 810 to receive information regarding events (e.g., alerts) detected by the central alarm station server 870. The monitoring server 860 also may receive information regarding events (e.g., alerts) from the one or more user devices 840, 850.
In some implementations, the monitoring server 860 may route alert data received from the network module 814 or the one or more user devices 840, 850 to the central alarm station server 870. For example, the monitoring server 860 may transmit the alert data to the central alarm station server 870 over the network 805. The monitoring server 860 may store sensor and image data received from the monitoring system and perform analysis of sensor and image data received from the monitoring system. Based on the analysis, the monitoring server 860 may communicate with and control aspects of the control unit 810 or the one or more user devices 840, 850.
The central alarm station server 870 is an electronic device configured to provide alarm monitoring service by exchanging communications with the control unit 810, the one or more user devices 840, 850, and the monitoring server 860 over the network 805. For example, the central alarm station server 870 may be configured to monitor alerting events generated by the control unit 810. In this example, the central alarm station server 870 may exchange communications with the network module 814 included in the control unit 810 to receive information regarding alerting events detected by the control unit 810. The central alarm station server 870 also may receive information regarding alerting events from the one or more user devices 840, 850 and/or the monitoring server 860.
The central alarm station server 870 is connected to multiple terminals 872 and 874. The terminals 872 and 874 may be used by operators to process alerting events. For example, the central alarm station server 870 may route alerting data to the terminals 872 and 874 to enable an operator to process the alerting data. The terminals 872 and 874 may include general-purpose computers (e.g., desktop personal computers, workstations, or laptop computers) that are configured to receive alerting data from a server in the central alarm station server 870 and render a display of information based on the alerting data. For instance, the controller 812 may control the network module 814 to transmit, to the central alarm station server 870, alerting data indicating that a motion detection from a motion sensor via the sensors 820 or from a vibration sensor 864a-b. The central alarm station server 870 may receive the alerting data and route the alerting data to the terminal 872 for processing by an operator associated with the terminal 872. The terminal 872 may render a display to the operator that includes information associated with the alerting event (e.g., the lock sensor data, the motion sensor data, the contact sensor data, etc.) and the operator may handle the alerting event based on the displayed information.
In some implementations, the terminals 872 and 874 may be mobile devices or devices designed for a specific function. Although
The user device 840 includes a smart home application 842. The smart home application 842 refers to a software/firmware program running on the corresponding mobile device that enables the user interface and features described throughout. The user device 840 may load or install the smart home application 842 based on data received over a network or data received from local media. The smart home application 842 runs on mobile devices platforms, such as iPhone, iPod touch, Google Android, Windows Mobile, etc. The smart home application 842 enables the user device 840 to receive and process image and sensor data from the monitoring system.
The user device 850 may be a general-purpose computer (e.g., a desktop personal computer, a workstation, or a laptop computer) that is configured to communicate with the monitoring server 860 and/or the control unit 810 over the network 805. The user device 850 may be configured to display a smart home user interface 852 that is generated by the user device 850 or generated by the monitoring server 860. For example, the user device 850 may be configured to display a user interface (e.g., a web page) provided by the monitoring server 860 that enables a user to perceive images captured by the camera 830 and/or reports related to the monitoring system. Although
In some implementations, the one or more user devices 840, 850 communicate with and receive monitoring system data from the control unit 810 using the communication link 838. For instance, the one or more user devices 840, 850 may communicate with the control unit 810 using various local wireless protocols such as Wi-Fi, Bluetooth, Zwave, ZigBee, HomePlug (Ethernet over powerline), or wired protocols such as Ethernet and USB, to connect the one or more user devices 840, 850 to local security and automation equipment. The one or more user devices 840, 850 may connect locally to the monitoring system and its sensors and other devices. The local connection may improve the speed of status and control communications because communicating through the network 805 with a remote server (e.g., the monitoring server 860) may be significantly slower.
Although the one or more user devices 840, 850 are shown as communicating with the control unit 810, the one or more user devices 840, 850 may communicate directly with the sensors 820 and other devices controlled by the control unit 810. In some implementations, the one or more user devices 840, 850 replace the control unit 810 and perform the functions of the control unit 810 for local monitoring and long range/offsite communication.
In other implementations, the one or more user devices 840, 850 receive monitoring system data captured by the control unit 810 through the network 805. The one or more user devices 840, 850 may receive the data from the control unit 810 through the network 805 or the monitoring server 860 may relay data received from the control unit 810 to the one or more user devices 840, 850 through the network 805. In this regard, the monitoring server 860 may facilitate communication between the one or more user devices 840, 850 and the monitoring system.
In some implementations, the one or more user devices 840, 850 may be configured to switch whether the one or more user devices 840, 850 communicate with the control unit 810 directly (e.g., through link 838) or through the monitoring server 860 (e.g., through network 805) based on a location of the one or more user devices 840, 850. For instance, when the one or more user devices 840, 850 are located close to the control unit 810 and in range to communicate directly with the control unit 810, the one or more user devices 840, 850 use direct communication. When the one or more user devices 840, 850 are located far from the control unit 810 and not in range to communicate directly with the control unit 810, the one or more user devices 840, 850 use communication through the monitoring server 860.
In some implementations, the one or more user devices 840, 850 are used in conjunction with local sensors and/or local devices in a house. In these implementations, the system 800 includes the one or more user devices 840, 850, the sensors 820, 864a-b, the automation module 822, and the camera 830. The one or more user devices 840, 850 receive data directly from the sensors 820, the automation module 822, and the camera 830, and send data directly to the sensors 820, the automation module 822, and the camera 830. The one or more user devices 840, 850 provide the appropriate interfaces/processing to provide visual surveillance and reporting. In some implementations, the system 800 provides end users with access to images captured by the camera 830 to aid in decision making. The system 800 may transmit the images captured by the camera 830 over a wireless WAN network to the user devices 840, 850.
In some implementations, a state of the monitoring system and other events sensed by the monitoring system may be used to enable/disable video/image recording devices (e.g., the camera 830). In these implementations, the camera 830 may be set to capture images on a periodic basis when the alarm system is armed in an “Away” state, but set not to capture images when the alarm system is armed in a “Stay” state or disarmed. In addition, the camera 830 may be triggered to begin capturing images when the alarm system detects an event, such as an alarm event, a door-opening event for a door that leads to an area within a field of view of the camera 830, or motion in the area within the field of view of the camera 830. In other implementations, the camera 830 may capture images continuously, but the captured images may be stored or transmitted over a network when needed.
The described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatus implementing these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process implementing these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially designed application-specific integrated circuits (ASICs).
It will be understood that various modifications may be made. For example, other useful implementations could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the disclosure.
This disclosure claims the benefit of the priority of U.S. Provisional Patent Application No. 62/988,717, entitled “VIBRATION TRIANGULATION NETWORK” and filed on Mar. 12, 2020. The above-identified application is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
20160189531 | Modi | Jun 2016 | A1 |
20200065433 | Duff | Feb 2020 | A1 |
20200068354 | Stapleford | Feb 2020 | A1 |
20210141106 | Pearson | May 2021 | A1 |
20210183217 | Tran | Jun 2021 | A1 |
Number | Date | Country | |
---|---|---|---|
20210287501 A1 | Sep 2021 | US |
Number | Date | Country | |
---|---|---|---|
62988717 | Mar 2020 | US |