WiFi sensing mesh network

A mesh network topology for Wi-Fi sensing systems addresses the single point of failure in hub-based architectures by enabling devices to function as both transmitters and receivers, ensuring robust and flexible motion detection and environmental automation.

JP7881697B2Active Publication Date: 2026-06-29NAMI AI PTE LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NAMI AI PTE LTD
Filing Date
2021-12-21
Publication Date
2026-06-29

AI Technical Summary

Technical Problem

The existing Wi-Fi sensing network topology is prone to a single point of failure due to its hub-based architecture, which limits scalability and reliability.

Method used

A mesh network topology is implemented, where each device can function as both a transmitter and a receiver, allowing for redundant communication paths and eliminating the single point of failure, with a configuration tool selecting optimal device pairs for data processing and a sensing mode engine to detect motion and trigger responses.

Benefits of technology

The mesh network provides a scalable and reliable Wi-Fi sensing solution that allows for robust motion detection and environmental automation events, enhancing the robustness and flexibility of the Wi-Fi sensing system, allowing devices to remain connected to the network, with a configuration tool that ensures the robustness and flexibility of the Wi-Fi sensing system, allowing for robust motion detection and environmental automation events.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007881697000001
    Figure 0007881697000001
  • Figure 0007881697000002
    Figure 0007881697000002
  • Figure 0007881697000003
    Figure 0007881697000003
Patent Text Reader

Abstract

A sensing system for monitoring a location includes a plurality of mesh devices disposed within the location. Each mesh device includes a transmitter component that configures the mesh device as a transmitter when activated and a receiver component that configures the mesh device as a receiver when activated. At least two of the mesh devices have an activated receiver component. Each mesh device having an activated receiver component is configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device of the plurality of mesh devices. The selected mesh device is selected by the configuration tool and has an activated transmitter component. The sensed data is generated from wireless signals transmitted by the transmitter devices and received by each receiver device over a wireless communication medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a sensing system including a wireless sensing mesh network and a method for configuring a wireless sensing mesh network.

Background Art

[0002] Wi-Fi (one of the most commonly used wireless network protocols) is typically associated with wireless Internet access and local area networking of devices. The increasing number of Wi-Fi-enabled networks worldwide, composed of hundreds of billions of connected devices, has opened up new possibilities for applications of Wi-Fi technology beyond providing wireless Internet access and communication. One promising and tangible application of Wi-Fi signals is for motion sensing.

[0003] Wi-Fi sensing has been developed over recent years as an alternative method for monitoring locations. Wi-Fi sensing has various advantages over other sensing solutions. In some forms, Wi-Fi sensing requires no additional hardware and can rely on existing Wi-Fi routers and Wi-Fi-enabled devices within a location. For example, while current radar systems require dedicated antennas and transceivers that are complex and expensive, Wi-Fi sensing uses existing devices such as cell phones, PCs, and mesh Wi-Fi systems. The user only needs to install the software required to convert their setup to a Wi-Fi sensing solution.

[0004] Wireless signals (e.g., Wi-Fi signals) can be used to sense entities by monitoring changes in signal characteristics. The use of wireless signals in presence detection has the advantage that no cameras need to be used, and thus the privacy of the person being sensed is maintained.

[0005] Wi-Fi signals penetrate walls and enable out-of-sight (LOS) operation (an important consideration for security surveillance applications).

[0006] Wi-Fi sensing is inherently cost-effective thanks to Wi-Fi's near-ubiquitous nature. Wi-Fi is widespread, so the infrastructure is already in place. The Internet of Things (IoT) provides a complete ecosystem for sensing systems, eliminating the need to build a new ecosystem.

[0007] Wi-Fi sensing has proven to be remarkably accurate. Channel State Information (CSI) is collected from packets and signals typically used to send and receive information from connected devices over a Wi-Fi network. This technology requires no additional special signals and does not degrade network performance or user experience when using Wi-Fi.

[0008] WiFi devices are connected to each other within the local network. Figure 4A shows a known network topology used within a WiFi sensing network.

[0009] Figure 4A shows a hub-based (or star) topology. Here, there is a central hub acting as a receiver 104, which receives signal frames from each of the four beacons, or transmitter devices 102, deployed in the environment. The hub also implements a sensing mode engine to detect motion.

[0010] In this topology, the hub handles a large number of CSI streams. Therefore, the hub needs to have sufficient hardware to process the input streams. [Overview of the Initiative] [Problems that the invention aims to solve]

[0011] The topology shown in Figure 4A above suffers from a single point of failure (hub). Therefore, there is a need for an improved sensing network. [Means for solving the problem]

[0012] According to a first aspect of the present invention, a sensing system for monitoring a location is provided, the system comprising a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, configures the mesh device as a transmitter, and a receiver component which, when activated, configures the mesh device as a receiver, at least two of the mesh devices activate the receiver component; each mesh device having an activated receiver component is configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device being selected by the configuration tool and having an activated transmitter component, the sensed data being generated from radio signals transmitted by the transmitter devices and received by each receiver device on a wireless communication medium.

[0013] The systems disclosed herein provide a scalable, configurable, and adjustable architecture for sensing within a location.

[0014] In some embodiments, the configuration tool may be implemented in the first receiver device, and the configuration tool may be operable to select at least one other mesh device to transmit to the first receiver device, and to configure the first receiver device to receive sensed data for processing from the selected at least one other mesh device.

[0015] In some embodiments, the system may further include a remote computing server, the configuration tool may be implemented on the remote computing server, the configuration tool may be operable to select, for each receiver device of a receiver device, at least one other mesh device having an activated transmitter component, and from the selected at least one other mesh device, the receiver device may be operable to configure the receiver device to receive sensed data.

[0016] In some embodiments, the system may further include a sensing mode engine for processing data sensed in sensing mode.

[0017] In some embodiments, the sensing mode engine may be configured to compare the received sensing data with the previously sensing data in order to determine whether there is a difference between the received sensing data and the previously sensing data, and to trigger a response action if it is determined that there is a difference between the received sensing data and the representative previously sensing data.

[0018] In some embodiments, the sensing mode engine may be further configured to determine whether this difference persists for a period exceeding the threshold sensing mode period, and if this period exceeds the threshold sensing mode period, to trigger a response action.

[0019] In some embodiments, the sensing mode engine may be implemented in a remote computing server.

[0020] In some embodiments, each of the receiving devices may be configured to implement a sensing mode engine.

[0021] In some embodiments, the system may further include a second sensing mode engine for processing data sensed in a second sensing mode.

[0022] In some embodiments, for each selected mesh device, one or more of the sensing mode and the second sensing mode can be selected by a configuration tool for processing the sensed data.

[0023] In some embodiments, at least one of the plurality of mesh devices can have an activated receiver component and an activated transmitter component.

[0024] In some embodiments, the system can include a configuration tool that can be configured to select at least one other mesh device based on configuration criteria that define threshold signal characteristics.

[0025] In some embodiments, the system can further include a second sensing mode engine for processing data sensed in the second sensing mode, and the configuration criteria are different for the sensing mode and the second sensing mode.

[0026] In some embodiments, the system can include a configuration tool that can be configured to select at least one other mesh device based on a selected transmitter device for another receiver device of the sensing system.

[0027] In some embodiments, the system can include a configuration tool that can be configured to select at least one other mesh device based on the processing capabilities of the receiver device.

[0028] In some embodiments, the configuration tool is further configured to determine that a mesh device is not connected to the network, and to determine a mesh device having an activated receiver component and an activated transmitter component and connected to the network, which receives signals from a disconnected mesh device, and to configure at least one mesh device as a proxy device, the proxy device being configured to transmit data packets to the disconnected mesh device and to receive sensed data for processing from the disconnected mesh device.

