Positioning method, Bluetooth node and positioning system

Through clock synchronization and collaborative channel detection of multiple Bluetooth nodes, the problem of connection susceptibility to obstruction and interference in the vehicle digital key system is solved, and high-precision positioning and resource-optimized ranging transfer are achieved.

CN120769359APending Publication Date: 2025-10-10SHENZHEN GOODIX TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511117983.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-08
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

In the vehicle digital key system, the connection between the mobile terminal and the Bluetooth node is easily blocked or interfered with, resulting in inaccurate or impossible ranging, especially when it is not within the appropriate ranging range.

Method used

Multiple Bluetooth nodes synchronize their clocks and send Bluetooth broadcasts, allowing the terminal to establish a connection with any node. The active node and the passive node collaborate to perform channel detection to measure distance, generate positioning results, and select the optimal node to transfer the connection when the terminal moves.

Benefits of technology

It reduces ranging blind spots, avoids excessive resource occupation by the terminal, achieves high-precision positioning and connection transfer, and ensures accurate ranging when the terminal moves.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120769359A_ABST
    Figure CN120769359A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a positioning method, Bluetooth nodes and a positioning system, the positioning method is applied to the positioning system comprising a plurality of Bluetooth nodes, and the positioning method comprises the following steps: the plurality of Bluetooth nodes perform clock synchronization; the plurality of Bluetooth nodes send Bluetooth broadcasts, so that the terminal can establish Bluetooth connection with any Bluetooth node; after any one Bluetooth node establishes a Bluetooth connection with the terminal, the Bluetooth node establishing the Bluetooth connection with the terminal serves as an active node to cooperate with one or more passive nodes, and executes and monitors a channel detection process to carry out distance measurement on the terminal so as to generate a positioning result. Wherein the one or more passive nodes are one or more Bluetooth nodes except the active node. According to the embodiment of the invention, positioning blind areas can be reduced, the number of Bluetooth connections is reduced, and the positioning effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, in particular to a positioning method, a Bluetooth node and a positioning system. BACKGROUND

[0002] Ranging technology is applied to various aspects of life, for example, when a mobile terminal serving as a vehicle digital key is used to unlock a vehicle, the vehicle digital key and the vehicle need to be ranged to achieve vehicle unlocking by using the ranging result. Channel sounding (CS) technology based on Bluetooth can accurately achieve ranging and confirm the identity and location of the mobile terminal serving as a vehicle digital key.

[0003] In channel sounding technology, channel sounding procedures are executed between two nodes that establish a Bluetooth connection. In the current digital key scheme, only one Bluetooth node of the vehicle end can establish a Bluetooth connection with the mobile terminal serving as a vehicle digital key. If the access position of the mobile terminal is blocked or interfered, the mobile terminal is difficult to establish a Bluetooth connection with the Bluetooth node, resulting in the inability to range. If the mobile terminal is not within the appropriate ranging range, the ranging effect is poor at some positions. SUMMARY

[0004] In view of the above problems, the embodiments of the present application provide a positioning method, a Bluetooth node and a positioning system to solve the above technical problems.

[0005] In the first aspect, the embodiments of the present application provide a positioning method applied to a positioning system including a plurality of Bluetooth nodes, the positioning method comprising: clock synchronization of the plurality of Bluetooth nodes; the plurality of Bluetooth nodes sending Bluetooth broadcasts to enable a terminal to establish a Bluetooth connection with any Bluetooth node; after any Bluetooth node of the plurality of Bluetooth nodes establishes a Bluetooth connection with the terminal, the Bluetooth node establishing a Bluetooth connection with the terminal as an active node cooperates with one or more passive nodes to execute and listen to channel sounding procedures to range the terminal to generate a positioning result, wherein the one or more passive nodes are one or more Bluetooth nodes other than the active node.

[0006] In some embodiments, the positioning method further comprises: during the movement of the terminal, selecting an optimal Bluetooth node based on the positioning result, and transferring the Bluetooth connection to the selected optimal Bluetooth node, so that the selected optimal Bluetooth node serves as a new active node.

[0007] In some embodiments, the optimal Bluetooth node is selected based on the positioning result, and the Bluetooth connection is transferred to the selected optimal Bluetooth node, including: determining whether the terminal is out of the ranging range of the current ranging node based on the positioning result; in the case that the terminal is out of the ranging range of the current ranging, selecting the optimal Bluetooth node based on the positioning result; and sending the Bluetooth connection information and the channel sounding configuration to the selected optimal Bluetooth node to transfer the Bluetooth connection to the selected optimal Bluetooth node.

[0008] In some embodiments, the plurality of Bluetooth nodes are configured as a plurality of groups, the plurality of groups corresponding to a plurality of positioning ranges, at least one Bluetooth node in each group belonging to at least two groups; wherein one or more passive nodes are Bluetooth nodes other than the active node in the group to which the active node belongs; wherein the active node selects a Bluetooth node belonging to other groups within its own group based on the positioning result, so as to be positioned by the Bluetooth node of the other group.

[0009] In some embodiments, one of the plurality of Bluetooth nodes is a central node; wherein the optimal Bluetooth node is selected based on the positioning result, and the Bluetooth connection is transferred to the selected optimal Bluetooth node, including: the central node selects the optimal Bluetooth node based on the positioning result, and sends a connection transfer command to the active node; and the active node transfers the Bluetooth connection to the selected optimal Bluetooth node based on the connection transfer command.

[0010] In some embodiments, the broadcast MAC addresses of the plurality of Bluetooth nodes are the same; wherein the plurality of Bluetooth nodes send Bluetooth broadcasts, including: the plurality of Bluetooth nodes send Bluetooth broadcasts in respective broadcast time windows in sequence according to a broadcast interval, wherein the broadcast time windows of the plurality of Bluetooth nodes do not overlap; or the plurality of Bluetooth nodes send Bluetooth broadcasts in each broadcast interval in sequence, wherein at least two Bluetooth nodes send Bluetooth broadcasts in each broadcast interval.

[0011] In some embodiments, one of the plurality of Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; wherein the plurality of Bluetooth nodes send Bluetooth broadcasts in respective broadcast time windows in sequence according to a broadcast interval, including: the central node sends Bluetooth broadcasts in its own broadcast time window according to the broadcast interval, and sends an enable command and a disable command to each anchor node according to the broadcast time window of the anchor node; each anchor node starts sending Bluetooth broadcasts after receiving the enable command, and stops sending Bluetooth broadcasts after receiving the disable command.

[0012] In some embodiments, the plurality of Bluetooth nodes sequentially transmit the Bluetooth broadcast in each broadcast interval, including: after the plurality of Bluetooth nodes perform clock synchronization, setting a broadcast transmission time of each Bluetooth node, wherein the broadcast transmission time of each Bluetooth node is different, and the broadcast transmission times of at least two Bluetooth nodes are located in one broadcast interval; and each Bluetooth node transmits the Bluetooth broadcast at the broadcast transmission time of the Bluetooth node.

[0013] In some embodiments, one Bluetooth node of the plurality of Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; wherein the plurality of Bluetooth nodes perform clock synchronization, including: the central node broadcasts a first synchronization frame to each anchor node, and generates a transmission completion interrupt when the transmission is completed, taking the time when the transmission completion interrupt is generated as a transmission completion time; each anchor node receives the first synchronization frame, and generates a reception completion interrupt when the reception is completed, taking the time when the reception completion interrupt is generated as a reception completion time; the central node broadcasts a second synchronization frame to each anchor node, wherein the second synchronization frame carries the transmission completion time; and each anchor node receives the second synchronization frame, and calibrates the clock of the anchor node based on the reception completion time and the transmission completion time carried by the second synchronization frame.

[0014] In some embodiments, a Bluetooth node that establishes a Bluetooth connection with a terminal serves as an active node to perform and listen to a channel sounding process to range the terminal to generate a positioning result in cooperation with one or more passive nodes, including: the active node performs clock synchronization and shares a channel sounding configuration with the one or more passive nodes; the active node performs the channel sounding process and ranges the terminal, and the one or more passive nodes listen to the channel sounding process and range the terminal; and the positioning result is generated based on the ranging result of the active node and the ranging result of the one or more passive nodes.

