Networking control device for controlling wireless networking nodes based on location and orientation
Through the networked control device transmits wireless control messages pointing to vector data based on location and direction, the positioning and control problems of wireless networking nodes are solved, network communication efficiency and reliability are improved, and device storage and power consumption are reduced.
Patent Information
- Application Number
- CN202510108263.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-02-02
- Filing Date
- 2025-01-23
- Publication Date
- 2025-08-05
AI Technical Summary
In a multi-wireless networking node environment, it is difficult for users to accurately locate and control wireless networking nodes. The prior art such as IR communication is limited by line of sight and security issues, and the pairing process is complex, resulting in inefficient network communication.
Its location and orientation are determined through the networking control device, and wireless control messages are transmitted using pointing vector data, allowing wireless networking nodes to accept control messages based on pointing vector data, simplifying the pairing process and improving network communication efficiency.
Reduces traffic on wireless networks, reduces device storage and power consumption requirements, simplifies control processes, and improves communication speed and reliability, especially in environments where naming is unclear or devices are numerous.
Smart Images

Figure CN120434586A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the control of wireless networking nodes on a wireless network, and more particularly, to controlling wireless networking nodes based on the location and orientation of a networked control device. Background Art
[0002] With the development of smart devices, smart homes, connected devices, and the Internet of Things (IoT), many physical devices support wireless connectivity using Bluetooth, Wi-Fi, ZigBee, Matter, and other wireless communication protocols. Supporting wireless connectivity over wireless communication protocols enables remote control of various functions and the remote status of many device features.
[0003] Applicants have identified a number of technical challenges and difficulties associated with the status and control of wirelessly connected devices. Through expended effort, ingenuity, and innovation, Applicants have solved the problems associated with transmitting control and status messages to one or more wirelessly connected devices, as will be described in detail below. Summary of the Invention
[0004] Various embodiments relate to an example networked control device, a wireless networked node, a wearable electronic device, and a computer-implemented method for transmitting a wireless control message to a target wireless networked node using the networked control device. The networked control device may include one or more processors and one or more storage devices storing instructions that, when executed by the one or more processors, are operable to cause the one or more processors to: determine a position and orientation of the networked control device relative to one or more wireless networked nodes in communication with a wireless network; determine a pointing vector for the networked control device based at least in part on the position and the orientation; and transmit a wireless control message over the wireless network including pointing vector data representing the pointing vector, wherein the wireless control message is accepted by at least one of the one or more wireless networked nodes based at least in part on the pointing vector data.
[0005] In some embodiments, the networked control device further comprises a motion sensing device, wherein the orientation of the networked control device is determined based at least in part on the motion sensing device.
[0006] In some embodiments, the motion sensing device includes an inertial measurement unit.
[0007] In some embodiments, the orientation of the networked control device is defined by three angles representing basic rotations within the coordinate system, and wherein the pointing vector data includes the three angles.
[0008] In some embodiments, location is determined through a trilateration process based on the distance of the networked control device from a plurality of one or more wireless networked nodes.
[0009] In some embodiments, the trilateration process comprises an ultra-wideband (UWB) trilateration process.
[0010] In some embodiments, location is determined through a process of triangulation.
[0011] In some embodiments, the one or more wireless networking nodes include a first wireless networking node and a second wireless networking node, wherein the location of the networked control device is determined at least in part based on: (a) a first distance between the first wireless networking node and the second wireless networking node, (b) a first angle of arrival of a first wireless message received from the networked control device at the first wireless networking node, and (c) a second angle of arrival of a second wireless message received from the networked control device at the second wireless networking node.
[0012] In some embodiments, the wireless control message is broadcast over the wireless network to all wireless networking nodes on the wireless network within range of the networked control device.
[0013] In some embodiments, the networked control device further comprises a pointing end, wherein the pointing vector originates from the pointing end of the networked control device.
[0014] In some embodiments, the wireless network is a Bluetooth Low Energy network.
[0015] Also provided is a computer-implemented method for controlling a wireless network node. In some embodiments, the method includes: determining, by a networked control device, a position and orientation of the networked control device relative to one or more wireless networked nodes in communication with a wireless network; determining a pointing vector for the networked control device based at least in part on the position and the orientation; and transmitting a wireless control message including pointing vector data representing the pointing vector over the wireless network, wherein the wireless control message is accepted by at least one of the one or more wireless networked nodes based at least in part on the pointing vector data.
[0016] In some embodiments, the orientation of the networked control device is determined based at least in part on the motion sensing device.
[0017] In some embodiments, the orientation of the networked control device is defined by three angles representing basic rotations within the coordinate system, and wherein the pointing vector data includes the three angles.
[0018] In some embodiments, location is determined through a trilateration process based on the distance of the networked control device from a plurality of one or more wireless networked nodes.
[0019] In some embodiments, location is determined through a process of triangulation.
[0020] In some embodiments, the wireless control message is broadcast over the wireless network to all wireless networking nodes on the wireless network within range of the networked control device.
[0021] In some embodiments, the wireless network is a Bluetooth Low Energy network.
[0022] A wearable electronic device is also provided, comprising a networked control device configured to transmit a wireless control message to a target wireless networked node. In some embodiments, the networked control device comprises a user input mechanism, one or more processors, and one or more storage devices storing instructions, wherein the instructions, when executed by the one or more processors, are operable to cause the one or more processors to: determine a position and orientation of the networked control device relative to one or more wireless networked nodes in communication with a wireless network; determine a pointing vector of the networked control device based at least in part on the position and the orientation; and transmit a wireless control message over the wireless network based on user input using the user input mechanism, wherein the wireless control message includes pointing vector data representing the pointing vector, wherein the wireless control message is received by at least one of the one or more wireless networked nodes based at least in part on the pointing vector data. The wearable electronic device further comprises an attachment mechanism configured to attach the networked control device to a portion of the user.
[0023] In some embodiments, the wearable electronic device further includes a motion sensing device, wherein the orientation of the networked control device is determined based at least in part on the motion sensing device.
[0024] An example wireless network node is also provided. In some embodiments, the example wireless network node includes one or more processors and one or more storage devices storing instructions, the instructions being operable, when executed by the one or more processors, to cause the one or more processors to: receive a wireless control message from a wireless network, the wireless control message including pointing vector data representing a pointing vector of a network control device, wherein the pointing vector is determined based on a position and orientation of the network control device relative to one or more wireless network nodes including at least the wireless network node; determine that the pointing vector intersects a wireless network node position associated with the wireless network node; and execute one or more control message instructions based on the wireless control message. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Reference will now be made to the drawings. Components shown in the drawings may or may not be present in certain embodiments described herein. According to example embodiments of the present disclosure, some embodiments may include fewer (or more) components than those shown in the drawings.
[0026] Figure 1 An example networking device environment including wireless networking nodes is shown according to example embodiments of the present disclosure.
[0027] Figure 2 An example block diagram of a networked control device according to an example embodiment of the present disclosure is shown.
[0028] Figure 3 An example triangulation process for determining the location of a networked control device is depicted according to an example embodiment of the present disclosure.
[0029] Figure 4 An example trilateration process for determining the location of a networked control device is shown according to an example embodiment of the present disclosure.
[0030] Figure 5 Example orientations of networked control devices according to example embodiments of the present disclosure are shown.
[0031] Figure 6 Depicted are example wireless control messages transmitted over a wireless network mesh according to example embodiments of the present disclosure.
[0032] Figure 7 A block diagram is shown of an example device that may be particularly configured in accordance with example embodiments of the present disclosure.
[0033] Figure 8 An exemplary wearable electronic device is depicted according to an exemplary embodiment of the present disclosure.
[0034] Figure 9 An example process for transmitting a wireless control message to a target wireless networking node having a networking control device according to an example embodiment of the present disclosure is depicted. DETAILED DESCRIPTION
[0035] Exemplary embodiments will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the present disclosure are shown. Indeed, embodiments of the present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
[0036] Overview
[0037] Various example embodiments address technical problems associated with controlling and requesting the state of wireless networking nodes in a networked device environment. As will be appreciated, there are many example scenarios in which a user may wish to easily control or set the state of smart devices, smart home devices, connected devices, Internet of Things (IoT) devices, and / or other wireless networking nodes in a networked device environment that includes multiple wireless networking nodes.
[0038] The growth of wireless networking nodes in all aspects of life has created a networked device environment that includes a large number of physical devices supported by wireless connectivity on wireless networks. For example, wireless network nodes can include lamps, light bulbs, fans, appliances, TVs, cameras, doorbells, thermostats, furniture, blankets, cooktops, heating ventilation and air conditioning (HVAC) systems, and many other devices. Each of these wireless network nodes can provide an interface to a wireless network that supports various command and status wireless control messages. As an example, an appliance can allow a user to turn on, turn off, adjust settings, or otherwise control the appliance via the wireless network. In addition, a user can provide a status description of the operation, errors, status, or other parameters of the device via the wireless network.
[0039] Wireless networking nodes are typically controlled by an application on a computing device (e.g., a graphical user interface on a mobile phone). A user can connect to a wireless network node connected to the wireless network based on a label, name, or other identifier discoverable by an application on the mobile device. Unfortunately, in a networked device environment with many wireless networking nodes, it may be difficult for a user to determine the wireless networking node with which the user wishes to communicate. Lack of naming conventions, non-descriptive names, and / or overlapping names may make it difficult for a user to identify a device in an application on a mobile device. In addition, in some environments, the list of wirelessly connected devices may be lengthy, which further complicates the selection and control process.
[0040] In the past, many devices supported infrared (IR) communication for remote control. However, due to the power and space required for IR receivers, many wireless network nodes do not support communication via IR transmission. Furthermore, IR transmission requires direct line of sight between the IR transmitter and IR receiver on the wireless network node. IR transmission is also limited to the range of the IR transmitter. Furthermore, IR transmission is insecure, meaning anyone with an IR transmitter can control the remote device.
[0041] For these reasons, a need exists for a mechanism to easily identify and remotely control and / or set status for wireless networking nodes.
[0042] Various example embodiments described herein utilize a networked control device configured to identify a target wireless networking node based on a pointing vector derived from the location and orientation of the networked control device. Pointing vector data that enables the wireless networking node to determine the pointing vector is transmitted by the networked control device on the wireless network to the wireless networking node in the networked device environment in a wireless control message. In some embodiments, the wireless networking node can be configured to determine the pointing vector based on the pointing vector data, and further determine the location of the wireless networking node relative to the pointing vector. If the location of the wireless networking node is within the path of the pointing vector, the wireless networking node can accept the associated wireless control message and execute instructions according to the wireless control message. If the location of the wireless networking node is not within the path of the pointing vector, the wireless networking node can ignore and / or retransmit the wireless control message.
[0043] As a result of the example embodiments described herein and in some examples, the effectiveness of networked control devices for wireless networked nodes in a networked device environment can be greatly improved. For example, a networked control device according to one or more example embodiments of the present disclosure can improve network communications on a wireless network. By transmitting a single command containing pointing vector data and a command or status payload, the amount of traffic on the wireless network can be reduced. Transmitting the pointing vector data and the payload through a single transmission can eliminate one or more steps in the pairing process. The reduced network traffic due to the elimination of the pairing step can reduce interference and conflicts on the wireless network, improving the speed and reliability of communications on the wireless network. In addition, the reduction in traffic on the wireless network can reduce queues and waiting times on the wireless network, improving the speed of communications on the wireless network.
[0044] Transmitting pointing vector data to identify a target wireless networking node can also reduce the storage space required by the network control device and the associated wireless networking node. By identifying a wireless networking node based on the pointing vector data associated with the network control device, the wireless networking node and the network control device may not need to store the addresses and other identifying information of previously paired devices. This reduced storage requirement can improve the overall performance of the network control device and the wireless networking node.
[0045] Transmitting pointing vector data to identify the target wireless networking node can further reduce the power required to operate the networking control device and the wireless networking node. Utilizing pointing vector data in wireless control messages to identify the target wireless networking node can reduce the number of transmissions that the networking control device and the wireless networking node can support. For example, the wireless networking node may not need to operate in an active mode at any point during operation.
[0046] Furthermore, enabling control and state settings of wireless networking nodes based on the pointing vector of a network control device can simplify the control and state settings of wireless networking nodes in a wireless network environment. For example, identifying a target wireless networking node based on its location and orientation eliminates the need to identify and pair with the wireless networking node before transmitting a wireless control message. This is particularly advantageous when the networked device environment includes a large number of wireless networking nodes and / or wireless networking nodes with invalid names.
[0047] Now refer to Figure 1 , provides an example networked device environment 100. Figure 1 As shown, example networked device environment 100 includes a plurality of wireless networking nodes 102a-102f and a user 104 operating a networked control device 106 configured to transmit wireless command messages and / or wireless status messages to the wireless networking nodes 102a-102f over a wireless network 108 according to a wireless network protocol.
[0048] like Figure 1 As shown, the example networked device environment 100 includes a plurality of wireless networking nodes 102a-102f. Wireless networking nodes 102a-102f refer to any electronic computing devices configured to wirelessly connect to a wireless network 108 and transmit data.
[0049] In some embodiments, the wireless networking nodes 102a-102f may include smart devices, smart home devices, connected devices, IoT devices, and / or other non-standard computing devices configured to connect to the wireless network 108 and accept commands and / or provide status settings. Non-limiting examples may include lights (e.g., light 102f), light bulbs (e.g., light bulb 102c), fans (e.g., fan 102d), appliances (e.g., appliance 102a), TVs (e.g., TV 102e), cameras, doorbells, thermostats, furniture, blankets, speakers (e.g., speaker 102b), and many other devices.
[0050] Wireless network nodes 102a-102f are configured to interface with wireless network 108. For example, wireless networking node 102 may be configured to support transmission and reception of messages according to a wireless network protocol such as Bluetooth, Wi-Fi, Zigbee, Matter, or another similar wireless network protocol.
[0051] Wireless network nodes 102a-102f are configured to receive command and status messages over the wireless network. Command messages include any message that prompts wireless network node 102a-102f to perform one or more tasks. For example, a command message may turn wireless network node 102a-102f off or on, adjust a setting on wireless network node 102a-102f (e.g., volume, brightness, color, temperature, etc.), adjust the configuration of wireless network node 102a-102f, or other similar tasks. Status messages include any message that requests a response message from wireless network node 102a-102f. For example, a status message may request the current status of wireless network node 102a-102f, the status of one or more parameters of wireless network node 102a-102f, sensor readings of wireless network node 102a-102f, current settings of wireless network node 102a-102f, or other similar status. Non-limiting examples may include requesting the current temperature of a thermometer, the volume of a TV, the status of a light bulb, etc.
[0052] Wireless networking nodes 102a-102f may be configured to determine the position of wireless networking nodes 102a-102f relative to a coordinate system defined within networked device environment 100. A coordinate system may be any system that can define the value, angle, or sign of a point in the networked device environment. For example, a position in three-dimensional space may be defined by: three angles relative to three orthogonal coordinate axes; three distances from orthogonal coordinate axes; one angle and two distances; or any combination thereof. In some embodiments, the origin of the coordinate system may be defined by the position of networked control device 106. In such embodiments, wireless networking nodes 102a-102f may use any type of triangulation or trilateration technique relative to networked control device 106 to determine the position of wireless networking nodes 102a-102f. In some embodiments, the origin of the coordinate system may be defined as a fixed point in networked device environment 100, such as a corner of a room. In such embodiments, wireless networking nodes 102a-102f may be configured using their position relative to the origin of the coordinate system. For example, the locations of the wireless networking nodes 102a-102f may be configured during setup.
[0053] like Figure 1As further shown, the networked device environment 100 includes a wireless network 108. A wireless network 108 refers to one or more devices that communicate over a radio frequency connection according to a wireless network protocol, rather than using cables or wires. The wireless network 108 may include a local area network (LAN), a personal area network (PAN), a metropolitan area network (MAN), a wide area network (WAN), or other device connections. The wireless network 108 communicates according to a wireless network protocol. A wireless network protocol is a set of standards for transmitting and receiving data over the wireless network 108. Non-limiting examples of wireless network protocols may include Bluetooth, Bluetooth Low Energy (LE), Zigbee, LTE, 5G, Wi-Fi, and the like.
[0054] like Figure 1 As further depicted in FIG, the example networked device environment 100 includes a networked control device 106. The networked control device 106 refers to one or more electronic devices configured to interface with a wireless network 108 and transmit wireless control messages to one or more target wireless networking nodes 102a-102f based on the location and orientation of the networked control device 106.
[0055] The networked control device 106 may utilize any means to determine the location of the networked control device 106. For example, the networked control device 106 may utilize GPS, proximity sensors, imaging technology, triangulation, trilateration, or any combination thereof. Figure 3 Triangulation techniques are described for determining the location of the networked control device 106. Figure 4 Trilateration techniques for determining the location of the networked control device 106 are described.
[0056] The networked control device 106 may utilize any means to determine the orientation of the networked control device 106. For example, the networked control device 106 may utilize a motion sensing device such as one or more accelerometers, magnetometers, gyroscopes, inertial measurement units (IMUs), attitude and heading reference systems (AHRSs), or other motion sensing devices. Figure 5 Further describing orientation determination. In some embodiments, the networked control device 106 may include a pointing end 106a. The pointing end 106a is any side, end, surface, etc. of the networked control device 106 that is marked, indicated, or shaped to indicate a direction that the networked control device 106 can face. For example, the networked control device 106 may include a form factor having one end shaped to fit the hand of the user 104 and an opposite end (e.g., the pointing end 106a) that is intended to indicate a direction. In some embodiments, a surface such as the outer surface of an augmented reality, virtual reality, or mixed reality headset may be designated as a pointing end. The orientation of the networked control device 106 can be determined based on the pointing end 106a.
[0057] The networked control device 106 uses the position and orientation to determine a pointing vector. The pointing vector is used to determine the target wireless network node 102a-102f to which the wireless control message is directed. The pointing vector may be represented by pointing vector data. Pointing vector data is any data that can be used to determine a pointing vector. For example, in some embodiments, the pointing vector may be represented by a cone that approximates the pointing direction and error associated with a given position and orientation of the networked control device 106. The multiple dimensions required to reconstruct the cone may be transmitted as pointing vector data. Figure 5 The process of determining the pointing vector is further described.
[0058] The networking control device 106 is also configured to transmit wireless control messages. A wireless control message is any message, including a command message and a status message, that is intended for a target wireless networking node 102a-102f to initiate an action by the wireless networking node 102a-102f and / or to request the status of one or more parameters of the wireless networking node 102a-102f. For example, a wireless control message may be transmitted to a target wireless networking node 102a-102f requesting that the wireless networking node 102a-102f be turned off or on. In another example, a wireless control message may be transmitted to a wireless networking node 102a-102f to request a status associated with the wireless networking node 102a-102f, such as a sensor reading. Reference Figure 6 Wireless control messages are discussed further.
[0059] The networked control device 106 may include any form factor or housing. For example, the networked control device 106 may include ergonomic features to fit the hand of the user 104. In some embodiments, the networked control device 106 may include a wearable electronic device. For example, the networked control device 106 may include a watch, headphones, glasses, a ring, a chest strap, or other similar device. Figure 8 Wearable electronic devices are further described. In some embodiments, the networked control device 106 may be implemented in conjunction with another mobile electronic device, such as a mobile phone, mobile watch, fitness tracker, smart ring, and / or similar mobile electronic device.
[0060] Example device
[0061] Now refer to Figure 2 , provides an example block diagram of the networked control device 206. Figure 2 As shown, the example networked control device 206 includes processing circuitry 220, which includes position determination circuitry 222, orientation determination circuitry 224, and command transmission circuitry 226. Figure 2 As further depicted in , the processing circuit is electrically connected to the radio 229 and the motion sensing device 228.
[0062] like Figure 2 As shown, the example networking control device 206 includes a radio 229 (wireless radio). Radio 229 refers to one or more wireless antennas configured to transmit and / or receive radio waves representing data values according to a wireless communication protocol. Radio 229 is configured to receive data by resonating at a predetermined resonant frequency and decode information based on the modulation of the received electromagnetic waves. Radio device 229 can also be configured to transmit wireless data by modulating electromagnetic waves at a specified frequency to transmit the data to receiving radio devices within range of radio device 229. In some embodiments, for example, where wireless data is transmitted according to a Bluetooth or Bluetooth LE wireless communication protocol, radio 229 can be configured to transmit and receive wireless data at a resonant frequency between 2400 and 2483.5 MHz. Wireless networking nodes and / or networking control devices 206 can have limited power resources and, therefore, radio 229 can have a limited transmission range. In some embodiments, wireless networking nodes can be configured as part of a mesh network, wherein each wireless networking node is configured to relay wireless data until the wireless data is transmitted to a target wireless networking node. Reference Figure 6 Mesh networks are further described.
[0063] like Figure 2 As further shown, the example networked control device 206 includes a motion sensing device 228. A motion sensing device 228 refers to any sensing device located on or within the networked control device 206 that is configured to determine motion, acceleration, rotation, specific gravity, angular velocity, heading, or other parameters related to the orientation of the networked control device 206. In some embodiments, the motion sensing device 228 may include an accelerometer, a magnetometer, a gyroscope, an inertial measurement unit (IMU), an attitude and heading reference system (AHRS), or a combination thereof. The motion sensing device 228 may be configured to determine the orientation of the networked control device 206 based on a fixed force. For example, the orientation of the networked control device 206 may be determined relative to the Earth's gravity and / or magnetism. Additionally, the accelerometer and gyroscope may determine the specific gravity and angular velocity of the networked control device 206.
[0064] like Figure 2As further shown, the example processing circuitry 220 includes location determination circuitry 222. Location determination circuitry 222 refers to circuitry including hardware and / or software configured to determine the location of the networked control device 206 and / or one or more wireless networking nodes with reference to a determined coordinate system. In some embodiments, the location of the networked control device 206 can be relative to a fixed point in the networked device environment, such as a corner of a room or one of the wireless networking nodes. In some embodiments, the networked control device 206 can be defined as the origin of the coordinate system, and the location of each wireless networking node can be defined with reference to the networked control device 206.
[0065] The location determination circuit 222 may utilize any means to determine the location of the networked control device 206. For example, the networked control device 206 may utilize GPS, proximity sensors, imaging techniques, triangulation, trilateration, or any combination thereof. Figure 3 Triangulation techniques are described for determining the location of the networked control device 206. Figure 4 Trilateration techniques for determining the location of the networked control device 206 are described.
[0066] like Figure 2 As further shown, the example processing circuitry 220 includes an orientation determination circuitry 224. The orientation determination circuitry 224 refers to circuitry including hardware and / or software configured to determine the orientation of the networked control device 206 relative to a determined coordinate system and / or one or more fixed forces (e.g., gravity and / or the Earth's magnetism). In some embodiments, the orientation determination circuitry 224 can be defined by three angles representing basic rotations within the coordinate system.
[0067] For example, an x, y, z coordinate system may be used, where y is parallel to the Earth's magnetic field, z is parallel to the Earth's gravity, and x is orthogonal to y and z. In such an embodiment, three angles may be determined to define the orientation of the networked control device 206, a first angle (φ) representing the angle between the orientation of the networked control device 206 and the x-axis, a second angle (θ) representing the angle between the orientation of the networked control device 206 and the y-axis, and a third angle (ψ) representing the angle between the orientation of the networked control device 206 and the z-axis of the room or environment coordinate system.
[0068] The orientation determination circuitry 224 may utilize one or more sensors, including a motion sensing device 228 , to determine the orientation of the networked control device 206 .
[0069] like Figure 2As further shown, the example processing circuitry 220 includes command transmission circuitry 226. Command transmission circuitry 226 refers to circuitry comprising hardware and / or software configured to compile and transmit wireless control messages including pointing vector data to one or more wireless networking nodes. Command transmission circuitry 226 can be configured to determine a pointing vector associated with the networked control device 206 based on the location and orientation determined by location determination circuitry 222 and orientation determination circuitry 224, respectively. Command transmission circuitry 226 can determine parameters of the pointing vector, which can be transmitted as pointing vector data, so that wireless networking nodes receiving the wireless control message can reconstruct the pointing vector. In some embodiments, the pointing vector data can include three angles representing the orientation of the networked control device 206. In one example, the three angles can include an angle φ representing the orientation of the networked control device 206 and the x-axis, an angle θ representing the orientation of the networked control device 206 and the y-axis, and an angle ψ representing the orientation of the networked control device 206 and the z-axis.
[0070] Now refer to Figure 3 , depicts an example triangulation process for determining the location of a networked control device 306 in a networked device environment 300. Figure 3 As shown, the position of the networked control device 306 using a triangulation process can be determined by determining the arrival angles 334a-334c between the networked control device 306 and multiple wireless networking nodes 302a-302f relative to the coordinate system (x, y, z), and using the arrival angles 334a-334c to triangulate the position of the networked control device 306 relative to the wireless networking nodes 302a-302f.
[0071] like Figure 3 As shown, a triangulation process is utilized to determine the location of networked control device 306 relative to multiple wireless networking nodes 302a-302f. A triangulation process refers to one or more algorithms, models, or processes utilized by networked control device 306 to determine the location of networked control device 306 relative to three or more wireless networking nodes 302a-302f. The triangulation process may determine the distance to each of the three or more wireless networking nodes 302a-302f, the angle between each of the three or more wireless networking nodes 302a-302f relative to networked control device 306, or other similar measurements required to locate networked control device 306 relative to the three or more wireless networking nodes 302a-302f.
[0072] One such triangulation process is to use Bluetooth direction finding to determine the angle of arrival and / or angle of departure of Bluetooth beacon signals at three or more wireless network nodes 302a-302f. Bluetooth direction finding can use an antenna array and a beacon signal to determine the angle of arrival and / or angle of departure of a Bluetooth signal. The angle of arrival corresponds to the angle at which the Bluetooth signal is received at a Bluetooth node (e.g., wireless networking nodes 302a-302f, networking control device 306). In addition, the distance between two Bluetooth nodes can be determined. For example, the distance between two fixed Bluetooth nodes can be configured at installation. In addition, the distance between two Bluetooth nodes can be determined using a received signal strength indicator (RSSI), an ultra-wideband (UWB) time of flight measurement, or other similar distance measurements.
[0073] exist Figure 3 In the example shown, three Bluetooth nodes are used to determine the locations of networked control device 306, wireless networking node 302b, wireless networking node 302d, and wireless networking node 302f. The distance 336a between wireless networking node 302b and wireless networking node 302f, the distance 336b between wireless networking node 302f and wireless networking node 302d, and the distance 336c between wireless networking node 302d and wireless networking node 302b can be determined using Bluetooth ranging technology (e.g., RSSI or UWB time-of-flight measurement). Angles of arrival 334a, 334b, and 334c can also be determined at each of wireless networking nodes 302f, 302d, and 302b using Bluetooth direction finding technology. Given the distances 336a, 336b, and 336c and the angles of arrival 334a, 334b, and 334c, the relative angles 332a, 332b, and 332c can be determined and the precise position of the networked control device 306 relative to a predetermined coordinate system (eg, x, y, z) determined.
[0074] Now refer to Figure 4 , depicts an example trilateration process for determining the location of a networked control device 406 in a networked device environment 400. Figure 4 As shown, the location of the networked control device 406 using trilateration can be determined by determining a distance 444a, 444b, 444c from each of three or more wireless networking nodes 442a, 442b, 442c and determining a common intersection of the three or more distances 444a, 444b, 444c.
[0075] The trilateration process can utilize any technique to determine the distance between the networked control device 406 and the wireless networked nodes 442a, 442b, 442c. One such example is RSSI. RSSI utilizes the strength of a wireless signal received at a receiving radio to determine the approximate distance between a transmitting radio and a receiving radio. Thus, if Figure 4 As shown, networked control device 406 can transmit wireless signals that are received by wireless networking node 442a, and vice versa. The strength of the wireless signal received at wireless networking node 442a can be used to determine distance 444a. Similarly, RSSI can be used to calculate distance 444b between networked control device 406 and wireless networking node 442b; and distance 444c between networked control device 406 and wireless networking node 442c.
[0076] Another technique for determining the distance between the networked control device 406 and the wireless networking nodes 442a, 442b, 442c is to utilize the time of flight of the transmitted signal. In some embodiments, the networked control device 406 and the wireless networking nodes 442a, 442b, 442c may include a common clock that enables the time of flight of the time-stamped wireless signal to be determined. Thus, as Figure 4 As shown, networked control device 406 can transmit a wireless signal containing a timestamp and receive it at wireless networking node 442a, and vice versa. The timestamp of the wireless signal received at wireless networking node 442a can be used to determine the time of flight of the wireless signal, thereby determining distance 444a. Similarly, time-of-flight calculations can be used to calculate distance 444b between networked control device 406 and wireless networking node 442b; and distance 444c between networked control device 406 and wireless networking node 442c.
[0077] Once the distances 444a, 444b, and 444c between the networked control device 406 and three or more wireless networking nodes 442a, 442b, and 442c are determined, the location of the networked control device 406 can be determined based on the intersection of the three distances 444a, 444b, and 444c and / or a defined coordinate system indicating the location of the networked control device 406 relative to the wireless networking nodes 442a, 442b, and 442c.
[0078] Now refer to Figure 5 , illustrates a pointing vector 552 of an example networked control device 506 within a networked device environment 500. Figure 5 As shown, networking device environment 500 includes a plurality of wireless networking nodes 502 a - 502 f , including a target wireless networking node 550 indicated by pointing end 506 a of networking control device 506 and within the path of pointing vector 552 .
[0079] like Figure 5 As shown, a pointing vector 552 may be indicated based on the position and orientation of the networked control device 506. The pointing vector 552 is any line, vector, or other geometric representation indicating the direction of the networked control device 506. In some embodiments, the pointing vector 552 may include an error calculation, such as Figure 5 As shown, the error in pointing vector 552 is represented by a cone. Figure 3 and Figure 4 As described, the location of networked control device 506 can be determined by triangulation, triangulation, or a similar process. The location of networked control device 506 can be described as a series of distances from the origin of a defined coordinate space, for example, three distances in three-dimensional space. The location can also be described as a combination of distances and angles from the origin of the defined coordinate space.
[0080] As about Figure 2 As described, the orientation of the networked control device 506 can be determined based on one or more motion sensing devices (e.g., motion sensing device 228) associated with the networked control device 506. Based on the motion sensing devices, the orientation of the networked control device 506 can be determined relative to a defined coordinate system (e.g., x, y, z).
[0081] like Figure 5 As shown, an exemplary defined coordinate system x, y, z originates from networked control device 506. In some embodiments, the defined coordinate system can originate from a fixed point, such as a fixed point within networked device environment 500, or a fixed wireless networking node 502a-502f. In some embodiments, the defined coordinate system can be based on the orientation of networked control device 506 and, therefore, rotate and move as networked control device 506 rotates and moves.
[0082] As described herein, the orientation of the networked control device 506 can be defined by three or more angles (e.g., φ, θ, ψ) relative to the origin of a defined coordinate space x, y, z. These angles can represent basic rotations relative to the axes of the defined coordinate space x, y, z. For example, in Figure 5 , represents the angle of the orientation of the networked control device 506 relative to the x-axis, represents the angle of the orientation of the networked control device 506 relative to the y-axis, and represents the angle of the orientation of the networked control device 506 relative to the z-axis. In some embodiments, the three angles (e.g., φ, θ, ψ) can be the Euler angles of the pointing vector 552. The Euler angles can be determined by one or more motion sensing devices on the networked control device 506. For example, in one embodiment, the IMU can be configured to output a quaternion (q0, q1, q2, q3) to describe the rotation and orientation of the networked control device 506 in three-dimensional space. The three angles can be derived from the quaternion using equations, such as:
[0083]
[0084] θ=arctan(2(q0q2-q3q1))
[0085]
[0086] like Figure 5 As further shown in FIG, the pointing vector 552 can take into account errors. For example, Figure 5 The pointing vector 552 is represented as a cone or a frustum of a cone, where the axis is centered on the pointing vector 552 determined by the three angles. The radius 552a of the frustum of the cone represents the error associated with the position determination of the networked control device 506. In addition, there is an error associated with the orientation determination. The radius 552b of the frustum of the cone represents the error associated with the orientation of the networked control device 506 and the associated pointing vector 552. Figure 5 As shown, the error in the pointing vector 552, represented by the frustum of the cone, increases as the wireless networking nodes 502a-502f, 550 move further away from the networked control device 506. The pointing vector data transmitted in the wireless control message may include parameters associated with the pointing vector 552 and the error associated with the position and orientation of the networked control device 506.
[0087] like Figure 5 As further shown, networking control device 506 is pointed at target wireless networking node 550. Target wireless networking node 550 is any wireless networking node to which a wireless control message is to be transmitted. Target wireless networking node 550 is indicated by pointing pointing end 506a of networking control device 506 toward a wireless networking node (e.g., wireless networking nodes 502a-502f, 550). Wireless control messages transmitted to target wireless network node 550 may include status messages and / or command messages. The wireless control message also includes pointing vector data indicating parameters of pointing vector 552 required to determine pointing vector 552. The wireless control message may also indicate an error, such as the radius 552a and / or 552b of a frustum of a cone indicating an error in the position and / or orientation of networking control device 506.
[0088] The target wireless network node 550 is configured to determine a pointing vector 552 and an associated error. The target wireless network node 550 is also configured to determine its position relative to a defined coordinate system x, y, z that defines the pointing vector 552. For example, if the defined coordinate system x, y, z is defined relative to the location of the networked control device 506, the target wireless networking node 550 is configured to determine its position relative to the networked control device 506. In another example, if the defined coordinate system x, y, z is defined relative to a fixed point in the networked device environment, the target wireless networking node 550 is configured to determine its position relative to the fixed point. Using the determined equations for the pointing vector 552 and the associated error, as well as the position of the target wireless networking node 550 relative to the defined coordinate system x, y, z, the target wireless networking node 550 can determine whether the position of the target wireless networking node 550 intersects the pointing vector 552, thereby accounting for the error.
[0089] If the location of the target wireless networking node 550 intersects the pointing vector 552, the target wireless networking node 550 receives the wireless control message and executes instructions based on the status message and / or command message included in the wireless control message. If the location of the target wireless networking node 550 does not intersect the pointing vector 552, the target wireless networking node 550 ignores the wireless control message and retransmits it to the wireless networking nodes 502a-502f within range.
[0090] Now refer to Figure 6 , shows an exemplary wireless control message 660 transmitted over a wireless network mesh 664 that includes a plurality of wireless networking nodes 602a - 602j , including a target wireless networking node 650 .
[0091] The wireless mesh network 664 refers to one or more wireless networking nodes 662a-662j, 664 that are configured to broadcast wireless data (e.g., wireless control messages 660) across the plurality of wireless networking nodes 662a-662j, 664 to transmit electrical signals between the wireless networking nodes 662a-662j, 664. In some embodiments, the wireless network mesh 664 can be established on a Bluetooth LE network.
[0092] In operation, designated controller wireless network nodes 662a-662j, 664 on a Bluetooth LE wireless network mesh network 664 provision nodes to join the wireless network mesh network 664. Provisioning includes assigning network credentials, unicast addresses, and configuration parameters to the wireless network nodes 662a-662j, 664 that join the wireless network mesh 664. A unicast address is a unique address for a Bluetooth LE wireless network node 662a-662j, 664. If a wireless control message 660 is addressed only to a unique unicast address, the intended wireless network node 662a-662j, 664 accepts and executes the wireless control message 660. All other wireless network nodes 662a-662j, 664 retransmit the wireless control message 660 on the wireless network mesh 664. Group addresses may also be assigned on the wireless network mesh 664. A group address is a multicast address that represents one or more wireless network nodes 662a-662j, 664. All wireless networking nodes 662a-662j, 664 associated with the group address accept and execute the wireless control message 660. The wireless network mesh 664 may also utilize flooding. A mesh network utilizing flooding broadcasts the wireless control message 660 so that all wireless networking nodes 662a-662j, 664 within direct range of the transmitting wireless networking node 662a-662j, 664 receive it. The receiving wireless networking node 662a-662j, 664 then relays the received wireless control message 660 by rebroadcasting it so that it is received by another group of wireless networking nodes 662a-662j, 664 within range. Only the wireless networking nodes 662a-662j, 664 to which the wireless control message 660 is addressed will accept and execute the wireless control message 660.
[0093] like Figure 6 As further shown, an exemplary wireless control message 660 is transmitted by the networked control device 606. The wireless control message 660 refers to one or more data structures, packets, signals, or other data representations configured to be transmitted over a wireless network (e.g., wireless network mesh 664) according to a wireless network protocol. The wireless control message 660 may include an address 660a.
[0094] In one example embodiment, the networking control device 606 may store the position of each wireless networking node 662a-662j, 650 in the wireless network mesh 664 relative to a defined coordinate system. In this case, the networking control device 606 may compare the position of each wireless networking node 662a-662j, 650 with the determined pointing vector. One or more wireless networking nodes 662a-662j, 650 within the pointing vector may be identified as target wireless networking nodes 650. Addresses associated with one or more target wireless network nodes 650 may be retrieved based on the pointing vector. The address 660a may include a unicast address identifying a single target wireless network node 650 or a group address identifying a group of wireless network nodes 662a-662j, 664. Only the wireless networking nodes 662a-662j, 664 associated with the specified address accept and execute the wireless control message 660. The other wireless networking nodes 662a-662j, 664 retransmit the wireless control message 660 on the wireless network.
[0095] like Figure 6 As further shown, the exemplary wireless control message 660 includes a payload 660b. The payload 660b refers to any data comprising the body of the wireless control message 660. The payload 660b includes the pointing vector data and the control message. The pointing vector data may include a representation of the reconstructed pointing vector (e.g., Figure 5 The pointing vector data may include any data required to determine the pointing vector 552 as described above. For example, the pointing vector data may include angles (e.g., φ, θ, ψ) representing the orientation of the pointing vector line. The pointing vector data may also include error values associated with the pointing vector. The error values may include tolerances associated with each angle. Additionally, the pointing vector data may include data representing a geometry that accounts for the error in the pointing vector.
[0096] Payload 660b may also include status messages and / or command messages for target wireless network node 650. A command message includes any message that prompts target wireless network node 650 to perform one or more tasks. For example, a command message may turn target wireless networking node 650 off or on, adjust settings on target wireless networking node 650 (e.g., volume, brightness, color, temperature, etc.), adjust the configuration of target wireless networking node 650, or other similar tasks. A status message includes any message that requests a response message from target wireless network node 650. For example, a status message may request the current status of target wireless networking node 650, the status of one or more parameters of target wireless networking node 650, sensor readings of target wireless networking node 650, current settings of target wireless networking node 650, or other similar status. Non-limiting examples may include requesting the current temperature of a thermometer, the volume of a TV, the status of a light bulb, etc.
[0097] Now refer to Figure 7 , Figure 7 1 shows a block diagram of an example device 700 that may be particularly configured according to at least one example embodiment of the present disclosure. Figure 7 706, 704, 706, and 708.
[0098] In general, the terms computing entity (or "entity" other than a user), device, system, and / or similar terms used interchangeably herein may refer to, for example, one or more computers, computing entities, desktop computers, mobile phones, tablet computers, tablet-type mobile phones (Phablets), notebook computers, laptop computers, distributed systems, projects / devices, terminals, servers or server networks, blades, gateways, switches, processing devices, processing entities, set-top boxes, repeaters, routers, network access points, base stations, etc., and / or any combination of devices or entities suitable for performing the functions, operations, and / or processes described herein. Such functions, operations, and / or processes may include, for example, transmitting, receiving, operating, processing, displaying, storing, determining, creating / generating, monitoring, evaluating, comparing, and / or similar terms used interchangeably herein. In one embodiment, these functions, operations, and / or processes may be performed on data, content, information, and / or similar terms used interchangeably herein. In this regard, the devices of the networked control devices 106 , 206 , 306 , 406 , 506 , 606 embody specific, specially configured computing entities transformed to perform the specific operations described herein and provide the specific advantages associated therewith as described herein.
[0099] Although components are described with respect to functional limitations, it should be understood that specific implementations necessarily include the use of specific computing hardware. It should also be understood that in some embodiments, certain components described herein include similar or common hardware. For example, in some embodiments, two sets of circuits utilize the same processor, network interface, storage medium, etc. to perform their associated functions, such that each set of circuits does not require duplicate hardware. Therefore, the use of the term "circuitry" as used herein with respect to components of the devices described herein should be understood to include specific hardware configured to perform the functions associated with the specific circuits described herein.
[0100] In particular, the term "circuitry" should be broadly understood to include hardware, and in some embodiments, software for configuring hardware. For example, in some embodiments, "circuitry" includes processing circuitry, storage media, network interfaces, input / output devices, and the like. Alternatively or additionally, in some embodiments, other components of the networked control devices 106, 206, 306, 406, 506, and 606 provide or supplement the functionality of another specific set of circuits. For example, in some embodiments, the processor 702 provides processing functionality to any set of circuits, the memory 704 provides storage functionality to any set of circuits, and the communication circuit 708 provides network interface functionality to any set of circuits.
[0101] In some embodiments, the processor 702 (and / or a coprocessor or any other processing circuitry assisting or otherwise associated with the processor) communicates with the memory 704 via a bus for transferring information between components of the networked control devices 106, 206, 306, 406, 506, 606. In some embodiments, for example, the memory 704 is non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, in some embodiments, the memory 704 includes or embodies an electronic storage device (e.g., a computer-readable storage medium). In some embodiments, the memory 704 is configured to store information, data, content, applications, instructions, etc. for enabling the networked control devices 106, 206, 306, 406, 506, 606 to perform various functions according to example embodiments of the present disclosure.
[0102] The processor 702 can be implemented in a variety of different ways. For example, in some exemplary embodiments, the processor 702 includes one or more processing devices configured to execute independently. Additionally or alternatively, in some embodiments, the processor 702 includes one or more processors configured in series via a bus to enable independent execution of instructions, pipelines, and / or multithreading. The use of the terms "processor" and "processing circuit" should be understood to include a single-core processor, a multi-core processor, a plurality of processors within a networked control device 106, 206, 306, 406, 506, 606 device, and / or one or more remote or "cloud" processors outside the networked control device 106, 206, 306, 406, 506, 606 device.
[0103] In an exemplary embodiment, the processor 702 is configured to execute instructions stored in the memory 704 or accessible to the processor. Alternatively or additionally, in some embodiments, the processor 702 is configured to perform hard-coded functions. Therefore, whether configured by hardware or software methods, or by a combination thereof, the processor 702 represents an entity (e.g., physically contained in a circuit) capable of performing operations according to embodiments of the present disclosure, while being configured accordingly. Alternatively or additionally, as another example in some exemplary embodiments, when the processor 702 is implemented as an executor of software instructions, these instructions specifically configure the processor 702 to perform algorithms implemented in the specific operations described herein when executing such instructions. In some embodiments, the processor 702 includes or is embodied by a CPU, microprocessor and / or the like that executes, for example, computer-coded instructions stored via the non-transitory memory 704.
[0104] In some embodiments, the equipment of networked control device 106,206,306,406,506,606 includes input / output circuit 706, and this input / output circuit 706 provides output to the user, and in some embodiments receives the indication of user input.In some embodiments, input / output circuit 706 communicates with processor 702 to provide this function.Implement input / output circuit 706 can comprise one or more user interfaces, and in some embodiments comprises display, and this display comprises the interface that is presented as electronic interface, web user interface, application user interface, user equipment, back-end system etc.In some embodiments, input / output circuit 706 also comprises keyboard, mouse, joystick, touch screen, touch area, soft key, microphone, loudspeaker or other input / output mechanism.Processor 702 and / or the input / output circuit 706 comprising processor can be configured to control one or more functions of one or more user interface elements by computer program instruction (such as software and / or firmware) on the memory (such as memory 704 etc.) that is accessible to processor. In some embodiments, the input / output circuitry 706 includes or utilizes user-facing applications to provide input / output functionality to client devices and / or other displays associated with the user. In some embodiments, the input / output circuitry 706 includes hardware, software, firmware, and / or a combination thereof that facilitates simultaneous display of specific data via multiple different devices.
[0105] In some embodiments, the networked control device 106, 206, 306, 406, 506, 606 includes a communication circuit 708. The communication circuit 708 includes any device, such as a device or circuit implemented in hardware or a combination of hardware and software, which is configured to receive data from a network and / or any other device, circuit or module that communicates with the networked control device 106, 206, 306, 406, 506, 606 device and / or transmit data to a network and / or any other device, circuit or module that communicates with the networked control device 106, 206, 306, 406, 506, 606 device. In this regard, in some embodiments, the communication circuit 708 includes, for example, a network interface for implementing communication with a wired or wireless communication network. Additionally or alternatively, in some embodiments, the communication circuit 708 includes one or more network interface cards, antennas, buses, switches, routers, modems, and supporting hardware, firmware and / or software, or any other device suitable for implementing communication via one or more communication networks. Additionally or alternatively, the communication circuitry 708 includes circuitry for interacting with an antenna and / or other hardware or software to cause transmission of signals via the antenna or to process reception of signals received via the antenna. In some embodiments, the communication circuitry 708 enables transmission of data to and / or reception of data from client devices, capture devices, and / or other external computing devices in communication with the networked control device 106, 206, 306, 406, 506, 606.
[0106] Additionally or alternatively, in some embodiments, two or more groups of circuits 702-708 are combinable. Alternatively or additionally, in some embodiments, one or more groups of circuits perform some or all of the functions associated with another component. For example, in some embodiments, two or more groups of circuits 702-708 are combined into a single module implemented in hardware, software, firmware, and / or a combination thereof. Similarly, in some embodiments, one or more groups of circuits are combined with processor 702 so that processor 702 performs one or more operations described above for each of these groups of circuits 704-708.
[0107] Example wearable electronic device
[0108] Now see Figure 8, an exemplary wearable electronic device 886 including an attachment mechanism 886a is provided. Wearable electronic device 886 refers to one or more electronic devices configured to be worn on a part of a user's body. In some embodiments, wearable electronic device 886 may include a user interface to facilitate interaction with wearable electronic device 886. Non-limiting examples of wearable electronic device 886 include watches, headphones, glasses, rings, chest straps or other similar devices. In some embodiments, wearable electronic device 886 may include a networked control device (e.g., networked control device 106, 206, 306, 406, 506, 606). The networked control device facilitates the transmission of wireless control messages to one or more wireless networked nodes. In some embodiments, the wearable electronic device may have a pointing end, or surface, such as the face of a wearable headset, or one side of a ring.
[0109] The wearable electronic device 886 may further include an attachment mechanism 886a. The attachment mechanism 886a is any strap, clip, hook, frame, or other structure configured to attach the wearable electronic device 886 to a portion of a user. In some embodiments, the attachment mechanism 886a may be based on the shape of the wearable electronic device 886 or a feature of the wearable electronic device 886. For example, a ring may be shaped to fit around a user's finger, or smart glasses may be shaped to rest on a user's face.
[0110] like Figure 8 As further depicted in FIG, a wearable electronic device 886 including a networked control device can enable a variety of use cases. For example, a wearable electronic device 886 including a networked control device can enable interactivity 880 with a user's environment. A user can look at, point at, or otherwise direct a pointing vector 852 to indicate a target wireless network node. The user can control or status the indicated target wireless network node. For example, a user can request the temperature or status of a stove. The user can also turn the stove on or off.
[0111] Wearable electronic devices 886 including networked control devices can also enable device control 882. In some embodiments, one or more gestures, phrases, or other inputs can be accompanied by an indication of a target wireless network node via a pointing vector 852. For example, identifying a light using a pointing vector accompanied by a user pinching their fingers can enable the transmission of a wireless command message requesting the target light be turned off. Various other gestures, such as hand movements, facial movements, head movements, body movements, etc., can indicate a command or status message associated with the target wireless network node. For example, when a wirelessly enabled speaker is identified by a pointing vector, a thumb lift can initiate the transmission of a wireless control message with a command message requesting the speaker to turn up the volume.
[0112] Wearable electronic devices 886 including networked control devices may also enable gaming 884. In some embodiments, as part of the gaming experience, one or more gestures, phrases, or portions thereof are accompanied by an indication of a target wireless network node via a pointing vector 852. Mixed reality headsets may be a candidate for such gaming functionality.
[0113] Example Method
[0114] Now refer to Figure 9 , an example process 900 for transmitting a wireless control message (e.g., wireless control message 660) to a target wireless network node (e.g., target wireless network node 550, 650) is provided. At block 902, a networked control device (e.g., networked control device 106, 206, 306, 406, 506, 606) determines a position and orientation of the networked control device relative to one or more wireless networking nodes (e.g., wireless networking nodes 102a-102f, 302a-302f, 442a-442c, 502a-502f, 550, 602a-602j, 650), the one or more wireless networking nodes being in communication with a wireless network (e.g., wireless network 108, wireless network mesh 664). As described herein, any positioning technique, such as triangulation and / or trilateration, can be used to determine the position of the networked control device within the network device environment and relative to a defined coordinate system. The networked control device can utilize one or more motion sensing devices (e.g., motion sensing device 228) to determine the orientation of the networked control device relative to the defined coordinate system. In some embodiments, the orientation of the networked control device can be represented as three angles representing a basic rotation around the axes of the defined coordinate system.
[0115] At block 904, the networked control device determines a pointing vector (e.g., pointing vector 552, 852) of the networked control device based at least in part on the position and orientation. The pointing vector represents the direction in which the networked control device is pointing. The pointing vector is determined based on the position of the networked control device within a defined coordinate system and the orientation of the networked control device relative to the defined coordinate system. In some embodiments, the networked control device may include a pointing tip (e.g., pointing tip 106a, 506a). The pointing tip may indicate the orientation direction of the networked control device. The networked control device may also determine an error associated with the position of the networked control device and the orientation of the networked control device. In some embodiments, a geometric shape, such as a cone or a frustum of a cone, may represent the error in the pointing vector. The networked control device may determine the dimensions of the geometric shape to represent the error associated with the pointing vector.
[0116] At block 906, the networked control device transmits a wireless control message (e.g., wireless control message 660) over the wireless network, including pointing vector data representing a pointing vector, wherein the wireless control message is accepted by at least one of the one or more wireless networking nodes based at least in part on the pointing vector data. The networked control device transmits the wireless control message including a payload (e.g., payload 660b). In some embodiments where the target wireless networking node is identified by the networked control device, the wireless control message may also include an address (e.g., address 660a). The payload includes the pointing vector data, which enables the wireless networking node to determine the pointing vector of the networked control device and an associated error. The wireless networking node is configured to determine whether the position of the wireless networking node intersects the pointing vector represented by the pointing vector data. If the position of the wireless networking node intersects the pointing vector, the wireless control message is accepted and executed. In some embodiments, a task may be performed by the target wireless networking node, such as reading and returning a register or sensor value, updating a configuration parameter, adjusting a setting, changing the state of the target wireless networking node, or performing any other task. In the event that the position of the wireless networking node does not intersect the pointing vector, the wireless control message is ignored and / or retransmitted.
[0117] Although this detailed description has described some embodiments of the present invention, the appended claims cover other embodiments of the invention that may differ from the described embodiments according to various modifications and improvements. For example, those skilled in the art will recognize that such principles can be applied to any electronic device that can be used by a user to control a wireless networked node. For example, a remote control, a dedicated networked control device, a mobile phone, a smart ring, smart glasses, a smart watch, or any other mobile electronic device.
[0118] In the following claims, unless the specific terms "means for" or "step for" are used in a given claim, the claim is not intended to be interpreted under 35 USC §112, paragraph 6.
[0119] The use of broader terms such as "comprising," "including," and "having" should be understood to provide support for narrower terms such as "consisting of," "consisting essentially of," and "composed essentially of." The use of the terms "optionally," "may," "might," "possibly," and the like with respect to any element of an embodiment means that the element is not required, or, alternatively, the element is required, both alternatives being within the scope of the embodiment. Furthermore, references to examples are provided for illustrative purposes only and are not intended to be exclusive.
Claims
1. A networked control device comprising one or more processors and one or more storage devices storing instructions, the instructions being operable, when executed by the one or more processors, to cause the one or more processors to: determining a position and orientation of the networked control device relative to one or more wireless networking nodes, the one or more wireless networking nodes communicating with a wireless network; determining a pointing vector of the networked control device based at least in part on the position and the orientation; as well as transmitting a wireless control message on the wireless network, wherein the wireless control message includes directional vector data representing the directional vector; Wherein the wireless control message is accepted by at least one of the one or more wireless networking nodes based at least in part on the pointing vector data.
2. The network control device according to claim 1, further comprising: A motion sensing device, wherein the orientation of the networked control device is determined based at least in part on the motion sensing device.
3. The networked control device of claim 2, wherein the motion sensing device comprises an inertial measurement unit. 4 . The networked control device of claim 1 , wherein the orientation of the networked control device is defined by three angles representing basic rotations within a coordinate system, and wherein the pointing vector data includes the three angles. 5 . The networked control device of claim 1 , wherein the location is determined by a trilateration process based on a distance of the networked control device from a plurality of the one or more wireless networked nodes. 6 . The networked control device of claim 5 , wherein the trilateration process comprises an ultra-wideband (UWB) trilateration process.
7. The networked control device of claim 1, wherein the location is determined by a triangulation process.
8. The networked control device of claim 7, wherein the one or more wireless networked nodes comprise: a first wireless networking node; as well as a second wireless networking node; wherein the location of the networked control device is determined at least in part based on: (a) a first distance between the first wireless networking node and the second wireless networking node, (b) a first angle of arrival of a first wireless message from the networked control device received at the first wireless networking node, and (c) a second angle of arrival of a second wireless message from the networked control device received at the second wireless networking node.
9. The networked control device of claim 1, wherein the wireless control message is broadcast over the wireless network to all wireless networked nodes on the wireless network within range of the networked control device.
10. The network control device according to claim 1, further comprising: A pointing end, wherein the pointing vector originates from the pointing end of the networked control device.
11. The networked control device of claim 1, wherein the wireless network is a Bluetooth Low Energy network.
12. A computer-implemented method for controlling a wireless networking node, the method comprising: determining, by a networked control device, a position and orientation of the networked control device relative to one or more wireless networked nodes, the one or more wireless networked nodes being in communication with a wireless network; determining a pointing vector of the networked control device based at least in part on the position and the orientation; as well as transmitting a wireless control message on the wireless network, wherein the wireless control message includes directional vector data representing the directional vector; Wherein the wireless control message is accepted by at least one of the one or more wireless networking nodes based at least in part on the pointing vector data.
13. The computer-implemented method of claim 12, wherein the orientation of the networked control device is determined based at least in part on a motion sensing device.
14. The computer-implemented method of claim 12, wherein the orientation of the networked control device is defined by three angles representing basic rotations within a coordinate system, and wherein the pointing vector data includes the three angles.
15. The computer-implemented method of claim 12, wherein the location is determined by a trilateration process based on distances of the networked control device and a plurality of the one or more wireless networked nodes.
16. The computer-implemented method of claim 12, wherein the location is determined through a triangulation process.
17. The computer-implemented method of claim 12, wherein the wireless control message is broadcast over the wireless network to all wireless networking nodes on the wireless network that are within range of the networked control device.
18. The computer-implemented method of claim 12, the wireless network being a Bluetooth Low Energy network.
19. A wearable electronic device comprising: Networked control equipment, including: User input mechanism, one or more processors, and one or more storage devices storing instructions that, when executed by the one or more processors, are operable to cause the one or more processors to: determining a position and orientation of the networked control device relative to one or more wireless networking nodes in communication with a wireless network; determining a pointing vector of the networked control device based at least in part on the position and the orientation; and transmitting a wireless control message over the wireless network based on user input using the user input mechanism, wherein the wireless control message includes directional vector data representing the directional vector, wherein the wireless control message is accepted by at least one of the one or more wireless networking nodes based at least in part on the pointing vector data; and An attachment mechanism is configured to attach the networked control device to a part of the user.
20. The wearable electronic device according to claim 19, further comprising: A motion sensing device, wherein the orientation of the networked control device is determined based at least in part on the motion sensing device.
21. A wireless networking node comprising one or more processors and one or more storage devices storing instructions, the instructions being operable when executed by the one or more processors to cause the one or more processors to: receiving a wireless control message from a wireless network, the wireless control message including pointing vector data representing a pointing vector of a networked control device; wherein the pointing vector is determined based on a position and orientation of the networked control device relative to one or more wireless networking nodes including at least the wireless networking node; determining that the pointing vector intersects a wireless network node position, the wireless network node position being associated with the wireless network node; as well as One or more control message instructions are executed based on the wireless control message.