[0029] In some embodiments, the configuration tool is further configured to determine, in a first receiver device, based on signals received from a disconnected mesh device, that a mesh device is not connected to the network, and to configure the first receiver device as a proxy device, the proxy device being configured to transmit data packets to the disconnected mesh device and to receive sensed data for processing from the disconnected mesh device.

[0030] In some embodiments, the configuration tool is further configured to determine whether the characteristics of the signals received from the disconnected mesh device satisfy proxy criteria, and if the proxy criteria are satisfied, configure the receiver device as a proxy device.

[0031] In some embodiments, the configuration tool is further configured to determine whether the characteristics of the signals received from the disconnected mesh device satisfy proxy criteria, and if the proxy criteria are satisfied, configure the first receiver device as a proxy device.

[0032] In some embodiments, the sensing mode engine may be configured to determine the location of a disturbance within the location based on the difference between the received sensing data and the previously sensing data.

[0033] In some embodiments, the sensing mode engine may be configured to trigger a response action by taking into account the received sensing data transmitted from the second transmitter device.

[0034] A second aspect of the present invention provides a computer implementation method that includes steps taken to perform the functions of a system for monitoring a location, the system including a plurality of mesh devices located at the location, each mesh device including a transmitter component that, when activated, configures the mesh device as a transmitter, and a receiver component that, when activated, configures the mesh device as a receiver, at least two of the mesh devices having activated receiver components; each receiver device being configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device being selected by the configuration tool and having activated transmitter components, the sensed data being generated from radio signals transmitted by the transmitter devices and received by each receiver device on a wireless communication medium, the method including selecting at least one other mesh device and configuring the receiver device to receive sensed data for processing from the selected other mesh device.

[0035] According to a third aspect of the present invention, a computer program is provided which is stored on a non-temporary computer-readable storage medium and is configured to perform the functions of a system for monitoring a location when executed on one or more processors, the system comprising a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, configures the mesh device as a transmitter, and a receiver component which, when activated, configures the mesh device as a receiver, at least two of the mesh devices having the activated receiver component; each receiver device is configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device being selected by the configuration tool and having the activated transmitter component, the sensed data being generated from radio signals transmitted by the transmitter devices and received by each receiver device on a wireless communication medium.

[0036] According to a fourth aspect of the present invention, a computing device is provided for configuring a sensing system for monitoring a location, the computing device comprising a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, configures the mesh device as a transmitter, and a receiver component which, when activated, configures the mesh device as a receiver, at least two of the mesh devices having activated receiver components; each receiver device comprising a configuration tool which receives sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device which is selected by the configuration tool and has activated transmitter components, the sensed data is generated from radio signals transmitted by the transmitter devices and received by each receiver device on a wireless communication medium, the computing device comprising at least one processor and a memory which, when implemented on the at least one processor, causes the at least one processor to select at least one other mesh device and configure the receiver device to receive sensed data from the other selected mesh device.

[0037] Attached drawings are referenced for illustrative purposes only, in order to aid in understanding some embodiments of this disclosure and to show how such embodiments may be put into practice. [Brief explanation of the drawing]

[0038] [Figure 1] This is a schematic diagram of the presence detection system. [Figure 2] This is a schematic diagram of a mesh network in an indoor environment. [Figure 3A-C] This diagram schematically shows the signal fluctuations caused by the presence or absence of entities within the room. [Figure 4A] This shows a conventional network topology for a network containing multiple nodes. [Figure 4B]This describes a hub-based architecture that incorporates "inter-beacon sniffing". [Figure 4C] This shows a mesh network topology. [Figure 5A-D] This shows various node layouts within an indoor environment. [Figure 6] This is an exemplary method for performing security events or environmental automation events based on received signals. [Figure 7] This diagram schematically shows entities that interfere with multiple signals. [Figure 8] This is an exemplary method for triggering a security event based on multiple signals. [Figure 9] This is an exemplary method for updating characteristic data. [Figure 10] This is a schematic diagram of a computing system in which an embodiment of the sensing system may be implemented. [Figure 11] This is a schematic diagram of a client device on which a sensing system can be implemented. [Modes for carrying out the invention]

[0039] Wi-Fi sensing is a technology that uses Wi-Fi signals to operate like short-range passive radar by measuring how the signals interact with motion and the environment. By transmitting signals into the environment, Wi-Fi sensing systems can track motion and presence based on how the signals are reflected and deflected.

[0040] Wi-Fi sensing performance is correlated with channel width. The larger the channel width, the higher the resolution. Currently, Wi-Fi operates in the 2.4GHz, 5GHz, 6GHz, and 60GHz bands. Channel widths in the 2.4GHz spectrum are 20MHz or 40MHz, channel widths in the 5GHz spectrum are 20MHz, 40MHz, 80MHz, or 160MHz, and the 6GHz band can be up to 1200MHz (Wi-Fi 6E). The wavelengths of Wi-Fi signals in these bands range from 4.2cm (6GHz band) to 12.4cm (2.4GHz band).

[0041] Such signals are well-suited not only for motion detection, activity detection, and human body recognition, but also for respiratory rate detection and even heart rate detection via DSP (Digital Signal Processing), machine learning algorithms, and other processing techniques. Wi-Fi sensing technology enables security, safety, and care services in smart home and Internet of Things (IoT) applications. Wi-Fi sensing technology supports a wide variety of features and applications, such as motion detection, human activity detection and recognition, and vital signs detection.

[0042] One problem that arises is that a WiFi system that is well-set up for one specific application or use case may not be optimal for other use cases. Use cases may include, among others, security, automation, wellness, and pet monitoring. This specification is directed, as an example, towards configuring a system to be effective in two different use cases. The first example is security monitoring to detect intrusion or routine maintenance in or around a monitored location. The second case is use in a so-called "smart building" by using motion and occupancy detection as part of a building management system (e.g., heating, ventilation, and air conditioning (HVAC) and lighting control). However, it should be understood that the systems disclosed herein can be configured for a variety of use cases.

[0043] Figure 1 is a schematic diagram of the sensing system 100.

[0044] The system includes a sensing network 112. The sensing network 112 consists of a set of network devices, or nodes, that communicate with each other. Each node acts as at least one of a transmitter device and a receiver device.

[0045] Nodes are grouped in sensing mode. In the example in Figure 1, there are two sensing modes: a first (security) sensing mode and a second (automation) sensing mode. A group of devices in the sensing network is configured to be in each of the two sensing modes.

[0046] The system also includes a first sensing mode engine (security engine 106) and a second sensing mode engine (automation engine 108). These sensing mode engines are implemented on a cloud computing environment 110. The cloud computing environment 110 is described in detail below with reference to Figure 10. Essentially, the cloud computing environment 110 includes one or more remote servers that communicate with mesh devices of the mesh network 112 over a network. The cloud computing environment 110 may also communicate with user devices over the network to provide information to users of devices related to the sensed data.

[0047] In some embodiments, the sensing mode engine is instead implemented in a receiver device within the mesh network or in another processing device. Since processing is performed in the mesh device, a connection to a server in the cloud is not required, thus improving system reliability.

[0048] In some embodiments, each receiver device in the mesh network 112 runs a computer program on hardware that provides a sensing engine. In such embodiments, the network devices are configured in the cloud computing environment 110 as described below and subsequently run autonomously based on this configuration.

[0049] The mesh device transmits and / or receives WiFi signals. Characteristic data related to the received signal is sent to the cloud computing environment 110. The characteristic data is determined by the processor of the receiving device that receives the signal.

[0050] When received in the cloud computing environment 110, characteristic data related to signals received from devices in security sensing mode is passed to the security engine 106, while characteristic data related to signals from these devices in automation sensing mode is passed to the automation engine 108. This characteristic data is analyzed in each engine to determine whether security and / or environment automation events should be triggered, as described below.

[0051] The cloud computing environment 110 also includes a configuration memory 114 that stores the relationships between transmitter / receiver pairs and sensing modes. The configuration memory 114 is accessed to determine which sensing engines 106 and 108 are used to analyze the characteristic data.