[0015] In some embodiments, one node of the plurality of Bluetooth nodes is a central node; and if the active node is not the central node, the positioning result is generated based on the ranging result of the active node and the ranging result of the one or more passive nodes, including: the active node and the one or more passive nodes send the ranging result to the central node; and the central node receives the ranging result and generates the positioning result.

[0016] In a second aspect, embodiments of the present application provide a positioning method, applied to a Bluetooth node, including: the Bluetooth node performs clock synchronization with other Bluetooth nodes; the Bluetooth node transmits a Bluetooth broadcast with the other Bluetooth nodes, so that a terminal can establish a Bluetooth connection with any Bluetooth node; after the Bluetooth node establishes a Bluetooth connection with the terminal, the Bluetooth node serves as an active node to perform and listen to a channel sounding process to range the terminal to generate a positioning result in cooperation with one or more passive nodes, wherein the one or more passive nodes are one or more other Bluetooth nodes.

[0017] In some embodiments, the positioning method further includes: during the movement of the terminal, the Bluetooth node selects the optimal Bluetooth node based on the positioning result, and transfers the Bluetooth connection to the selected optimal Bluetooth node, making the selected optimal Bluetooth node a new active node.

[0018] In some embodiments, the Bluetooth node selects the optimal Bluetooth node based on the positioning result and transfers the Bluetooth connection to the selected optimal Bluetooth node, including: the Bluetooth node determines whether the terminal is beyond the ranging range of the current ranging node based on the positioning result; when the terminal is beyond the ranging range of the current ranging node, the Bluetooth node selects the optimal Bluetooth node based on the positioning result; the Bluetooth node sends Bluetooth connection information and channel detection configuration to the selected optimal Bluetooth node to transfer the Bluetooth connection to the selected optimal Bluetooth node.

[0019] In some embodiments, one of the Bluetooth node and other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; if the Bluetooth node is not a central node, the Bluetooth node selects other Bluetooth nodes based on the positioning result, and transfers the Bluetooth connection to the selected optimal Bluetooth node, including: the Bluetooth node receives a connection transfer command sent by the central node, wherein the central node selects the optimal Bluetooth node based on the positioning result and sends a connection transfer command to the Bluetooth node; the Bluetooth node transfers the Bluetooth connection to the selected optimal Bluetooth node based on the connection transfer command.

[0020] In some embodiments, one of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; the Bluetooth node and the other Bluetooth nodes have the same broadcast address; wherein the Bluetooth node and the other Bluetooth nodes send Bluetooth broadcasts, including: if the Bluetooth node is a central node, the Bluetooth node sends Bluetooth broadcasts according to the broadcast interval within its own broadcast time window, and sends an enable command and a disable command to the corresponding other Bluetooth node according to the broadcast time window of each other Bluetooth node, so that each other Bluetooth node starts sending Bluetooth broadcasts after receiving the enable command and stops sending Bluetooth broadcasts after receiving the disable command; or if the Bluetooth node is not a central node, the Bluetooth node starts sending Bluetooth broadcasts after receiving the enable command sent by the central node, and stops sending Bluetooth broadcasts after receiving the disable command sent by the central node, wherein the central node sends Bluetooth broadcasts according to the broadcast interval within its own broadcast time window, and sends the enable command and the disable command to the corresponding Bluetooth node according to the broadcast time window of each Bluetooth node; or after synchronizing the clocks of the other Bluetooth nodes, the Bluetooth node sends Bluetooth broadcasts at its own broadcast sending time, wherein the broadcast sending time of each Bluetooth node is different, and the broadcast sending times of at least two Bluetooth nodes are within one broadcast interval.

[0021] In some embodiments, one of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; the Bluetooth node synchronizes clocks with the other Bluetooth nodes, including: if the Bluetooth node is a central node, the Bluetooth node broadcasts a first synchronization frame to the other Bluetooth nodes, and generates a sending completion interrupt when the sending is completed, and the moment when the sending completion interrupt is generated is used as the sending completion moment; the Bluetooth node broadcasts a second synchronization frame to the other Bluetooth nodes, and the second synchronization frame carries the sending completion moment; or if the Bluetooth node is not a central node, the Bluetooth node receives the first synchronization frame sent by the central node, and generates a receiving completion interrupt when the receiving is completed, and the moment when the receiving completion interrupt is generated is used as the receiving completion moment; the Bluetooth node receives the second synchronization frame sent by the central node, and calibrates its own clock based on the receiving completion moment and the sending completion moment carried by the second synchronization frame; wherein, the central node broadcasts the first synchronization frame, and generates a sending completion interrupt when the sending is completed, and the moment when the sending completion interrupt is generated is used as the sending completion moment.

[0022] In some embodiments, the Bluetooth node acts as an active node and cooperates with one or more passive nodes to execute and listen to the channel detection process to measure the distance of the terminal to generate a positioning result, including: the Bluetooth node and the one or more passive nodes perform clock synchronization and share channel detection configuration; the Bluetooth node and the terminal perform the channel detection process and measure the distance, and the one or more passive nodes listen to the channel detection process and measure the distance; the Bluetooth node generates a positioning result based on its own ranging result and the ranging results of the one or more passive nodes.

[0023] In some embodiments, one of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; if the Bluetooth node is not a central node, the positioning method is: the Bluetooth node sends a ranging result to the central node, so that the central node receives the ranging result and generates a positioning result.

[0024] In a third aspect, an embodiment of the present application provides a Bluetooth node, which is configured for the above-mentioned positioning method.

[0025] In a fourth aspect, an embodiment of the present application provides a positioning system, comprising a plurality of Bluetooth nodes, which are configured to execute the above-mentioned positioning method.

[0026] The positioning method, Bluetooth node, and positioning system provided in the embodiments of the present application utilize multiple Bluetooth nodes for clock synchronization and Bluetooth broadcast transmission, enabling a terminal to establish a Bluetooth connection with any Bluetooth node, thereby reducing ranging blind spots. After any of the multiple Bluetooth nodes establishes a Bluetooth connection with the terminal, the Bluetooth node that establishes a Bluetooth connection with the terminal acts as an active node, collaborating with one or more passive nodes to perform and monitor a channel detection process to measure the distance to the terminal and generate a positioning result. This reduces the number of Bluetooth connections between the terminal and the Bluetooth node, avoiding the occupation of a large number of Bluetooth spectrum resources and time slot resources of the terminal.

[0027] These and other aspects of the present application will become more readily apparent from the description of the following embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.

[0029] Figure 1 A schematic diagram of a positioning system provided in an embodiment of the present application is shown.

[0030] Figure 2 The flowchart of the positioning method provided in the embodiment of the present application is shown.

[0031] Figure 3 A timing diagram of a broadcasting method provided in an embodiment of the present application is shown.

[0032] Figure 4 A timing diagram of another broadcasting method provided in an embodiment of the present application is shown.

[0033] Figure 5 A flowchart of a clock synchronization method provided in an embodiment of the present application is shown.

[0034] Figure 6 A flowchart of a positioning method provided in an embodiment of the present application is shown.

[0035] Figure 7 A flowchart of a positioning method implemented by a Bluetooth node provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0036] The embodiments of the present application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application and are not to be construed as limiting the present application.

[0037] In order to enable those skilled in the art to better understand the solutions of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.

[0038] In the embodiments of the present application, it should be noted that, in this document, relational terms such as first and second, etc., are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations.

[0039] Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or apparatus that includes the element.

[0040] In the description of the embodiments of this application, words such as "example" or "for example" are used to indicate an example, illustration, or description. Any embodiment or design described as "for example" or "for example" in the embodiments of this application is not to be construed as being preferred or having more advantages than another embodiment or design. The use of words such as "example" or "for example" is intended to clearly present relative concepts.

