Positioning method and device and intelligent wearable equipment
Automatically update the auxiliary positioning data through the custom communication protocol between smart wearable devices, the problem of slow GPS positioning speed is solved and fast and effective positioning is achieved.
Patent Information
- Application Number
- CN202410105278.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-24
- Publication Date
- 2025-07-25
AI Technical Summary
Existing smart wearable devices are slow to position through GPS technology, and usually take several minutes or even ten minutes to complete positioning, which affects the user experience, and cannot quickly obtain auxiliary positioning data without a mobile phone or poor signal.
The timestamp of the auxiliary positioning data is automatically broadcasted between smart wearable devices through custom communication protocols. Other devices update their auxiliary positioning data based on the timestamp to ensure that the latest version of the auxiliary positioning data is obtained to speed up the positioning speed.
It realizes automatic update of auxiliary positioning data without the user's perception, improves the positioning speed and data acquisition effectiveness, and reduces the problem of slow positioning speed.
Smart Images

Figure CN120379023A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of positioning technology, and more particularly, to a positioning method, apparatus, smart wearable device, and storage medium. Background Art
[0002] With the increasing richness of the functions of smart wearable devices, their applications have become more and more extensive. For example, most current smart wearable devices can support a positioning function, so that users can use the positioning function of the smart wearable device to achieve positioning and record their own movement trajectories when doing outdoor sports.
[0003] Currently, most smart wearable devices achieve positioning through GPS technology. The GPS chip in the smart wearable device can receive signals emitted by satellites, parse the signals, determine the ephemeris file of the satellites, and then search for at least four suitable satellites based on the ephemeris file, and determine its own position information based on the distances between itself and these at least four satellites. Since the process of the GPS chip receiving signals from satellites and determining suitable satellites takes a long time and is slow, the positioning speed of current smart wearable devices is very slow, often taking several minutes or even more than ten minutes to complete positioning, seriously affecting the user experience. Summary of the Invention
[0004] In view of this, the present application provides a positioning method, apparatus, smart wearable device, and storage medium.
[0005] According to a first aspect of the present application, there is provided a positioning method, which is applicable to a target smart wearable device, and the method includes:
[0006] Receiving data packets broadcast by other smart wearable devices around, where the received data packets at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the other smart wearable devices, where the auxiliary positioning data can be used to assist the smart wearable device in positioning, and the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data;
[0007] Obtaining target auxiliary positioning data from the other smart wearable devices based on the timestamps, and using the obtained target auxiliary positioning data to update the corresponding type of auxiliary positioning data stored in itself;
[0008] After the positioning function of the target smart wearable device is turned on, using the updated auxiliary positioning data to determine the position information of the target smart wearable device.
[0009] According to a second aspect of the present application, there is provided a positioning apparatus, which is applicable to a target smart wearable device, and the apparatus includes:
[0010] A receiving module, configured to receive data packets broadcast by other surrounding smart wearable devices. The received data packets at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the other smart wearable devices. The auxiliary positioning data can be used to assist the smart wearable device in positioning, and the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data;
[0011] An obtaining module, configured to obtain target auxiliary positioning data from the other smart wearable devices based on the timestamps, and update the corresponding type of auxiliary positioning data stored in itself by using the obtained target auxiliary positioning data;
[0012] An updating module, configured to determine the position information of the target smart wearable device by using the updated auxiliary positioning data after the positioning function of the target smart wearable device is turned on.
[0013] According to a third aspect of the present application, there is provided a smart wearable device, which includes a processor, a memory, and a computer program stored in the memory and executable by the processor. When the processor executes the computer program, the method mentioned in the first aspect above is implemented.
[0014] According to a fourth aspect of the present application, there is provided a computer-readable storage medium, on which a computer program is stored. When the computer program is executed, the method mentioned in the first aspect above is implemented.
[0015] By applying the solution provided by the present application, different smart wearable devices can communicate through a custom communication protocol. Based on this communication protocol, each smart wearable device can automatically broadcast data packets, which at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the smart wearable device. The timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data. After receiving the data packets broadcast by the smart wearable device, other smart wearable devices can determine whether the auxiliary positioning data in the data packets is later than the generation time of the corresponding type of auxiliary positioning data stored in itself, that is, whether it is a newer version of the auxiliary positioning data. If so, the corresponding type of auxiliary positioning data stored in itself is updated by using the newer version of the auxiliary positioning data.
[0016] In this way, the smart wearable device can automatically obtain the latest auxiliary positioning data from the surrounding smart wearable devices. Without the need for the user to manually establish a connection, the automatic update of the auxiliary positioning data can be achieved without the user's awareness, which is more convenient and faster. Moreover, since there are usually more than one smart wearable device in the surrounding area, that is, the auxiliary positioning data information stored in multiple other smart wearable devices can be interconnected. Compared with obtaining auxiliary positioning data only from the mobile phone APP, the probability of obtaining effective auxiliary positioning data is higher, and the problem of slow positioning speed caused by the inability to obtain auxiliary positioning data can be reduced.
[0017] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit this specification. Brief Description of the Drawings
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0019] Figure 1 It is a schematic diagram of an application scenario of an embodiment of the present application.
[0020] Figure 2 It is a flowchart of a positioning method of an embodiment of the present application.
[0021] Figure 3 It is a schematic diagram of the fields included in the broadcast data packet of an embodiment of the present application.
[0022] Figure 4 It is a schematic diagram of the fields included in the broadcast data packet of an embodiment of the present application.
[0023] Figure 5 It is a flowchart of a positioning method of an embodiment of the present application.
[0024] Figure 6 It is a schematic diagram of the logical structure of a positioning device of an embodiment of the present application.
[0025] Figure 7 It is a schematic diagram of the logical structure of a smart wearable device of an embodiment of the present application. Detailed Embodiments
[0026] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0027] With the increasing richness of the functions of smart wearable devices, their applications are becoming more and more widespread. For example, most current smart wearable devices can support the positioning function, so that users can use the positioning function of the smart wearable device to achieve positioning and record their own movement trajectories when doing outdoor sports.
[0028] Currently, most smart wearable devices achieve positioning through GPS technology. The GPS chip in the smart wearable device can receive the signals transmitted by satellites, parse the signals, and determine the ephemeris file of the satellites. Among them, the ephemeris file includes the movement orbit and position information of the satellites. The smart wearable device can determine at least four appropriate satellites based on the ephemeris file, and determine its own position information based on the distances between itself and these at least four satellites. Since the process of the GPS chip receiving signals from satellites and determining appropriate satellites takes a long time and is slow, the positioning speed of current smart wearable devices is very slow, often taking several minutes or even more than ten minutes to complete positioning, seriously affecting the user experience.
[0029] In order to speed up the positioning speed of smart wearable devices, some technologies can establish a connection between the smart wearable device and the APP in the user's mobile phone for managing the smart wearable device, and obtain auxiliary positioning data such as the ephemeris file stored in the mobile phone and the position information of the mobile phone to assist the smart wearable device in achieving positioning. For example, the smart wearable device can quickly lock appropriate satellites based on the ephemeris file and the position information of the mobile phone obtained from the mobile phone (which is actually the approximate position information of the smart wearable device), and determine its own position information based on the distances between itself and these satellites, so that it is not necessary to traverse all satellites and then determine appropriate satellites, which can greatly improve the positioning speed.
[0030] However, since users may not carry their mobile phones after wearing smart wearable devices during exercise, or the mobile phone network where the user is currently located is poor (such as in mountainous areas and other areas with poor signals), it is impossible to obtain auxiliary positioning data. In addition, if the smart wearable device wants to obtain positioning data from the mobile phone, the user needs to manually operate in advance to connect the smart wearable device and the APP on the mobile phone. If the user forgets to operate, or the APP on the mobile phone fails or crashes for various reasons, it is also impossible to obtain auxiliary positioning data, resulting in a relatively slow positioning speed of the smart wearable device and affecting the user experience.
[0031] Based on this, an embodiment of the present application provides a positioning method for a smart wearable device. As Figure 1 shown, different smart wearable devices can communicate with each other through a custom communication protocol. Based on this communication protocol, each smart wearable device can automatically broadcast data packets, and the data packets at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the smart wearable device. Among them, the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data. After receiving the data packets broadcast by the smart wearable device, other smart wearable devices can determine whether the auxiliary positioning data is later than the generation time of the corresponding type of auxiliary positioning data stored in itself, that is, whether it is a newer version of the auxiliary positioning data, based on the timestamps of the auxiliary positioning data in the data packets. If so, the auxiliary positioning data of the newer version is used to update the auxiliary positioning data stored in itself.
[0032] In this way, the smart wearable device can automatically obtain the latest auxiliary positioning data from the surrounding smart wearable devices, which can ensure the validity of the obtained auxiliary positioning data, and use these auxiliary positioning data for positioning to improve the positioning speed. In this way, the user does not need to manually establish a connection, and the automatic update of the auxiliary positioning data can be realized without the user's awareness, which is more convenient and fast. And because there are usually more than one smart wearable device around, that is, the auxiliary positioning data information stored in multiple other smart wearable devices can be interconnected. Compared with obtaining auxiliary positioning data only from the mobile phone APP, the probability of obtaining effective auxiliary positioning data is higher, and the problem of slow positioning speed due to the inability to obtain auxiliary positioning data can be reduced.
[0033] The positioning method for the smart wearable device provided in the embodiment of the present application can be executed by a smart wearable device, and the smart wearable device can be various devices with positioning functions such as a smart watch, a smart bracelet, and smart glasses.
[0034] As Figure 2 shown, the positioning method provided in the embodiment of the present application may include the following steps:
[0035] S202. Receive data packets broadcast by other surrounding smart wearable devices. The received data packets at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the other smart wearable devices. Among them, the auxiliary positioning data can be used to assist the smart wearable device in positioning, and the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data;
[0036] In step S202, to facilitate the intercommunication of auxiliary positioning data between different smart wearable devices, the smart wearable devices can communicate through a custom communication protocol. For example, the communication protocol can be a custom Wi-Fi protocol, a Bluetooth protocol, or other wireless communication protocols that can achieve short-range communication. The custom communication protocol stipulates that the smart wearable devices can automatically broadcast data packets externally, and the fields included in the data packets can be predefined. For example, for each smart wearable device, to facilitate other smart wearable devices to understand the current situation of the auxiliary positioning data stored therein, the data packet can at least include the timestamps of one or more of the latest auxiliary positioning data currently stored in the smart wearable device. Among them, the timestamp of each auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data, so as to facilitate the smart wearable device to obtain the latest version of the auxiliary positioning data based on the timestamp for use in assisting its own positioning. Among them, the auxiliary positioning data can be various data that can assist the smart wearable device to achieve rapid positioning. For example, it can be an ephemeris file, location information indicating the approximate location where the smart wearable device is currently located, or the local clock of the smart wearable device, etc.
[0037] Generally, the ephemeris file includes the orbital information and location information of the satellites. Based on the ephemeris file, the position of the satellites can be determined, and then based on the distance between the satellites and the smart wearable device, the position of the smart wearable device can be determined. In addition, since there are a large number of satellites in the sky, when using satellites to position the smart wearable device, at least four appropriate satellites need to be selected, and the position information of the smart wearable device is determined based on the distance between the smart wearable device and these at least four satellites. If the current position information of the smart wearable device is known, the appropriate at least four satellites can be determined from multiple satellites faster based on the current position information of the smart wearable device for positioning. Generally, since the distance between smart wearable devices that can communicate is relatively close, the latest position information of other smart wearable devices can be regarded as the current position information of this smart device. In addition, considering that the local clock on the smart wearable device may lag, and the longer the time, the longer the lag time, and the local clock of the smart wearable device is also used when implementing positioning, therefore, the local clock of itself can also be updated based on the local clock of other smart wearable devices to solve the problem of inaccurate local clock of other smart wearable devices.
[0038] Therefore, the auxiliary positioning data can be one or more of the local clock of the smart wearable device, the latest position information, and the ephemeris file. For example, the data packet broadcast by each smart wearable device can include the timestamps of the above three types of auxiliary positioning data at the same time, or can only include the timestamps of one or two of the auxiliary positioning data. Of course, the above are only exemplary examples, and the auxiliary positioning data can also include other types of data other than the above three types of auxiliary positioning data.
[0039] Of course, in some scenarios, the broadcast data packet may include not only the timestamp of the auxiliary positioning data, but also the auxiliary positioning data, which can be specifically set based on actual requirements.
[0040] The following takes the positioning process of one of the intelligent wearable devices (hereinafter referred to as the target intelligent wearable device) as an example for introduction. The target intelligent wearable device can receive the data packets broadcast by other intelligent wearable devices around it. The received data packets at least include the timestamps of one or more types of the latest auxiliary positioning data currently stored in other intelligent wearable devices. For example, other intelligent wearable devices can pack the timestamps of all the auxiliary positioning data they store into the data packet, or only pack the timestamps of a part of the auxiliary positioning data into the data packet.
[0041] Among them, the received data packets can be one or more. For example, they can be the data packets broadcast by multiple other intelligent wearable devices around.
[0042] S204. Obtain target auxiliary positioning data from the other intelligent wearable devices based on the timestamp, and update the corresponding type of auxiliary positioning data stored in itself by using the obtained target auxiliary positioning data;
[0043] In step S204, after the target intelligent wearable device receives the data packets broadcast by other intelligent wearable devices around it, it can determine the target auxiliary positioning data based on the timestamp of the auxiliary positioning data included in the data packet, so as to obtain the target auxiliary positioning data stored in other intelligent wearable devices. Among them, the target auxiliary positioning data can be the auxiliary positioning data that is valid and whose generation time is later than the generation time of the corresponding type of auxiliary positioning data stored in itself, that is, it is convenient for the target intelligent wearable device to obtain the latest version or a relatively new version of the auxiliary positioning data. Then, the corresponding type of auxiliary positioning data stored in itself can be updated by using the obtained target auxiliary positioning data.
[0044] For example, taking the ephemeris file as the auxiliary positioning data, if the timestamp of the ephemeris file included in the received data packet is greater than the timestamp of the ephemeris file stored in itself, it means that the ephemeris file stored in itself is not the latest version of the ephemeris file. At this time, this ephemeris file can be used as the target auxiliary positioning data. If the ephemeris file is also included in the data packet, the ephemeris file can be directly obtained from the data packet. If the ephemeris file is not included in the data packet, the ephemeris file can be obtained again from other intelligent wearable devices, and then the ephemeris file stored in itself can be updated by using this ephemeris file to ensure that the ephemeris file stored in itself is the latest or a relatively new version of the ephemeris file.
[0045] For each type of auxiliary positioning data stored in the target smart wearable device, it can be updated through the above method to ensure that each type of auxiliary positioning data stored in itself is the latest version of valid data.
[0046] S206. After the positioning function of the target smart wearable device is turned on, use the updated auxiliary positioning data to determine the position information of the target smart wearable device.
[0047] In step S206, after the positioning function of the target smart wearable device is turned on, the position information of the target smart wearable device can be determined by using the updated auxiliary positioning data. For example, taking the target smart wearable device as a Bluetooth watch, after the Bluetooth watch turns on the GPS sports function, the updated auxiliary positioning information can be used to perform real-time positioning on the Bluetooth watch, thereby generating the user's movement trajectory.
[0048] In some embodiments, considering that the battery capacity of smart wearable devices is often small, in order to ensure that smart wearable devices have a long battery life, the power consumption when smart wearable devices communicate with each other can be made as small as possible. Therefore, the files in the data packets broadcast by smart wearable devices cannot be too large, that is, the data volume cannot be too large. Therefore, when designing the communication protocol between smart wearable devices, the auxiliary positioning data can be classified into a first type of auxiliary positioning data with a data volume smaller than a preset data volume and a second type of auxiliary positioning data with a data volume greater than or equal to the preset data volume. Among them, for the first type of auxiliary positioning data, considering its small data volume, it can be packed in the broadcast data packet and directly transmitted to other smart wearable devices by the smart wearable device in a broadcast manner. For the second type of auxiliary positioning data, considering its large data volume, it can be packed in the broadcast data packet to ensure that the data volume of the broadcast data packet is not too large, saving signal transmission power consumption. For example, as Figure 3 shown, the target smart wearable device communicates with other surrounding smart wearable devices through a custom communication protocol. The broadcast data packet includes the fields defined by the custom communication protocol, and the fields include the timestamp of the first type of auxiliary positioning data, the timestamp of the second type of auxiliary positioning data, and the first type of auxiliary positioning data. Among them, the preset data volume can be set based on actual needs, and the embodiments of the present application do not make any restrictions.
[0049] In some embodiments, the custom communication protocol can be a custom low-power Bluetooth protocol.
[0050] For example, in some embodiments, for the first type of auxiliary positioning data, the broadcast data packet may include the timestamp of the first type of auxiliary positioning data and the first type of auxiliary positioning data. After receiving the broadcast data packet, the target smart wearable device may determine whether the timestamp of the first type of auxiliary positioning data in the data packet is greater than the timestamp of the corresponding type of auxiliary positioning data stored in itself. If it is greater, the first type of auxiliary positioning data in the data packet is used as the target auxiliary positioning data, and the first type of auxiliary positioning data is obtained from the data packet, and then the corresponding type of auxiliary positioning data stored in itself is updated.
[0051] Taking the first type of auxiliary positioning data as the latest location information of other smart wearable devices as an example, the broadcast data packet of other smart wearable devices may include the latest location P1 and its corresponding timestamp T1. After receiving the broadcast data packet, the target smart wearable device may determine its own stored latest location information P2 and its corresponding timestamp T2. By comparing T1 and T2, if it is determined that T1 is greater than T2, it means that the generation time of the location information stored in other smart devices is later than the generation time of the location information stored in the target smart wearable device, that is, the location information stored in the target smart device may have expired or has not been updated in time. At this time, P1 can be updated with P2, that is, the location information stored in the target smart device is updated with the location information stored in other smart wearable devices.
[0052] In some embodiments, for the second type of auxiliary positioning data, since its data volume is large, the broadcast data packet may only include the timestamp of the second type of auxiliary positioning data. After the target smart wearable device determines that the second type of auxiliary positioning data is available based on the timestamp, the data is transmitted to avoid excessive data volume of the broadcast data packet. After receiving the broadcast data packet, the target smart wearable device may determine whether the timestamp of the second type of auxiliary positioning data in the data packet is greater than the timestamp of the corresponding type of auxiliary positioning data stored in itself. If it is greater, the second type of auxiliary positioning data is used as the target auxiliary positioning data, and then a connection can be established with other smart wearable devices that sent the data packet, and the second type of auxiliary positioning data is obtained from other smart wearable devices based on the established connection. By establishing a dedicated connection for transmitting auxiliary positioning data with a large data volume, the data transmission rate can be increased and the update efficiency of the auxiliary positioning data can be improved.
[0053] In some embodiments, considering that ephemeris files are often large while data such as local clocks and location information is small, thus, the first type of assisted positioning data can be one or more of the following: local clocks of other smart wearable devices, the latest location information of other smart wearable devices. The second type of assisted positioning data can be the latest ephemeris file stored in other smart wearable devices.
[0054] In some embodiments, there may be multiple other smart wearable devices around the target smart wearable device. Thus, at the same time or within the same time period, the target smart wearable device may receive multiple data packets, each data packet being broadcast by one other smart wearable device. When the target smart wearable device obtains target assisted positioning data from other smart wearable devices based on timestamps, for each type of assisted positioning data stored in itself, it can first determine a target data packet from the multiple received data packets, where the timestamp of the assisted positioning data in the target data packet is greater than the timestamp of the corresponding type of assisted positioning data stored in itself, and the timestamp of the assisted positioning data in the target data packet is greater than the timestamp of the assisted positioning data in other data packets among the multiple data packets. That is, the target smart wearable device can obtain a target data packet from the multiple data packets whose generation time is later than the generation time of its own same-type assisted positioning data and whose generation time is the latest.
[0055] If the target data packet includes this type of assisted positioning data, then use the assisted positioning data in the target data packet as the target assisted positioning data to update the assisted positioning data stored in itself. If the target data packet does not include this type of assisted positioning data, then obtain this type of assisted positioning data from the other smart wearable device that sent the target data packet as the target assisted positioning data to update the assisted positioning data stored in itself.
[0056] In some embodiments, in addition to receiving data packets broadcast by other smart wearable devices around it to update the assisted positioning data stored in itself, the target smart wearable device can also package the timestamp of the assisted positioning data stored in itself and / or the assisted positioning data into a data packet and broadcast it so that other smart wearable devices can use the data packet to update their own assisted positioning data. For example, in some scenarios, the target smart wearable device can package the latest assisted positioning data currently stored in itself and / or the timestamp of the assisted positioning data into a data packet at a preset time interval and broadcast the packaged data packet. For example, it can package the timestamp of the latest first type of assisted positioning data currently stored in itself, the first type of assisted positioning data, and the timestamp of the second type of assisted positioning data into a data packet according to the format of the data packet specified by a custom communication protocol every 10 seconds and then broadcast it.
[0057] In some scenarios, in order to save power consumption, after the target smart wearable device detects that the auxiliary positioning data stored in itself has been updated, it can also pack the updated auxiliary positioning data and / or the timestamp of the auxiliary positioning data into a data packet and broadcast the packed data packet. For example, the timestamp of the updated first type of auxiliary positioning data and the first type of auxiliary positioning data can be packed into a data packet; or the timestamp of the updated second type of auxiliary positioning data can be packed into a data packet and then broadcast.
[0058] For example, taking the auxiliary positioning data as its own location information, if it is detected that its own location information has been updated, the updated location information and the timestamp of the location information are packed into a data packet and then broadcast.
[0059] In some embodiments, the auxiliary positioning data stored in the target smart wearable device itself includes the latest location information of the target smart wearable device, and the latest location information can be determined by the target smart wearable device itself through positioning its own location information. Alternatively, the latest location information can also be obtained by the target smart wearable device from other surrounding devices. For example, the target smart wearable can be connected to the user's mobile phone and obtain the location information of the mobile phone from the user's mobile phone, and then use the location information of the mobile phone as its own location information and store it.
[0060] In some embodiments, the auxiliary positioning data stored in the target smart wearable device itself includes the latest location information of the target smart wearable device. If the target smart wearable device has never been successfully positioned after being turned on, it means that the location information stored in the smart wearable device may be the location information from a long time ago and this location information has expired. Therefore, the timestamp of the latest location information can be set to 0.
[0061] In some embodiments, the auxiliary positioning data stored in the target smart wearable device itself includes an ephemeris file. Considering that an ephemeris file usually has a valid time, for example, the valid time of a 7-day ephemeris file is usually 7 days. Therefore, if it is determined that the currently stored ephemeris file is in an expired state, the timestamp of the ephemeris file can be set to 0.
[0062] In some embodiments, after receiving a data packet broadcast by other surrounding smart wearable devices each time, the target smart wearable device can perform an operation of updating the auxiliary positioning data stored therein based on the timestamp of the auxiliary positioning data in the data packet. In some embodiments, to save power consumption, the target smart wearable device can also perform the subsequent operation of updating the auxiliary positioning data stored therein based on the timestamp of the auxiliary positioning data in the data packet when it detects that its positioning duration exceeds a preset duration. For example, if the target smart wearable device finds that its positioning duration is relatively long, that is, the positioning speed is slow, it indicates that the auxiliary positioning data stored therein has become invalid. At this time, it can obtain the auxiliary positioning data from other surrounding smart wearable devices to update the auxiliary positioning data stored therein.
[0063] To further explain the positioning method provided by the embodiments of the present application, the following is explained with reference to a specific embodiment.
[0064] Current Bluetooth watches usually support outdoor sports functions, such as outdoor running, brisk walking, etc. Such applications will record the user's trajectory by enabling GPS to enhance the user's sense of achievement. However, due to the slow GPS positioning speed of Bluetooth watches, which usually takes several minutes or even more than ten minutes, the user experience is relatively poor. Of course, to improve the positioning speed of the Bluetooth watch, the user can also establish a connection between the Bluetooth watch and the APP in their own mobile phone. The Bluetooth watch can obtain auxiliary positioning data from the mobile phone APP to increase the positioning speed. However, this method requires the user to manually connect the Bluetooth watch and the mobile phone APP. If the user forgets to operate, the auxiliary positioning data cannot be obtained. Moreover, if the user does not carry the mobile phone or the mobile phone has no network (in areas with poor signals such as mountain forests), the auxiliary positioning data cannot be obtained, resulting in the still slow positioning speed of the Bluetooth watch.
[0065] Based on this, this embodiment provides a solution to accelerate the positioning speed of Bluetooth watches. Bluetooth watches can communicate based on a custom low-power Bluetooth protocol. This custom low-power Bluetooth protocol allows Bluetooth watches to package the auxiliary positioning data and timestamp stored therein into a data packet in a specified format and broadcast it. At the same time, it allows Bluetooth watches to automatically establish connections for data transmission. For example, as Figure 4 shown, the data packet specified by this custom low-power Bluetooth protocol may include the following fields: the local clock of the Bluetooth watch, the timestamp of the latest position information of the Bluetooth watch, the latest position information of the Bluetooth watch, and the timestamp of the ephemeris file stored in the Bluetooth watch.
[0066] Among them, the latest location information of the Bluetooth watch can be determined by self-positioning or obtained from other Bluetooth devices or the user's mobile phone APP. If the latest location information of the Bluetooth watch is the location information obtained by self-positioning, then if the Bluetooth watch has never been successfully positioned since it was powered on, the timestamp of this latest location information can be set to 0. Similarly, if the ephemeris file stored in the Bluetooth watch has expired, the timestamp of this ephemeris file can also be set to 0.
[0067] Each Bluetooth watch can pack the auxiliary positioning data stored in itself according to the format of the data packet specified in the above protocol and then broadcast it. For any Bluetooth watch, as Figure 5 shown, it can be determined whether the GPS positioning function is currently enabled. If the GPS positioning function is not enabled, after receiving the data packet broadcast by other Bluetooth watches, it can obtain the local clock T1 of other Bluetooth watches in the data packet and compare it with its own local clock T1'. If T1>T1', then use T1 to update its own local clock. If T1<T1', then execute the step of obtaining the timestamp T2 of the latest location information P of other Bluetooth watches in the data packet.
[0068] After completing the above steps, it can obtain the timestamp T2 of the latest location information P of other Bluetooth watches in the data packet and compare it with the timestamp T2' of the latest location information P' stored in itself. If T2>T2', then use P to update its own latest location information p'. Of course, after the latest location information is updated, its corresponding timestamp will also be updated adaptively. If T2<T2', then execute the step of obtaining the timestamp T3 of the ephemeris file X of other Bluetooth watches in the data packet.
[0069] After completing the above steps, it can obtain the timestamp T3 of the ephemeris file X of other Bluetooth watches in the data packet and compare it with the timestamp T3' of the ephemeris file X' stored in itself. If T3>T3', then it can establish a connection with other Bluetooth watches and obtain the ephemeris file X' from other Bluetooth watches based on the established connection, and use the obtained ephemeris file X' to update the ephemeris file stored in itself. Of course, after the ephemeris file is updated, its corresponding timestamp will also be updated adaptively.
[0070] Of course, if the Bluetooth watch enables the GPS positioning function, the updated auxiliary positioning data (such as local clock, latest location information, ephemeris file) can be injected into the GPS chip so that the GPS chip can perform positioning on the Bluetooth watch based on these auxiliary positioning data to determine the real-time location information of the Bluetooth watch.
[0071] Among them, considering that the update speeds of the local clock and location information are relatively fast, therefore, the above two types of auxiliary positioning data can be updated first (wherein, the update order of these two types of auxiliary positioning data is not restricted), and since the ephemeris file has a large amount of data, it can be updated last.
[0072] Through the above method, the Bluetooth watch can automatically obtain the latest auxiliary positioning data from the data packets broadcast by other surrounding Bluetooth watches and update its own auxiliary positioning data without manual operation by the user, that is, the automatic update of the auxiliary positioning data can be achieved without the user's awareness, which is more convenient and fast. In addition, since there may be multiple surrounding Bluetooth watches, the probability that the Bluetooth watch obtains valid auxiliary positioning data from the surrounding Bluetooth watches is greatly increased, which can ensure the fast positioning of the Bluetooth watch to the greatest extent. In addition, for the auxiliary positioning data with a small amount of data, it can be directly transmitted to other Bluetooth watches through the broadcast data packet, while for the auxiliary positioning data with a large amount of data, the Bluetooth watches can first establish a connection, and the auxiliary positioning data can be transmitted through the established connection, so as to ensure that the data volume of the broadcast data packet is not too large, save the power consumption of the Bluetooth watch as much as possible, and at the same time, through the establishment of a dedicated connection to realize the transmission of large files, the fast transmission of the auxiliary positioning data can be ensured, and the update efficiency of the auxiliary positioning data in the Bluetooth watch can be improved.
[0073] Among them, the solutions of the above embodiments can be freely combined to obtain new solutions without conflict. Due to space limitations, they are not listed one by one here.
[0074] Corresponding to the above method, an embodiment of the present application further provides a positioning device, as Figure 6 shown, the device includes:
[0075] A receiving module 61, configured to receive data packets broadcast by other surrounding smart wearable devices, and the received data packets include at least the timestamps of one or more latest types of auxiliary positioning data currently stored in the other smart wearable devices, wherein the auxiliary positioning data can be used to assist the smart wearable device in positioning, and the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data;
[0076] An obtaining module 62, configured to obtain target auxiliary positioning data from the other smart wearable devices based on the timestamps, and update the corresponding type of auxiliary positioning data stored in itself by using the obtained target auxiliary positioning data;
[0077] An updating module 63, configured to determine the location information of the target smart wearable device by using the updated auxiliary positioning data after the target smart wearable device turns on the positioning function.
[0078] Among them, the specific details of the above device for implementing the biometric update method refer to the description in the above method, which will not be elaborated here.
[0079] Furthermore, the embodiments of the present application also provide a smart wearable device, such as Figure 7 As shown, the electronic device includes a processor 71, a memory 72, and a computer program stored in the memory 72 and executable by the processor. When the processor executes the computer program, the methods mentioned in the above embodiments are implemented. Among them, a GPS chip and other positioning devices can be integrated in the smart wearable device, and the smart wearable device can be a Bluetooth watch, a bracelet, etc.
[0080] Correspondingly, the embodiments of the present specification also provide a computer storage medium, in which a program is stored, and when the program is executed by a processor, the method in any of the above embodiments is implemented.
[0081] The embodiments of the present specification can be in the form of a computer program product implemented on one or more storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing program codes. The computer-usable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of the computer storage media include but are not limited to: phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information accessible by a computing device.
[0082] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial description of the method embodiments. The device embodiments described above are only illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative efforts.
[0083] The user information involved in this application (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) are all information and data that have been authorized by the user or fully authorized by all parties. Moreover, the collection, use, and processing of relevant data need to comply with the relevant laws, regulations, and standards of relevant countries and regions, and corresponding operation entrances are provided for users to choose to authorize or reject.
[0084] It should be noted that in this text, relational terms such as first and second are only 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. The term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising a..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the said element.
[0085] The methods and devices provided by the embodiments of the present invention have been introduced in detail above. Specific examples are used in this text to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the idea of the present invention, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation to the present invention.
Claims
1. A positioning method, characterized in that, The method is applicable to a target smart wearable device, and the method includes: Receiving data packets broadcast by other surrounding smart wearable devices, where the received data packets at least include timestamps of one or more latest types of auxiliary positioning data currently stored in the other smart wearable devices. Among them, the auxiliary positioning data can be used to assist the smart wearable device in positioning, and the timestamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data; Obtaining target auxiliary positioning data from the other smart wearable devices based on the timestamps, and using the obtained target auxiliary positioning data to update the corresponding type of auxiliary positioning data stored in itself; After the positioning function of the target smart wearable device is turned on, using the updated auxiliary positioning data to determine the position information of the target smart wearable device.
2. The method according to claim 1, wherein The auxiliary positioning data includes a first type of auxiliary positioning data with a data volume less than a preset data volume, and the received data packets also include the first type of auxiliary positioning data; The obtaining target auxiliary positioning data from the other smart wearable devices based on the timestamps includes: When it is determined that the timestamp of the first type of auxiliary positioning data in the received data packet is greater than the timestamp of the corresponding type of auxiliary positioning data stored in itself, taking the first type of auxiliary positioning data in the data packet as the target auxiliary positioning data, and obtaining the target auxiliary positioning data from the data packet.
3. The method according to claim 1, wherein The auxiliary positioning data includes a second type of auxiliary positioning data with a data volume greater than or equal to the preset data volume. The obtaining target auxiliary positioning data from the other smart wearable devices based on the timestamps includes: When it is determined that the timestamp of the second type of auxiliary positioning data in the received data packet is greater than the timestamp of the corresponding type of auxiliary positioning data stored in itself, taking the second type of auxiliary positioning data as the target auxiliary positioning data; Establishing a connection with the other smart wearable device; Obtaining the second type of auxiliary positioning data from the other smart wearable device based on the established connection.
4. The method according to claim 2 or 3, characterized in that The first type of auxiliary positioning data includes one or more of the following: the local clock of the other smart wearable device, the latest position information of the other smart wearable device. The second type of auxiliary positioning data includes: the latest ephemeris file stored in the other smart wearable device.
5. The method according to claim 1, wherein The received data packets include multiple ones, and each data packet is broadcast by an other smart wearable device. The obtaining target auxiliary positioning data from the other smart wearable devices based on the timestamps includes: For any type of auxiliary positioning data, determining a target data packet from the multiple data packets, where the timestamp of the auxiliary positioning data of this type in the target data packet is greater than the timestamp of the corresponding type of auxiliary positioning data stored in itself, and the timestamp of the auxiliary positioning data of this type in the target data packet is greater than the timestamp of the auxiliary positioning data of this type in the other data packets among the multiple data packets; Use the auxiliary positioning data of the target data packet as the target auxiliary positioning data, or establish a connection with other smart wearable devices that send the target data packet, and obtain the auxiliary positioning data based on the established connection.
6. The method according to claim 1, wherein The method further includes: Pack the latest auxiliary positioning data currently stored by itself and / or the time stamp of the auxiliary positioning data into a data packet at a preset time interval, and broadcast the packed data packet; or After detecting that the auxiliary positioning data stored by itself is updated, pack the updated auxiliary positioning data and / or the time stamp of the auxiliary positioning data into a data packet, and broadcast the packed data packet.
7. The method according to claim 6, characterized in that, The auxiliary positioning data stored by itself includes the latest position information of the target smart wearable device, and the latest position information is determined by the positioning of the target smart wearable device, or the latest position information is obtained by the target smart wearable device from other surrounding devices.
8. The method according to claim 1, wherein The auxiliary positioning data stored by itself includes the latest position information of the target smart wearable device. If the target smart wearable device has never been successfully positioned, the time stamp of the latest position information is 0; and / or The auxiliary positioning data stored by itself includes an ephemeris file. If the ephemeris file is in an invalid state, the time stamp of the ephemeris file is 0.
9. The method according to claim 1, wherein The target smart wearable device communicates with other surrounding smart wearable devices through a custom communication protocol. The data packet includes fields defined by the custom communication protocol. The fields include the time stamp of the first type of auxiliary positioning data, the time stamp of the second type of auxiliary positioning data, and the first type of auxiliary positioning data. Among them, the data volume of the first type of auxiliary positioning data is less than the preset data volume, and the data volume of the second type of auxiliary positioning data is greater than or equal to the preset data volume.
10. A positioning device, characterized in that, The device is applicable to a target smart wearable device, and the device includes: A receiving module, configured to receive data packets broadcast by other surrounding smart wearable devices. The received data packets include at least the time stamps of the latest one or more types of auxiliary positioning data currently stored in the other smart wearable devices. Among them, the auxiliary positioning data can be used to assist the positioning of the smart wearable device, and the time stamp of each type of auxiliary positioning data is used to indicate the generation time of the auxiliary positioning data; An obtaining module, configured to obtain target auxiliary positioning data from the other smart wearable devices based on the time stamp, and update the corresponding type of auxiliary positioning data stored by itself by using the obtained target auxiliary positioning data; An updating module, configured to determine the position information of the target smart wearable device by using the updated auxiliary positioning data after the target smart wearable device turns on the positioning function.
11. An intelligent wearable device, characterized in that, The smart wearable device includes a processor and a memory. A computer program is stored in the memory. When the computer program is executed by the processor, the method according to any one of claims 1-9 can be implemented.