[0052] The sensing system 100 can be configured for various use cases by using configuration tools implemented in the cloud computing environment 110, and the mesh devices of the mesh network 112 can be configured to listen to signals from various transmitter devices based on the use case and / or device layout around the location. In this specification, when a receiver device is said to “listen” to a particular transmitter device or to “listen” to signals from said transmitter device, it means that the receiver is configured to receive and process signals from said particular transmitter device.

[0053] Figure 2 shows a house having three rooms, each housing at least one network device 202a–d. The house in Figure 2 is an exemplary “place” of this disclosure, and a place is an area sensed by a sensing network. There are two network devices 202a and 202b in the living room, and one device 202c and 202d in the bedroom and study, respectively.

[0054] The network shown in Figure 2 has a complete network topology, where each device 202a-d is in direct communication with each other. In addition, each of devices 202a-d acts as both a transmitter and a receiver, as indicated by the bidirectional arrows.

[0055] That is, for example, device 202c in the bedroom receives signals from two devices 202a and 202b in the living room and device 202d in the study. Device 202c in the bedroom also transmits signals to each of devices 202a, 202b, and 202d. By placing network devices throughout the house, a mesh network can be configured in which signals are transmitted between devices 202a-d so that signals can be used to sense most, if not all, of the house.

[0056] In Figure 2, the signals are shown to be transmitted in a straight line between the transmitter and receiver, but at least a portion of each signal is reflected from surfaces, including furniture and walls.

[0057] Figure 3A shows a living room in an "undisturbed state" (i.e., the room is empty) where nothing is moving inside. Three signal paths 302a-c are shown between devices 202a and 202b. Device 202a is configured here as the transmitter device, while device 202b is configured as the receiver device.

[0058] The first signal following path 302a is transmitted above and slightly to the right of device 202a, reflecting off the surface of the TV and then off the ceiling before being received by receiver device 202b. The second signal following path 302b is transmitted below and to the left of transmitter device 202a, reflecting off the floor, then off the base of the sofa, then off the floor again, and then off the left wall before being received by receiver device 202b. The third signal following path 302c travels in an undisturbed straight line from transmitter device 202a to receiver device 202b.

[0059] When the room is empty, each of these signals can be considered a characteristic signal, and the signal data can be considered characteristic data representing the indoor environment. In other words, the characteristics of each signal received by the receiver device 202b are related to the room layout.

[0060] Figure 3A also shows a graph of channel state information (CSI) for a signal cross-pathway 302a that may be used to sense entities within a room. The graph in Figure 3A shows time vs. subcarrier index vs. CSI magnitude. It should be understood that the graph shown is provided for illustrative purposes only.

[0061] The CSI is determined based on changes in the amplitude, phase, or both of the received signal. The shown CSI corresponds to an empty room and is therefore considered characteristic data representing the environment. This CSI is referred to herein as the CSI fingerprint. The signal shown in Figure 3A is a characteristic signal because it represents the environment in an undisturbed or reference state. The CSI fingerprint is used for presence cognition.

[0062] In this specification, certain areas of a room or house where communication is taking place with the signal-sensing devices 202c and 202d are referred to as signal areas.

[0063] Figure 3B shows the room with devices 202a and 202b when person 306 is inside the room. It can be seen that the signals traveling along paths 302b and 302c are not disturbed because person 306 is not within the signal area of ​​either of these signals. In other words, person 306 is not in signal paths 302b and 302c.

[0064] The signal traveling along path 302a when the room is empty is obstructed. This signal now travels along the longer path 304. This change in the signal path results in a change in the characteristics of the signal, as shown by the graph in Figure 3B.

[0065] If person 306 moves within the room, the signal path will change again, and the characteristics of the received signal will also change. Person 306's movement is detected by comparing the characteristics of the most recently received signal with the characteristics of a previously received signal or another recently received signal from the past.

[0066] Figure 3C shows another example of a change in the signal path, and therefore the signal characteristics. However, in this case, the signal path, and therefore the signal characteristics, are altered due to a change in the TV's position. Since this change is a permanent change within the environment, the characteristic signal needs to be updated so that the change in signal characteristics caused by the person present can be determined. The method for updating the characteristic signal is described below.

[0067] As described above, devices 202a-d may be either transmitter devices or receiver devices, or they may function as both transmitters and receivers.

[0068] The topology in Figure 4A has the disadvantage of being unable to capture the motion between beacons. The hub-based architecture with so-called "beacon sniffing" shown in Figure 4B offers an improvement in this respect.

[0069] This architecture is an extension of the star topology shown in Figure 4A. The main difference is that beacons not only transmit signals but also receive them from other beacons. The beacons collect CSI values ​​and forward them to the hub for analysis.

[0070] Such a topology can be useful in so-called "business-to-business" environments, such as hotels or hospitals, where powerful servers are present but receiving devices are not as powerful.

[0071] Each of the topologies in Figures 4A and 4B suffers from a single point of failure (hub). Figure 4C shows an exemplary mesh network topology for a mesh device in a sensing system that overcomes this problem.

[0072] A mesh network is a local network topology in which each device or node in the network has one or more paths that directly connect it to some or all of the other nodes in the network. In a full mesh network topology, every node can communicate directly with all other nodes in the network. In a partial mesh network topology, only some of the nodes can connect to each other. A mesh network may be wired or wireless. That is, mesh network devices may transmit sensed data detection results via wired or wireless means.

[0073] Figure 4C shows one embodiment of a mesh topology, in which at least some of the devices 402 may be configured to act as either receivers or transmitters depending on the configured use case. While it is possible to implement the mesh configuration described herein by using some or all of the dedicated transmitter or receiver devices, there is a significant advantage to be gained in that each of all devices can be set up as either a transmitter or a receiver, or both, depending on the configuration. Such a mesh network is described herein as an example.

[0074] Mesh networks can be configured for various use cases: security mode and automation mode are described below.

[0075] Each mesh device 402 includes both a receiver component 104 and a transmitter component 102. Each device 402 in the mesh topology can communicate directly with each of the other devices 402 in the network in a bidirectional manner: that is, there are transmit and receive paths in each direction, but it is not necessary for both the receiver component 104 and the transmitter component 102 of each device 402 to be activated. If a mesh device 402 acts as both a receiver and a transmitter, the receiver component 104 and the transmitter component 102 can be activated simultaneously, assuming that the mesh device 402 includes the required hardware, i.e., at least two radios. As an alternative that can be implemented if only one radio exists within the mesh device 402, the receiver component 104 and the transmitter component 102 are activated simultaneously, i.e., the radio constantly alternates between transmit and receive states. In some embodiments, the mesh device 402 is in the receive state most of the time.

[0076] In a mesh topology, there is no single point of failure. Even if one of the devices 402 fails, the other devices 402 can continue to communicate with each other, and their signals can sense the area they traverse. When a device 402 fails, the failure is detected by the fault detection module of the sensing system. When a failure is detected, the mesh formation described below is repeated to reshape the sensing network.

[0077] A device configured as a transmitter can transmit beacon signals. A beacon signal transmitted from a single transmitter device is called a beacon stream.

[0078] The number of beacon streams that each device 402 listens to can be configured to take into account the processing capacity of the device 402. For example, if device 402 has lower processing capacity, it can be configured to listen to only some of the beacon signals, and thus the number of signals processed by the device can be reduced.

[0079] As an additional advantage, mesh networks allow motion between all devices to be sensed and monitored by forming various pairs of devices.

[0080] When the transmitter component 102 is activated, the mesh device is configured as a transmitter, and when the receiver component 104 is activated, the mesh device is configured as a receiver. In this embodiment, both components can be activated simultaneously in a single device, as in the example case shown in Figure 4C.