[0041] In addition, in the embodiments of the present application, "plurality" refers to two or more. In view of this, in the embodiments of the present application, "plurality" can also be understood as "at least two". "At least one" can be understood as one or more, for example, one, two, or more. For example, "including at least one" means including one, two, or more, and does not limit which ones are included. For example, "including at least one of A, B, and C" means including A, B, C, A and B, A and C, B and C, or A, B, and C.

[0042] It should be noted that in the embodiments of the present application, "and / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the associated objects are in an "or" relationship.

[0043] It should be noted that in the embodiments of the present application, "connection" can be understood as electrical connection, and the connection between two electrical components can be a direct or indirect connection between the two electrical components. For example, the connection between A and B can be either a direct connection between A and B or an indirect connection between A and B through one or more other electrical components.

[0044] The positioning method provided in the embodiment of the present application can be applied in the following Figure 1 In the positioning system 100 shown, the positioning system 100 includes multiple Bluetooth nodes 110, and the multiple Bluetooth nodes 110 are used to measure the distance and locate the terminal 200. The multiple Bluetooth nodes 110 and the terminal 200 all support Bluetooth communication functions. The Bluetooth connection node 110 can establish a Bluetooth connection with the terminal 200, and the Bluetooth connection here can be a BLE (Bluetooth Low Energy) connection. The multiple Bluetooth nodes 110 are communicatively connected, and the multiple Bluetooth nodes 110 can be based on but not limited to known methods for clock synchronization. In some implementations, the multiple Bluetooth nodes 110 are connected by wire, for example, through a CAN (Controller Area Network) bus 120. In some implementations, the multiple Bluetooth nodes 110 are connected wirelessly. As Figure 1 As shown, the positioning system 100 may include a Bluetooth node 110-1, a Bluetooth node 110-2, a Bluetooth node 110-3, a Bluetooth node 110-4, a Bluetooth node 110-5, a Bluetooth node 110-6, a Bluetooth node 110-7, and a Bluetooth node 110-8. In a specific implementation, the positioning system 100 may include any number of Bluetooth nodes 110, and the number of Bluetooth nodes 110 is generally greater than or equal to 3.

[0045] Multiple Bluetooth nodes 110 can be set up at different locations, and the positional relationships such as the distances between the multiple Bluetooth nodes 110 are known. For example, multiple Bluetooth nodes 110 can be set up at different locations around the vehicle to locate the position of the terminal 200, which serves as the vehicle digital key, relative to the vehicle. For example, the terminal 200, which serves as the vehicle digital key, can be located at which vehicle door to perform operations such as unlocking the door and adjusting the seat.

[0046] A plurality of Bluetooth nodes 110 can be divided into a plurality of groups, and the plurality of groups correspond to a plurality of positioning ranges. A group of Bluetooth nodes 110 is set for each positioning range, and the positioning ranges partially overlap. At least one Bluetooth node 110 in a group belongs to at least two groups. When the terminal 200 is located in any positioning range, the terminal 200 is at a good distance from the Bluetooth node 110 corresponding to the positioning range, and a better positioning effect can be obtained by positioning the terminal 200 using the group of Bluetooth nodes 110 corresponding to the positioning range. During the movement of the terminal 200, the group for locating the terminal 200 can be switched so that the terminal 200 and the Bluetooth node for locating the terminal 200 are in a suitable ranging position relationship. Specifically, as Figure 1 As shown, group 1 includes Bluetooth node 110-1, Bluetooth node 110-2, Bluetooth node 110-3 and Bluetooth node 110-4; group 2 includes Bluetooth node 110-3, Bluetooth node 110-4, Bluetooth node 110-5 and Bluetooth node 110-6; group 3 includes Bluetooth node 110-5, Bluetooth node 110-6, Bluetooth node 110-7 and Bluetooth node 110-8.

[0047] In some embodiments, one of the multiple Bluetooth nodes 110 is a central node (CentralNode), and the remaining Bluetooth nodes 110 are anchor nodes (AnchorNode). In the vehicle digital key application, the central node can serve as the central control unit or the main control module in the vehicle, responsible for managing and coordinating the communication and operation between the various subsystems of the vehicle, for example, it can control functions such as opening and closing vehicle door locks. The terminal 200 can be any electronic device, for example, a mobile terminal, and the terminal 200 can serve as a vehicle digital key, which can include but is not limited to mobile phones, smart watches, smart bracelets, smart glasses, car keys, etc. In an embodiment of the present application, both the central node and the anchor node can establish a Bluetooth connection with the terminal 200.

[0048] In the embodiments of the present application, after the Bluetooth node 110 establishes a Bluetooth connection with the terminal 200, the Bluetooth node 110, as an active node, cooperates with one or more passive nodes, which are one or more Bluetooth nodes 110 other than the active node, to perform and listen to a channel sounding process to range the terminal 200 to generate a positioning result. In some implementations, the Bluetooth node 110 as the active node is an initiator of the channel sounding process, and the terminal 200 is a reflector of the channel sounding process. In some implementations, the terminal 200 is an initiator of the channel sounding process, and the Bluetooth node 110 as the active node is a reflector of the channel sounding process. In some specific implementations, the active node can perform clock synchronization and share channel sounding configurations with the one or more passive nodes. The active node performs the channel sounding process and ranges with the terminal 200, and the one or more passive nodes listen to the channel sounding process and range. The active node can generate a positioning result based on the ranging result of itself and the ranging result of the one or more passive nodes. Further, if multiple Bluetooth nodes are divided into a central node and anchor nodes, when the active node is not the central node, the active node and the one or more passive nodes can send ranging results to the central node, and the central node receives the ranging results and generates a positioning result based on the ranging results.

[0049] The embodiments of the present application provide a positioning method, which can be applied to a positioning system including multiple Bluetooth nodes, for example, the positioning system 100 as shown in Figure 1 Figure 2 The positioning method includes the following steps.

[0050] Step S201, clock synchronization is performed among the multiple Bluetooth nodes.

[0051] The multiple Bluetooth nodes can perform clock synchronization based on, but not limited to, known methods, for example, BLE clock synchronization based on CAN bus, synchronization by establishing a Bluetooth listening link, etc.

[0052] In some specific embodiments, one Bluetooth node in the multiple Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes, and the central node sends a synchronization frame to achieve clock synchronization. Optionally, as shown in Figure 5 ​As shown, multiple Bluetooth nodes synchronize their clocks in the following manner: the central node broadcasts a first synchronization frame to each anchor node and generates a send complete interrupt upon completion of transmission, with the moment of the send complete interrupt generated as the send complete time. Each anchor node receives the first synchronization frame and generates a receive complete interrupt upon completion of reception, with the moment of the receive complete interrupt generated as the receive complete time. The central node broadcasts a second synchronization frame to each anchor node, where the second synchronization frame carries the send complete time. Each anchor node receives the second synchronization frame and calibrates its own clock based on the receive complete time and the send complete time carried in the second synchronization frame, synchronizing the anchor node's clock with the central node's clock. In some implementations, any of the multiple Bluetooth nodes can serve as the central node. In some implementations, such as in vehicle digital key applications, the central node is a specific Bluetooth node. This specific embodiment does not require the Bluetooth node to have additional hardware capabilities and is applicable to general Bluetooth nodes. Furthermore, this specific implementation eliminates the impact of CAN bus contention in BLE clock synchronization based on the CAN bus.

[0053] Step S202: Multiple Bluetooth nodes send Bluetooth broadcasts, so that the terminal can establish a Bluetooth connection with any Bluetooth node.

[0054] In such Figure 1 In the positioning system 100 shown, Bluetooth node 110-1, Bluetooth node 110-2, Bluetooth node 110-3, Bluetooth node 110-4, Bluetooth node 110-5, Bluetooth node 110-6, Bluetooth node 110-7 and Bluetooth node 110-8 all send Bluetooth broadcasts. Terminal 200 can establish a Bluetooth connection with any Bluetooth node 110 based on the Bluetooth broadcast of Bluetooth node 110. The Bluetooth connection here can be a BLE connection.

