Determining arrival and departure latency of wifi devices
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-03-10
- Publication Date
- 2026-08-11
AI Technical Summary
这可能导致由接近该环境的人携带的WiFi设备在该人进入该环境之前连接到WiFi接入点
Smart Images

Figure CN115553049B_ABST
Abstract
Description
Background Technology
[0001] A WiFi access point in the environment may have a signal range that allows WiFi devices to connect to it from outside the environment. This could cause a WiFi device carried by a person approaching the environment to connect to the WiFi access point before that person enters the environment. It could also cause a WiFi device carried by a person leaving the environment to remain connected to the WiFi access point for a period of time after that person has left the environment. Summary of the Invention
[0002] According to embodiments of the disclosed subject matter, reports can be received from WiFi access points in the environment. Each of these reports may include an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points. Data including connection and disconnection times can be generated from the reports. Sensor and device data can be received from sensors or devices in the environment. A machine learning system can be used to generate data indicating arrival and departure delays in the environment, including connection and disconnection time data, and sensor and device data are input into the machine learning system.
[0003] Indications of user presence or absence in the environment can be adjusted using arrival or departure delays.
[0004] After adjusting at least one of the presence and absence indicators, a control signal for a controllable device in the environment can be generated based on the presence or absence indicator. This control signal can be sent to the device for implementation by the device.
[0005] Machine learning systems can use arrival models to generate arrival delays. Machine learning systems can use departure models to generate departure delays.
[0006] The report may further include the identifier of the WiFi device. The identifier of the WiFi device may include a salted hashed media access control address (SHMAC).
[0007] Sensors and devices in the environment may include motion sensors or inlet channel sensors.
[0008] These reports may include identifiers for WiFi devices. A machine learning system can generate data indicating arrival and departure delay lengths for each WiFi device with one of the identifiers in the report, including connection and disconnection time data, as well as sensor and device data, which are then fed into the machine learning system.
[0009] According to embodiments of the disclosed subject matter, there are: means for receiving reports from WiFi access points in an environment, wherein each of the reports may include an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points; means for generating data from the reports including connection and disconnection times; means for receiving sensor and device data from one or more sensors or devices in the environment; means for generating data indicating arrival and departure delay lengths of the environment using a machine learning system, wherein the data may include connection and disconnection times, and sensor and device data are input into the machine learning system; means for generating control signals for controllable devices in the environment based on presence or absence indications after adjusting at least one of presence and absence indications; means for sending control signals to devices for implementation by the devices; and means for generating data using a machine learning system including indications of arrival and departure delay lengths of each WiFi device having an identifier in one of the reports, including connection and disconnection time data and sensor and device data being input into the machine learning system.
[0010] Additional features, advantages, and embodiments of the disclosed subject matter may be set forth or become apparent upon consideration of the following detailed description, accompanying drawings, and claims. Furthermore, it should be understood that the foregoing overview and the following detailed description are illustrative and intended to provide further explanation, not to limit the scope of the claims. Attached Figure Description
[0011] The accompanying drawings, included to provide a further understanding of the disclosed subject matter, are incorporated in and constitute a part of this specification. The drawings also illustrate embodiments of the disclosed subject matter and, together with the detailed description, serve to explain the principles of these embodiments. No more detailed depiction of the structural features is necessary for a basic understanding of the disclosed subject matter and the various ways in which it can be practiced.
[0012] Figure 1 An example system and arrangement suitable for determining the arrival and departure delays of WiFi devices, based on an implementation scheme of the disclosed subject matter, are shown.
[0013] Figure 2A An example environment suitable for determining the arrival and departure delays of WiFi devices is shown, based on an implementation scheme of the disclosed subject.
[0014] Figure 2B An example environment suitable for determining the arrival and departure delays of WiFi devices is shown, based on an implementation scheme of the disclosed subject.
[0015] Figure 3An example process suitable for determining the arrival and departure delays of WiFi devices, based on an implementation scheme of the disclosed subject, is shown.
[0016] Figure 4 A computing device according to an embodiment of the disclosed subject matter is shown.
[0017] Figure 5 A system based on an embodiment of the disclosed subject matter is shown.
[0018] Figure 6 A system based on an embodiment of the disclosed subject matter is shown.
[0019] Figure 7 A computer according to an embodiment of the disclosed subject matter is shown.
[0020] Figure 8 A network configuration based on an embodiment of the disclosed subject matter is shown. Detailed Implementation
[0021] According to the embodiments disclosed herein, determining the arrival and departure delays of WiFi devices can be achieved by using the connection and disconnection of WiFi devices with WiFi access points in the environment, along with signals from other sensors and devices in the environment, to determine the connection and disconnection delays of WiFi devices arriving in and leaving the environment. WiFi access points in the environment can send reports to a cloud computing system including the times when connection and disconnection of WiFi devices are detected. These reports, along with signals from sensors and devices in the environment, can be used as input to a machine learning system. The machine learning system can determine the delay between a WiFi device connecting to a WiFi access point in the environment and a person carrying the WiFi device arriving inside the environment, and the delay between a person carrying the WiFi device leaving the environment and the WiFi device disconnecting from all WiFi access points in the environment.
[0022] An environment can include multiple WiFi access points. For example, the environment can be a building, such as a home, office, apartment, or other setting that includes indoor and outdoor spaces and entry / exit points for people to enter and exit the environment. WiFi access points can be distributed throughout the environment and can be formed, for example, in a mesh or hub-and-spoke network. WiFi access points can provide access to a local area network (LAN) and a wide area network (WAN) such as the Internet for WiFi devices connected to the WiFi access point. WAN access can be provided through any suitable wired or wireless WAN connection that the WiFi access point can access, for example, through a connection to a wired or wireless modem.
[0023] A WiFi access point can broadcast and receive WiFi signals over a range that may extend beyond the entrance to the environment. This allows WiFi devices to connect to or remain connected to a WiFi access point within the environment when they are outside of it. For example, a telephone could connect to a WiFi access point in the house before it enters, or remain connected after it leaves.
[0024] A WiFi device can connect to or disconnect from WiFi access points in an environment. A WiFi device can be any suitable device that includes a WiFi radio that allows the device to connect to a WiFi network. A WiFi device can be, for example, a telephone, tablet, laptop, watch, or other wearable device, or a WiFi-enabled tracking tag. As the WiFi device moves and enters and leaves the environment, depending on its location and the range of WiFi access points, it can connect to or disconnect from different WiFi access points throughout the environment. For example, a WiFi device might start on the third floor of a house and connect to the WiFi access point on that floor. It could move to the second floor, disconnect from the third-floor access point, and connect to another access point on the second floor. It could move to the first floor, disconnect from the second-floor access point, and connect to another access point on the first floor. The device could leave the house and disconnect from the first-floor access point. It could later re-enter the house and connect to a first-floor access point.
[0025] There may be a delay between the time it takes for a WiFi device carried by a person arriving in an environment to connect to a WiFi access point in that environment and the time it takes for the person carrying the WiFi device to enter the environment. This could be an arrival delay of the environment. For example, when a person carrying a phone approaches the entrance to a house, the phone may connect to a WiFi access point on the ground floor five seconds before the person enters the house through the entrance and takes the phone inside, because the WiFi signal from the access point extends outside the house. The arrival delay of the house could be five seconds.
[0026] There may also be a delay between the time it takes for a person carrying a WiFi device to leave the environment and the time it takes for the WiFi device to disconnect from the WiFi access point in that environment. This could be an environmental departure delay. For example, when a person carrying a phone leaves a house, they can leave through the entrance, and the phone disconnects from the WiFi access point on the first floor of the house six seconds after they have walked away. For a period of time after the WiFi device disconnects, the WiFi access point may not detect the disconnection, which could add an additional delay to the departure delay.
[0027] WiFi access points in an environment can report connections and disconnections between WiFi devices and the access point. These connections and disconnections can be reported via internet connectivity to systems such as cloud computing systems located remotely. WiFi access points can report WiFi device connections and disconnections in real time, or at any other suitable time and interval. For example, a WiFi access point on the third floor of a house can report a WiFi device's connection to a cloud computing system when a connection is successfully established, and can report a WiFi device's disconnection when a disconnection is detected.
[0028] Reports of WiFi device connections and disconnections sent to the cloud computing system may include any suitable data, including the WiFi device identifier, the WiFi access point identifier that sent the report, an indication of whether the report is for a connection or a disconnection, and the connection or disconnection time indicating when the WiFi access point detected the connection or disconnection. The connection or disconnection time included in the report can be specified using any suitable level of precision and may include, for example, the time and date specified in any suitable format. The WiFi access point identifier can be any suitable identifier that allows the cloud computing system to distinguish reports from different WiFi access points in the same environment. The WiFi access point identifier can be, for example, based on the MAC address of a component of the WiFi access point, or it can be an identifier assigned to the WiFi access point by the user.
[0029] The identifier of a WiFi device can be a privacy-preserving identifier, which allows a cloud computing system to distinguish reports from different WiFi devices, but may not allow for definitive identification of the WiFi device itself or the user of the WiFi device. For example, the WiFi device identifier could be based on the WiFi device's Media Access Control (MAC) address, such as a salted hash MAC (SHMAC) generated when a user decides to allow the cloud computing system to receive reports from WiFi access points in the environment. The WiFi device's SHMAC can be generated, for example, by the WiFi access point and can be sent to the cloud computing system in the WiFi device's report. The user can also directly enter the SHMAC or any other suitable identifier of the WiFi device into the WiFi access point or the cloud computing system. The SHMAC can allow all reports received by the cloud computing system that include the same SHMAC to be considered as reports for the same WiFi device, but may not allow the cloud computing system to identify the WiFi device, for example, by determining the MAC address or other such identifiers that can be used to identify the physical WiFi device.
[0030] Cloud computing systems can receive data from other devices and sensors in an environment. This environment may include, for example, a central computing device. The central computing device can be any suitable computing device used to manage sensors and other systems within the environment, such as automation systems. The central computing device can be, for example, a controller for the environment. For example, the central computing device can be or include a thermostat, a security hub, or other computing devices located within the environment. The central computing device can also be another device in the environment, or it can be a separate computing device dedicated to managing the environment, which can be connected to devices in the environment via, for example, the Internet. The central computing device can be connected to multiple sensors and controllable devices distributed throughout the environment via any suitable wired, wireless, local, and wide area connections. For example, the central computing device, sensors, and other components of the environment can be connected in a mesh network. For example, some sensors can be motion sensors, including passive infrared sensors for motion detection, light sensors, cameras, microphones, entrance channel sensors, light switches, and mobile device scanners that can use Bluetooth, WiFi, RFID, or other wireless devices as sensors to detect the presence of devices such as telephones, tablets, laptops, or smart keys. Sensors can be distributed individually or can be combined with other sensors in a sensor device. For example, sensor devices may include low-power motion sensors and light sensors, or microphones and cameras, or any other combination of available sensors.
[0031] Central computing devices can receive signals, including data, from sensors and other devices throughout the environment and transmit the data from these signals to a cloud computing system. This data may include, for example, opening / closing events detected by sensors monitoring entrance passages (such as exterior doors of the environment) and motion detected by motion sensors monitoring the area surrounding the entrance passage; data indicating when devices, including lights, appliances, and A / V equipment, are automatically turned on or off based on user input rather than through the central computing device or cloud computing system; the status of the environment's security systems, including the time it takes for the security system to transition from alert mode to disarmed mode or vice versa; and any other suitable data that may indicate whether a person has entered or left the environment. In some implementations, data from sensors and other devices can be transmitted directly to the cloud computing system via a WiFi access point, as the central computing device can be entirely integrated into the cloud computing system, possessing computing capabilities remote of the environment.
[0032] A cloud computing system can determine arrival and departure delays in an environment using reports received from WiFi access points and data received from other devices and sensors in the environment, based on the connection and disconnection times of WiFi devices. For example, the cloud computing system can include a machine learning system. The machine learning system can be any suitable machine learning system, such as, for example, an artificial neural network, such as a deep learning neural network, a Bayesian network, a support vector machine, any type of classifier, or any other suitable statistical or heuristic machine learning system type. The machine learning system can include models, such as an arrival model for determining arrival delays and a departure model for determining departure delays. Models can be generated by training the machine learning system in any suitable manner. For example, models can be generated using supervised or unsupervised offline training of the machine learning system, or through supervised or unsupervised online learning. For example, the machine learning system can be a neural network; the arrival model can include a neural network environment and a set of weights used with the neural network environment, and the departure model can include a neural network environment and a set of weights used with the neural network environment. The neural network environments of the arrival model and the departure model can be the same or different, and the weight sets of the arrival model and the departure model can be different.
[0033] Connection and disconnection times of WiFi devices from reports received from WiFi access points in the environment, as well as data received from other devices and sensors in the environment, can be used by cloud computing systems as input data for machine learning systems. Machine learning systems can then generate and output data that indicates arrival and departure delay lengths.
[0034] Input data can be fed into a machine learning system in any suitable manner and can be processed by the system using any number of models. For example, input data can be processed by both arrival and departure models. The arrival model can output data indicating the arrival delay length, and the departure model can output data indicating the departure delay length. The machine learning system can output data indicating both the arrival delay length and the departure delay length.
[0035] For example, a cloud computing system can receive reports from a WiFi access point in a house, identified by SHMAC, of all WiFi devices connected to and disconnected from the WiFi access point. These WiFi devices can include more mobile devices such as phones, tablets, laptops, and wearables, as well as less mobile devices such as televisions, game consoles, and desktop computers. The cloud computing system can also receive data from other devices and sensors in the house, including motion sensors and entrance access sensors monitoring the exterior doors and nearby entrances. The cloud computing system can input connection and disconnection times from reports received from the WiFi access point, along with data from other sensors and devices in the environment, into a machine learning system. The input to the machine learning system can first be processed through an arrival model. The machine learning system can output data indicating the length of arrival delays in the house. This data indicating the length of arrival delays can be in any suitable format and can be interpreted as a duration of time. For example, a machine learning system using an arrival model can output a number indicating the arrival delay in milliseconds. Arrival delay can be based, for example, on a correlation between the time a WiFi device connects to a WiFi access point in the house and the time when motion sensors, access point sensors, and other devices in the house generate signals corresponding to a person entering the house through an exterior door. The input to the machine learning system can then be processed by a departure model. The machine learning system can output data indicating the length of the departure delay. Departure delay can be based, for example, on a correlation between the time a WiFi device disconnects from a WiFi access point in the house and the time when motion sensors, access point sensors, and other devices in the house generate signals corresponding to a person leaving the house through an exterior door.
[0036] Arrival and departure delays determined by a machine learning system can be generalized to all WiFi devices connected to and disconnected from WiFi access points in an environment. For example, a machine learning system can be used to determine a single arrival and departure delay for an environment, and these arrival and departure delays can be considered applicable to any WiFi device connected to or disconnected from a WiFi access point in the environment.
[0037] Arrival and departure delays can also be determined on a per-device basis. For example, instead of including connection and disconnection times from all reported data in the input data of the machine learning system, different sets of input data can be generated, each set including connection and disconnection times from reports including different SHMACs. For instance, if there are five different SHMACs in the reports received from the WiFi access point, corresponding to five different WiFi devices, five different sets of input data can be generated, each set including connection and disconnection times from reports from one of the five WiFi devices. The input sets of input data can be used to generate five separate pairs of arrival and departure delays, each pair for each of the five WiFi devices that connect to or disconnect from the WiFi access point in the environment.
[0038] Arrival and departure delays can also be determined on a per-entry-channel basis. For example, instead of including all data from sensors and other devices in the input data of a machine learning system, different sets of input data can be generated, each set including data from sensors and other devices at different entry channels of the environment. For instance, if an environment has two exterior doors, two distinct sets of input data can be generated, each set including data from sensors and other devices used to monitor or associate a different exterior door. These input sets can be used to generate two separate pairs of arrival and departure delays, each pair for each entry channel of the environment.
[0039] Input data can be fed into the machine learning system at any suitable time and at any suitable interval. For example, a cloud computing system can update the input data whenever it receives a new report from any WiFi device at any WiFi access point or new data from any sensor or device in the environment. The cloud computing system can use the updated input data as input to the machine learning system immediately after any update, or after a set number of updates to the input data, to generate updated arrival and departure delays. The cloud computing system can also feed input data into the machine learning system at regular intervals, such as once per hour. In some implementations, the arrival and departure delays of the environment can be determined once, for example, after the WiFi access point is initially set up in the environment, and can be determined again only when the user requests a determination of the arrival and departure delays.
[0040] Cloud computing systems can use arrival and departure delays from machine learning systems in any suitable manner. For example, arrival and departure delays can be used to adjust the determination of the presence and absence of people in an environment, made using connections and disconnections to WiFi access points in the environment. If the arrival delay for an environment is five seconds, the cloud computing system can assume that a user who was not in the environment and whose WiFi device had just connected to a WiFi access point in the environment was no longer there for another five seconds after connecting, before determining that a user was present in the environment. Similarly, if the departure delay is six seconds, the cloud computing system can assume that a user in the environment and whose WiFi device disconnected from a WiFi access point in the environment was no longer there for another six seconds before disconnecting. This determination can be made retrospectively after the WiFi access point reports a disconnection. When controlling controllable devices in the environment, such as lights, sensors, security devices, locks, A / V equipment, HVAC systems, security systems, and motorized devices such as blinds, the cloud computing system can use these adjusted presence and absence determinations. These controllable devices can be controlled directly by the cloud computing system or by computing devices located in the environment, such as central computing devices. For example, a cloud computing system can reduce the time a security system spends transitioning from disarmed to armed mode by the amount of departure delay, thereby reducing the time the security system remains in disarmed mode after a person has left the environment and left it unoccupied. For instance, if the security system re-arming delay is set to ten seconds and the departure delay is determined to be six seconds, the cloud computing system can reduce the security system re-arming delay to four seconds. This could cause the security system to re-arm ten seconds after a person has left the environment and left it unoccupied, which could be determined four seconds after the person has left the environment based on their WiFi device disconnecting from the WiFi access point. Similarly, lights in entrance passages can be turned on based on arrival delay. For example, using a five-second arrival delay to adjust for a user's presence determination based on their WiFi device connecting to a WiFi access point in the environment could cause the lights to turn on five seconds later than if the presence determination were not adjusted using an arrival delay, and could allow the lights to turn on closer to the time the person actually entered the environment.
[0041] In some implementations, the machine learning system can be part of a central computing device within the environment. This central computing device can receive reports from WiFi access points and data from devices and sensors in the environment. Based on these reports, the central computing device can determine the connection and disconnection times of WiFi devices, and can use these connection and disconnection times, along with data received from other devices and sensors in the environment, as input data for the machine learning system. The output from the machine learning system, indicating arrival and departure delay lengths, can be used by the central computing device to adjust its presence and absence determinations, or it can be sent to a cloud computing system.
[0042] Figure 1 An example system suitable for determining the arrival and departure delays of WiFi devices, based on an implementation of the disclosed subject matter, is shown. Cloud computing system 100 may include a report processor 110, a machine learning system 120, and a storage device 140. Cloud computing system 100 can be any suitable computing device or system, such as... Figure 7 The computer 20 described herein is used to implement the report processor 110, the machine learning system 120, and the storage device 140. The cloud computing system 100 can be, for example, a server system that uses any suitable combination of computing devices distributed in any area and connected in any suitable manner to provide cloud computing services. The report processor 110 can be any suitable combination of hardware or software for receiving reports from a WiFi access point and processing the reports to generate a connection / disconnection time 146. The machine learning system 120 can be any suitable combination of hardware and software for implementing a machine learning system that can generate data indicating the length of arrival and departure delays in an environment. The storage device 140 can be any suitable combination of hardware and software for implementing volatile and non-volatile storage devices.
[0043] Environment 150 may include WiFi access points 171, 172, and 173. WiFi access points 171, 172, and 173 may be any suitable device for creating a WiFi LAN that WiFi-enabled devices can connect to. WiFi access points 171, 172, and 173 may form a mesh network or be part of a hub-and-spoke network, and may be connected, for example, to a WAN such as the Internet via a wired or wireless modem connected to one or more of WiFi access points 171, 172, and 173 via any suitable wired or wireless connection.
[0044] WiFi devices 191, 192, and 193 can be, for example, smartphones, tablets, wearable devices, or other portable devices equipped with WiFi. WiFi device 191 can be inside environment 150 and connected to WiFi access point 171. WiFi device 192 can be outside environment 150 and may not be connected to any WiFi access point in environment 150. WiFi device 193 can be inside environment 150 and connected to WiFi access point 173. WiFi device 191 can move toward an entrance passage of environment 150, such as an outer door, and can leave environment 150 and continue away from environment 150. For example, WiFi device 191 could be a telephone carried by a person leaving environment 150. WiFi device 191 can remain connected to WiFi access point 171 for a period of time after leaving environment 150 before moving out of the range of WiFi access point 171 and disconnecting from it. WiFi device 192 can move toward an entrance passage of environment 150 and can enter environment 150. For example, WiFi device 192 could be carried by a person arriving at environment 150. WiFi device 192 can connect to WiFi access point 171 at some point before entering environment 150. WiFi device 193 can move away from WiFi access point 173 and towards WiFi access point 172. As WiFi device 193 moves towards WiFi access point 172, WiFi device 193 can disconnect from WiFi access point 173 and connect to WiFi access point 172. After WiFi device 193 has connected to WiFi access point 172, WiFi access point 173 can detect the disconnection of WiFi device 193.
[0045] WiFi access points 171, 172, and 173 can send reports to cloud computing system 100. These reports can include connections and disconnections made by WiFi devices, such as WiFi devices 191, 192, and 193, to WiFi access points 171, 172, and 173, and the times of disconnection. Reports can be sent at any suitable time or interval, or based on any suitable event. For example, WiFi access points 171, 172, and 173 can send a new report at any time they detect a WiFi device's connection or disconnection, or at intervals of any suitable length. These reports can use privacy-preserving identifiers to identify the WiFi devices, such as, for example, the SHMAC determined for the WiFi device. For example, WiFi access point 171 can send a report to cloud computing system 100 when WiFi device 191 initially connects to WiFi access point 171. This report can include the SHMAC of WiFi device 191, the identifier of WiFi access point 171, an indication that a connection is being reported, and the connection time. WiFi access point 171 can similarly send a report when it determines that WiFi device 191 has disconnected from WiFi access point 171, for example, when WiFi device 191 moves away from environment 150 and out of the range of WiFi access point 171. WiFi access point 171 can send a report to cloud computing system 100 reporting the connection of WiFi device 192, which was outside environment 150 when it connected. WiFi access point 172 can send a report to cloud computing system 100 reporting the connection of WiFi device 193. WiFi access point 173 can send a report to cloud computing system 100 reporting the initial connection of WiFi device 193 and its subsequent disconnection.
[0046] The cloud computing system 100 may include a report processor 110. The report processor 110 may be any suitable combination of hardware and software for receiving and processing reports from WiFi access points, such as WiFi access points 171, 172, and 173, to generate a connection / disconnection time 146. The report processor 110 may receive reports generated from WiFi access points 171, 172, and 173 based on the connection and disconnection of WiFi devices 191, 192, and 193. The connection and disconnection times in the reports may be added to the connection / disconnection time 146 along with data identifying the WiFi access point that generated the report, from which the connection and disconnection times are obtained, and each connection and disconnection time of the WiFi device is reported. The WiFi devices may be identified by, for example, SHMAC or any other privacy-preserving identifier. The connection / disconnection time 146 may be updated whenever a report is received by the report processor 110. The connection / disconnection time 146 generated and updated by the report processor 110 may be stored in storage device 140 in any suitable format and may be stored as part of machine learning input data 145.
[0047] Cloud computing system 100 may include machine learning system 120. Machine learning system 120 can be any suitable combination of hardware and software used to implement any suitable machine learning system to determine arrival and departure delays using any suitable model. Machine learning system 120 can be, for example, an artificial neural network, such as a deep learning neural network, a Bayesian network, a support vector machine, any type of classifier, or any other suitable statistical or heuristic machine learning system type. Machine learning system 120 can receive machine learning input data 145 as input and can output data indicating the length of arrival and departure delays of environment 150. Machine learning system 120 can output a single arrival delay and a single departure delay that can be used for all WiFi devices or environment 150, can output the arrival and departure delay for each WiFi device, can output the arrival and departure delay for each ingress channel, or can output the arrival and departure delay for each WiFi device and ingress channel. Machine learning system 120 can use machine learning input model 141, including arrival model 142 and departure model 143. Arrival model 142 can be any format of machine learning model suitable for machine learning system 120, used to determine arrival delays based on machine learning input data 145. The departure model 143 can be any format of machine learning model suitable for the machine learning system 120, used to determine the departure delay based on the machine learning input data 145. The machine learning system 120 can be implemented using any suitable type of learning, including, for example, supervised or unsupervised online learning or offline learning.
[0048] Machine learning input data 145 can be input into machine learning system 120 in any suitable manner. For example, all machine learning input data 145 can be input into machine learning system 120 simultaneously, including connection / disconnection times of all WiFi devices (e.g., WiFi devices 191, 192, and 193) reported from all WiFi access points (e.g., WiFi access points 171, 172, and 173) in environment 150. When arrival model 120 is used by machine learning system 120, machine learning input data 145, including all data in connection / disconnection times 146 and sensor and device data 147, can be input into arrival model 142. Machine learning system 120 can output data indicating the arrival delay length of environment 150 determined by arrival model 142. When departure model 143 is used by machine learning system 120, machine learning input data 145 can also be input into departure model 143. Machine learning system 120 can output data indicating the departure delay length of environment 150 determined by departure model 143. For example, when using the connection and disconnection of WiFi devices to regulate the determination of the presence and absence of users in environment 150, the arrival delay and departure delay of environment 150 can be used with each WiFi device that connects to and disconnects from the WiFi access point in environment 150.
[0049] The machine learning input data 145 can also be divided into multiple input data sets, each containing data about a separate WiFi device. A first input data set might, for example, include data about WiFi device 191, while a second input data set might include data about WiFi device 192. Each input data set can be fed separately into the machine learning system 120. For example, a first input data set including data about WiFi device 191 could be fed into the machine learning system 120. Using arrival model 142 and departure model 143, the machine learning system 120 can output data indicating the length of arrival and departure delays of WiFi device 191 relative to environment 150. The machine learning system 120 can output data indicating the length of arrival and departure delays relative to environment 150, for example, for each of the WiFi devices 191, 192, and 193 whose input data sets are fed into the machine learning system 120, it is a pair of arrival and departure delays. Arrival and departure delays can be used on a per-WiFi-device basis. For example, when adjusting the presence and absence determination made by connecting and disconnecting WiFi device 191 with a WiFi access point in environment 150, the arrival delay and departure delay of WiFi device 191 can be used. When adjusting the presence and absence determination made by connecting and disconnecting WiFi device 192 with a WiFi access point in environment 150, the arrival and departure delays of WiFi device 192, which are determined separately from those delays determined for WiFi device 191, can be used.
[0050] Machine learning input data 145 can also be divided into multiple input data sets, each containing data about a separate entrance channel. Environment 150 may have multiple entrance channels, such as exterior doors, and sensor and device data 147 may include indications of which entrance channel various sensors and devices in environment 150 are closest to. For example, some sensor and device data 147 may come from sensors and devices indicated to be near a first exterior door of environment 150, and some sensor and device data 147 may come from sensors and devices near a second exterior door of environment 150. The first input data set may, for example, include data about the first exterior door, while the second input data set may include data about the second exterior door. Each input data set can be fed separately into machine learning system 120. For example, the first input data set including data about the first exterior door can be fed into machine learning system 120. Using arrival model 142 and departure model 143, machine learning system 120 can output data indicating the length of arrival and departure delays of the first exterior door of environment 150. The machine learning system 120 can similarly output the arrival and departure delays of the second outer door of the environment 150 using an input dataset that includes data about the second outer door. The arrival and departure delays can be used on a per-entry-channel basis, for example, based on the WiFi access point known to be closest to the entry channel. For example, WiFi access point 171 may be closest to the first outer door, and the arrival and departure delays of the first outer door can be used when adjusting the presence and absence determinations made using connections to and from WiFi access point 171. WiFi access point 172 may be closest to the second outer door, and the arrival and departure delays of the second outer door can be used when adjusting the presence and absence determinations made using connections to and from WiFi access point 172.
[0051] The time length determined for arrival and departure delays of environment 150 can be based on, for example, correlations between different types of data in machine learning input data 145, patterns in data regarding connection and disconnection with the WiFi access point of environment 150, and signals from sensors and other devices 159 indicating a person's arrival or departure from environment 150. For example, if machine learning input data 145 includes data showing that after three to seven seconds, an entrance sensor detects a door opening and a motion sensor near the door detects movement, arrival model 142 of machine learning system 120 can determine an arrival delay of environment 150 somewhere within the three-to-seven-second range, such as five seconds. Similarly, if machine learning input data 145 includes data showing a disconnection from WiFi access point 172 occurring four to eight seconds after an entrance sensor detects a door opening and a motion sensor near the door detects movement, departure model 143 of machine learning system 120 can determine a departure delay of environment 150 somewhere within the four-to-eight-second range, such as six seconds.
[0052] The machine learning input data 145 can be continuously updated as new data is received from, for example, the report processor 110. The updated machine learning input data 145 can be used as input to the machine learning system 120, which can generate new arrival and departure delays. The new arrival and departure delays can be generated at any suitable time and interval.
[0053] The arrival and departure delays of environment 150 can be used in any suitable manner. For example, the arrival and departure delays can be used to adjust the determination of the presence or absence of a person in environment 150 by cloud computing system 100 based on the connection and disconnection of WiFi devices. For example, the arrival delay of environment 150 can be determined to be five seconds. After cloud computing system 100 has determined that the user of WiFi device 191 is not in environment 150, WiFi device 191 can be detected connecting to WiFi access point 171. Instead of updating the determination of the presence or absence of the user of WiFi device 191 when WiFi device 191 is detected connecting to WiFi access point 171, cloud computing system 100 can wait for the length of the arrival delay, such as 5 seconds, and then update the determination of the presence or absence of the user. This can more closely correspond to the time when the user of WiFi device 191 entered environment 150. Cloud computing system 100 can use the delay to retrospectively adjust the determination of the absence of the user based on the disconnection from WiFi access point 171, thereby adding the delay to the total time of absence. This can provide more accurate statistics on when the user left environment 150 and for how long. Delay can also be used to adjust the timing of controlled device actions based on presence or absence determination. For example, when WiFi device 191 connects to WiFi access point 171, the delay in the security system entering disarm mode upon detecting a person's arrival can be increased by the arrival delay, causing the security system to disarm closer to the time when the person carrying WiFi device 191 arrives at the entrance passage of environment 150. When WiFi device 191 disconnects from WiFi access point 181, the delay in the security system entering alert mode based on detecting a person's departure can be reduced by the departure delay, causing the security system of environment 150 to re-alarm after a delay counted from when the person carrying WiFi device 191 leaves environment 150, rather than after the delay length plus the security system's delay length.
[0054] The central computing device 155 may include a signal receiver 156. The central computing device 155 may be any suitable device for implementing the signal receiver 156, such as, for example... Figure 7 The computer 20 described herein. The central computing device 155 may be, for example, Figure 5The controller 73 described herein. The central computing device 155 may be a single computing device or may include multiple connected computing devices, and may be, for example, a thermostat, other sensors, a telephone, tablet, laptop, desktop computer, television, watch, or other computing device that can act as a hub for environment 150, and may include security systems and automation functions. Environment 150 may be, for example, a home, office, or other environment. Environment 150 can be controlled from the central computing device 155. The central computing device 155 may be connected to various sensors throughout the environment and various systems within environment 150, such as HVAC systems. The central computing device 155 may include any suitable hardware and software interfaces through which users can interact with the central computing device 155. The central computing device 155 may be located within environment 150, may be located off-site, or may include computing devices both in and off-site within environment 150. The on-site central computing device 155 may use computing resources from other computing devices throughout environment 150 or remotely connected, such as, for example, as part of a cloud computing platform.
[0055] Signal receiver 156 can be any suitable combination of hardware or software on the central computing device 155 for receiving signals generated by sensors and other devices that may be in the environment 150 and can be connected to the central computing device 155. For example, signal receiver 156 can receive signals from sensors and devices 159 distributed throughout the environment 150. Sensors and devices 159 can be, for example, motion sensors, entrance channel sensors, cameras, microphones, light sensors, contact sensors, tilt sensors, WiFi or Bluetooth detectors, lights, electrical appliances, A / V equipment, HVAC systems, security systems, or any other suitable sensor or device type in the environment 150. Signals received by signal receiver 156 from sensors and devices 159 may include, for example, opening / closing events detected by an entrance passage sensor of the exterior door of the monitored environment 150, motion detected by a motion sensor of the area surrounding the exterior door of the monitored environment 150, data indicating when devices, including lights, appliances, and A / V equipment, are turned on or off based on input from the user rather than through automatic control via central computing device 155 or cloud computing system 100, and any other suitable data that may indicate the presence, absence, entry, or exit of the user from environment 150. Signals may include, for example, signals and other data generated by sensors and devices 159 based on valid output from or lack of valid output from sensors. For example, a motion sensor may generate a valid output when motion is detected, and no valid output when no motion is detected.
[0056] Signal receiver 156 can transmit signals received from sensors and devices 159 in the environment 150 to cloud computing system 100. Cloud computing system 100 can store the signals as sensor and device data 147 in storage device 140. This sensor and device data 147 can be stored as part of machine learning input data 145.
[0057] In some implementations, the machine learning system 120 can run on a central computing device 155. Machine learning input data 145 can be stored in the storage device of the central computing device 155, rather than in the storage device 140 of the cloud computing system 100, or the storage device 140 can be accessed by the central computing device 155. If the machine learning input data 145 is stored on the central computing device 155, the central computing device 155 can receive reports from a WiFi access point of the environment 150 and can include a report processor similar to a report processor 110 to generate connection / disconnection times 146. The lengths of the arrival and departure delays output by the machine learning system 120 can be transmitted to the cloud computing system 100 or used by the central computing device 400.
[0058] Figure 2A An example environment suitable for determining the arrival and departure delays of WiFi devices, based on an implementation of the disclosed subject matter, is shown. Environment 150 may include an entrance passage 220, which may be, for example, an outer door for entering and leaving environment 150. An entrance passage sensor 225 may be positioned to monitor the opening and closing of the entrance passage 220. A motion sensor 227 may be positioned to detect movement occurring in a corridor of environment 150 directly behind the entrance passage 220. WiFi access points 171, 172, and 173 may be located throughout environment 150.
[0059] A person 280 carrying a WiFi device 192 can approach the entrance passage 220 from outside the environment 150. Before the person 280 has entered the environment 150 through the entrance passage 220, the WiFi device 192 can connect to a WiFi access point 171 at point 251, which may be located outside the environment 150. The WiFi access point 171 can send a report to the cloud computing system 100 indicating the connection of the WiFi device 192, including the time of connection. The report processor 110 can process the report from the WiFi access point 171 and can add the time of connection detection, the identifier of the WiFi access point 171, and the identifier of the WiFi device 192 to the connection / disconnection time 146 in the machine learning input data 145.
[0060] When person 280 enters environment 150 at point 252 through entrance passage 220, entrance passage sensor 225 can generate sensor data indicating the opening and subsequent closing of entrance passage 220. This sensor data can be sent to signal receiver 156 on central computing device 155, which in turn can send the sensor data from entrance passage sensor 225 to central computing device 100, where it can be stored as part of sensor and device data 147. Motion sensor 227 can detect the movement of person 280 in the corridor behind entrance passage 220 and can send sensor data indicating motion detection to signal receiver 156 on central computing device 155. Central computing device 155 can send the sensor data from motion sensor 227 to central computing device 100, where it can be stored as part of sensor and device data 147 in machine learning input data 145.
[0061] A person 281 carrying WiFi device 193 may be in environment 150. WiFi device 193 may initially be connected to WiFi access point 173. The person may move to WiFi access point 172. WiFi device 193 may connect to WiFi access point 172 and disconnect from WiFi access point 173. WiFi access point 173 may detect the disconnection of WiFi device 193 some time after a disconnection has occurred on WiFi device 193 and WiFi device 193 has been connected to WiFi access point 172. WiFi access point 173 may send a report to cloud computing system 100, reporting the initial connection and subsequent disconnection of WiFi device 193, including the time when WiFi access point 173 detected the connection and disconnection. WiFi access point 172 may send a report to cloud computing system 100, reporting the connection of WiFi device 193. Report processor 110 of central computing device 100 may process the report and add the connection and disconnection times, along with associated identifiers, to connection / disconnection time 146 in machine learning input data 145.
[0062] Machine learning input data 145 can be fed into machine learning system 120, which can use arrival model 142 to determine the arrival delay of environment 150. The arrival delay of environment 150 determined by machine learning system 120 can be, for example, an estimate of the length of time between when a WiFi device, such as WiFi device 191, is connected to WiFi access point 171 outside environment 150, for example at point 251, and when a person, such as person 281, carrying a WiFi device, enters environment 150 through entrance channel 220, for example at point 252.
[0063] Figure 2B An example environment suitable for determining the arrival and departure delays of a WiFi device, based on an implementation of the disclosed subject matter, is shown. A person 282 carrying a WiFi device 191 can approach an entrance passage 220 from inside environment 150. The WiFi device 191 can be connected to a WiFi access point 171. The person can leave environment 150 at point 254 through entrance passage 220 and move away from environment 150. The WiFi device 191 can remain connected to WiFi access point 171 until the person 282 has reached point 253, which can be located outside environment 150 at a distance from entrance passage 220, at which point the WiFi device 191 can disconnect from WiFi access point 171. WiFi access point 171 can detect the disconnection of WiFi device 191 some time after it occurs and can send a report indicating the disconnection of WiFi device 191, including the disconnection time, to cloud computing system 100. The report processor 110 can process reports from WiFi access point 171 and can add the detected disconnection time, the identifier of WiFi access point 171 and the identifier of WiFi device 191 to the connection / disconnection time 146 in the machine learning input data 145.
[0064] When person 282 leaves environment 150 at point 252 through entrance passage 220, entrance passage sensor 225 can generate sensor data indicating the opening and then closing of entrance passage 220. This sensor data can be sent to signal receiver 156 on central computing device 155, which in turn can send the sensor data from entrance passage sensor 225 to central computing device 100, where the sensor data can be stored as part of sensor and device data 147. Motion sensor 227 can detect the movement of person 282 in the corridor behind entrance passage 220 before entrance passage 220 is opened, and can send sensor data indicating motion detection to signal receiver 156 on central computing device 155. Central computing device 155 can send the sensor data from motion sensor 227 to central computing device 100, where the sensor data can be stored as part of sensor and device data 147 in machine learning input data 145.
[0065] Machine learning input data 145, updated using reports from WiFi access point 171 and data from entry channel sensor 225 and motion sensor 227, can be input into machine learning system 120. Machine learning system 120 can use departure model 143 to determine the departure delay of environment 150. The departure delay of environment 150 determined by machine learning system 120 can be, for example, an estimate of the length of time between when a person carrying a WiFi device such as WiFi device 191 leaves environment 150 and the WiFi device is outside environment 150, for example at point 253, disconnecting from WiFi access point 171 and when WiFi access point 171 detects the disconnection.
[0066] Figure 3 An example of a process suitable for determining the arrival and departure delays of WiFi devices, based on an implementation scheme of the disclosed subject matter, is shown. At point 300, reports regarding the times when WiFi devices connect to and disconnect from WiFi access points in the environment can be received from the WiFi access point at a cloud computing system.
[0067] In section 302, data on WiFi connection and disconnection times can be generated from the report.
[0068] In 304, sensor and device data can be received at a cloud computing system and stored together with machine learning input data.
[0069] In 306, machine learning systems can use data on connection and disconnection times, as well as sensor and device data, to generate data indicating the length of arrival and departure delays.
[0070] Reports can be received from WiFi access points in the environment. Each report may include an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points. Data including connection and disconnection times can be generated from the reports. Sensor and device data can be received from sensors or devices in the environment. Machine learning systems can be used to generate data indicating arrival and departure delays in the environment, including connection and disconnection time data, as well as sensor and device data, which are input into the machine learning system.
[0071] Arrival delays or departure delays can be used to adjust the indication of a user's presence or absence in the environment.
[0072] After adjusting at least one of the presence and absence indicators, a control signal for a controllable device in the environment can be generated based on the presence or absence indicator. The control signal can be sent to the device for implementation by the device.
[0073] Machine learning systems can use arrival models to generate arrival delays. Machine learning systems can use departure models to generate departure delays.
[0074] The report may further include the identifier of the WiFi device. The identifier of the WiFi device may include a salted hashed media access control address (SHMAC).
[0075] Sensors and devices in the environment may include motion sensors or inlet channel sensors.
[0076] These reports can include identifiers for WiFi devices. A machine learning system can be used to generate data indicating arrival and departure delay lengths for each WiFi device with one of the identifiers in the report, including connection and disconnection time data, as well as sensor and device data, which are then fed into the machine learning system.
[0077] A system may include WiFi access points in an environment and computing devices of a cloud computing system. The computing devices may receive reports from WiFi access points in the environment, each of which includes an indication of connection or disconnection with one of the WiFi access points, the connection or disconnection time, and an identifier of one of the WiFi access points. Based on the reports, the system generates data including connection and disconnection times, receives sensor and device data from one or more sensors or devices in the environment, and utilizes a machine learning system to generate data indicating arrival and departure delays in the environment, including connection and disconnection time data, and the sensor and device data are input into the machine learning system.
[0078] The computing devices of a cloud computing system can utilize arrival delay or departure delay to adjust the presence or absence of users in the environment.
[0079] The computing devices of a cloud computing system can generate control signals for controllable devices in the environment based on the presence or absence of an indication after adjusting the computing device, and can send the control signals to the device for implementation.
[0080] Machine learning systems can use arrival models to generate arrival delays and departure models to generate departure delays.
[0081] The report may include the identifier of the WiFi device, and the identifier of the WiFi device includes the Salted Hash Media Access Control Address (SHMAC).
[0082] Sensors and devices in the environment may include motion sensors or inlet channel sensors.
[0083] These reports may include identifiers for WiFi devices. Computing devices in cloud computing systems can utilize machine learning systems to generate data indicating the arrival and departure delays of each WiFi device with an identifier in one of the reports. This data includes connection and disconnection times, and sensor and device data is fed into the machine learning system.
[0084] According to embodiments of the disclosed subject matter, there are: an apparatus for receiving reports from WiFi access points in an environment, wherein each of the reports may include an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points; an apparatus for generating data including connection and disconnection times based on the reports; an apparatus for receiving sensor and device data from one or more sensors or devices in an environment; an apparatus for generating data indicating arrival and departure delay lengths of an environment using a machine learning system, wherein the data may include connection and disconnection times, and sensor and device data are input into the machine learning system; an apparatus for generating control signals for controllable devices in an environment based on an presence or absence indication after adjusting at least one of an presence indication and a absence indication; an apparatus for sending control signals to devices for implementation by the devices; and an apparatus for generating data including an indication of arrival and departure delay lengths of each WiFi device having an identifier in one of the reports, including connection and disconnection time data and sensor and device data being input into the machine learning system.
[0085] The embodiments disclosed herein may use one or more sensors. Generally, a “sensor” can refer to any device capable of acquiring information about its environment. Sensors can be described by the type of information they collect. For example, the types of sensors disclosed herein may include motion, smoke, carbon monoxide, proximity, temperature, time, physical orientation, acceleration, position, etc. Sensors can also be described based on the specific physical device from which environmental information is acquired. For example, an accelerometer can acquire acceleration information and can therefore be used as a general-purpose motion sensor and / or acceleration sensor. Sensors can also be described based on the specific hardware components used to implement the sensor. For example, a temperature sensor may include a thermistor, thermocouple, resistance temperature detector, integrated circuit temperature detector, or a combination thereof. In some cases, sensors may operate sequentially or concurrently as multiple types of sensors, such as a temperature sensor being used to detect changes in temperature and the presence of a person or animal.
[0086] Generally, the "sensor" disclosed herein may include multiple sensors or sub-sensors, such as position sensors including Global Positioning (GPS) sensors and wireless network sensors, which provide data that can be correlated with a known wireless network to obtain location information. Multiple sensors may be arranged in a single physical housing, such as in cases where a single device includes motion, temperature, magnetic, and / or other sensors. Such a housing may also be referred to as a sensor or sensor device. For clarity, sensors are described with respect to specific functions performed by the sensors and / or specific physical hardware used, where such description is necessary for understanding the embodiments disclosed herein.
[0087] In addition to specific physical sensors that acquire information about the environment, sensors can also include hardware. Figure 4 Example sensors disclosed herein are shown. Sensor 60 may include an environmental sensor 61, such as a temperature sensor, smoke sensor, carbon monoxide sensor, motion sensor, accelerometer, proximity sensor, passive infrared (PIR) sensor, magnetic field sensor, radio frequency (RF) sensor, light sensor, humidity sensor, or any other suitable environmental sensor, which acquires information of a corresponding type regarding the environment in which sensor 60 is located. Processor 64 may receive and analyze data acquired by sensor 61, control the operation of other components of sensor 60, and handle communication between the sensor and other devices. Processor 64 may execute instructions stored on computer-readable memory 65. Memory 65 in sensor 60 or another memory may also store environmental data acquired by sensor 61. Communication interface 63, such as Wi-Fi or other wireless interface, Ethernet or other local area network interface, may allow communication with other devices via sensor 60. User interface (UI) 62 may provide information and / or receive input from sensor users. UI 62 may include, for example, a speaker to output an audible alarm when an event is detected by sensor 60. Alternatively or additionally, UI 62 may include a light that is activated when sensor 60 detects an event. The user interface can be relatively minimal, such as a limited-output display, or it can be a full-featured interface, such as a touchscreen. Components within sensor 60 can transmit and receive information to each other via an internal bus or other mechanisms readily understood by those skilled in the art. One or more components can be implemented in a single physical arrangement, such as implementing multiple components on a single integrated circuit. The sensors disclosed herein may include other components, and / or may exclude all illustrative components shown.
[0088] The sensors disclosed herein can operate within a communication network, such as a traditional wireless network and / or a dedicated sensor network, through which the sensors can communicate with each other and / or with other dedicated devices. In some configurations, one or more sensors can provide information to one or more other sensors, a central controller, or any other device capable of communicating with one or more sensors on the network. The central controller can be general-purpose or dedicated. For example, one type of central controller is a home automation network that collects and analyzes data from one or more sensors in the home. Another example of a central controller is a dedicated controller dedicated to a subset of functions, such as a security controller that primarily or exclusively collects and analyzes sensor data, as it involves various security considerations regarding location. The central controller can be located locally relative to the sensors, communicating with and obtaining sensor data from the sensors, such as in the case where the central controller is located in a home that includes home automation and / or a sensor network. Alternatively or additionally, the central controller disclosed herein can be located remotely to the sensors, such as when the central controller is implemented as a cloud-based system communicating with multiple sensors, which can be located in multiple locations and can be local or remote relative to each other.
[0089] Figure 5 An example of the sensor network disclosed herein is shown, which can be implemented via any suitable wired and / or wireless communication network. One or more sensors 71, 72 can communicate with each other and / or with a controller 73 via a local area network 70, such as Wi-Fi or other suitable network. The controller can be a general-purpose or special-purpose computer. The controller can, for example, receive, aggregate, and / or analyze environmental information received from the sensors 71, 72. The sensors 71, 72 and the controller 73 can be located locally, such as within a single residence, office space, building, room, etc., or they can be geographically distant, such as when the controller 73 is implemented in a remote system 74, for example, a cloud-based reporting and / or analysis system. Alternatively or additionally, the sensors can communicate directly with the remote system 74. The remote system 74 can, for example, aggregate data from multiple locations, provide instructions to the controller 73 and / or sensors 71, 72, update software, and / or aggregate data.
[0090] For example, the central computing device 155 may be an example of the controller 73, and the sensor 210 may be an example of sensors 71 and 72, as per [reference to...]. Figures 1 to 1 0. Further details are shown and described.
[0091] Devices in the security system and smart home environment of the disclosed subject matter can be communicatively connected via a network 70, which can be a mesh network such as Thread, providing a network architecture and / or protocol for devices to communicate with each other. A typical home network may have a single device communication point. Such a network may be prone to failure, causing devices in the network to be unable to communicate with each other when the single device point is not functioning properly. The mesh network Thread, which can be used in the security system of the disclosed subject matter, avoids the need for communication using a single device. That is, in a mesh network such as network 70, there is no single point of communication that could fail and prevent devices coupled to the network from communicating with each other.
[0092] The communication and network protocols used by devices communicatively coupled to network 70 can provide secure communication, minimize power consumption (i.e., high power efficiency), and support a variety of devices and / or products in the home, such as appliances, access controls, climate controls, energy management, lighting, security, and safety. For example, the protocols supported by the network and the devices connected to it can have open protocols that can natively carry IPv6.
[0093] Thread networks, such as network 70, can be easily established and securely used. Network 70 can use authentication schemes, AES (Advanced Encryption Standard) encryption, etc., to reduce and / or minimize security vulnerabilities present in other wireless protocols. Thread networks can be scalable to connect devices (e.g., 2, 5, 10, 20, 50, 100, 150, 200, or more devices) to a single network supporting multi-hops (e.g., to provide communication between devices when one or more nodes in the network malfunction). Network 70, which can be a Thread network, can provide security at both the network and application layers. One or more devices communicatively coupled to network 70 (e.g., controller 73, remote system 74, etc.) can store product installation code to ensure that only authorized devices can join network 70. One or more operations and communications of network 70 can use cryptography, such as public-key cryptography.
[0094] Devices coupled to network 70 of the smart home environment and / or security system disclosed herein can reduce power consumption and / or minimize power consumption. That is, devices can effectively communicate with each other and operate to provide functionality to the user, wherein these devices can have a smaller battery size and increased battery life compared to conventional devices. These devices may include sleep modes to increase battery life and reduce power requirements. For example, communication between devices coupled to network 70 can use the efficient IEEE 802.15.4 MAC / PHY protocol. In embodiments of the disclosed subject matter, short message sending and receiving between devices on network 70 can save bandwidth and power. The routing protocol of network 70 can reduce network overhead and latency. The communication interface of devices coupled to the smart home environment may include a wireless system-on-a-chip to support a low-power, secure, stable, and / or scalable communication network 70.
[0095] Figure 5 The sensor network shown can be an example of a smart home environment. The depicted smart home environment can include an environment, a house, an office building, a garage, a mobile home, etc. Devices in the smart environment, such as sensors 71, 72, controller 73, and network 70, can be integrated into the smart home environment, which does not include the entire environment, such as an apartment, condominium, or office space.
[0096] A smart environment can control and / or be coupled to devices outside the environment. For example, one or more of sensors 71, 72 may be located outside the environment, for example, at one or more distances from the environment (e.g., sensors 71, 72 may be positioned outside the environment at points along the land perimeter of the environment, etc.). One or more devices in a smart environment do not need to be physically located within that environment. For example, a controller 73 that can receive input from sensors 71, 72 may be located outside the environment.
[0097] A smart home environment can include multiple rooms that are at least partially separated from each other by walls. These walls can include interior or exterior walls. Each room can further include a floor and a ceiling. Devices in the smart home environment, such as sensors 71, 72, can be mounted on, integrated with, and / or supported by the walls, floor, or ceiling of the environment.
[0098] include Figure 5The smart home environment of the sensor network shown may include multiple devices, including smart, multi-sensor, network-connected devices, which can be seamlessly integrated with each other and / or with a central server or cloud computing system (e.g., controller 73 and / or remote system 74) to provide home security and smart home features. The smart home environment may include one or more smart, multi-sensor, network-connected thermostats (e.g., “smart thermostats”), one or more smart, network-connected, multi-sensor hazard detection units (e.g., “smart hazard detectors”), and one or more smart, multi-sensor, network-connected entryway interface devices (e.g., “smart doorbells”). The smart hazard detectors, smart thermostats, and smart doorbells may be… Figure 5 Sensors 71 and 72 are shown.
[0099] According to embodiments of the disclosed subject matter, a smart thermostat can detect environmental climate characteristics (e.g., temperature and / or humidity) and can accordingly control the environment's HVAC (heating, ventilation, and air conditioning) system. For example, environmental client characteristics can be determined by... Figure 5 The sensors 71 and 72 shown detect, and the controller 73 can control the HVAC system (not shown) of the environment.
[0100] Intelligent hazard detectors can detect the presence of hazardous substances or substances that indicate hazardous substances (e.g., smoke, fire, or carbon monoxide). For example, smoke, fire, and / or carbon monoxide can be detected by... Figure 5 The sensors 71 and 72 shown detect, and the controller 73 can control the alarm system to provide visual and / or audible alarms to users in the smart home environment.
[0101] A smart doorbell can control doorbell functions, detect a person's approach to or departure from a location (e.g., an exterior door of an environment), and announce a person's approach to or departure from an environment via auditory and / or visual messages output by a speaker and / or display coupled to, for example, controller 73.
[0102] In some embodiments, Figure 5 The smart home environment of the sensor network shown may include one or more smart, multi-sensor, network-connected wall switches (e.g., "smart wall switches") and one or more smart, multi-sensor, network-connected wall plug interfaces (e.g., "smart wall plugs"). The smart wall switches and / or smart wall plugs may be... Figure 5Sensors 71 and 72 are shown. A smart wall switch can detect ambient lighting conditions and control the power and / or dimming status of one or more lights. For example, sensors 71 and 72 can detect ambient lighting conditions, and controller 73 can control the power of one or more lights (not shown) in a smart home environment. A smart wall switch can also control the power status or speed of a fan, such as a ceiling fan. For example, sensors 72 and 72 can detect the fan's power and / or speed, and controller 73 can adjust the fan's power and / or speed accordingly. A smart wall plug can control the power supplied to one or more wall plugs (e.g., such that no power is supplied to the plug if no one is detected in the smart home environment). For example, one of the smart wall plugs can control the power supplied to a light (not shown).
[0103] In embodiments of the disclosed subject matter, a smart home environment may include one or more intelligent, multi-sensor, network-connected entry detectors (e.g., "smart entry detectors"). Figure 5 The sensors 71 and 72 shown may be smart entry detectors. The illustrated smart entry detectors (e.g., sensors 71 and 72) may be positioned at one or more windows, doors, and other entry points in a smart home environment to detect when a window, door, or other entry point is opened, broken, breached, and / or damaged. When a window or door is opened, closed, broken, and / or damaged, the smart entry detector may generate a corresponding signal provided to the controller 73 and / or the remote system 74. In some embodiments of the disclosed subject matter, an alarm system that may include the controller 73 and / or be coupled to the network 70 may not activate alert unless all smart entry detectors (e.g., sensors 71 and 72) indicate that all doors, windows, entrances, etc., are closed and / or all smart entry detectors are activated.
[0104] Figure 5 The smart home environment of the sensor network shown can include one or more smart, multi-sensor, network-connected door handles (e.g., "smart door handles"). For example, sensors 71, 72 can be coupled to the door handle of a door (e.g., door handle 122 located on the exterior door of the smart home environment). However, it should be understood that smart door handles can be installed on the exterior and / or interior doors of the smart home environment.
[0105] Smart thermostats, smart hazard detectors, smart doorbells, smart wall switches, smart wall plugs, smart entry detectors, smart door handles, keypads, and other devices for the smart home environment (e.g., such as...) Figure 5 The sensors 71, 72 shown can communicate and couple with each other via network 70 and to controller 73 and / or remote system 74 to provide security, safety and / or comfort in a smart environment.
[0106] Users can interact with one or more networked smart devices (e.g., via network 70). For example, users can use a computer (e.g., desktop computer, laptop, tablet, etc.) or other portable electronic devices (e.g., smartphone, tablet, key card, etc.) to communicate with one or more network-connected smart devices. Web pages or applications can be configured to receive communications from users and, based on those communications, control one or more networked smart devices and / or present users with information about device operation. For example, a user can check whether their home security system can be activated or deactivated.
[0107] One or more users can use a networked computer or portable electronic device to control one or more networked smart devices in a smart home environment. In some examples, some or all users (e.g., individuals residing in the home) can register their mobile devices and / or key cards (e.g., to controller 73) with the smart home environment. This registration can be performed at a central server (e.g., controller 73 and / or remote system 74) to authenticate the user and / or electronic device's association with the smart home environment and grant the user permission to use the electronic device to control the networked smart devices and security systems of the smart home environment. Users can use their registered electronic devices to remotely control the networked smart devices and security systems of the smart home environment, such as when the occupant is at work or on vacation. Users can also use their registered electronic devices to control the networked smart devices when they are inside the smart home environment.
[0108] Alternatively, or in addition to registering electronic devices, the smart home environment can infer which individuals reside in the home and are therefore users, and which electronic devices are associated with those individuals. In this way, the smart home environment "learns" who the users are (e.g., authorized users) and authorizes the electronic devices associated with those individuals to control the networked smart devices of the smart home environment (e.g., devices communicatively coupled to network 70). Various types of notifications and other information can be provided to users via messages sent to one or more user electronic devices. For example, messages can be sent via email, Short Message Service (SMS), Multimedia Messaging Service (MMS), Non-Environmental Supplemental Service Data (USSD), and any other type of messaging service and / or communication protocol.
[0109] A smart home environment may include communication with devices located outside the smart home environment but within a geographically proximate area of the home. For example, a smart home environment may include an outdoor lighting system (not shown) that transmits information about the movement and / or presence of detected people, animals, and any other objects via a communication network 70 or directly to a central server or cloud computing system (e.g., controller 73 and / or remote system 74) and receives feedback commands to control the lighting accordingly.
[0110] The controller 73 and / or remote system 74 are capable of controlling the outdoor lighting system based on information received from other networked smart devices in the smart home environment. For example, if any networked smart device, such as a smart wall plug located outdoors, detects movement at night, the controller 73 and / or remote system 74 are capable of activating the outdoor lighting system and / or other lights in the smart home environment.
[0111] In some configurations, the remote system 74 can aggregate data from multiple locations, such as multiple buildings, multi-residential buildings, a single residence in a neighborhood, multiple neighborhoods, etc. Generally, as previously discussed... Figure 4 The described multiple sensor / controller systems 81, 82 can provide information to a remote system 74. Systems 81, 82 can provide data directly from one or more sensors as previously described, or the data can be aggregated and / or analyzed by a local controller, such as controller 73, which then communicates with the remote system 74. The remote system can aggregate and analyze data from multiple locations and can provide the aggregation results to each location. For example, the remote system 74 can examine common sensor data or sensor data trends over a larger area and provide each local system 81, 82 with information about identified common or environmental data trends.
[0112] In situations where the systems discussed herein collect or may utilize personal information about users, users may be given the opportunity to control whether programs or features collect user information (e.g., information about the user's social networks, social actions or activities, occupation, user preferences, or the user's current location), or to control whether and / or how content that may be more relevant to the user is received from content servers. Additionally, certain data may be processed in one or more ways to remove personally identifiable information before being stored or used. Therefore, users can control how the systems disclosed herein collect and use information about themselves.
[0113] The embodiments of the subject matter disclosed herein can be implemented and used in various computing devices. Figure 7This is an example computing device 20 suitable for implementing embodiments of the subject matter currently disclosed. For example, device 20 can be used to implement a controller, a device including sensors disclosed herein, etc. Alternatively or additionally, device 20 can be, for example, a desktop or laptop computer, or a mobile computing device such as a smartphone, tablet, etc. Device 20 may include a bus 21 that interconnects the main components of computer 20, such as a central processing unit 24, a memory 27 such as random access memory (RAM), read-only memory (ROM), flash RAM, etc., a user display 22 such as a display screen, a user input interface 26 that may include one or more controllers and associated user input devices such as a keyboard, mouse, touch screen, etc., a fixed storage device 23 such as a hard disk drive, flash memory storage device, etc., a removable media component 25 operable to control and receive optical discs, flash drives, etc., and a network interface 29 operable to communicate with one or more remote devices via a suitable network connection.
[0114] Bus 21 allows data communication between the central processing unit 24 and one or more memory components 25, 27, which may include RAM, ROM, and other memories as previously described. Applications residing in computer 20 are typically stored on and accessed via computer-readable storage media.
[0115] Fixed storage device 23 may be integrated with computer 20, or it may be separate and accessed via other interfaces. Network interface 29 may provide direct connectivity to a remote server via a wired or wireless connection. Network interface 29 may use any suitable technology and protocol readily understood by those skilled in the art to provide such connectivity, including digital cellular telephony, WiFi, Bluetooth, NFC, etc. For example, network interface 29 may allow the device to communicate with other computers via one or more local area, wide area, or other communication networks, as further described in detail herein.
[0116] Figure 6An example network arrangement according to an embodiment of the disclosed subject matter is shown. One or more clients 10, 11, such as local computers, smartphones, tablet computing devices, etc., can connect to other devices via one or more networks 7. The network can be a local area network, a wide area network, the Internet, or any other suitable communication network, and can be implemented on any suitable platform including wired and / or wireless networks. Clients can communicate with one or more servers 13 and / or databases 15. Clients 10, 11 can directly access these devices, or one or more other devices can provide intermediate access, such as server 13 providing access to resources stored in database 15. Clients 10, 11 can also access a remote platform 17 or services provided by the remote platform 17, such as cloud computing deployments and services. Remote platform 17 may include one or more servers 13 and / or databases 15. One or more processing units 14 may be, for example, part of a distributed system such as a cloud-based computing system, a search engine, a content delivery system, etc., and may also include or communicate with database 15 and / or user interface 13. In some configurations, the analysis system 5 may provide back-end processing, such as preprocessing the stored or retrieved data by the analysis system 5 before transmitting it to the processing unit 14, the database 15, and / or the user interface 13.
[0117] Various embodiments of the currently disclosed subject matter may include or be embodied in the form of computer-implemented processes and means for practicing these processes. Embodiments may also be embodied in the form of a computer program product having computer program code containing instructions embodied in a non-transitory and / or tangible medium, such as a hard disk drive, a USB (Universal Serial Bus) drive, or any other machine-readable storage medium, such that when the computer program code is loaded into and executed by a computer, the computer becomes a means for practicing embodiments of the disclosed subject matter. When implemented on a general-purpose microprocessor, the computer program code can configure the microprocessor as a special-purpose device, such as by creating specific logic circuitry specified by the instructions.
[0118] The embodiments may be implemented using hardware, which may include a processor, such as a general-purpose microprocessor and / or an application-specific integrated circuit (ASIC) embodying all or part of the technology according to the embodiments of the disclosed subject matter in the hardware and / or firmware. The processor may be coupled to memory, such as RAM, ROM, flash memory, hard disk, or any other device capable of storing electronic information. The memory may store instructions suitable for execution by the processor to implement the technology according to the embodiments of the disclosed subject matter.
[0119] For illustrative purposes, the foregoing description has been described with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the embodiments of the disclosed subject matter to the precise forms disclosed. In view of the above teachings, many modifications and variations are possible. These embodiments were chosen and described in order to explain the principles of embodiments of the disclosed subject matter and their practical application, thereby enabling others skilled in the art to utilize these embodiments, as well as various embodiments with various modifications, to suit a particular intended use.
Claims
1. A computer-implemented method executed by a data processing device, the method comprising: Receive a report from WiFi access points in the environment, wherein the report includes an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points; Data including connection time and disconnection time is generated from the report; Receive sensor and device data from one or more sensors or devices in the environment; as well as Data indicating the arrival and departure delays of the environment, including connection and disconnection times, as well as sensor and device data, are generated using a machine learning system and input into the machine learning system.
2. The computer-implemented method of claim 1, further comprising adjusting at least one of an indication of the presence of a user in the environment and an indication of the absence of a user using at least one of the arrival delay and the departure delay.
3. The computer-implemented method according to claim 2, further comprising: After adjusting at least one of the presence indication and the absence indication, a control signal for a controllable device in the environment is generated based on the presence indication or the absence indication; as well as The control signal is sent to the device for implementation by the device.
4. The computer-implemented method of claim 1, wherein the machine learning system uses an arrival model to generate the arrival delay, and wherein the machine learning system uses a departure model to generate the departure delay.
5. The computer-implemented method of claim 1, wherein the report further includes an identifier of a WiFi device, and wherein the identifier of the WiFi device includes a salted hashed media access control address (SHMAC).
6. The computer-implemented method of claim 1, wherein the one or more sensors and devices in the environment include one or more of a motion sensor and an inlet channel sensor.
7. The computer-implemented method of claim 1, wherein each of the reports further includes an identifier of a WiFi device, and further includes: The machine learning system generates data indicating the arrival and departure delay lengths of each WiFi device with an identifier in one of the reports, including the connection and disconnection times, and the sensor and device data are input into the machine learning system.
8. A computer-implemented system for determining the arrival delay and departure delay of a WiFi device, comprising: A computing device of a cloud computing system receives reports from one or more WiFi access points in an environment, wherein each of the reports includes an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points. The report generates data including connection and disconnection times, and sensor and device data is received from one or more sensors or devices in the environment; and Data indicating the arrival and departure delays of the environment, including connection and disconnection times, as well as sensor and device data, are generated using a machine learning system and input into the machine learning system.
9. The computer-implemented system of claim 8, wherein the computing device of the cloud computing system further utilizes at least one of the arrival delay and the departure delay to adjust at least one of an indication of user presence and an indication of user absence in the environment.
10. The computer-implemented system of claim 9, wherein the computing device of the cloud computing system further generates a control signal for a controllable device in the environment based on the presence indication or the absence indication after the computing device adjusts at least one of the presence indication and the absence indication, and sends the control signal to the device for implementation by the device.
11. The computer-implemented system of claim 8, wherein the machine learning system uses an arrival model to generate the arrival delay, and wherein the machine learning system uses a departure model to generate the departure delay.
12. The computer-implemented system of claim 8, wherein the report further includes an identifier of the WiFi device, and wherein the identifier of the WiFi device includes a salted hashed media access control address (SHMAC).
13. The computer-implemented system of claim 8, wherein the one or more sensors and devices in the environment include one or more motion sensors and inlet channel sensors.
14. The computer-implemented system of claim 8, wherein each of the reports further includes an identifier for a WiFi device, and wherein the computing device of the cloud computing system further utilizes the machine learning system to generate data indicating the arrival delay length and departure delay length of each WiFi device having an identifier in one of the reports, including the data of connection time and disconnection time, and the sensor and device data being input into the machine learning system.
15. A system for determining the arrival delay and departure delay of a WiFi device, comprising: One or more computers and one or more storage devices storing instructions, the instructions being operable, when executed by the one or more computers, to cause the one or more computers to perform operations, the operations including: Receive a report from WiFi access points in the environment, wherein the report includes an indication of connection or disconnection with one of the WiFi access points, the time of connection or disconnection, and an identifier of one of the WiFi access points; Data including connection time and disconnection time is generated from the report; Receive sensor and device data from one or more sensors or devices in the environment; and Data indicating the arrival and departure delays of the environment, including connection and disconnection times, as well as sensor and device data, are generated using a machine learning system and input into the machine learning system.
16. The system of claim 15, wherein the instructions further cause the one or more computers to perform operations including adjusting at least one of an indication of user presence and an indication of user absence in the environment using at least one of the arrival delay and the departure delay.
17. The system of claim 16, wherein the instructions further cause the one or more computers to perform an operation, the operation comprising: After adjusting at least one of the presence indication and the absence indication, a control signal for a controllable device in the environment is generated based on the presence indication or the absence indication; as well as The control signal is sent to the device for implementation by the device.
18. The system of claim 15, wherein the machine learning system uses an arrival model to generate the arrival delay, and wherein the machine learning system uses a departure model to generate the departure delay.
19. The system of claim 15, wherein the report further includes an identifier of a WiFi device, and wherein the identifier of the WiFi device includes a salted hashed media access control address (SHMAC).
20. The system of claim 15, wherein each of the reports further includes an identifier for a WiFi device, and wherein the instructions further cause the one or more computers to perform an operation comprising: The machine learning system generates data indicating the arrival and departure delay lengths of each WiFi device with an identifier in one of the reports, including the connection and disconnection times, and the sensor and device data are input into the machine learning system.
Citation Information
Patent Citations
Electronic device, wireless communication method, and computer readable medium
CN110234118A
Intelligent configuration of a smart environment based on arrival time
US20150370272A1