[0081] As an example, the system is implemented using a mesh architecture in which there are at least n devices, each of which is both a transmitter and a receiver within a building containing multiple rooms as shown in Figure 2, and the building is the location.

[0082] Each device listens to n input streams. Of the n streams, the device listens to one device located in the same room and n-1 devices from other parts of the building. If no devices are available in the same room, the device listens to n devices from other rooms.

[0083] To set up the system, the first step is to form a mesh network from devices installed within the location using a mesh formation algorithm. This is done by a computer program that includes configuration tools and is stored on a computer-readable medium.

[0084] An exemplary system for setting up a sensing system is shown in Figure 10. Server 1002 communicates with client device 1008 and devices forming a sensing mesh 112 via a network 1004 such as the Internet. Server 1002 may be the cloud computing environment 110 shown in Figure 1, or it may be a separate server located far from the mesh devices. Client device 1008 may be a personal computing device such as a laptop or smartphone.

[0085] The mesh formation algorithm may be implemented in any of the remote server 1002, the client device 1008, and one of the devices of the sensing mesh network 112. The client device 1008 may have an application installed thereon for receiving information from the sensing mesh 112 and / or for implementing the mesh formation algorithm. This application may, for example, display sensing information to the user about people sensed in a location and / or triggered events. Each device of the sensing network mesh 112 may perform a replication of the mesh formation algorithm so that each device selects which of the other devices it should listen to and the sensing mode for each selected device. Alternatively, one of the devices of the sensing mesh network 112 may act as a “hub” device (including a processor and memory) for implementing the mesh formation algorithm and / or sensing mode engine described herein.

[0086] The main steps of the mesh generation algorithm are as follows: 1. The user pairs all devices in the network. These devices are turned on for this process. Transmitter and receiver components do not need to be activated for this process, but these devices are connected to the WiFi network and therefore exchange information with the network access point. The identifier of each device used in the mesh network is stored in configuration memory 114 (see Figure 1). 2. For each device, n additional devices are selected for the device that should listen, as follows: a. Attempt to select a device in the same room. If such a device exists, it is selected and enabled for automated sensing mode. If there are no other devices in the room, proceed to the next step. The algorithm stores the association between the device and the automated sensing mode in configuration memory 114. b. Select n-1 (or n if no other devices were found in the room in step 2.a) devices from other rooms and enable security sensing mode. The algorithm stores the association between these devices and security sensing mode in configuration memory 114. These devices are selected based on the received signal strength indicator (RSSI) of signals transmitted from the devices, and candidate devices may be added as additional devices. To determine this, a device is configured as a transmitter, and each candidate device is configured as a receiver. Alternatively, this may be done without activating the transmitter component. Instead, normal WiFi communication between the router and the devices may be relied upon. In this embodiment, each device may "sniff" packets transmitted from the device to the router, and vice versa, and calculate the RSSI value of the received signal with respect to the sender. The RSSI at each candidate device is measured and compared to a set of RSSI values. For example, the ideal RSSI is in the -70 / -75 range for devices located in different rooms. Any candidate device with an excessively good RSSI should be avoided, as this means the devices are too close to each other for optimal motion sensing to be achieved. For devices in the same room, the RSSI requirement can vary as the devices get closer to each other; for example, an RSSI of approximately -50 might be ideal. One or more factors (e.g., device placement, device hardware, presence / proximity to furniture, distance between devices, partition material, etc.) may be used to determine the RSSI requirement. c. If no suitable device can be found (for example, due to poor RSSI, only one device being turned on, etc.), the mesh formation process is stopped and the error is reported to the user via the user interface on client device 1008.

[0087] Step 2 of the above method is performed by a configuration tool implemented within the computer program. Specifically, the configuration tool selects a group of mesh devices that should operate in each sensing mode.

[0088] The devices selected in step 2a may also be selected in step 2b such that the signals received from the devices are used in both sensing mode and security mode. In such a case, n devices may be selected in step 2b.

[0089] In some embodiments, the meshing algorithm takes into account devices listened to by other devices. For example, if two receiver devices are close to each other, a transmitter configured to be listened to by one of the receivers is at least partially based on a transmitter configured to be listened to by the other device. The two devices are configured to listen to devices that increase the coverage of the sensing system. For example, one device may be configured to listen to a device located approximately east of a receiver, and the other may be configured to listen to those devices located approximately west of the two receivers.

[0090] Each mesh device may implement a sensing engine. In such embodiments, the number n of devices that a particular device should listen to may depend on the processing capacity of the devices so that the amount of data that the devices are required to process does not exceed the processing resources of the devices.

[0091] In some embodiments, not all WiFi devices in the network will be used within the sensing mesh. For example, if devices already present in the location are to be used as mesh devices, only some of the devices in the location may be used. The user selects each "pair" of devices to be included in the mesh network via a user interface. This can be done by a user engaging with the user interface on their client device 1008, which presents a visual indication of each device and its location within the location where it will be set up.

[0092] Figures 5A-D show several exemplary configurations formed through the mesh formation process. In each example, the devices are shown acting only as either transmitters or receivers for ease of illustration. In addition, only three devices are shown in each example. In each example, the user may receive an activation mode indicator through the user interface, for example, by visual instructions or other displayed messages.

[0093] Figure 5A shows a receiver device 104 placed in room A together with transmitter device 102b. Since receiver 104 and transmitter 102b are in the same room, they are configured in automated sensing mode. A second transmitter device 102a is placed in room B so that receiver 104 and transmitter device 102a are configured in security sensing mode. Thus, both the security engine 106 and the automated engine 108 are active.

[0094] Figure 5B shows both the receiver device 104 located in room A and the transmitter devices 102a and 102b located in room B. Therefore, the receiver device 104, along with both transmitter devices 102a and 102b, is configured in security sensing mode such that the security engine 106 is active while the automation engine 108 is not. This state can be called a degraded state because it is only effective for one use case. The user is notified if such a configuration is detected.

[0095] Figure 5C shows the second degradation state. All three devices 102a, 102b, and 104 are located within Room A. In this scenario, both the security engine 106 and the automation engine 108 are active, but security is limited because Room B is likely not covered by the sensing system.

[0096] A WiFi access point can also be used as a network device. Figure 5D shows a variation of the configuration in Figure 5A, where device 102a in room B is replaced by access point 502. The access point can be used as a source of WiFi packets used to determine the CSI value of the signal when transmitted between mesh devices. The access point can also improve performance when the mesh network is in a degraded state, or even in events where there is no degradation, it can improve coverage or reliability.

[0097] This configuration offers several options: • Part of the WiFi communication protocol includes the periodic transmission of beacons from the access point. These are transmitted periodically by default, approximately every 100ms (102.4ms). These frames can be used to extract CSI values. The software on the router can be updated and configured to forward several WiFi frames at predetermined intervals. Internet Control Message Protocol (ICMP) packets may be sent to the router periodically, and CSI information may be collected from these responses.

[0098] It should be understood that the first of the above options can be implemented in a mesh network that does not include access point 502. This is because the protocol is part of the WiFi standard and is therefore unrelated to mesh networks. Any WiFi service set identifier (SSID) periodically emits such beacons. These beacons can be used, provided that the configured frequencies are sufficient.

[0099] The automated sensing mode is implemented only when there are two devices 102 and 104 in the same room, as in the example described above. This automated sensing mode avoids error-vulnerable calculations for detecting the presence and / or location of a person based on inter-room motion detection. However, it should be understood that the automated sensing mode can be implemented by using devices in various rooms.

[0100] This system is "self-healing." That is, if one of the network devices fails or is removed from service, the remaining devices are reconfigured. In other words, step 2 of the method described above is repeated for each network device to determine the currently optimal n devices on which the receiving device can receive signals.

[0101] In some scenarios, a device's WiFi connection may be limited or unstable: for example, if the device is placed far away from the router or behind a thick wall.