[0055] In some specific embodiments, the broadcast addresses of multiple Bluetooth nodes are different. The multiple Bluetooth nodes can send broadcasts simultaneously, and the terminal can quickly establish a Bluetooth connection with the Bluetooth nodes. In this specific embodiment, the execution order of step S201 and step S202 is not limited. In some implementations, the multiple Bluetooth nodes can send Bluetooth broadcasts after performing clock synchronization, that is, step S201 is executed before step S202; in some implementations, the multiple Bluetooth nodes can perform clock synchronization after sending Bluetooth broadcasts, that is, step S202 is executed before step S201; in some implementations, the multiple Bluetooth nodes can send Bluetooth broadcasts and perform clock synchronization at the same time, that is, step S201 is executed synchronously with step S201.

[0056] In the scenario of vehicle digital key and the like, there is a need for all Bluetooth nodes 110 to send the same address broadcast. When the broadcast address is the same, the sending of the broadcast by each Bluetooth node 110 is independent of each other, and there is a possibility that two Bluetooth nodes 110 send the same Bluetooth broadcast packet at the same time, on the same channel, resulting in the connection request packet sent by the terminal 200 being received by the two Bluetooth nodes 110 at the same time, and both Bluetooth nodes 110 considering that they have established a connection with the terminal 200, resulting in logical confusion.

[0057] When the broadcast addresses of the Bluetooth nodes are the same, as an implementation, as shown in Figure 3 the plurality of Bluetooth nodes can send Bluetooth broadcasts in respective broadcast time windows according to a broadcast interval, and the broadcast time windows of the plurality of Bluetooth nodes do not overlap. Further, in order to make the broadcast time windows of the plurality of Bluetooth nodes not overlap, one Bluetooth node in the plurality of Bluetooth nodes can be a central node, and the remaining Bluetooth nodes are anchor nodes, and the broadcast time window control is implemented by the central node, and the central node can be an arbitrary Bluetooth node or a specific Bluetooth node. Specifically, the central node can send Bluetooth broadcasts in its own broadcast time window according to the broadcast interval, and send enable commands and disable commands to each anchor node according to the broadcast time window of each anchor node, and each anchor node starts sending Bluetooth broadcasts after receiving the enable command, and stops sending Bluetooth broadcasts after receiving the disable command. Thus, it is avoided that two Bluetooth nodes send the same Bluetooth broadcast packet at the same time, on the same channel. In this implementation, the execution order of steps S201 and S202 is not limited, and in some implementations, the plurality of Bluetooth nodes can send Bluetooth broadcasts after clock synchronization, i.e., step S201 is executed before step S202; in some implementations, the plurality of Bluetooth nodes can perform clock synchronization after sending Bluetooth broadcasts, i.e., step S202 is executed before step S201; in some implementations, the plurality of Bluetooth nodes can send Bluetooth broadcasts and perform clock synchronization at the same time, i.e., step S201 and step S201 are executed synchronously.

[0058] As another implementation, the plurality of Bluetooth nodes sends Bluetooth broadcasts in each broadcast interval in turn, and at least two Bluetooth nodes send Bluetooth broadcasts in each broadcast interval. More specifically, the broadcast sending time of each Bluetooth node is set, wherein the broadcast sending time of each Bluetooth node is different, and the broadcast sending times of at least two Bluetooth nodes are located in one broadcast interval. After the plurality of Bluetooth nodes performs clock synchronization, each Bluetooth node sends Bluetooth broadcasts at its own broadcast sending time. As shown in Figure 4As shown, Bluetooth node 110-1, Bluetooth node 110-2, Bluetooth node 110-3, and Bluetooth node 110-4 sequentially send Bluetooth broadcasts within a broadcast interval. In this embodiment, at least two Bluetooth nodes send Bluetooth broadcasts within each broadcast interval, which improves real-time access. In this embodiment, multiple Bluetooth nodes send Bluetooth broadcasts after clock synchronization.

[0059] Step S203, after any one Bluetooth node sets up the bluetooth connection with the terminal in a plurality of Bluetooth nodes, the Bluetooth node that sets up the bluetooth connection with the terminal coordinates one or more passive nodes as active node, executes and monitors the channel sounding process and measures distance to the terminal to generate location result.Wherein, the one or more passive nodes are one or more Bluetooth nodes except the active node in a plurality of Bluetooth nodes.In some implementations, the Bluetooth node as the active node is the initiator (Initiator) of the channel sounding process, and the terminal is the reflector (Reflector) of the channel sounding process.In some implementations, the terminal is the initiator (Initiator) of the channel sounding process, and the Bluetooth node as the active node is the reflector (Reflector) of the channel sounding process.

[0060] In some specific embodiments, after multiple Bluetooth nodes perform clock synchronization, the active node can share a channel detection configuration with one or more passive nodes. The channel detection configuration may include the timing, frequency, and configuration parameters of the channel detection process. By clock synchronization and sharing the channel detection configuration, it is ensured that the passive node is strictly synchronized with the active node and the terminal. After clock synchronization and sharing the channel detection configuration, the active node can perform a channel detection process and measure distance with the terminal, and the one or more passive nodes can monitor the channel detection process and measure distance. A positioning result is generated based on the ranging result of the active node and the ranging result of the one or more passive nodes. In addition, in this specific embodiment, if multiple Bluetooth nodes send Bluetooth broadcasts (step S202) independently of clock synchronization, the multiple Bluetooth nodes complete clock synchronization (step S203) at any time before executing and monitoring the channel detection process. For example, multiple Bluetooth nodes can perform clock synchronization after any Bluetooth node establishes a Bluetooth connection with the terminal. After clock synchronization is completed, the active node collaborates with the passive node to perform and monitor the channel detection process to measure distance to the terminal to generate a positioning result.

[0061] In a specific implementation, if multiple Bluetooth nodes do not distinguish between central nodes and anchor nodes, the active node receives the ranging results sent by the passive node, and the active node generates a positioning result based on its own ranging results and the ranging results of the passive node. In some embodiments, there is one node among the multiple Bluetooth nodes that is a central node, such as a digital key application scenario. In this case, when the active node is the central node, the passive node sends the ranging result to the active node, the active node receives the ranging result sent by the passive node, and the active node generates a positioning result based on its own ranging result and the ranging result of the passive node. When the active node is not a central node, the active node and one or more passive nodes can send the ranging result to the central node, and the central node receives the ranging result and generates a positioning result based on the ranging result.

[0062] For example, in a vehicle digital key application, either the central node or the anchor node can establish a Bluetooth connection with the terminal. If the central node establishes a Bluetooth connection with the terminal, the central node, as an active node, collaborates with one or more anchor nodes to perform and monitor the channel detection process to measure the distance of the terminal to generate a positioning result. In this case, the active node is the central node, and the passive node sends the ranging result to the active node. The active node generates a positioning result based on its own ranging result and the ranging result received from the passive node. If the anchor node establishes a Bluetooth connection with the terminal, the anchor node, as an active node, collaborates with the central node and / or one or more anchor nodes to perform and monitor the channel detection process to measure the distance of the terminal to generate a positioning result. In this case, the active node and one or more passive nodes send the ranging result to the central node, and the central node receives the ranging result and generates a positioning result based on the ranging result.

[0063] In some specific implementations, Figure 1 In the positioning system 100 shown, multiple Bluetooth nodes 110 can be divided into multiple groups, and the multiple groups correspond to multiple positioning ranges. Each positioning range is set with a group of Bluetooth nodes 110, and the positioning ranges partially overlap. At least one Bluetooth node 110 in a group belongs to at least two groups. The passive nodes that cooperate with the active node are the Bluetooth nodes other than the active node in the group to which the active node belongs. Through this specific implementation, after the Bluetooth node establishes a Bluetooth connection with the terminal, the terminal can be quickly measured and positioned through the Bluetooth nodes in the group to which the Bluetooth node that has established a Bluetooth connection with the terminal belongs. Specifically, as Figure 1As shown, group 1 includes Bluetooth node 110-1, Bluetooth node 110-2, Bluetooth node 110-3 and Bluetooth node 110-4. Any Bluetooth node 110 in group 1 can establish a Bluetooth connection with terminal 200. If Bluetooth node 110-1 in group 1 establishes a Bluetooth connection with terminal 200, then Bluetooth node 110-1 in group 1 is an active node, and Bluetooth node 110-2, Bluetooth node 110-3 and Bluetooth node 110-4 are passive nodes. Bluetooth node 110-1 performs a channel detection process based on the Bluetooth connection between itself and terminal 200 to measure the distance to the terminal, and Bluetooth node 110-2, Bluetooth node 110-3 and Bluetooth node 110-4 monitor the channel detection process to measure the distance to the terminal. Group 2 includes Bluetooth node 110-3, Bluetooth node 110-4, Bluetooth node 110-5 and Bluetooth node 110-6. Any Bluetooth node 110 in group 2 can establish a Bluetooth connection with terminal 200. If Bluetooth node 110-6 in group 2 establishes a Bluetooth connection with terminal 200, Bluetooth node 110-6 in group 2 is an active node, and Bluetooth node 110-3, Bluetooth node 110-4 and Bluetooth node 110-5 are passive nodes. Bluetooth node 110-6 performs a channel detection process based on the Bluetooth connection between itself and terminal 200 to measure the distance to the terminal, and Bluetooth node 110-3, Bluetooth node 110-4 and Bluetooth node 110-4 monitor the channel detection process to measure the distance to the terminal.

[0064] In a specific implementation, the paths between the active node, the terminal and the passive node include: Path a: The path between the active node and the terminal (referred to as path a), whose distance d a Can be measured directly; Path b: The path between the active node and the passive node k (called path b), its distance d bk Known; Path c: The path between the terminal and the passive node (called path c), its distance d ck To be solved. The passive node listens to the channel detection process and records the signal phase difference. The passive node generates phase coherent data (PCT), including the phase difference from the terminal to the passive node and the phase difference from the active node to the passive node, where the phase difference from the active node to the passive node is a known number. The active node generates PCT, including the phase difference from the active node to the terminal. Based on the PCT of the active node and the passive node, the distance between the passive node and the terminal can be calculated. More specifically, the phase of path b is expressed as θ bk , the phase of path c is expressed as θ ck , where k is the number of the passive node. The passive node generates phase coherent data (PCT), and the phase difference from the active node to the passive node k is expressed as PCT rk , the phase difference from the terminal to the passive node k is expressed as PCT Rk The passive node is based on the phase θ of path b. bk, path c phase θ ck Generating phase-coherent data, specifically, phase difference Δθ k= θ ck -θ bk . By knowing d bk and phase difference Δθ k , d ck is inversely deduced, and the formula is as follows:

[0065] d ck =d bk +Δθ k / 2πfc, wherein c is the speed of light, f is the carrier frequency, and k is the passive node number.

[0066] The positioning method provided in the embodiments of the present application can enable the terminal to establish a Bluetooth connection with any Bluetooth node, so as to reduce the ranging blind area. After any Bluetooth node in the plurality of Bluetooth nodes establishes a Bluetooth connection with the terminal, the Bluetooth node that establishes the Bluetooth connection acts as an active node to cooperate with one or more passive nodes to perform and listen to the channel sounding process to range the terminal to generate a positioning result, so as to reduce the number of Bluetooth connections between the terminal and the Bluetooth nodes, and avoid occupying more Bluetooth spectrum resources and time slot resources of the terminal.

[0067] In large environment ranging positioning, if the terminal moves and moves away from the current active node, the current connection needs to be disconnected and the terminal needs to be connected to a new Bluetooth node. This process is uncontrollable, and there are factors such as boundary ranging difficulty and uncertain access point, which cannot guarantee accurate positioning at all times. In some embodiments, as shown in Figure 6 , the positioning method provided in the embodiments of the present application includes the following steps.

[0068] Step S601, clock synchronization is performed on a plurality of Bluetooth nodes. The plurality of Bluetooth nodes can perform clock synchronization in the manner described in the foregoing description of the present specification.

[0069] Step S602, the plurality of Bluetooth nodes send Bluetooth broadcasts to enable the terminal to establish a Bluetooth connection with any Bluetooth node. The plurality of Bluetooth nodes can send Bluetooth broadcasts in the manner described in the foregoing description of the present specification.

[0070] Step S603, after any Bluetooth node in the plurality of Bluetooth nodes establishes a Bluetooth connection with the terminal, the Bluetooth node that establishes the Bluetooth connection acts as an active node to cooperate with one or more passive nodes to perform and listen to the channel sounding process to range the terminal to generate a positioning result.

[0071] In a specific implementation, if the plurality of Bluetooth nodes do not distinguish between the central node and the anchor node, the active node receives the ranging result sent by the passive node, and the active node generates the positioning result based on the ranging result of the active node and the ranging result of the passive node. In some embodiments, there is one node in the plurality of Bluetooth nodes that is a central node, for example, in a digital key application scenario. Then in this case, when the active node is not the central node, the active node and one or more passive nodes can send the ranging result to the central node, and the central node receives the ranging result and generates the positioning result according to the ranging result. For example, in a vehicle digital key application, either the central node or the anchor node can establish a Bluetooth connection with the terminal, if the central node establishes a Bluetooth connection with the terminal, the central node acts as an active node to perform and listen to the channel sounding process with one or more anchor nodes to range the terminal to generate a positioning result, in this case, the active node is the central node, and the passive node sends the ranging result to the active node, and the active node generates the positioning result based on the ranging result of the active node and the received ranging result of the passive node. If the anchor node establishes a Bluetooth connection with the terminal, the anchor node acts as an active node to perform and listen to the channel sounding process with the central node and / or one or more anchor nodes to range the terminal to generate a positioning result, in this case, the active node and one or more passive nodes send the ranging result to the central node, and the central node receives the ranging result and generates the positioning result according to the ranging result. It should be understood that the specific ranging and positioning process in S603 can refer to the steps and related processes in S203.

[0072] Step S604, during the movement of the terminal, the optimal Bluetooth node is selected based on the positioning result, and the Bluetooth connection is transferred to the optimal Bluetooth node, so that the optimal Bluetooth node acts as a new active node. The new active node cooperates with one or more passive nodes to perform and listen to the channel sounding process to range the terminal to generate a positioning result.

[0073] Optionally, in some embodiments, during the movement of the terminal, the optimal Bluetooth node is selected by the active node based on the positioning result, and the active node transfers the Bluetooth connection to the selected optimal Bluetooth node.

[0074] Optionally, in some embodiments, there is one node in the plurality of Bluetooth nodes that is a central node, for example in a digital key application scenario. In this case, if the active node is the central node, the active node selects the optimal Bluetooth node based on the positioning result and transfers the Bluetooth connection to the optimal Bluetooth node. If the active node is not the central node, the central node selects the Bluetooth node based on the positioning result and sends a connection transfer command to the active node. The active node transfers the Bluetooth connection to the optimal Bluetooth node based on the connection transfer command. Specifically, the active node can send Bluetooth connection information and channel sounding configuration to the optimal Bluetooth node to transfer the Bluetooth connection to the optimal Bluetooth node. In this process, the Bluetooth connection does not need to be disconnected with the terminal, and the Bluetooth node is selected based on the positioning result, so that the new active node has a good ranging position with the terminal, achieving high-precision ranging.