[0102] Figure 12 shows an example where device D3 loses its connection to the WiFi network. In state 1, devices D1, D2, and D3 are connected to the WiFi network.

[0103] D3 is disconnected from the network (State 2). This could be due to, for example, a weak or unstable WiFi signal; one of the access points is turned off; or there is an increase in noise levels.

[0104] To keep the currently disconnected device D3 connected to the cloud and thus continue contributing to the sensing system, one of the devices (in this case, D2) is used as a proxy device that allows D3 to communicate with the internet (State 3). D2 is connected to the WiFi network.

[0105] Once device D3 reconnects to the internet (state 4), D3 stops proxying data through D2 and returns to state 1.

[0106] This protocol improves the robustness and flexibility of the WiFi sensing system because it allows the system's devices to remain part of the sensing mesh even if they lose their connection to the WiFi network.

[0107] Figure 13 shows a variation of the protocol described above, in which an internet-connected device acts as a gateway for devices that cannot function in that way. As mentioned above, a device may not be able to connect to the internet due to its distance from, for example, an access point or intermediate structure.

[0108] Figure 13 shows devices D1 and D2 connected to the network. Three devices D4, D5, and D6 are not connected to the network. Instead, these disconnected devices use one of D1 or D2 as a proxy, as in the example in Figure 12. Here, D4 ​​and D5 use D1 as the proxy device, while D6 uses D2 as the proxy device.

[0109] The decision of which device to select and how to select it for use as a proxy device can be made locally or via a consensus protocol within a cloud computing environment acting as a central authority.

[0110] An exemplary method implemented by a central cloud-based algorithm for selecting a proxy device when a mesh device is disconnected is as follows: 1. The cloud-based algorithm detects the disconnection and sends a command to Wi-Fi connected devices in the location to listen for "distress" packets by filtering on the MAC address of the disconnected device; 2. The disconnected device repeatedly transmits a distress signal indicating a problem with WiFi connectivity; 3. Devices that remain connected to the internet will receive distress signals and report the RSSI value of the received distress signals to the cloud; 4. The cloud-based algorithm selects the most suitable device to act as a proxy based on several factors (RSSI value, device WiFi connection quality, number of devices already being proxied, etc.) and sends a command to the selected device that should act as the proxy; 5. The proxy device sends a data packet to the disconnected device that indicates the proxy's MAC address.

[0111] Distress signals and data packets may be ESPNow signals. This type of signal can be transmitted and received by an ESP module without the need for a network connection. CSI values ​​can be extracted from such data packets. It should be understood that other radio signals may be used.

[0112] In step 4, the best-suited device may be determined by using one or more proxy criteria. Proxy criteria define the criteria that a device must satisfy to be a proxy device. For example, a proxy criterion might define an RSSI range.

[0113] When a disconnected device reconnects to the internet, the following steps may be performed: 1. A disconnected device connects to the cloud; 2. The cloud sends a message to the proxy instructing it to stop proxying messages; 3. The proxy stops sending data packets to the newly connected device.

[0114] If the proxy device is disconnected from the network or its power is turned off, the following steps may be performed: 1. The cloud detects that the proxy device has been disconnected; 2. The cloud selects a new proxy from the devices that are still connected to the network and sends commands to the selected device, which will become the new proxy device; 3. The new proxy device sends data packets to the disconnected device to update the proxy MAC address.

[0115] The above process relates to a cloud-based algorithm. A similar process can be performed on a device. For example, if a mesh device determines that it is not connected to the network (i.e., it is a disconnected device), it sends a distress signal. Devices that are still connected to the network receive the distress signal and compare the characteristics of the received distress signal with the proxy decision criteria. If the proxy decision criteria are met, the connected device becomes a proxy device and sends data packets to the disconnected device.

[0116] In some cases, two or more connected devices may satisfy the proxy decision criteria. In this case, each device that satisfies the proxy decision criteria sends a data packet to the isolated device. The isolated device compares the characteristics of the received data packets and selects a proxy device based on these characteristics. For example, the isolated device may select the device that receives the signal with the best RSSI as the proxy device. The isolated device then sends the data packet to the selected proxy device.

[0117] The above methods for selecting a proxy device may be used to select a proxy device in either the case where a device previously connected to the network is disconnected as shown in Figure 12, or where the device has never been connected to the network, as shown in Figure 13. These steps may be performed by a configuration tool.

[0118] Figure 6 provides an exemplary method for using this system to trigger security events and environmental automation events.

[0119] In step S602, a signal is received by the receiver device. In step S604, it is determined whether the transmitter / receiver pair is in security sensing mode by accessing the configuration memory. The configuration memory may store the device identifier of each transmitter / receiver pair. The signal transmitted from the transmitter device includes the transmitter device identifier. This, along with the receiver device identifier, is used to determine the sensing mode.

[0120] When the transmitter / receiver pair is in security sensing mode, the CSI of the received signal is compared by the security engine to the CSI fingerprint of a characteristic signal (step S606), which is stored in a computer memory location accessible to the security engine. One possible way of performing the comparison is to use the Pearson similarity coefficient. Other possibilities are known in the art and may be implemented. If there is no difference between the CSIs, as determined in step S608, no action is required as there is no intruder disrupting the signal path (S610).

[0121] However, if it is determined in step S608 that there is a difference between the CSI and the CSI fingerprint of the received signal, the time of the difference is compared to the threshold security period. This time difference may be determined based on the number of received CSI windows (indicating the difference). Alternatively, data from the internal clock of the corresponding mesh device (which may be periodically synchronized with the internet time) at the time the signal was received may be used. A CSI window is the CSI value of the received signal over a specified period. For example, a window may correspond to 100ms such that the CSI window corresponds to the CSI value of the signal received in the most recent 100ms. The current window refers to the window of recently received CSI values. The CSI fingerprint is derived from one or more past CSI windows in which the area is not occupied.

[0122] A security event is triggered if the time difference exceeds the threshold security period (S614). Conversely, if this time does not exceed the threshold, the signal continues to be monitored (step S616). The threshold security period is in the range of 5-10 seconds. By ensuring that there is a minimum period during which the difference in CSI between the current window and the characteristic fingerprint exists, the number of false positives is reduced while still allowing security events to occur within a reasonable time frame for security.

[0123] Examples of security events that may be triggered include: generating an alarm sound; sending an alarm to a security computer system; and sending an alarm to a client device of a sensing system user, thereby changing the security event to a security breach.

[0124] Returning to step S604, if it is determined that the transmitter / receiver pair is not in security sensing mode, it is then determined whether the transmitter / receiver pair is in automated sensing mode (step S618). Otherwise, the transmitter / receiver pair was not meshed during mesh formation, and no action is required (S620).

[0125] However, if it is determined that the transmitter / receiver pair is in automated sensing mode, the CSI of the received signal is compared by the automated engine to the CSI fingerprint of a characteristic signal (stored in a memory location accessible to the automated engine) (S622). If there is no difference between the CSIs, as determined in step S624, no action is required because there is no one disrupting the signal path (S626).

[0126] Instead, if a difference is determined in process S624 between the CSI of the received signal and the CSI fingerprint, the time of the difference is compared to the threshold automation period. As mentioned above, the CSI window may be used to determine the time of the difference.

[0127] If there is a difference in the time elapsed beyond the threshold automation period, the home environment automation event is triggered (step S630). Alternatively, if the time does not exceed the threshold, the signal continues to be monitored (step S632).

[0128] The threshold automation period is shorter than the threshold security period. This is because automation is time-critical. The threshold automation period is in the range of 100ms to 1 second. By requiring only a short period during which a CSI difference exists, automation events can be executed immediately. A relatively short threshold period is desirable because a small number of false positives can be tolerated by automation.

[0129] Some example environmental automation events that can be triggered include: adjusting lights; adjusting heating units; adjusting air conditioning units; locking / unlocking doors; and adjusting electrical appliances.