[0075] In some specific embodiments, the active node or the central node can determine whether the terminal is out of the ranging range of the current ranging node based on the positioning result, the current ranging node being the active node and the passive node cooperating with it. When the terminal is far away from one or more nodes in the current ranging node, it will cause the positioning accuracy to decrease or be unable to position. In the case that the terminal is out of the ranging range of the current ranging node, the active node or the central node selects the Bluetooth node based on the positioning result. In some implementations, the active node or the central node can determine the moving direction of the terminal based on the positioning result at multiple times, and select the Bluetooth node based on the moving direction of the terminal and the distance between the terminal and the Bluetooth node. For example, in the positioning system 100 shown in FIG. 1, if the current active node is Bluetooth node 110-4, the active node or the central node can determine that the terminal moves in the direction of Bluetooth node 110-6 based on the positioning result at multiple times, and the terminal is within the ranging range of Bluetooth node 110-6. Then the active node or the central node selects Bluetooth node 110-6 as the new active node. Figure 1 In the positioning system 100 shown in FIG. 1, if the current active node is Bluetooth node 110-4, the active node or the central node can determine that the terminal moves in the direction of Bluetooth node 110-6 based on the positioning result at multiple times, and the terminal is within the ranging range of Bluetooth node 110-6. Then the active node or the central node selects Bluetooth node 110-6 as the new active node.

[0076] In some specific implementations, the plurality of Bluetooth nodes are configured as a plurality of groups, the plurality of groups corresponding to a plurality of positioning ranges, and at least one Bluetooth node in each group belongs to at least two groups. The one or more passive nodes are Bluetooth nodes in the group to which the active node belongs, except for the active node. The current ranging node is a Bluetooth node in a group. The active node or the central node can select a Bluetooth node belonging to other groups within the group to which the active node belongs based on the positioning result, so as to perform ranging and positioning by the Bluetooth node in the other group.

[0077] In some embodiments, the active node can synchronize clocks with the one or more passive nodes, share channel sounding configuration with the one or more passive nodes, the channel sounding configuration can include timing, frequency and configuration parameters of the channel sounding procedure. By synchronizing clocks and sharing channel sounding configuration, the passive nodes are ensured to be strictly synchronized with the active node and the terminal. After the clocks are synchronized and the channel sounding configuration is shared, the active node can perform channel sounding procedure and ranging with the terminal, and the one or more passive nodes can listen to the channel sounding procedure and ranging. The active node can generate a positioning result based on its ranging result and the ranging result of the one or more passive nodes.

[0078] In more specific embodiments, the active node can synchronize clocks with the passive nodes in the following way. The active node broadcasts a first synchronization frame to each passive node, and generates a transmission completion interrupt upon completion of transmission, and takes the time point of generating the transmission completion interrupt as a transmission completion time point. Each passive node receives the first synchronization frame, and generates a reception completion interrupt upon completion of reception, and takes the time point of generating the reception completion interrupt as a reception completion time point. The active node broadcasts a second synchronization frame to each passive node, wherein the second synchronization frame carries the transmission completion time point. Each passive node receives the second synchronization frame, and calibrates its clock based on the reception completion time point and the transmission completion time point carried by the second synchronization frame, so that the clock of the passive node is synchronized with the clock of the active node.

[0079] Embodiments of the present application provide a positioning method, applied to a Bluetooth node, the Bluetooth node can be Figure 1 Any Bluetooth node as shown in Figure 7 The positioning method comprises the following steps.

[0080] In step S701, the Bluetooth node synchronizes clocks with other Bluetooth nodes. The plurality of Bluetooth nodes can synchronize clocks in the manner described in the foregoing description of the present specification.

[0081] In step S702, the Bluetooth node transmits Bluetooth broadcast with other Bluetooth nodes, so that the terminal can establish Bluetooth connection with any Bluetooth node.

[0082] In some embodiments, the Bluetooth node and other Bluetooth nodes have the same broadcast address; wherein the Bluetooth node and other Bluetooth nodes transmitting Bluetooth broadcast comprises: the Bluetooth node transmitting Bluetooth broadcast in a broadcast time window of the Bluetooth node according to a broadcast interval, and transmitting an enable command and a disable command to each other Bluetooth node according to a broadcast time window of the other Bluetooth node, so that each other Bluetooth node starts to transmit Bluetooth broadcast after receiving the enable command, and stops transmitting Bluetooth broadcast after receiving the disable command.

[0083] If the positioning system includes a central node, the central node may send an enable command and a disable command to the corresponding other Bluetooth nodes according to the broadcast time window of each other Bluetooth node. In the case where the other Bluetooth nodes include the central node, the Bluetooth node sends a Bluetooth broadcast with the other Bluetooth nodes, including: the Bluetooth node starts sending the Bluetooth broadcast after receiving the enable command sent by the central node, and stops sending the Bluetooth broadcast after receiving the disable command sent by the central node, wherein the central node sends the Bluetooth broadcast according to the broadcast interval within its own broadcast time window, and sends the enable command and the disable command to the corresponding Bluetooth node according to the broadcast time window of each Bluetooth node.

[0084] In some specific embodiments, after the Bluetooth node is synchronized with the clocks of other Bluetooth nodes, it sends a Bluetooth broadcast at its own broadcast transmission time, wherein the broadcast transmission time of each Bluetooth node is different, and the broadcast transmission time of at least two Bluetooth nodes is located within a broadcast interval. More specifically, multiple Bluetooth nodes perform clock synchronization and set the broadcast transmission time of each Bluetooth node, wherein the broadcast transmission time of each Bluetooth node is different, and the broadcast transmission time of at least two Bluetooth nodes is located within a broadcast interval; each Bluetooth node sends a Bluetooth broadcast at its own broadcast transmission time. Figure 4 As shown, Bluetooth node 110-1, Bluetooth node 110-2, Bluetooth node 110-3, and Bluetooth node 110-4 send Bluetooth broadcasts in sequence within one broadcast interval. In this embodiment, at least two Bluetooth nodes send Bluetooth broadcasts within each broadcast interval, and access real-time performance is good.

[0085] Step S703: After the Bluetooth node establishes a Bluetooth connection with the terminal, the Bluetooth node, as an active node, collaborates with one or more passive nodes to perform and monitor the channel detection process to measure the distance of the terminal to generate a positioning result. The one or more passive nodes are one or more other Bluetooth nodes.

[0086] In some specific embodiments, the positioning method further includes step S704, in which, during the movement of the terminal, the Bluetooth node selects other Bluetooth nodes as the optimal Bluetooth node based on the positioning result, and transfers the Bluetooth connection to the optimal other Bluetooth node, making the optimal other Bluetooth node a new active node.

[0087] In a more specific embodiment, a Bluetooth node selects another Bluetooth node as the optimal Bluetooth node based on a positioning result and transfers the Bluetooth connection to the optimal other Bluetooth node, including: the Bluetooth node determines whether the terminal is beyond the ranging range of the current ranging node based on the positioning result, where the current ranging node is the Bluetooth node and its coordinated passive node. If the terminal is far away from one or more of the current ranging nodes, positioning accuracy will decrease or positioning will be impossible. If the terminal is beyond the ranging range of the current ranging node, the Bluetooth node selects another Bluetooth node based on the positioning result; and the Bluetooth node sends Bluetooth connection information and channel detection configuration to the optimal other Bluetooth node to transfer the Bluetooth connection to the optimal other Bluetooth node.

[0088] In some implementations, one of the multiple Bluetooth nodes is a central node, such as in a digital key application scenario. In this case, if the Bluetooth node is not the central node, the Bluetooth node selects another Bluetooth node based on the positioning result and transfers the Bluetooth connection to the optimal other Bluetooth node, including: the Bluetooth node receiving a connection transfer command sent by the central node, wherein the central node selects another Bluetooth node based on the positioning result and sends the connection transfer command to the Bluetooth node; and the Bluetooth node transfers the Bluetooth connection to the optimal other Bluetooth node based on the connection transfer command.

[0089] In some specific implementations, the Bluetooth node and other Bluetooth nodes are configured into multiple groups corresponding to multiple positioning ranges, with at least one Bluetooth node in each group belonging to at least two groups. One or more passive nodes are Bluetooth nodes other than the active node in the group to which the active node belongs. The current ranging node is a Bluetooth node within a group. Based on the positioning results, the active node or the central node can select Bluetooth nodes belonging to other groups within the group to which the active node belongs, so that the Bluetooth nodes in the other groups can perform ranging and positioning.

[0090] In some implementations, a Bluetooth node synchronizes its clock with other Bluetooth nodes in the following manner: if the Bluetooth node is a central node, the Bluetooth node broadcasts a first synchronization frame to other Bluetooth nodes, and generates a send completion interrupt when the sending is completed, and uses the moment when the send completion interrupt is generated as the send completion moment; the Bluetooth node broadcasts a second synchronization frame to other Bluetooth nodes, and the second synchronization frame carries the send completion moment; or if the Bluetooth node is not a central node, the Bluetooth node receives the first synchronization frame sent by the central node, and generates a receive completion interrupt when the receiving is completed, and uses the moment when the receive completion interrupt is generated as the receive completion moment; the Bluetooth node receives the second synchronization frame sent by the central node, and calibrates its own clock based on the receive completion moment and the send completion moment carried by the second synchronization frame; wherein, the central node broadcasts the first synchronization frame, and generates a send completion interrupt when the sending is completed, and uses the moment when the send completion interrupt is generated as the send completion moment.

[0091] In some embodiments, the Bluetooth node acts as an active node and cooperates with one or more passive nodes to execute and listen to the channel detection process to measure the distance of the terminal to generate a positioning result, including: the Bluetooth node and the one or more passive nodes perform clock synchronization and share channel detection configuration; the Bluetooth node and the terminal perform the channel detection process and measure the distance, and the one or more passive nodes listen to the channel detection process and measure the distance; the Bluetooth node generates a positioning result based on its own ranging result and the ranging results of the one or more passive nodes.

[0092] In some embodiments, one of the multiple Bluetooth nodes is a central node, such as in a digital key application scenario. In this case, if the Bluetooth node is not a central node, the Bluetooth node generates a positioning result based on its own ranging results and the ranging results of the one or more passive nodes, including: the Bluetooth node and the one or more passive nodes send the ranging results to the central node, so that the central node receives the ranging results and generates a positioning result.

[0093] The present application provides a Bluetooth node configured to implement the aforementioned positioning method. In some specific implementations, the Bluetooth node includes a processor and a memory, the memory being configured to store a computer program, and the processor being configured to invoke and execute the computer program stored in the memory to execute the corresponding processes and operations performed by the Bluetooth node in the positioning method provided in the present application. This information can be understood in conjunction with the foregoing description and will not be further described here for the sake of brevity.

[0094] An embodiment of the present application provides a positioning system, comprising a plurality of Bluetooth nodes, which are configured to execute the above-mentioned positioning method. The plurality of Bluetooth nodes are used to measure the distance and locate the terminal, and the plurality of Bluetooth nodes and the terminal all support Bluetooth communication functions. The Bluetooth node can establish a Bluetooth connection with the terminal, where the Bluetooth connection can be a BLE connection. The plurality of Bluetooth nodes are connected in communication. In some implementations, the plurality of Bluetooth nodes are connected by wire, for example, via a CAN bus. In some implementations, the plurality of Bluetooth nodes are connected wirelessly.

[0095] Multiple Bluetooth nodes can be set at different locations. For example, multiple Bluetooth nodes can be set at different locations around the vehicle to locate the position of the terminal serving as the vehicle digital key relative to the vehicle. For example, it can be located at which door the terminal serving as the vehicle digital key is located to perform operations such as unlocking the door and adjusting the seat.

[0096] Multiple Bluetooth nodes can be divided into multiple groups, each corresponding to multiple positioning ranges. Each positioning range has a Bluetooth node group. Positioning ranges partially overlap, and at least one Bluetooth node within a group belongs to at least two groups. When a terminal is within any positioning range, positioning is performed using the Bluetooth node group corresponding to that positioning range, achieving better positioning results. During terminal movement, the group used to locate terminal 200 can be switched to ensure that the terminal and the Bluetooth node being positioned are in an appropriate ranging position.

[0097] In some embodiments, one of the multiple Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes. In the vehicle digital key application, the central node can serve as the central control unit or the main control module in the vehicle, responsible for managing and coordinating the communication and operation between the various subsystems of the vehicle, such as controlling the opening and closing of vehicle door locks and other functions. The terminal can be any electronic device, such as a mobile terminal, which can serve as a vehicle digital key and can include but is not limited to a mobile phone, a car key, etc. In an embodiment of the present application, both the central node and the anchor node can establish a Bluetooth connection with the terminal.

[0098] The above is only a preferred embodiment of the present application and does not constitute any form of limitation to the present application. Although the present application has been disclosed as above with preferred embodiments, it is not intended to limit the present application. Any person skilled in the art can make some changes or modifications to equivalent embodiments using the technical contents disclosed above without departing from the scope of the technical solution of the present application. However, any brief modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present application without departing from the content of the technical solution of the present application are still within the scope of the technical solution of the present application.

Claims

1. A positioning method, characterized in that: Applied to a positioning system including multiple Bluetooth nodes, the positioning method includes: The multiple Bluetooth nodes perform clock synchronization; The multiple Bluetooth nodes send Bluetooth broadcasts to enable the terminal to establish a Bluetooth connection with any Bluetooth node; After any one of the multiple Bluetooth nodes establishes a Bluetooth connection with the terminal, the Bluetooth node that establishes a Bluetooth connection with the terminal acts as an active node to cooperate with one or more passive nodes to execute and monitor the channel detection process to measure the distance to the terminal to generate a positioning result, wherein the one or more passive nodes are one or more Bluetooth nodes other than the active node.

2. The positioning method according to claim 1, wherein: Also includes: During the movement of the terminal, an optimal Bluetooth node is selected based on the positioning result, and the Bluetooth connection is transferred to the selected optimal Bluetooth node, so that the selected optimal Bluetooth node serves as a new active node.

3. The positioning method according to claim 2, wherein: Selecting an optimal Bluetooth node based on the positioning result, and transferring the Bluetooth connection to the selected optimal Bluetooth node, comprising: Determining whether the terminal exceeds a ranging range of a current ranging node based on the positioning result, the current ranging node being the active node and a passive node coordinated therewith; In the case where the terminal is beyond the ranging range of the current ranging node, selecting an optimal Bluetooth node based on the positioning result; The Bluetooth connection information and the channel detection configuration are sent to the selected optimal Bluetooth node to transfer the Bluetooth connection to the selected optimal Bluetooth node.

4. The positioning method according to claim 2, wherein: The multiple Bluetooth nodes are configured into multiple groups, the multiple groups correspond to multiple positioning ranges, and at least one Bluetooth node in each group belongs to at least two groups; The one or more passive nodes are Bluetooth nodes in the group to which the active node belongs, excluding the active node; The active node selects a Bluetooth node belonging to another group within its group based on the positioning result, so that the Bluetooth node of the other group performs positioning.

5. The positioning method according to claim 2, wherein: One of the multiple Bluetooth nodes is a central node; wherein, selecting an optimal Bluetooth node based on the positioning result, and transferring the Bluetooth connection to the selected optimal Bluetooth node, comprises: The central node selects an optimal Bluetooth node based on the positioning result and sends a connection transfer command to the active node; The active node transfers the Bluetooth connection to the selected optimal Bluetooth node based on the connection transfer command.

6. The positioning method according to any one of claims 1 to 5, characterized in that: The broadcasting addresses of the multiple Bluetooth nodes are the same; wherein the multiple Bluetooth nodes send Bluetooth broadcasts, including: The multiple Bluetooth nodes sequentially send Bluetooth broadcasts within their respective broadcast time windows according to the broadcast interval, wherein the broadcast time windows of the multiple Bluetooth nodes do not overlap; or The multiple Bluetooth nodes send Bluetooth broadcasts in sequence in each broadcast interval, wherein at least two Bluetooth nodes send Bluetooth broadcasts in each broadcast interval.

7. The positioning method according to claim 6, wherein: One of the multiple Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; wherein the multiple Bluetooth nodes sequentially send Bluetooth broadcasts within their respective broadcast time windows according to the broadcast interval, including: The central node sends Bluetooth broadcasts according to the broadcast interval within its own broadcast time window, and sends enable commands and disable commands to the corresponding anchor nodes according to the broadcast time window of each anchor node; Each anchor node starts sending Bluetooth broadcasts after receiving the enable command, and stops sending Bluetooth broadcasts after receiving the disable command.