[0130] The automation engine can determine a motion statistic that indicates the amount of motion to be captured based on the difference between the signal's CSI and the CSI fingerprint. The home environment automation event is then triggered when the motion statistic exceeds the motion threshold. The motion statistic provides a way to avoid detection (and thus trigger effect) caused by non-human motion. For example, changes in CSI values ​​are greater for humans than for animals. The motion threshold depends on the device configuration and location. For example, the motion threshold may be low if the device is not in an optimal location. Conversely, the motion threshold may be higher if a pet is present in a location that could trigger the automation event.

[0131] The process shown in Figure 6 is provided as an example and should therefore be understood to be performed in parallel or in a different order. For example, steps S604 and S618 may be replaced by a single step of determining the sensing mode.

[0132] In the example in Figure 6, the CSI of the received signal is compared to a CSI fingerprint. This method is used to determine the presence of a person or other entity. In other embodiments, the CSI of the received signal is compared to that of a previous CSI window. That is, in steps S606 and S622, the CSI of the received signal is compared to the CSI of a previous CSI window, or to that of another recent window. For example, the CSI of the received signal may be compared to the CSI of a signal received within the last 5 seconds. Motion can be detected by comparing the CSI of the received signal with the recent CSI of a previous signal. As described above, human motion affects the CSI, so a change in the value of the CSI of a recent signal indicates this motion. The recent CSI window can also be used for presence detection. In embodiments using the recent CSI window, the CSI fingerprint does not need to be determined or stored. Instead, the value of the recent CSI is stored. The CSI value may be stored in configuration memory 114 and may be stored for a predetermined period of time. The CSI value may be stored with a time indicator (for example, when the signal from which the CSI was derived was received).

[0133] The triggered events can be predefined so that the events depend on the transmitter / receiver pair. Alternatively, the events can be based on the determined location of the disturbance (i.e., the location of a person in the room). In this case, the method in Figure 6 includes the additional step of determining the location of the signal disturbance (i.e., the location of a person) and triggering an event based on the determined location. A location / event database may exist that stores the triggered events in relation to the location of the person that triggers the event. The location of the disturbance can be determined from the CSI of the received signal. Since the CSI of the signal depends on the signal path and, by extension, the location of any object in the characteristic path, the location of said object can be determined.

[0134] In some cases, a person may disrupt multiple signals being transmitted from a specific transmitter 202a to a receiver 202b. Figure 7 shows an example where a person is standing within the characteristic signal paths 302b and 302c.

[0135] In this case, the signal comes into contact with people at positions 702a and 702b. Although not shown in Figure 7, this causes the signal to reflect and thus alter the signal path, resulting in a change in the CSI value of the signal received at receiver device 202b.

[0136] Disruptions in CSI values ​​across multiple paths can be used to verify that "any change in CSI is actually caused by the presence of an entity rather than being an anomaly," thus reducing the number of false positives. Figure 8 shows an exemplary method using two signals between two devices to determine whether a security event should be triggered. It should be understood that this method may be used in different sensing modes.

[0137] In step S802, the first and second signals are received by the receiver device. The CSI of the first signal is compared with the fingerprint CSI (S804). If it is determined in step S806 that there is no difference between the CSIs, then no entity is interfering with the signal, and therefore no action is required (S808).

[0138] However, if a difference in CSI is determined in step S806, the location of the disturbance is determined from the CSI in step S810. The location of the disturbance is determined based on the CSI pattern of the received signal. Disturbances at different locations will result in different CSI patterns. Localization using CSI data is known in this art, as discussed in Rui Zhou, Xiang Lu, Pengbiao Zhao, and Jiesong Chen. 2017. Device-free Presence Detection and Localization With SVM and CSI Fingerprinting. IEEE Sensors Journal 17, 23 Dec 2017, 7990-7999. https: / / doi.org / 10.1109 / JSEN.2017.2762428.

[0139] Once the location of the obstruction is found, step S812 determines whether the location of the obstruction falls within the signal segment of the second signal. That is, it is determined that there should also be obstruction within the second signal.

[0140] If the obstruction is outside the signal segment of the second signal, the second signal may be ignored as it does not provide any useful information about the presence of a person. In this case, the time difference in the CSI of the first signal is compared to a threshold security period to determine whether the time difference exceeds the threshold (step S814). If the time difference exceeds the threshold, a security event is triggered in step S816. If the time difference does not exceed the threshold, the signal continues to be monitored (step S818).

[0141] On the other hand, if it is determined that the disturbance is located within the signal segment of the second signal, then interference within the second signal can be expected. The CSI of the second signal is compared in step S820 with a characteristic CSI fingerprint of the second signal, and in step S822, it is determined whether there is a difference in the CSI.

[0142] If there is no difference in the second signal, the interference detected in the first signal is probably unusual, and no action is required (step S824). However, if there is a difference in the second signal, this confirms the presence of an entity.

[0143] In step S826, it is determined whether each of the first and second signals had a difference in CSI for at least a threshold security period. If the threshold period is not satisfied for each of the first and second signals, these signals continue to be monitored (S830). Alternatively, if these signals had different CSIs for a period exceeding the threshold, a security event is triggered (step S828).

[0144] This method is also performed on the second signal; that is, the second signal is processed first to see if there is any interference, and then checked to see if the interference is within the signal segment of the first signal. It should be understood that the signal processing can be performed simultaneously.

[0145] The same threshold security period may be used for both the first and second signals, or different threshold security periods may exist for the first and second signals. When two signals are used in the method shown in Figure 8, the threshold security period used may be shorter than when only a single signal is used. The threshold period may depend on the location of the sensed person. For example, when a person moves from one location to another, this person may initially be only within the signal area of ​​one signal, but may move into the overlapping area. The threshold security period used for the second signal may be shorter than the threshold security period used for the first signal (to accommodate the movement of a person passing through the sensing zone).

[0146] The method in Figure 8 is explained in the context of signals transmitted between two devices, but the same concept can be used for signals between three devices.

[0147] For example, consider a receiver device that receives signals from two different transmitter devices. When communicating with the receiver, if there is an overlapping region within the signal sections of the first and second transmitters, interference of one of the signals within this overlapping region can be checked by the other signal. The method shown in Figure 8 is used, and the first and second signals are received from the first and second transmitter devices.

[0148] That is, if both the first and second transmitter devices are composed of receiver devices of the same sensing mode, the sensing mode engine is: 1. Compare the CSI of the first signal with the CSI fingerprint to determine the location of the obstruction; 2. Compare the CSI of the second signal with the CSI fingerprint; 3. Determine whether the location of the interference is within the signal segment of the second signal, i.e., whether interference within the second signal is expected; 4. If the location of the obstruction is within the signal section of the second signal, a. If there is an obstruction in the second signal, trigger an event; b. If there is no interference in the second signal, the event is blocked; 5. If the obstruction is not located within the signal segment of the second signal 6, trigger an event.

[0149] Here, the first signal is transmitted from the first transmitter device, and the second signal is transmitted from the second transmitter device. This method is also performed based on the second signal.

[0150] It should be noted that here, a step is described in which the CSI of the second signal is compared before determining whether the interference detected in the first signal is within the signal segment of the second signal. This is an alternative to the method shown in Figure 8, which can be implemented. That is, steps S820 and S822 are performed before step S810.

[0151] As described in Figure 6, the CSI value can be compared to the CSI of a recent but past signal (e.g., the previous CSI window).

[0152] The security engine can also determine motion statistics and trigger a security event only if the motion statistics of each signal exceed a threshold security motion statistic. Motion statistics are discussed above with reference to the automation engine. It should be understood that this concept can be applied to any sensing mode engine.

[0153] In another example, the same transmitter device may transmit signals to multiple receiver devices. If there is an overlapping region within the signal section of the transmitter device when communicating with the first and second receiver devices, interference in one of the signals within this overlapping region may be checked by the other signals. Again, the method shown in Figure 8 is used, and the first and second signals are received from the first and second transmitter devices in the first and second receiver devices.