8. The positioning method according to claim 6, wherein: The multiple Bluetooth nodes sequentially send Bluetooth broadcasts within each broadcast interval, including: After the multiple Bluetooth nodes are clock-synchronized, setting a broadcast transmission time of each Bluetooth node, wherein the broadcast transmission time of each Bluetooth node is different, and the broadcast transmission time of at least two Bluetooth nodes is within a broadcast interval; Each Bluetooth node sends a Bluetooth broadcast at its own broadcast transmission time.

9. The positioning method according to any one of claims 1 to 5, characterized in that: One of the multiple Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; wherein the multiple Bluetooth nodes perform clock synchronization, including: The central node broadcasts the first synchronization frame to each anchor node, and generates a sending completion interrupt when the sending is completed, and uses the time when the sending completion interrupt is generated as the sending completion time; Each anchor node receives the first synchronization frame, generates a reception completion interrupt when reception is completed, and uses the time when the reception completion interrupt is generated as the reception completion time; The central node broadcasts a second synchronization frame to each anchor node, wherein the second synchronization frame carries the sending completion time; Each anchor node receives the second synchronization frame, and calibrates its own clock based on the reception completion time and the sending completion time carried in the second synchronization frame.

10. The positioning method according to any one of claims 1 to 5, characterized in that: The Bluetooth node establishing the Bluetooth connection acts as an active node and cooperates with one or more passive nodes to execute and monitor a channel detection process to measure the distance of the terminal to generate a positioning result, including: The active node performs clock synchronization and shared channel detection configuration with one or more passive nodes; The active node performs a channel detection process and performs ranging with the terminal, and the one or more passive nodes monitor the channel detection process and perform ranging; A positioning result is generated based on the ranging result of the active node and the ranging results of the one or more passive nodes.

11. The positioning method according to claim 10, wherein: One of the multiple Bluetooth nodes is a central node; if the active node is not a central node, generating a positioning result based on a ranging result of the active node and a ranging result of the one or more passive nodes, including: The active node and the one or more passive nodes send ranging results to the central node; The central node receives the ranging result and generates a positioning result.

12. A positioning method, characterized in that: Applied to a Bluetooth node, the positioning method includes: The Bluetooth node performs clock synchronization with other Bluetooth nodes; The Bluetooth node sends a Bluetooth broadcast to the other Bluetooth nodes, so that the terminal can establish a Bluetooth connection with any Bluetooth node; After the Bluetooth node establishes a Bluetooth connection with the terminal, the Bluetooth node acts as an active node to cooperate with one or more passive nodes to execute and monitor the channel detection process to measure the distance of the terminal to generate a positioning result, wherein the one or more passive nodes are one or more other Bluetooth nodes.

13. The positioning method according to claim 12, wherein: The positioning method further includes: During the movement of the terminal, the Bluetooth node selects an optimal Bluetooth node based on the positioning result, and transfers the Bluetooth connection to the selected optimal Bluetooth node, making the selected optimal Bluetooth node a new active node.

14. The positioning method according to claim 13, wherein: The Bluetooth node selects an optimal Bluetooth node based on the positioning result, and transfers the Bluetooth connection to the selected optimal Bluetooth node, including: The Bluetooth node determines, based on the positioning result, whether the terminal exceeds a ranging range of a current ranging node, where the current ranging node is the Bluetooth node and a passive node cooperating therewith; In a case where the terminal is beyond the ranging range of the current ranging node, the Bluetooth node selects an optimal Bluetooth node based on the positioning result; The Bluetooth node sends Bluetooth connection information and channel detection configuration to the selected optimal Bluetooth node, so as to transfer the Bluetooth connection to the selected optimal Bluetooth node.

15. The positioning method according to claim 13, wherein: One of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; if the Bluetooth node is not a central node, the Bluetooth node selects an optimal Bluetooth node based on the positioning result, and transfers the Bluetooth connection to the selected optimal Bluetooth node, including: The Bluetooth node receives a connection transfer command sent by the central node, wherein the central node selects an optimal Bluetooth node based on the positioning result and sends the connection transfer command to the Bluetooth node; The Bluetooth node transfers the Bluetooth connection to the selected optimal Bluetooth node based on the connection transfer command.

16. The positioning method according to any one of claims 12 to 14, characterized in that: One of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; the Bluetooth node and the other Bluetooth nodes have the same broadcast address; wherein the Bluetooth node and the other Bluetooth nodes send Bluetooth broadcasts, including: If the Bluetooth node is a central node, the Bluetooth node sends Bluetooth broadcasts according to the broadcast interval within its own broadcast time window, and sends an enable command and a disable command to the corresponding other Bluetooth nodes according to the broadcast time window of each other Bluetooth node, so that each other Bluetooth node starts sending Bluetooth broadcasts after receiving the enable command and stops sending Bluetooth broadcasts after receiving the disable command; or If the Bluetooth node is not a central node, the Bluetooth node starts sending Bluetooth broadcasts after receiving an enable command sent by the central node, and stops sending Bluetooth broadcasts after receiving a disable command sent by the central node, wherein the central node sends Bluetooth broadcasts according to the broadcast interval within its own broadcast time window, and sends the enable command and the disable command to the corresponding Bluetooth node according to the broadcast time window of each Bluetooth node; or After being synchronized with other Bluetooth nodes, the Bluetooth node sends Bluetooth broadcasts at its own broadcast sending time, wherein the broadcast sending time of each Bluetooth node is different, and the broadcast sending times of at least two Bluetooth nodes are located in one broadcast interval.

17. The positioning method according to any one of claims 12 to 14, characterized in that: One of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; and clock synchronization between the Bluetooth node and the other Bluetooth nodes includes: If the Bluetooth node is a central node, the Bluetooth node broadcasts a first synchronization frame to other Bluetooth nodes and generates a sending completion interrupt when sending is completed, and uses the time when the sending completion interrupt is generated as the sending completion time; the Bluetooth node broadcasts a second synchronization frame to other Bluetooth nodes, and the second synchronization frame carries the sending completion time; or If the Bluetooth node is not a central node, the Bluetooth node receives a first synchronization frame sent by the central node and generates a reception completion interrupt when the reception is completed, and uses the time when the reception completion interrupt is generated as the reception completion time; the Bluetooth node receives a second synchronization frame sent by the central node, and calibrates its own clock based on the reception completion time and the transmission completion time carried by the second synchronization frame; wherein, the central node broadcasts the first synchronization frame and generates a transmission completion interrupt when the transmission is completed, and uses the time when the transmission completion interrupt is generated as the transmission completion time.

18. The positioning method according to any one of claims 12 to 14, characterized in that: The Bluetooth node acts as an active node and cooperates with one or more passive nodes to perform and monitor a channel detection process to measure the distance of the terminal to generate a positioning result, including: The Bluetooth node performs clock synchronization and shared channel detection configuration with one or more passive nodes; The Bluetooth node performs a channel detection process and distance measurement with the terminal, and the one or more passive nodes monitor the channel detection process and distance measurement; The Bluetooth node generates a positioning result based on its own ranging result and the ranging results of the one or more passive nodes.

19. The positioning method according to claim 18, wherein: One of the Bluetooth node and the other Bluetooth nodes is a central node, and the remaining Bluetooth nodes are anchor nodes; if the Bluetooth node is not a central node, the positioning method includes: The Bluetooth node sends the ranging result to the central node, so that the central node receives the ranging result and generates a positioning result.

20. A Bluetooth node, characterized in that: The Bluetooth node is configured to execute the positioning method according to any one of claims 12 to 19.

21. A positioning system, characterized in that: The method comprises a plurality of Bluetooth nodes, wherein the plurality of Bluetooth nodes are configured to execute the positioning method according to any one of claims 1 to 11.