[0154] That is, when both the first and second receiver devices are configured with the transmitter device in the same sensing mode, the sensing mode engine is: 1. Compare the CSI of the first signal with the CSI fingerprint to determine the location of the obstruction; 2. Compare the CSI of the second signal with the CSI fingerprint; 3. Determine whether the location of the interference is within the signal segment of the second signal, i.e., whether interference within the second signal is expected; 4. If the location of the obstruction is within the signal section of the second signal, a. If there is an obstruction in the second signal, trigger an event; b. If there is no interference in the second signal, the event is blocked; 5. If the obstruction is not located within the signal segment of the second signal 6, trigger an event.

[0155] Here, the first signal is received by the first receiving device, and the second signal is received by the second receiving device. As described above, this method is also performed by replacing the first signal with the second signal, and vice versa.

[0156] As an alternative, the method in Figure 8 can be modified so that the location of the obstruction (if any) is determined for each signal, and then it is determined whether the locations are approximately the same. Whether the action should be triggered is based on whether the locations are the same.

[0157] It should be understood that "the method in Figure 8 can be extended to any number of signals between any number of nodes, assuming that there is overlap within the areas sensed by the signals."

[0158] If an event is based on signals received by multiple different receivers, the analysis to determine whether to trigger the event—that is, whether the interference falls within the signal segment of another signal—is performed by a central processing device based on the analysis of the two signals. This central processing device may be located in a cloud computing environment, on one of the designated receiver devices, or on another assigned device within the network.

[0159] As described in relation to Figure 3C, there may be cases where the CSI fingerprint needs to be updated to account for environmental changes (such as moved furniture). Figure 9 shows an exemplary method for updating the CSI fingerprint. This method can be implemented by any sensing mode engine. Updating the CSI fingerprint is required for presence detection embodiments that compare the CSI of the received signal with the CSI fingerprint.

[0160] In step S902, this signal is received by the transmitter device as described above and compared with the CSI fingerprint.

[0161] The time elapsed since the last change in the CSI of the received signal is determined. This time can be determined, for example, by using the timestamp of the received signal. When a signal is received, the signal or its CSI value, along with an indicator of the time the signal was received, is stored in a temporary storage location accessible to the sensing mode engine. When the next signal is received from the same transmitter device, its CSI is compared to that of the stored signal. If the CSI values ​​are the same, the previously received signal remains stored. On the other hand, if the CSI values ​​are different, the most recently received signal is stored in temporary storage. The timestamp of the signal stored in the temporary storage location is used to determine the time elapsed since the last change in the signal. This time represents "no-motion" time (i.e., time when no motion was present in the signal compartment).

[0162] The time since the last change is compared with the threshold update time period in step S904. If it is determined in step S906 that the time without motion is shorter than the threshold update time period, no action is required (step S910).

[0163] Instead, if it is determined in step S906 that the idle time has exceeded the threshold update time, a fingerprint update is performed (step S908). During the fingerprint update, the CSI value of the characteristic signal stored in the memory accessible to the sensing mode engine is replaced with that of the current signal or the signal stored in a temporary storage location which is the same as the current signal.

[0164] A similar method to that shown in Figure 9 may be used by the automation sensing mode engine to reverse a home environment automation event. In this example, the threshold period is the reverse event time period, and instead of performing a fingerprint update in step S908, a reverse home environment automation event is triggered. For example, if a home environment automation event triggered by the presence of a person in a room turns on a light, the reverse home environment automation event would turn off the light.

[0165] Signals processed by the sensing mode engine can be received and processed continuously. Alternatively, these signals can be sampled at predefined intervals.

[0166] The exemplary system presented herein has two sensing modes. It should be understood that any number of sensing modes can be implemented within this system.

[0167] In the methods described herein, the CSI value of a signal is used to detect the presence of an entity. However, it should be understood that other characteristics of the received signal may also be used to detect an entity.

[0168] Users of this system can select devices configured in specific sensing modes. For example, a user might want a device in the bathroom to be in fall detection mode, while a device in the living room is in security sensing mode. Users can provide these preferences to the configuration tool through the user interface. The configuration tool takes user preferences into account when detecting devices for specific devices that should listen in each mode.

[0169] In any of the methods described above, the step of determining whether there is a difference in CSI values ​​may include calculating a similarity (or difference) score. CSI values ​​may be considered different only if the similarity score exceeds a threshold.

[0170] CSI value extraction and evaluation can be carried out in a wide variety of ways. For example, an artificial intelligence model may be used to extract CSI data from a received signal and / or to analyze the CSI data to determine whether the received signal indicates the presence of a person. In another embodiment, an algorithm is executed that accesses a memory storing CSI fingerprints and compares the CSI of the received signal with the fingerprint. Other processing techniques known in the art (such as time and / or frequency domain processing, smoothing, denoising, filtering, quantization, thresholding, and transformation) may be used additionally or alternatively.

[0171] In the system described above, the receiver in automated sensing mode listens to only one transmitter. This should be understood as being provided for illustrative purposes only. In other systems, each sensing mode may include a set of any number of mesh devices.

[0172] While the above disclosure relates to the detection of humans, the methods and systems disclosed herein may be used to detect any heterogeneous entity (including animals and inanimate objects).

[0173] The location used in the example presented above is a house. This location may be any environment in which a radio signal can be used to detect an entity. Such environments include indoor environments such as a house, office, or hospital, or outdoor environments including outdoor environments with barriers (artificial or natural), enclosed environments, and underground environments.

[0174] In some embodiments, the location is divided into “areas.” The mesh devices within each area may be configured with sensing modes dependent on that area. Within a building, an area may be a single room or a group of rooms, and may be on a single floor or spread across multiple floors.

[0175] Another application of the sensing systems described herein is the monitoring of the elderly and vulnerable in the home. Hospitals and elderly care facilities may use Wi-Fi sensors to monitor patient movement and biometric data such as heart rate, respiration, and limb movement.

[0176] The exemplary systems described herein use WiFi signals to detect non-constant entities within a given location. However, it should be understood that "other wireless signals may be used within the same system to achieve flexible sensing effects for a wide variety of sensing modes while maintaining a certain degree of privacy."

[0177] The mesh devices in the above embodiments may be devices already located in the site so that no additional devices are required. In some embodiments, the sensing mesh includes some of these devices and one or more additional devices dedicated to the sensing system. In other embodiments, the sensing mesh includes only such dedicated devices. All devices in the mesh network, whether dedicated devices or devices with other functions, should have hardware that is compatible so that they can run software for the sensing system and extract CSI data.

[0178] In embodiments where the mesh network includes only dedicated devices, the user may not be required to select any devices for the mesh networking process of the mesh formation method described above. In such embodiments, only dedicated devices are used, and therefore no user selection is required.

[0179] A schematic diagram of a client device 1008 according to one embodiment is shown in Figure 11. The user device 1008 has a controller 1122. The controller 1122 may have one or more processors 1104 and one or more memories 1110. For example, computer code that runs a mesh configuration algorithm and / or sensing mode engine on the user device 1008 may be stored in the memory 1110. Configuration memory may also be stored in the memory 1110. The memory 1110 may also store applications that provide the user with the ability to receive sensing information and alarms for device selection, and applications that are executed by the processor 1104.

[0180] Controller 1122 is also shown to have a graphics controller 1106 and a sound controller 1112. It should be recognized that one or the other or both of the graphics controller 1106 and the sound controller 1112 may be provided by one or more processors 1104. Other functional blocks may also be implemented by a suitable circuit configuration or computer code executed by one or more processors 1104.

[0181] The graphics controller 1106 is configured to provide a video output 1108. The sound controller 1112 is configured to provide an audio output 1114. The controller 1122 has a network interface 1116 that allows the device to communicate with a network such as the Internet or other communication infrastructure.

[0182] The video output 1108 may be provided to the display 1118. The audio output 1114 may be provided to an audio device 1120 such as a speaker and / or earphones.

[0183] Device 1008 may have an input device 1102. The input device 1102 may adopt any preferred format, such as one or more of a keyboard, mouse, or touchscreen. It should be recognized that "the display 1118 may also, in some embodiments, provide the input device 1102 via, for example, an integrated touchscreen."

[0184] The blocks of controller 1122 are configured to communicate with each other via interconnecting wiring such as buses or any other suitable interconnecting wiring and / or by point-to-point communication.

[0185] It should be recognized that in some embodiments, the controller 1122 may be implemented by one or more circuits, at least partially.

[0186] It should be recognized that several embodiments may be deployed within different system architectures. For example, the sensing engine may be implemented as a computer program stored in the memory 1110 of the user device 1008. In another system architecture, the configuration memory and / or sensing mode engine may be stored in the server 1002 and implemented by the processor in the server 1002. Sensing information for provision to the user via the user interface is then provided to the user device 1008 by the network 1004.

[0187] The embodiments described above should be understood to be merely illustrative. Other variations and applications of the present invention will be obvious to those skilled in the art in terms of the teachings presented herein. The present invention is not limited by the embodiments described above, but only by the appended claims.

Claims

1. A sensing system for monitoring a location, wherein the system is The mesh devices include a plurality of mesh devices arranged in the aforementioned location, each mesh device including a transmitter component that, when activated, configures the mesh device as a transmitter, and a receiver component that, when activated, configures the mesh device as a receiver, and at least two of the mesh devices activate the receiver components, A sensing system in which each mesh device having an activated receiver component is configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device having an activated transmitter component selected by the configuration tool, the sensed data being generated from a radio signal transmitted by the at least one other selected mesh device and received by each receiver device on a wireless communication medium.

2. The configuration tool is implemented in the first receiver device, and the configuration tool is To select at least one other mesh device for transmission to the first receiver device, and The first receiver device is configured to receive sensed data for processing from at least one other selected mesh device. An operable sensing system according to claim 1.

3. The configuration tool further includes a remote computing server, the configuration tool is implemented on the remote computing server, and the configuration tool is configured for each device of the receiving device, To select the at least one other mesh device having an activated transmitter component, and The receiving device is configured to receive sensed data from at least one other selected mesh device. An operable sensing system according to claim 1.

4. The sensing system according to claim 1, further comprising a sensing mode engine for processing the sensing data in sensing mode.

5. The aforementioned sensing mode engine, In order to determine whether there is a difference between the received sensed data and the previously sensed data, the received sensed data and the previously sensed data are compared, and If it is determined that there is a difference between the received sensed data and the representative previously sensed data, a response action will be triggered. The sensing system according to claim 4, comprising the configuration described above.

6. The aforementioned sensing mode engine further, To determine whether the difference continued for a period exceeding the threshold sensing mode period, If the aforementioned period exceeds the threshold sensing mode period, the response action is triggered. The sensing system according to claim 5, comprising the configuration described above.

7. The sensing system according to claim 4, wherein the sensing mode engine is implemented in a remote computing server.

8. The sensing system according to claim 4, wherein each of the receiving devices is configured to perform the sensing mode engine.

9. The sensing system according to claim 4, further comprising a second sensing mode engine for processing the sensed data in the second sensing mode.

10. The sensing system according to claim 9, wherein for each selected mesh device, one or more of the sensing mode and the second sensing mode are selected by the configuration tool for processing the sensed data.

11. The sensing system according to claim 1, wherein at least one of the plurality of mesh devices has an activated receiver component and an activated transmitter component.

12. The sensing system according to claim 1, comprising the configuration tool, wherein the configuration tool is configured to select the at least one other mesh device based on a received signal strength indicator (RSSI) of a signal transmitted from each of the at least one other mesh devices.

13. The sensing system according to claim 1, comprising the configuration tool, wherein the configuration tool is configured to select the at least one other mesh device based on a transmitter device selected for another receiver device of the sensing system.

14. The system according to claim 8, comprising the configuration tool, wherein the configuration tool is configured to select the at least one other mesh device based on the processing capacity of the receiver device.

15. The aforementioned configuration tool further, To determine that a mesh device is not connected to the network, A mesh device having activated receiver components and activated transmitter components and connected to the network, which determines at least one mesh device that receives a signal from a disconnected mesh device, and To configure the aforementioned at least one mesh device as a proxy device The sensing system according to claim 3, wherein the proxy device is configured to receive sensed data for processing from the isolated mesh device in order to transmit data packets to the isolated mesh device.

16. The aforementioned configuration tool further, The first receiving device determines, based on the signal received from the disconnected mesh device, that the mesh device is not connected to the network, and To configure the first receiver device as a proxy device The sensing system according to claim 2, wherein the proxy device is configured to receive sensed data for processing from the isolated mesh device in order to transmit data packets to the isolated mesh device.

17. The sensing system according to claim 15, wherein the configuration tool is further configured to determine whether the characteristics of the signal received from the isolated mesh device satisfy a proxy decision criterion, and if the proxy decision criterion is satisfied, the receiving device is configured as a proxy device.

18. The sensing system according to claim 16, wherein the configuration tool is further configured to determine whether the characteristics of the signal received from the isolated mesh device satisfy a proxy decision criterion, and if the proxy decision criterion is satisfied, the first receiver device is configured as the proxy device.

19. The sensing system according to claim 5, wherein the sensing mode engine is configured to determine the location of a disturbance within the location based on the difference between the received sensing data and the previously sensed data.

20. The sensing system according to claim 5, wherein the sensing mode engine is configured to trigger the response action by taking into account the received sensed data transmitted from the second transmitter device.

21. A computer implementation method comprising steps taken to perform the functions of a system for monitoring a location, the system comprising a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, constitutes the mesh device as a transmitter, and a receiver component which, when activated, constitutes the mesh device as a receiver, at least two of the mesh devices having an activated receiver component, each mesh device having an activated receiver component configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device being selected by the configuration tool and having an activated transmitter component, the sensed data being generated from a radio signal transmitted by the at least one other selected mesh device and received by each receiver device on a wireless communication medium, and the method is Selecting at least one other mesh device, and The receiving device is configured to receive sensed data for processing from the other selected mesh devices. A computer implementation method, including

22. A computer program stored on a non-temporary computer-readable storage medium, configured to perform the functions of a system for monitoring a location when executed on one or more processors, the system comprises a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, configures the mesh device as a transmitter, and a receiver component which, when activated, configures the mesh device as a receiver, at least two of the mesh devices have activated receiver components, and each mesh device having activated receiver components is configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device is selected by the configuration tool and has activated transmitter components, the sensed data is generated from radio signals transmitted by the at least one other selected mesh device and received by each receiver device on a radio communication medium, the computer program.

23. A computing device for configuring a sensing system for monitoring a location, the computing device comprising a plurality of mesh devices located at the location, each mesh device comprising a transmitter component which, when activated, configures the mesh device as a transmitter, and a receiver component which, when activated, configures the mesh device as a receiver, at least two of the mesh devices having activated receiver components, each mesh device having activated receiver components configured by a configuration tool to receive sensed data for processing from at least one other selected mesh device among the plurality of mesh devices, the selected mesh device being selected by the configuration tool and having activated transmitter components, the sensed data being generated from a radio signal transmitted by the at least one other selected mesh device and received by each receiver device on a wireless communication medium, and the computing device, At least one processor, A memory for storing instructions, wherein when an instruction is executed on the at least one processor, the at least one processor is configured to Selecting at least one other mesh device, and The receiving device is configured to receive data sensed from the other selected mesh devices. A computing device that performs the following tasks.