Crowdsourcing method, system and related device
The terminal device broadcasts requests to the collaborative device and obtains the required crowdsourcing data, solving the problem that the terminal device cannot collect all types of data, and achieving data integrity and accuracy.
Patent Information
- Application Number
- CN202310779423.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
AI Technical Summary
In the prior art, when the terminal device acquires crowdsourcing data, due to hardware or software restrictions, it is impossible to collect all types of crowdsourcing data, resulting in insufficient data.
Through broadcast requests, collaborative equipment provides crowdsourcing data together to obtain all types of crowdsourcing data required, including air pressure data, light sensing data, Wi-Fi data, gyroscope data, etc., to ensure the integrity and accuracy of the data.
It realizes that the terminal device can obtain all kinds of crowdsourcing data, enriches the quantity and quality of the data, and ensures the correctness and integrity of the data.
Smart Images

Figure CN119233389A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal and communication technology, and in particular to a crowdsourcing method, system and related devices. Background Art
[0002] Currently, some servers can obtain a large amount of user terminal data (which can be called crowdsourced data) through crowdsourcing. For example, an indoor positioning server obtains a large amount of crowdsourced data for indoor positioning from user terminals through crowdsourcing. The server can issue a crowdsourcing task to the user terminal to obtain crowdsourced data. After receiving the crowdsourcing task, the user terminal can collect crowdsourced data and send the collected crowdsourced data to the server.
[0003] However, due to the hardware or software limitations of some user terminals that receive crowdsourcing tasks, it is impossible to collect all types of crowdsourcing data required for the crowdsourcing tasks. Summary of the invention
[0004] The present application provides a crowdsourcing method, system and related devices. Through the crowdsourcing method provided by the present application, when a crowdsourcing device itself cannot collect all kinds of crowdsourcing data required for a crowdsourcing task or needs more crowdsourcing data, the crowdsourcing device can find a collaborative device through broadcasting to collaboratively provide crowdsourcing data. In this way, the crowdsourcing device can obtain all kinds of crowdsourcing data required for a crowdsourcing task and can enrich the amount of crowdsourcing data.
[0005] In a first aspect, the present application provides a crowdsourcing method, which can be applied to a crowdsourcing system, which may include a crowdsourcing device and a first collaborative device, and the method may include: the crowdsourcing device broadcasts a first request, where the first request is used to request the collaborative device to send one or more crowdsourcing data, where the one or more crowdsourcing data include first crowdsourcing data; the first collaborative device receives the first request and sends a first response to the crowdsourcing device, where the first response is used to indicate that the first collaborative device supports providing the first crowdsourcing data; after receiving the first response, the crowdsourcing device establishes a connection with the first collaborative device; and the crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device.
[0006] The first request includes a first broadcast data structure AD structure and a second AD structure, the first AD structure is used to indicate that the crowdsourcing device requests a collaborative crowdsourcing service, and the second AD structure is used to indicate that the collaborative device is requested to send one or more crowdsourcing data.
[0007] The first response includes a third AD structure and a fourth AD structure, the third AD structure is used to indicate that the first collaborative device supports providing collaborative crowdsourcing services, and the fourth AD structure is used to indicate that the first collaborative device supports providing the first crowdsourcing data.
[0008] Among them, the first crowdsourced data includes one or more of air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, cellular signal data, global navigation satellite system GNSS data and magnetometer data.
[0009] Through the crowdsourcing method provided in the first aspect, when a crowdsourcing device itself cannot collect all kinds of crowdsourcing data required for a crowdsourcing task or needs more crowdsourcing data, the crowdsourcing device can search for collaborative devices to collaboratively provide crowdsourcing data through broadcasting. In this way, the crowdsourcing device can obtain all kinds of crowdsourcing data required for a crowdsourcing task and can enrich the amount of crowdsourcing data.
[0010] In combination with the first aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may also include: when the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, the crowdsourcing device receives first crowdsourcing data sent by the first collaborative device, and the first collaborative device and the crowdsourcing device maintain common motion including that during the movement of the crowdsourcing device, the first collaborative device maintains motion, and the distance between the first collaborative device and the crowdsourcing device is less than a preset distance threshold; when the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the crowdsourcing device disconnects from the first collaborative device.
[0011] In the crowdsourcing process, if the devices do not keep moving together (also known as wearing the same device) or always keep close to each other, the shared data cannot be replaced by each other, and the accuracy of the collaborative crowdsourcing data will be insufficient. The crowdsourcing device will also determine whether the collaborative device is worn by the same person as the crowdsourcing device. If not, it can disconnect from the collaborative device and stop receiving the collaborative crowdsourcing data sent by the collaborative device. In this way, the accuracy of the crowdsourcing data can be guaranteed.
[0012] In combination with the first aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may further include: the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, the first motion data includes one or more of the first inertial measurement unit IMU data collected by the crowdsourcing device, the sound wave signal data collected by the crowdsourcing device from the first collaborative device, and the first air pressure data collected by the crowdsourcing device; the second motion data includes one or more of the second IMU data collected by the first collaborative device, the Bluetooth signal strength of the first collaborative device receiving the crowdsourcing device, and the second air pressure data collected by the first collaborative device. In this way, the crowdsourcing device can determine whether the first collaborative device and the crowdsourcing device maintain common motion based on the first motion data and the second motion data.
[0013] In combination with the first aspect, in a possible implementation, the first request can also be used to request the first collaborative device to send the second motion data. In this way, the crowdsourcing device can directly instruct the first collaborative device to send the second motion data through the first request, without having to send a separate instruction to instruct the first collaborative device to send the second motion data. The crowdsourcing device can simplify the interaction process and save power consumption.
[0014] In combination with the first aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may also include: the crowdsourcing device sends a first instruction to the first collaborative device, and the first instruction is used to instruct the first collaborative device to send second motion data.
[0015] In combination with the first aspect, in a possible implementation, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device. The method may also include: the crowdsourcing device determines the offset angle and coordinate deviation of the first motion trajectory and the second motion trajectory, the first motion trajectory is obtained by the first IMU data, and the second motion trajectory is obtained by the second IMU data; and / or, the crowdsourcing device determines the high-frequency and low-frequency sound wave ratio of the sound wave signal based on the sound wave signal data; and / or, the crowdsourcing device determines the first IMU state based on the first IMU data, and determines the second IMU state based on the second IMU data, the first IMU state is used to indicate the motion state of the crowdsourcing device, and the second IMU state is used to indicate the motion state of the first collaborative device.
[0016] In combination with the first aspect, in a possible implementation, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, which may include: when the offset angle is less than a first threshold, the coordinate deviation is less than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is less than a third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is greater than a fourth threshold, and / or the first IMU state is the same as the second IMU state, and / or the first gas When the difference between the first pressure data and the second pressure data is less than the fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion; when the offset angle is greater than the first threshold, the coordinate deviation is greater than the second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is greater than the third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is less than the fourth threshold, and / or the first IMU state is different from the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is greater than the fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion. In this way, the crowdsourcing device can more accurately judge whether the first collaborative device and the crowdsourcing device maintain common motion based on data of multiple dimensions (i.e., the offset angle of the motion trajectory, coordinate deviation, high and low sound wave ratio, IMU state, air pressure data, etc.).
[0017] In combination with the first aspect, in a possible implementation, the crowdsourcing system further includes a second collaborative device, and the method may further include: the second collaborative device receives the first request, and sends a second response to the crowdsourcing device, the second response is used to indicate that the second collaborative device supports providing second crowdsourcing data, and one or more crowdsourcing data include the second crowdsourcing data; after receiving the second response, the crowdsourcing device establishes a connection with the first collaborative device; the crowdsourcing device receives the second crowdsourcing data sent by the second collaborative device. In this way, the crowdsourcing device can find more collaborative devices through broadcasting, so as to obtain more types and quantities of crowdsourcing data.
[0018] In combination with the first aspect, in a possible implementation, the crowdsourcing system may further include a server, and the method may further include: the crowdsourcing device integrates the first crowdsourcing data, the second crowdsourcing data, and the third crowdsourcing data collected by the crowdsourcing device into a crowdsourcing data packet, the crowdsourcing data packet also includes location information corresponding to the first crowdsourcing data, the second crowdsourcing data, and the third crowdsourcing data; and the crowdsourcing device sends the crowdsourcing data packet to the server. In this way, it is more convenient for the server to perform indoor positioning.
[0019] In combination with the first aspect, in a possible implementation, the crowdsourcing system may further include a server, and the method may further include: the crowdsourcing device sends the received first crowdsourcing data and the second crowdsourcing data to the server. In this way, the crowdsourcing device may directly forward the received crowdsourcing data to the server.
[0020] In a second aspect, a crowdsourcing method is provided, which can be applied to a crowdsourcing device, and the method may include: the crowdsourcing device broadcasts a first request, where the first request is used to request a collaborative device to send one or more crowdsourcing data, where the one or more crowdsourcing data include first crowdsourcing data; after receiving a first response, the crowdsourcing device establishes a connection with the first collaborative device, where the first response is used to indicate that the first collaborative device supports providing the first crowdsourcing data; and the crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device.
[0021] The first request includes a first broadcast data structure AD structure and a second AD structure, the first AD structure is used to indicate that the crowdsourcing device requests a collaborative crowdsourcing service, and the second AD structure is used to indicate that the collaborative device is requested to send one or more crowdsourcing data.
[0022] The first response includes a third AD structure and a fourth AD structure, the third AD structure is used to indicate that the first collaborative device supports providing collaborative crowdsourcing services, and the fourth AD structure is used to indicate that the first collaborative device supports providing the first crowdsourcing data.
[0023] Among them, the first crowdsourced data includes one or more of air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, cellular signal data, global navigation satellite system GNSS data and magnetometer data.
[0024] Through the crowdsourcing method provided in the first aspect, when a crowdsourcing device itself cannot collect all kinds of crowdsourcing data required for a crowdsourcing task or needs more crowdsourcing data, the crowdsourcing device can search for collaborative devices to collaboratively provide crowdsourcing data through broadcasting. In this way, the crowdsourcing device can obtain all kinds of crowdsourcing data required for a crowdsourcing task and can enrich the amount of crowdsourcing data.
[0025] In combination with the second aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may also include: when the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, the crowdsourcing device receives first crowdsourcing data sent by the first collaborative device, and the first collaborative device and the crowdsourcing device maintain common motion including that during the movement of the crowdsourcing device, the first collaborative device maintains motion, and the distance between the first collaborative device and the crowdsourcing device is less than a preset distance threshold; when the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the crowdsourcing device disconnects from the first collaborative device.
[0026] In the crowdsourcing process, if the devices do not keep moving together (also known as wearing the same device) or always keep close to each other, the shared data cannot be replaced by each other, and the accuracy of the collaborative crowdsourcing data will be insufficient. The crowdsourcing device will also determine whether the collaborative device is worn by the same person as the crowdsourcing device. If not, it can disconnect from the collaborative device and stop receiving the collaborative crowdsourcing data sent by the collaborative device. In this way, the accuracy of the crowdsourcing data can be guaranteed.
[0027] In combination with the second aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may also include: the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, the first motion data includes one or more of the first inertial measurement unit IMU data collected by the crowdsourcing device, the sound wave signal data collected by the crowdsourcing device from the first collaborative device, and the first air pressure data collected by the crowdsourcing device; the second motion data includes one or more of the second IMU data collected by the first collaborative device, the Bluetooth signal strength of the first collaborative device receiving the crowdsourcing device, and the second air pressure data collected by the first collaborative device. In this way, the crowdsourcing device can determine whether the first collaborative device and the crowdsourcing device maintain common motion based on the first motion data and the second motion data.
[0028] In combination with the second aspect, in a possible implementation, the first request can also be used to request the first collaborative device to send the second motion data. In this way, the crowdsourcing device can directly instruct the first collaborative device to send the second motion data through the first request, without having to send a separate instruction to instruct the first collaborative device to send the second motion data. The crowdsourcing device can simplify the interaction process and save power consumption.
[0029] In combination with the second aspect, in a possible implementation, after the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method may also include: the crowdsourcing device sends a first instruction to the first collaborative device, and the first instruction is used to instruct the first collaborative device to send second motion data.
[0030] In combination with the second aspect, in a possible implementation, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device. The method may also include: the crowdsourcing device determines the offset angle and coordinate deviation of the first motion trajectory and the second motion trajectory, the first motion trajectory is obtained by the first IMU data, and the second motion trajectory is obtained by the second IMU data; and / or, the crowdsourcing device determines the high-frequency and low-frequency sound wave ratio of the sound wave signal based on the sound wave signal data; and / or, the crowdsourcing device determines the first IMU state based on the first IMU data, and determines the second IMU state based on the second IMU data, the first IMU state is used to indicate the motion state of the crowdsourcing device, and the second IMU state is used to indicate the motion state of the first collaborative device.
[0031] In combination with the second aspect, in a possible implementation, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, which may include: when the offset angle is less than a first threshold, the coordinate deviation is less than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is less than a third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is greater than a fourth threshold, and / or the first IMU state is the same as the second IMU state, and / or the first gas When the difference between the first pressure data and the second pressure data is less than the fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion; when the offset angle is greater than the first threshold, the coordinate deviation is greater than the second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is greater than the third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is less than the fourth threshold, and / or the first IMU state is different from the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is greater than the fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion. In this way, the crowdsourcing device can more accurately judge whether the first collaborative device and the crowdsourcing device maintain common motion based on data of multiple dimensions (i.e., the offset angle of the motion trajectory, coordinate deviation, high and low sound wave ratio, IMU state, air pressure data, etc.).
[0032] In a third aspect, a terminal device is provided, which may include one or more transceivers, one or more processors and one or more memories; wherein the one or more transceivers, one or more memories are coupled to one or more processors, and the one or more memories are used to store computer program code, and the computer program code includes computer instructions, and when the one or more processors execute the computer instructions, the terminal device executes the method involved in any possible implementation of the second aspect.
[0033] In a fourth aspect, a chip system is provided, which is applied to a terminal device, and the chip system includes one or more processors, and the processor is used to call computer instructions so that the terminal device executes the method involved in any possible implementation manner of the second aspect.
[0034] In a fifth aspect, a computer-readable storage medium is provided, comprising instructions, which, when executed on a terminal device, enable the terminal device to execute a method as involved in any possible implementation of the second aspect.
[0035] According to a sixth aspect, a computer program product is provided. When the program product is run on a terminal device, the terminal device executes the method involved in any possible implementation manner of the second aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 is a schematic diagram of a crowdsourcing system provided in an embodiment of the present application;
[0037] Figure 2 is a flow chart of a crowdsourcing method provided in an embodiment of the present application;
[0038] Figure 3 This is a schematic diagram of an interaction of a crowdsourcing method provided in an embodiment of the present application;
[0039] Figure 4 This is a schematic diagram of a broadcast packet PDU format provided by an embodiment of the present application;
[0040] Figure 5 is a schematic diagram of predicted motion trajectory provided by an embodiment of the present application;
[0041] Figure 6 is a schematic diagram of the error between the predicted motion trajectory and the actual motion trajectory provided in the embodiment of the present application;
[0042] Figure 7 is a schematic diagram of the sound wave frequency filtering result provided in an embodiment of the present application;
[0043] Figure 8 It is a schematic diagram of the PDR trajectory comparison of two devices provided in an embodiment of the present application;
[0044] Fig. 9 It is a schematic diagram of the positioning result and possible real position provided by the embodiment of the present application;
[0045] Fig.10 is a schematic diagram of the structure of a terminal device 100 provided in an embodiment of the present application;
[0046] Fig.11 is a schematic diagram of the structure of a terminal device 1100 provided in an embodiment of the present application;
[0047] Fig.12 It is a schematic diagram of the structure of the device 1200 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] The terms used in the following embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to be used as limitations to the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include plural expressions, unless there is a clear indication to the contrary in the context. It should also be understood that the term "and / or" used in the present application refers to and includes any or all possible combinations of one or more listed items.
[0049] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more.
[0050] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0051] Since the embodiments of the present application involve the application of a crowdsourcing method and related devices, in order to facilitate understanding, the relevant terms and concepts involved in the embodiments of the present application are first introduced below.
[0052] (1) Crowdsourced data
[0053] Crowdsourcing technology (or simply crowdsourcing) can provide a method for a server to obtain resources through a large number of user terminals. Crowdsourcing technology can be that the server collects available data such as sensors, radio frequency signals or network positioning of user terminals through a certain trigger mechanism without the user's perception. Alternatively, the user terminal can also collect crowdsourcing data autonomously through a certain trigger mechanism without the user's perception. These available data can be called crowdsourcing data. For example, the crowdsourcing data collected by the positioning server through a large number of user terminals may include motion data, location fingerprint data, etc. Among them, the motion data may be data collected by sensors such as speedometers, gyroscopes, and magnetometers of user terminals, such as motion speed, posture, rotation angle, and moving direction. Location fingerprint data may be radio frequency information scanned by Wi-Fi technology and Bluetooth technology, such as Wi-Fi signal strength (RSS) information, the number of wireless access points (AP), and Wi-Fi signal identification (for example, the MAC address of the wireless access point), etc. In the scenario of indoor positioning, crowdsourcing data may also include altitude data collected by the user terminal through a barometer. In an indoor environment, users can move around freely with mobile terminals such as smart phones. With the user's authorization in advance, the mobile terminal can autonomously collect crowdsourced data during the movement. In different scenarios, the data types contained in crowdsourced data are different. The embodiments of this application do not limit the data types and quantities of crowdsourced data.
[0054] In some scenarios, the user terminal device itself cannot provide complete crowdsourcing data due to the limitations of hardware and software. In an embodiment of the present application, when a terminal device needs to provide crowdsourcing data but cannot provide complete crowdsourcing data, the terminal device can send a Bluetooth broadcast, which is used to send a collaborative crowdsourcing request to surrounding terminal devices. The surrounding terminal devices can receive the collaborative crowdsourcing request and send crowdsourcing data to the terminal device. In this way, the terminal device can use other devices to collaborate with crowdsourcing and provide complete crowdsourcing data together.
[0055] In the embodiment of the present application, a terminal device that receives a crowdsourcing task from a server and sends a Bluetooth broadcast request to surrounding terminal devices for collaborative crowdsourcing can be called a crowdsourcing device. A terminal device that receives a collaborative crowdsourcing request and provides crowdsourcing data to a crowdsourcing device can be called a collaborative device.
[0056] The following describes the collaborative crowdsourcing scenario provided by the embodiments of the present application in conjunction with the accompanying drawings.
[0057] Figure 1 A schematic diagram of a crowdsourcing system provided in an embodiment of the present application is shown exemplarily.
[0058] like Figure 1 As shown, the crowdsourcing system 1000 may include a server 10, a mobile phone 20, a mobile phone 21, ..., a mobile phone 2n, a wristband 30, a wristband 31, and a watch 40 and a watch 41. Among them:
[0059] The server 10 may send a crowdsourcing request to a large number of user terminals (eg, mobile phone 20, mobile phone 21, ..., mobile phone 2n, etc.). The crowdsourcing request may include data required by the server 10, for example, data 1, data 2, data 3.
[0060] Optionally, in some examples, user terminals (eg, mobile phone 20, mobile phone 21, ..., mobile phone 2n, etc.) may autonomously crowdsource data and upload it to server 10 without receiving a crowdsourcing request sent by server 10.
[0061] The mobile phone 20 may receive the crowdsourcing request sent by the server 10. When the mobile phone 20 confirms that it can only collect data 1 but cannot collect data 2 and data 3, the mobile phone 20 may send a collaborative crowdsourcing broadcast to surrounding terminal devices via Bluetooth, and the collaborative crowdsourcing broadcast may be used to request other devices to assist in collecting data 2 and data 3.
[0062] Similarly, mobile phone 21 and mobile phone 2n can also receive crowdsourcing requests sent by server 10. When mobile phone 21 and mobile phone 2n confirm that they can only collect data 1 but cannot collect data 2 and data 3, mobile phone 21 and mobile phone 2n can send collaborative crowdsourcing broadcasts to surrounding terminal devices via Bluetooth, and the collaborative crowdsourcing broadcasts can be used to request other devices to assist in collecting data 2 and data 3.
[0063] like Figure 1 As shown, the wristband 30 can receive the collaborative crowdsourcing broadcast sent by the mobile phone 20. Based on the collaborative crowdsourcing broadcast, the wristband 30 collects data 2. Since the wristband 30 can only collect data 2, the wristband 30 can send data 2 to the mobile phone 20.
[0064] The watch 40 can receive the collaborative crowdsourcing broadcast sent by the mobile phone 20. Based on the collaborative crowdsourcing broadcast, the watch 40 collects data 2 and data 3, and sends the collected data 2 and data 3 to the mobile phone 20.
[0065] The wristband 31 can receive the collaborative crowdsourcing broadcast sent by the mobile phone 21. Based on the collaborative crowdsourcing broadcast, the wristband 31 collects data 2 and data 3, and sends the collected data 2 and data 3 to the mobile phone 21.
[0066] The watch 41 can receive the collaborative crowdsourcing broadcast sent by the mobile phone 2n. Based on the collaborative crowdsourcing broadcast, the watch 41 collects data 2 and data 3, and sends the collected data 2 and data 3 to the mobile phone 2n.
[0067] For example, server 10 may be an indoor positioning server. Mobile phone 20, mobile phone 21, ..., mobile phone 2n may be installed with a positioning application, and the positioning application is provided with positioning services by the indoor positioning server. That is, the indoor positioning server is a server corresponding to the positioning application, and provides positioning services for the positioning application. When mobile phone 20, mobile phone 21, ..., mobile phone 2n installs the positioning application, it may provide crowdsourcing data to the indoor positioning server corresponding to the positioning application with the user's permission. The positioning application may be a system application of mobile phone 20, mobile phone 21, ..., mobile phone 2n, or it may be a third-party application, which is not limited in the embodiments of the present application. Mobile phone 20, mobile phone 21, ..., mobile phone 2n may periodically send crowdsourcing data to the indoor positioning server, or may send crowdsourcing data to the indoor positioning server when the crowdsourcing conditions are met.
[0068] The server 10 is not limited to the indoor positioning server mentioned above. The server 10 may also be a server corresponding to other applications. The embodiment of the present application does not limit the specific application that the server 10 corresponds to.
[0069] Before mobile phone 20, mobile phone 21, ..., mobile phone 2n sends crowdsourcing data to server 10, if mobile phone 20, mobile phone 21, ..., mobile phone 2n cannot provide complete crowdsourcing data, it can send a collaborative crowdsourcing broadcast to surrounding devices to request surrounding devices to collaborate in crowdsourcing. The specific process of collaborative crowdsourcing between mobile phone 20, mobile phone 21, ..., mobile phone 2n and surrounding devices will be described in detail below. The format of collaborative crowdsourcing broadcast is also described in detail below, which will not be repeated here.
[0070] In the embodiment of the present application, a server that needs crowdsourcing data, such as server 10, can be called a crowdsourcing server. Devices that provide crowdsourcing data to a crowdsourcing server, such as mobile phone 20, mobile phone 21, ..., mobile phone 2n, etc., can be called crowdsourcing devices. Devices that provide crowdsourcing data required in a request to a crowdsourcing device based on a request from a crowdsourcing device, such as wristband 30, watch 40, wristband 31, and watch 41, can be called collaborative devices.
[0071] Figure 1 The crowdsourcing system 1000 shown is only an example, and the crowdsourcing system 1000 may also include more or fewer devices. A crowdsourcing device can find multiple collaborative devices, which is not limited to the one crowdsourcing device shown in the figure finding one or two collaborative devices. For example, the mobile phone 20 finds two collaborative devices, namely the bracelet 30 and the watch 40.
[0072] In some examples, the crowdsourcing device integrates the crowdsourcing data collected by the crowdsourcing device and the crowdsourcing data collected by the collaborative device, and sends them together to the server 10.
[0073] Optionally, in other examples, the crowdsourcing device itself cannot collect crowdsourcing data, and the crowdsourcing device can forward the crowdsourcing data collected by the collaborative device to the server 10.
[0074] In some examples, the crowdsourcing data collected by the crowdsourcing device and the collaborative device is data related to indoor positioning, such as barometer data, IMU data, Wi-Fi signal strength, etc. The crowdsourcing device can add the location information corresponding to the indoor positioning related data to the crowdsourcing data, and then send the crowdsourcing data with location information to the server 10. For example, the crowdsourcing data obtained by the crowdsourcing device integrating the crowdsourcing data collected by the crowdsourcing device and the collaborative device is (barometer data, IMU data, Wi-Fi signal strength), and the crowdsourcing data after adding the location information is (location 1, barometer data, IMU data, Wi-Fi signal strength).
[0075] In some examples, the crowdsourcing system 1000 may not include the server 10, that is, the crowdsourcing devices such as mobile phone 20, mobile phone 21, ..., mobile phone 2n may also build a database locally, and store the crowdsourcing data sent by the collaborative device in the database. The crowdsourcing device may update the relevant algorithm or model (for example, indoor fixed algorithm or model) of the crowdsourcing device using the crowdsourcing data stored in the database.
[0076] A crowdsourcing method provided by an embodiment of the present application will be introduced below. The method may include that a crowdsourcing device can search for collaborative devices by sending collaborative crowdsourcing broadcasts and match the collaborative devices found. If the match is successful, collaborative crowdsourcing begins to obtain crowdsourcing data sent by the collaborative device. During the collaborative crowdsourcing process, the crowdsourcing device also needs to confirm whether the collaborative device remains close to the crowdsourcing device. If so, the collaborative crowdsourcing continues until the crowdsourcing ends. If not, the collaborative crowdsourcing ends.
[0077] Figure 2 A crowdsourcing method provided by an embodiment of the present application is shown. Figure 2 As shown, a crowdsourcing method provided in an embodiment of the present application may include the following steps:
[0078] S201: The crowdsourcing device determines that a crowdsourcing start condition is met.
[0079] The crowdsourcing start condition is the condition that a crowdsourcing device needs to meet to start crowdsourcing.
[0080] The crowdsourcing device starts to provide crowdsourcing data to the crowdsourcing server in the following two cases:
[0081] Case ①: When the crowdsourcing device itself is able to collect the crowdsourcing data required by the crowdsourcing server, the crowdsourcing device collects the crowdsourcing data and sends it to the crowdsourcing server.
[0082] Case ②: When the crowdsourcing device itself cannot provide all the crowdsourcing data required by the crowdsourcing server, the crowdsourcing device searches for collaborative devices and obtains the crowdsourcing data sent by the collaborative devices, and sends the crowdsourcing data sent by the collaborative devices and the crowdsourcing data collected by the sensors in the crowdsourcing device to the crowdsourcing server.
[0083] The embodiment of the present application takes the example of a crowdsourcing device providing crowdsourcing data to a positioning server. The crowdsourcing activation conditions may include: the location information switch in the crowdsourcing device is turned on, the service life of the crowdsourcing device does not exceed the preset years, the temperature of the crowdsourcing device does not exceed the preset temperature, the crowdsourcing device is not in a full-screen game video scene, the power of the crowdsourcing device exceeds the preset power, and the crowdsourcing device is indoors, etc.
[0084] Among them, turning on the location information switch in the crowdsourcing device may be a user turning on the positioning function of the crowdsourcing device. Exemplarily, turning on the location information switch in the crowdsourcing device may be a control in the control bar of the crowdsourcing device where the user turns on the positioning function. In some examples, the control may also be called a location information switch.
[0085] When the location information in the crowdsourcing device is turned on or off, the crowdsourcing device may not turn on crowdsourcing, that is, it does not start to provide crowdsourcing data to the crowdsourcing server. That is, the crowdsourcing device no longer executes the following steps S202-S206a and S206b. In this way, it can be avoided that when the crowdsourcing device cannot provide crowdsourcing data related to location information, continuing crowdsourcing will rely on the collaborative device to obtain crowdsourcing data, resulting in inaccurate location information in the obtained crowdsourcing data.
[0086] Among them, the preset period can be 3 years or 5 years, and the embodiment of the present application does not limit the value of the preset period. Taking the preset period of 3 years as an example, the conditions that need to be met for the crowdsourcing device to start crowdsourcing include that the service life of the crowdsourcing device does not exceed 3 years (less than 3 years). That is, if the service life of the crowdsourcing device is 3 years or more, the crowdsourcing device will no longer start crowdsourcing, that is, it will no longer provide crowdsourcing data to the crowdsourcing server. In this way, it can be avoided that the accuracy of the crowdsourcing data collected by the crowdsourcing device does not meet the requirements of the current crowdsourcing server due to the long service life of the crowdsourcing device.
[0087] The preset temperature may be 40° or 41°, and the specific value of the preset temperature is not limited in the embodiments of the present application. Taking the preset temperature of 40° as an example, the conditions that need to be met for the crowdsourcing device to start crowdsourcing include that the current temperature of the crowdsourcing device does not exceed 40°. That is, if the current temperature of the crowdsourcing device is 40° or exceeds 40°, the crowdsourcing device may not start crowdsourcing. In this way, it can be avoided that when the temperature of the crowdsourcing device is high, the temperature of the crowdsourcing device will increase due to continued crowdsourcing, thereby damaging the hardware in the crowdsourcing device that is not resistant to high temperatures.
[0088] Among them, the crowdsourcing device is in a full-screen game video scene, that is, the display screen of the crowdsourcing device is displaying the game interface or the video playback interface in full screen. The crowdsourcing device is not in a full-screen game video scene, that is, the display screen of the crowdsourcing device does not display the game interface in full screen and does not display the video playback interface in full screen. When the crowdsourcing device meets the condition that the crowdsourcing device is not in a full-screen game video scene, the crowdsourcing device can start crowdsourcing. When the crowdsourcing device is in a full-screen game video scene, the crowdsourcing device may not start crowdsourcing. In this way, it is avoided that the game that the user is playing or the video that the user is watching is stuck due to the crowdsourcing device performing crowdsourcing, thereby affecting the user experience.
[0089] The preset power level may be 20% or 30%, and the specific value of the preset power level is not limited in the embodiments of the present application. When the power level of the crowdsourcing device exceeds the preset power level, the crowdsourcing device may start crowdsourcing; when the power level of the crowdsourcing device is less than or equal to the preset power level, the crowdsourcing device may not start crowdsourcing. In this way, it can be avoided that when the power level of the crowdsourcing device is low, the crowdsourcing device still starts crowdsourcing, which will cause the crowdsourcing device to run out of power, thereby preventing the user from using the crowdsourcing device.
[0090] When the crowdsourcing server is an indoor positioning server, the condition that the crowdsourcing device needs to meet is that the crowdsourcing device is located indoors.
[0091] The crowdsourcing device in the embodiment of the present application is not limited to providing crowdsourcing data to the positioning server. For example, it can also provide crowdsourcing data to the image processing server, the audio processing server, etc. When the crowdsourcing device provides crowdsourcing data to different types of servers, the crowdsourcing start condition may be different. Exemplarily, when the crowdsourcing device provides crowdsourcing data to the image processing server, the crowdsourcing start condition may not include turning on the location information switch in the crowdsourcing device, the crowdsourcing device being indoors, etc.
[0092] Optionally, in some examples, the crowdsourcing device does not start crowdsourcing before the first moment. For example, the first moment may be 8 o'clock in the morning or 7 o'clock in the morning, and the first moment is not limited in the embodiment of the present application. The crowdsourcing device may not start crowdsourcing in the first time period. The first time period may be the time period when the user of the crowdsourcing device usually rests and sleeps, for example, 22:00-08:00, that is, from 10 o'clock in the evening of the previous day to 8 o'clock in the morning of the next day. In this way, the crowdsourcing device may not collect crowdsourcing data when the user is at home, so as to avoid leaking the user's private data, such as home address, etc.
[0093] Optionally, in some examples, the time period during which the crowdsourcing device collects crowdsourcing data each day is different from the time period of the previous day. For example, the crowdsourcing device starts crowdsourcing in the time period of 9:00-10:00 on the first day, and starts crowdsourcing in the time period of 10:00-11:00 on the second day. Since most users have basically fixed routes every day on weekdays, their locations in the same time period are also the same. The crowdsourcing device currently does not start crowdsourcing in the same hour period as the previous day, so that the crowdsourcing device can avoid uploading duplicate crowdsourcing data to the crowdsourcing server.
[0094] Optionally, in some examples, after a crowdsourcing device successfully collects crowdsourcing data every day and sends the crowdsourcing data to a crowdsourcing server, the crowdsourcing device no longer collects crowdsourcing data on that day. In this way, it is possible to avoid the crowdsourcing device consuming too many device resources (e.g., power, computing resources, storage resources, etc.) due to collecting crowdsourcing data.
[0095] Optionally, in some examples, when the number of times a crowdsourcing device fails to collect crowdsourcing data in a day reaches a preset number threshold, the crowdsourcing device may no longer collect crowdsourcing data on that day. In this way, it can be avoided that the crowdsourcing device consumes too many device resources (for example, power, computing resources, storage resources, etc. of the crowdsourcing device) due to multiple starts to determine whether the crowdsourcing start conditions are met.
[0096] The failure of a crowdsourcing device to collect crowdsourcing data may include, when the crowdsourcing device begins to determine whether the crowdsourcing start conditions are met, determining that the crowdsourcing device does not meet the crowdsourcing start conditions; or, the crowdsourcing device meets the crowdsourcing start conditions, but the crowdsourcing device cannot collect complete crowdsourcing data and cannot find a collaborative device.
[0097] Optionally, in some examples, when the crowdsourcing device is connected to a wireless local area network (eg, Wi-Fi), the crowdsourcing device may not enable crowdsourcing.
[0098] Optionally, in some examples, when the crowdsourcing device is connected to a hotspot, the crowdsourcing device will not start crowdsourcing, that is, the crowdsourcing device will no longer execute steps S202 to S206a and S206b.
[0099] Optionally, in some examples, when the crowdsourcing device is connected to other devices (e.g., network devices) by Wi-Fi Direct (e.g., Wi-Fi peer-to-peer, Wi-Fi P2P), the crowdsourcing device will not start crowdsourcing. That is, the crowdsourcing device will no longer execute steps S202 to S206a and S206b.
[0100] Optionally, in some examples, when the screen of the crowdsourcing device is turned off and does not light up within a preset time range, the crowdsourcing device stops crowdsourcing.
[0101] When a crowdsourcing device meets the crowdsourcing start-up conditions, the crowdsourcing device can determine the difference between its own sensor capabilities and the crowdsourcing data items contained in the crowdsourcing data. If the sensors in the crowdsourcing device can collect all the crowdsourcing data items, the crowdsourcing device can collect the required crowdsourcing data items in the crowdsourcing data and send (also called upload) the collected crowdsourcing data to the crowdsourcing server. If the sensors in the crowdsourcing device cannot collect all the crowdsourcing data items, the crowdsourcing device can look for surrounding devices to collaboratively collect the crowdsourcing data items that the crowdsourcing device cannot collect.
[0102] In an embodiment of the present application, the crowdsourcing data items included in the crowdsourcing data may be as shown in Table 1 below.
[0103] Table 1
[0104]
[0105]
[0106] As shown in Table 1, crowdsourced data items may include one or more of air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, Cell data, GNSS data, and magnetometer data. Different crowdsourced data items, that is, different types of crowdsourced data, can be provided by different sensors or software and hardware modules (software modules or hardware modules). As shown in Table 1, air pressure data can be provided by an air pressure sensor. Light sensor data can be provided by a light sensor. Wi-Fi data can be provided by a Wi-Fi module. Gyroscope data can be provided by a gyroscope. IMU data can be provided by an IMU. Cell data can be provided by a baseband chip. GNSS data can be provided by a positioning and navigation chip. Magnetometer data can be provided by a magnetometer. The specific data items such as air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, Cell data, GNSS data, and magnetometer data can be described in the prior art, and will not be repeated here. In the embodiment of the present application, the number of types of crowdsourced data items contained in the crowdsourced data is not limited.
[0107] S202: The crowdsourcing device broadcasts a collaborative crowdsourcing request via Bluetooth.
[0108] S203. The crowdsourcing device determines whether the data shared by the collaborative device meets the crowdsourcing requirements; if so, execute step S204b; if not, execute step S204a.
[0109] The crowdsourcing device may broadcast a collaborative crowdsourcing request to surrounding devices via Bluetooth, and the collaborative crowdsourcing request is used to request surrounding devices to collaborate in crowdsourcing. The Bluetooth broadcast indicates crowdsourcing data items that require collaborative crowdsourcing by surrounding devices. The surrounding devices may include collaborative devices. The collaborative devices may receive the collaborative crowdsourcing request and agree to the collaborative crowdsourcing request.
[0110] The crowdsourcing device may also determine whether the data items that can be shared by the collaborative device meet the requirements of the crowdsourcing data items. If the requirements are met, step S204b may be executed, and if not, step S204a may be executed.
[0111] For details on how crowdsourcing devices send Bluetooth broadcasts to find collaborative devices and how collaborative devices respond to Bluetooth broadcasts sent by crowdsourcing devices, please refer to Figure 3 The specific format of Bluetooth broadcast can also be found in Figure 3 The description in , I will not repeat it here.
[0112] S204a, matching failed.
[0113] In the case where the crowdsourcing device determines that the data item that the collaborative device can share does not meet the requirements of the crowdsourcing data item, the crowdsourcing device may determine that the match fails.
[0114] In a possible implementation, after the crowdsourcing device determines that the matching fails, the crowdsourcing device may broadcast a collaborative crowdsourcing request again via Bluetooth to continue searching for collaborative devices that can collaborate in crowdsourcing.
[0115] Optionally, in a possible implementation, after the crowdsourcing device determines that the match fails, the crowdsourcing device may end the crowdsourcing.
[0116] S204b, the crowdsourcing device verifies whether the collaborative device is worn by the same person; if so, execute step S205, if not, execute step S206b.
[0117] When the crowdsourcing device determines that the data item shared by the collaborative device meets the requirements of the crowdsourcing data item, the crowdsourcing device determines whether the distance between the crowdsourcing device and the collaborative device is within a preset distance threshold, or determines whether the crowdsourcing device and the collaborative device are worn by the same person. If so, the crowdsourcing device can receive the crowdsourcing data sent by the collaborative device. In the process of the crowdsourcing device receiving the crowdsourcing data sent by the collaborative device, the crowdsourcing device can also determine whether the collaborative device is close to the crowdsourcing device, that is, the crowdsourcing device can execute step S205.
[0118] If the crowdsourcing device determines that the distance between the crowdsourcing device and the collaborative device exceeds the preset distance threshold, or determines that the crowdsourcing device and the collaborative device are not worn by the same person, the crowdsourcing device can directly end the collaborative crowdsourcing, that is, execute step S206b.
[0119] Optionally, in one possible implementation, when a crowdsourcing device broadcasts a collaborative crowdsourcing request, the collaborative crowdsourcing request can be used to request crowdsourcing data that the collaborative device needs to provide, as well as motion data (e.g., IMU data, Bluetooth signal strength, etc.) that the collaborative device needs to provide to verify whether the collaborative device is worn by the same person as the crowdsourcing device.
[0120] In a possible implementation, the crowdsourcing device may first verify whether the collaborative device is worn by the same person as the crowdsourcing device, and then determine whether the data shared by the collaborative device meets the crowdsourcing requirements. That is, the crowdsourcing device may first perform step S204b, and then perform step S203.
[0121] S205. The crowdsourcing device determines whether the collaborative device remains close; if so, execute step S206a; if not, execute step S206b.
[0122] S206a: The crowdsourcing device receives the crowdsourcing data sent by the collaborative device, and sends the complete crowdsourcing data to a server for collecting crowdsourcing data.
[0123] S206b: The crowdsourcing device ends the collaborative crowdsourcing.
[0124] During the process of the collaborative device sending crowdsourced data, if the crowdsourced device determines that the collaborative device and the crowdsourced device are close to each other, the crowdsourced data sent by the collaborative device is received. The crowdsourced device can send the complete crowdsourced data to a server for collecting crowdsourced data, namely, a crowdsourced server.
[0125] In a possible implementation, the crowdsourcing device can verify whether the collaborative device is worn by the same person as the crowdsourcing device during the process of receiving the crowdsourcing data sent by the collaborative device. If not, the crowdsourcing device can disconnect from the collaborative device and end the reception of the crowdsourcing data sent by the collaborative device. That is, during the process of the collaborative device sending crowdsourcing data, if the crowdsourcing device determines that the collaborative device and the crowdsourcing device are not kept close, that is, the collaborative device is far away from the crowdsourcing device, the crowdsourcing device can end the collaborative crowdsourcing.
[0126] For more information about how the crowdsourcing device determines whether the collaborative device and the crowdsourcing device are worn by the same person, and how the collaborative device and the crowdsourcing device are kept close to each other, please refer to Figure 5-Figure 9 The description in , I will not repeat it here.
[0127] Figure 3 is an interactive diagram of a crowdsourcing method provided in an embodiment of the present application. Figure 3 As shown, to implement a crowdsourcing method provided in an embodiment of the present application, a crowdsourcing device and a collaborative device may perform the following steps:
[0128] S301: A crowdsourcing device detects crowdsourcing data items.
[0129] When a crowdsourcing device meets the crowdsourcing start conditions and starts crowdsourcing, the crowdsourcing device can first detect whether the crowdsourcing device itself can provide all the crowdsourcing data items. For the crowdsourcing start conditions, please refer to the description above and will not be repeated here. For example, the crowdsourcing data items required in the crowdsourcing data may include barometer data, light sensor data, gyroscope data, and GNSS data. However, the crowdsourcing device has a gyroscope sensor that collects gyroscope data and a navigation and positioning module for GNSS data, and the crowdsourcing device cannot collect barometer data and light sensor data.
[0130] When the crowdsourcing device itself cannot provide all crowdsourcing data items, the crowdsourcing device can preferentially obtain the required crowdsourcing data items (e.g., barometer data and light sensor data) from the device that has established a communication connection with the crowdsourcing device. The embodiment of the present application is described by taking the collaborative device 2 having established a communication connection with the crowdsourcing device as an example. The crowdsourcing device can preferentially search for the collaborative device 2 to obtain the required crowdsourcing data items, that is, the crowdsourcing device can preferentially execute the following step S302.
[0131] S302 : The crowdsourcing device sends a collaborative crowdsourcing request to collaborative device 2 .
[0132] The crowdsourcing device and the collaborative device 2 have established a communication connection. The crowdsourcing device and the collaborative device can establish a communication connection via Wi-Fi or Bluetooth. The embodiment of the present application does not limit the manner in which the crowdsourcing device and the collaborative device establish a communication connection.
[0133] The crowdsourcing device may send a collaborative crowdsourcing request to the collaborative device 2 , and the collaborative crowdsourcing request may carry crowdsourcing data items required by the crowdsourcing device.
[0134] In a possible implementation, the crowdsourcing data items carried in the collaborative crowdsourcing request may be all the crowdsourcing data items required by the crowdsourcing device. For example, all the crowdsourcing data items required for crowdsourcing may include barometer data, light sensor data, gyroscope data, and GNSS data. Then the collaborative crowdsourcing request may carry data items such as barometer data, light sensor data, gyroscope data, and GNSS data, that is, the collaborative device 2 may be requested to provide all the crowdsourcing data items required in the crowdsourcing data.
[0135] Optionally, in a possible implementation, the crowdsourcing data items carried in the collaborative crowdsourcing request may be crowdsourcing data that is lacking in the crowdsourcing device. For example, the crowdsourcing data items required may include barometer data, light sensor data, gyroscope data, and GNSS data. The crowdsourcing device may provide gyroscope data and GNSS data, but cannot provide barometer data and light sensor data. Then the crowdsourcing data items carried in the collaborative crowdsourcing request may be barometer data and light sensor data, a total of two crowdsourcing data items.
[0136] S303, collaborative device 2 sends collaborative crowdsourcing data.
[0137] Collaborative device 2 may collect crowdsourcing data corresponding to crowdsourcing data items in the collaborative crowdsourcing request based on the collaborative crowdsourcing request. In the embodiment of the present application, the crowdsourcing data provided by the collaborative device may be referred to as collaborative crowdsourcing data. In some examples, the collaborative crowdsourcing data sent by collaborative device 2 may be a portion of the crowdsourcing data required in the collaborative crowdsourcing request. That is, the hardware capability of collaborative device 2 is limited, and only crowdsourcing data corresponding to a portion of the crowdsourcing data items required in the collaborative crowdsourcing request can be collected.
[0138] S304: The crowdsourcing data items acquired by the crowdsourcing device do not meet the crowdsourcing requirements.
[0139] After the crowdsourcing device receives the collaborative crowdsourcing data sent by the collaborative device 2, the crowdsourcing device can determine whether the acquired crowdsourcing data (the crowdsourcing data collected by the sensors or software and hardware modules in the crowdsourcing device, and the received collaborative crowdsourcing data) meets the crowdsourcing requirements. That is, whether the crowdsourcing data acquired by the crowdsourcing device contains all the crowdsourcing data items required for crowdsourcing. If the crowdsourcing data items corresponding to the crowdsourcing data acquired by the crowdsourcing device contain all the crowdsourcing data items required for crowdsourcing, the crowdsourcing device can determine that the crowdsourcing data items acquired by the crowdsourcing device meet the crowdsourcing requirements. If the crowdsourcing data items corresponding to the crowdsourcing data acquired by the crowdsourcing device are less than all the crowdsourcing data items required for crowdsourcing, the crowdsourcing device can determine that the crowdsourcing data items acquired by the crowdsourcing device do not meet the crowdsourcing requirements.
[0140] For example, all crowdsourcing data items required for crowdsourcing may include barometer data, light sensor data, gyroscope data, and GNSS data. If the crowdsourcing data acquired by the crowdsourcing device includes crowdsourcing data of all crowdsourcing data items including barometer data, light sensor data, gyroscope data, and GNSS data, then the crowdsourcing data items acquired by the crowdsourcing device meet the crowdsourcing requirements. If the crowdsourcing data acquired by the crowdsourcing device includes crowdsourcing data of the two crowdsourcing data items, namely, barometer data and light sensor data, then the crowdsourcing data items acquired by the crowdsourcing device do not meet the crowdsourcing requirements.
[0141] S305a: The crowdsourcing device broadcasts a collaborative crowdsourcing request via Bluetooth.
[0142] S305b: The crowdsourcing device broadcasts a collaborative crowdsourcing request via Bluetooth.
[0143] When the sensors or software and hardware modules in the crowdsourcing device cannot collect crowdsourcing data corresponding to all crowdsourcing data items required for crowdsourcing, and the crowdsourcing device still cannot meet the crowdsourcing requirements after obtaining collaborative crowdsourcing data from collaborative devices with which it has established a connection, the crowdsourcing device can broadcast a collaborative crowdsourcing request via Bluetooth, and the collaborative crowdsourcing request is used to find collaborative devices that support crowdsourcing data from the devices that receive the Bluetooth broadcast.
[0144] The format of the collaborative crowdsourcing request sent by the crowdsourcing device can be Figure 4 The PDU format of the broadcast packet is shown in FIG. Figure 4 As shown, the collaborative crowdsourcing request may include four parts: broadcast message header, payload length, broadcast address, and broadcast data.
[0145] The broadcast message header, payload length, and broadcast address may refer to the description in the existing Bluetooth protocol and will not be described in detail here.
[0146] The broadcast data field may occupy 31 bytes, and may include n broadcast data structure ADstructure fields. If the n broadcast data structure fields are less than 31 bytes, 0 is added.
[0147] Each broadcast data structure may include a length field, a broadcast data format AD type field, and a broadcast data AD data field corresponding to the broadcast data format field.
[0148] In the embodiment of the present application, the collaborative crowdsourcing request may include AD structure field 1, AD structure field 2 and AD structure field 3.
[0149] Among them, the value of the AD type field in the AD structure field 1 is M1, and the M1 can be used to indicate that the data in the AD data field in the ADstructure field 1 is tag flags data, and the data in the AD data field is used to indicate the physical connection function of the crowdsourcing device that sends the collaborative crowdsourcing broadcast. The value of the AD data field can be R1, and the R1 can be used to indicate that the crowdsourcing device is in normal discovery mode. Among them, M1 can be 0x01, and the first bit value of R1 is 1. The embodiment of the present application does not limit the specific values of M1 and R1. Regarding the AD type field being flags data, please refer to the description in the existing Bluetooth protocol for details, which will not be repeated here.
[0150] The value of the AD type field in the AD structure field 2 is M2, and the M2 can be used to indicate that the data in the AD data field in the AD structure field 2 is a complete service universally unique identifier (service UUID). The id value of the AD data field can be R2. The R2 is used to indicate that the corresponding service is a collaborative crowdsourcing service. In the existing protocol, some service UUID values have been used to identify different services. The R2 is a value of the service UUID that is not used in the existing protocol. R&D personnel can select any value of the service UUID that is not used in the existing protocol to indicate the collaborative crowdsourcing service. Exemplarily, M2 can be 0X03 and R2 can be 0X222E. It can be understood that in the collaborative crowdsourcing request, R2 is 16-bit binary data. That is, the 16-bit binary value corresponding to 0X222E can be filled in the AD data field. The specific values of M2 and R2 are not limited in the embodiment of the present application. Regarding the service UUID, please refer to the description in the existing Bluetooth protocol for details, which will not be repeated here.
[0151] The value of the AD type field in the AD structure field 3 is M3, which can be used to indicate that the data in the AD data field in the AD structure field 3 represents a service solicitation (Service Solicitation), and the crowdsourcing device invites the collaborative device to provide the corresponding service. The data value in AD data can be R3. R3 can be an array [C0, Da, Db, ...] (a, b are positive integers, for example, a = 1, b = 2), where C0 can be used to indicate that the crowdsourcing device requires the collaborative device to provide a collaborative crowdsourcing service. [Da, Db, ...] Crowdsourcing data items that need to be provided by the collaborative device.
[0152] The meaning of the data in the AD data field in the AD structure field 3 in the collaborative crowdsourcing broadcast broadcast by the crowdsourcing device may be:
[0153] {
[0154] "service": "collaborative-cs-boardcast" / / Collaborative crowdsourcing service is required
[0155] "data": [D1, D2] / / Crowdsourced data items that need to be provided by collaborative devices
[0156] }
[0157] That is, some bits in R3 are used to indicate that the crowdsourcing device needs to cooperate with the crowdsourcing service, and other bits are used to indicate the crowdsourcing data items that need to be provided by the cooperative device. The crowdsourcing data items and their corresponding values can be shown in Table 2 below.
[0158] Table 2
[0159] Crowdsourced data items Numeric Air pressure data D1 Light sensing data D2 Wi-Fi Data D3 Gyroscope data D4 Inertial measurement unit (IMU) data D5 Cell Data D6 Global Navigation Satellite System (GNSS) D7 Magnetometer data D8
[0160] As shown in Table 2, when the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D1, it indicates that the crowdsourcing data item provided by the required collaborative device is air pressure data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D2, it indicates that the crowdsourcing data item provided by the required collaborative device is light sensor data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D3, it indicates that the crowdsourcing data item provided by the required collaborative device is Wi-Fi data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D4, it indicates that the crowdsourcing data item provided by the required collaborative device is gyroscope data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D5, it indicates that the crowdsourcing data item provided by the required collaborative device is IMU data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D6, it indicates that the crowdsourcing data item provided by the required collaborative device is Cell data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D7, it indicates that the crowdsourcing data item provided by the required collaborative device is GNSS data. When the value used to indicate that the required collaborative device provides a crowdsourcing data item in the AD data corresponding to the Service Solicitation format in the collaborative crowdsourcing request is D8, it indicates that the crowdsourcing data item provided by the required collaborative device is magnetometer data.
[0161] It is understandable that the crowdsourced data items involved in the embodiments of the present application are not limited to the air pressure data, light sensor data, and other crowdsourced data items listed in Tables 1 and 2. Tables 1 and 2 are only examples, and the crowdsourced data items involved in the embodiments of the present application may be less than or more than the crowdsourced data items listed in Tables 1 and 2.
[0162] In the existing protocols, some values have been used to identify that the crowdsourcing device invites the collaborative device to provide the corresponding service. Different values indicate different services. C0, D1, D2, D3, D4, D5, D6, D7 and D8 are values that are not used in the existing protocols (i.e., reserved values in the existing protocols, which can be customized and developed by R&D personnel). R&D personnel can select any value from the unused values in the existing protocols to indicate the need to provide collaborative crowdsourcing services and collaborative crowdsourcing data items.
[0163] Exemplarily, M3 may be 0X14. C0, D1, D2, D3, D4, D5, D6, D7, and D8 may be 16-bit binary values. The embodiments of the present application do not limit the specific values of M3 and C0, D1, D2, D3, D4, D5, D6, D7, and D8. For the meaning of different values of AD data when ADtype is Service Solicitation, please refer to the description in the existing Bluetooth protocol, which will not be repeated here.
[0164] In a possible implementation, the crowdsourcing device may also send the collaborative crowdsourcing request through other communication methods. For example, the crowdsourcing device may send the collaborative crowdsourcing request to the collaborative device 1 and the collaborative device 3 through Wi-Fi.
[0165] In the embodiment of the present application, the collaborative crowdsourcing request may also be referred to as the first request.
[0166] S306a, collaborative device 1 agrees to collaborative crowdsourcing.
[0167] S306b: Collaborative device 3 refuses collaborative crowdsourcing or does not respond.
[0168] The device that receives the collaborative crowdsourcing request sent by the crowdsourcing device may agree to the collaborative crowdsourcing, or may reject the collaborative crowdsourcing or not respond to the collaborative crowdsourcing request. Exemplarily, after collaborative device 1 parses the collaborative crowdsourcing request, if it is determined that the crowdsourcing data items required in the collaborative crowdsourcing request can be collected, collaborative device 1 may agree to the collaborative crowdsourcing. After collaborative device 2 parses the collaborative crowdsourcing request, if it is determined that the crowdsourcing data items required in the collaborative crowdsourcing request cannot be collected or it is in a busy state, it may reject the collaborative crowdsourcing or not respond. Collaborative device 2 being busy may include collaborative device 2 being in a call, playing a video, or displaying a game interface in full screen, etc.
[0169] Specifically, when the collaborative device 1 agrees to the collaborative crowdsourcing, the collaborative device 1 may send a collaborative crowdsourcing response to the crowdsourcing device. The format of the collaborative crowdsourcing response may also refer to Figure 4 The broadcast packet PDU format is shown. The collaborative crowdsourcing response may include AD structure field 4, AD structure field 5, and AD structure field 6. Among them, AD structure field 4 can refer to the description of AD structure field 1, and AD structure field 5 can refer to the description of AD structure field 2 above, which will not be repeated here. The value of the AD type field in AD structure field 6 is M4, and M4 can be used to indicate that the data in the AD data field in the AD structure field 6 represents service solicitation (Service Solicitation), and the collaborative device invites the crowdsourcing device to provide corresponding services. The data value in AD data can be R4. R4 can be an array [C1, Da, Db, ...] (a, b are positive integers, for example, a = 1, b = 2), where C1 can be used to indicate a collaborative crowdsourcing scan request. [Da, Db, ...] can be used to indicate crowdsourcing data items that can be provided by the collaborative device.
[0170] The meaning of the data in the AD data field in the AD structure field 6 in the collaborative crowdsourcing scan broadcast by the collaborative device can be:
[0171] {
[0172] "service": "collaborative-cs-scan" / / Collaborative crowdsourcing scan request
[0173] "data": [D1, D2] / / crowdsourced data items that collaborative devices can provide
[0174] }
[0175] That is, some bits in R4 are used to indicate that the crowdsourcing device needs collaborative crowdsourcing services, and other bits are used to indicate crowdsourcing data items that need to be provided by the collaborative device.
[0176] In the existing protocol, some values have been used to indicate that the crowdsourcing device invites the collaborative device to provide the corresponding service. Different values indicate different services. C1, D1, D2, D3, D4, D5, D6, D7 and D8 are values that are not used in the existing protocol. R&D personnel can select any value from the values that are not used in the existing protocol to indicate the need to provide collaborative crowdsourcing services and the need to provide collaborative crowdsourcing data items.
[0177] Exemplarily, M4 may be 0X14. C1, D1, D2, D3, D4, D5, D6, D7, and D8 may be 16-bit binary values. The embodiments of the present application do not limit the specific values of M4 and C1, D1, D2, D3, D4, D5, D6, D7, and D8. For the meaning of different values of AD data when ADtype is Service Solicitation, please refer to the description in the existing Bluetooth protocol, which will not be repeated here.
[0178] In an embodiment of the present application, the collaborative crowdsourcing response may also be referred to as a first response or a second response. Collaborative device 1 may be referred to as a first collaborative device, or collaborative device 1 may also be referred to as a second collaborative device. AD structure field 2 may be referred to as a first AD structure field. AD structure field 3 may be referred to as a second AD structure field. AD structure field 5 may be referred to as a third AD structure field. AD structure field 6 may be referred to as a fourth AD structure field.
[0179] After receiving the collaborative crowdsourcing response sent by collaborative device 1, the crowdsourcing device can parse the collaborative crowdsourcing response and determine based on the collaborative crowdsourcing response that collaborative device 1 can provide the crowdsourcing data items required in the collaborative crowdsourcing request. The crowdsourcing device can establish a connection with the collaborative device.
[0180] After the connection is established, the crowdsourcing device can instruct the collaborative device 1 to send the collaborative crowdsourcing data through the connection channel. The collaborative device 1 can also send the collaborative crowdsourcing data based on the instruction of the crowdsourcing device. That is, the crowdsourcing device and the collaborative device 1 can skip steps S307 to S309 and directly execute steps S310 and S311.
[0181] Optionally, before the crowdsourcing device obtains the collaborative crowdsourcing data sent by the collaborative device 1 or while the crowdsourcing device obtains the collaborative crowdsourcing data sent by the collaborative device 1, the crowdsourcing device may also obtain the IMU data of the collaborative device 1 through the connection channel.
[0182] S307, the crowdsourcing device instructs the collaborative device 1 to send IMU data.
[0183] S308. Collaborative device 1 sends IMU data to the crowdsourcing device.
[0184] The crowdsourcing device may instruct the collaborative device 1 to send the IMU data. After receiving the instruction from the crowdsourcing device, the collaborative device 1 may send the IMU data to the crowdsourcing device.
[0185] Exemplarily, the content of the IMU data sent by the collaborative device 1 may be as follows:
[0186] {
[0187] "datas":{
[0188] "IMUdatas": {
[0189] "x": {"acc": 1, "w": 3.0}, "y": {"acc": 2, "w": 2.0}, "z": {"acc": 2, "w": 1.0}}
[0190] }
[0191] }
[0192] The above "datas" indicates that the following content is data, and "IMUdatas" indicates that the following content is IMU data. "x": {"acc":1,"w":3.0} indicates that the acceleration in the x-axis direction is "1" and the angular velocity is "3.0". "y": {"acc":2,"w":2.0} indicates that the acceleration in the y-axis direction is "2" and the angular velocity is "2.0". "z": {"acc":2,"w":1.0} indicates that the acceleration in the z-axis direction is "2" and the angular velocity is "1.0".
[0193] It is understandable that when the collaborative device 1 sends the above IMU data to the crowdsourcing device, the collaborative device 1 can convert the acceleration and angular velocity in the three directions of the x-axis, y-axis, and z-axis in the above IMU data into binary, and then encapsulate it into a message, and then send the message to the crowdsourcing device. Then, the crowdsourcing device can parse the message to obtain the specific values of the acceleration and angular velocity in the three directions of the x-axis, y-axis, and z-axis in the IMU data.
[0194] S309 , the crowdsourcing device compares the motion trajectory of the crowdsourcing device and the collaborative device 1 based on the IMU data.
[0195] The crowdsourcing device can determine the motion trajectory of the crowdsourcing device based on the IMU data of the crowdsourcing device. Then, the crowdsourcing device determines the motion trajectory of the collaborative device 1 based on the IMU data sent by the collaborative device 1. The crowdsourcing device can determine whether the crowdsourcing device and the collaborative device 1 remain close and whether they are worn by the same person (or called keeping synchronized movement) based on the motion trajectory of the crowdsourcing device and the motion trajectory of the collaborative device 1. If the crowdsourcing device and the collaborative device 1 are worn by the same person or remain close (the distance is less than or equal to the preset distance), the collaborative device 1 can continue to send collaborative crowdsourcing data. If the crowdsourcing device and the collaborative device 1 are not worn by the same person or remain far away (the distance is greater than the preset distance), the crowdsourcing device can disconnect from the collaborative device, and the collaborative device will no longer continue to send collaborative crowdsourcing data.
[0196] In one possible implementation, the crowdsourcing device can use the pedestrian dead reckoning (PDR) algorithm to compare the motion trajectory of the crowdsourcing device and the motion trajectory of the collaborative device 1. Specifically, the input of the PDR algorithm can be the Wi-Fi information, Bluetooth information, IMU data of the crowdsourcing device and the Wi-Fi information, Bluetooth information, and IMU data of the collaborative device 1. The crowdsourcing device and the collaborative device 1 can be equipped with a 6-axis or 9-axis IMU sensor. The IMU sensors in the crowdsourcing device and the collaborative device 1 can collect acceleration, angular velocity, and magnetometer readings in the three directions of the x-axis, y-axis, and z-axis. The PDR algorithm of the crowdsourcing device can calculate the speed and movement distance of the crowdsourcing device during a period of time based on the acceleration collected by the IMU sensor of the crowdsourcing device over a period of time, and then combine the angular velocity to calculate the turning angle of the crowdsourcing device.
[0197] Figure 5 The figure shows an example of using the PDR algorithm to calculate the motion trajectory of the device. Figure 5 The motion trajectory shown in FIG. 1 is an example of the motion trajectory of a crowdsourcing device. Figure 5 As shown, the crowdsourcing device uses the PDR algorithm to calculate the movement distance S1, movement distance S2, and movement distance S3 of the crowdsourcing device, as well as the turning angle θ1, turning angle θ2, and turning angle θ3 of the crowdsourcing device based on the IMU data. Specifically, the crowdsourcing device can use the PDR algorithm to calculate the movement distance S1 of the crowdsourcing device in time period 1 based on the acceleration collected by the IMU sensor in time period 1, and then calculate the turning angle θ1 of the crowdsourcing device in combination with the angular velocity collected by the IMU sensor in time period 1. Similarly, the crowdsourcing device can use the PDR algorithm to calculate the movement distance S2 of the crowdsourcing device in time period 2 based on the acceleration collected by the IMU sensor in time period 2, and then calculate the turning angle θ2 of the crowdsourcing device in combination with the angular velocity collected by the IMU sensor in time period 2. The crowdsourcing device can use the PDR algorithm to calculate the movement distance S3 of the crowdsourcing device in time period 3 based on the acceleration collected by the IMU sensor in time period 3, and then calculate the turning angle θ3 of the crowdsourcing device in combination with the angular velocity collected by the IMU sensor in time period 3.
[0198] If only IMU data is used to estimate the trajectory, the error of the IMU sensor will accumulate, resulting in errors in the estimated trajectory. Figure 6 As shown in the figure, the actual movement distance of the crowdsourcing device in time period 2 is S2', and the movement distance is S2 calculated based on the IMU data using the PDR algorithm. In this way, the longer the crowdsourcing device moves, the greater the error between the trajectory calculated by the crowdsourcing device and the actual trajectory of the crowdsourcing device.
[0199] In some examples, the crowdsourcing device can determine the distance between the crowdsourcing device and the collaborative device through the Wi-Fi information of the crowdsourcing device (e.g., Wi-Fi signal strength) and the Wi-Fi information and Bluetooth information of collaborative device 1 (e.g., the strength of the Bluetooth signal of the crowdsourcing device received by collaborative device 1). Specifically, the crowdsourcing device can calculate the similarity between the Wi-Fi information of the crowdsourcing device and the Wi-Fi information of collaborative device 1 over a period of time. If the similarity is getting smaller and the Bluetooth signal strength is getting smaller, the crowdsourcing device can determine that the distance between the crowdsourcing device and collaborative device 1 is getting larger, that is, collaborative device 1 is moving away from the crowdsourcing device. If the similarity is getting larger and the Bluetooth signal strength is getting larger, the crowdsourcing device can determine that the distance between the crowdsourcing device and the collaborative device is getting smaller, that is, collaborative device 1 is getting closer to the crowdsourcing device.
[0200] In some examples, the distance estimated by Wi-Fi and Bluetooth signal strength is not accurate, but the crowdsourcing device can use Wi-Fi information and Bluetooth information to correct the error of the trajectory inferred only by IMU data. The crowdsourcing device can use Kalman ERF filtering to fuse the distance estimated by the i-Fi and Bluetooth signal strength and the trajectory inferred by IMU data to eliminate the error. For details, please refer to formula 1 and formula 2:
[0201] X a =μ(x a-1 +S)+(1-μ)(X b -D) (Formula 1)
[0202] Z k =AZ k-1 A T +Q (Formula 2)
[0203] In the above formula 1, X a is the current location of the predicted crowdsourcing device, X a-1 is the predicted position of the crowdsourcing device at the last moment, and S is the position offset calculated by IMU data. b is the predicted current location of the collaborative device, and D is the distance offset calculated by the crowdsourcing device based on the Wi-Fi signal strength and Bluetooth signal strength.
[0204] In the above formula 2, A represents the conversion matrix from the pdr position of the previous second to the current pdr position using IMU data, Q represents the covariance of the error of the IMU data, and Z k is the covariance of the error generated by the current moment prediction pdr position process, Z k-1 Z is the covariance of the error generated by the PDR position prediction process at the previous moment. k It will affect the Kalman filter gain, thus determining the μ of the next round. μ = 1-Zk / (Zk+R).
[0205] Initially, the crowdsourcing device can give a higher confidence to the IMU data calculation results (movement distance or position). As time progresses, the μ value will change due to the covariance, thereby optimizing the output results. Since the distance offset calculated by Wi-Fi information and Bluetooth signal strength is not accurate, the value of μ should not be less than 0.5. The specific value of μ is not limited in the embodiments of this application.
[0206] In one possible implementation, the crowdsourcing device can determine whether the crowdsourcing device and the collaborative device are worn by the same person (also referred to as maintaining synchronous movement) based on the distance verification results between the crowdsourcing device and the collaborative device 1, the trajectory comparison between the crowdsourcing device and the collaborative device 1, and the parameter comparison between the crowdsourcing device and the collaborative device 1.
[0207] Furthermore, in a possible implementation, the crowdsourcing device can collect sound waves from the collaborative device 1, and based on the Doppler effect generated by the frequency change of the sound waves, it can be inferred whether the collaborative device 1 and the crowdsourcing device are in a distant state or a close state.
[0208] In a possible implementation, the crowdsourcing device can continuously collect the sound wave frequency data of the collaborative device 1. Then, the crowdsourcing device can perform sliding window filtering on the collected sound wave frequency data to eliminate the influence of noise. Next, the crowdsourcing device can perform Fourier transform on the filtered sound wave frequency data to obtain frequency domain data. Then, the crowdsourcing device can calculate the distance based on the frequency domain data to obtain the arm swing period. Finally, the crowdsourcing device can calculate the high and low frequency ratio of each arm swing period.
[0209] For example, Figure 7 The schematic diagram of sliding window filtering of sound wave frequency data is shown as an example. Figure 7 As shown, the crowdsourcing device can perform sliding window filtering on the raw data of the sound wave frequency collected during the walking process to obtain filtered data. The sound wave data after sliding window filtering conforms to the distribution of periodic cycles, which conforms to the swinging law of the user's arm during the walking process.
[0210] Next, the crowdsourcing device can perform Fourier transformation on the filtered sound wave frequency data to extract the frequency domain data at each time point. Then, the crowdsourcing device can convert the frequency domain data into distance data (here the conversion is relative distance). Assume that the frequency domain conversion results of the Fourier transformation are F1, F2, ..., Fmax. The average frequency is Favg. The distance calculation formula is as follows:
[0211]
[0212] The crowdsourcing device can select the time point t1 corresponding to the local maximum distance DisMax from Distance, and the time point t2 corresponding to the next local maximum distance DisMax2 (the range of t1 and t2 should not exceed 10 seconds), and the time difference L between t1 and t2 is set as the arm swing period. After obtaining the arm swing period, the crowdsourcing device can segment the collected sound wave frequency according to the period, and perform statistical law on the frequency distribution of each segment: the ratio of high and low frequency sound waves. The calculation formula of ratio is:
[0213]
[0214] The crowdsourcing device can also obtain the relative motion trajectory between the crowdsourcing device and the collaborative device 1 based on the PDR algorithm. The crowdsourcing device can set the starting point of the movement as the origin, that is, the crowdsourcing device and the collaborative device 1 are both triggered from the origin. Within a certain distance, the movement direction of the crowdsourcing device and the collaborative device can be consistent. For example, Figure 8 FIG. 2 shows a schematic diagram of the motion trajectories of device 1 and device 2. Figure 8 As shown, the motion trajectory of device 1 and the motion trajectory of device 2 are consistent within the distance d1. As the motion process progresses, the landing points predicted by the PDR trajectories of device 1 and device 2 will deviate.
[0215] Figure 8 The trajectory of device 1 and the trajectory of device 2 shown in the figure can be the motion trajectory of the crowdsourcing device and the motion trajectory of the collaborative device 1 respectively. In the trajectory comparison stage, the crowdsourcing device can obtain two characteristic values: the direction deviation angle of the current motion stage and the coordinate deviation of the current landing point.
[0216] The crowdsourcing device can obtain the Bluetooth signal strength of the collaborative device 1. The crowdsourcing device can also monitor the IMU data of the crowdsourcing device and the IMU data of the collaborative device 1, determine the motion state of the crowdsourcing device (moving or stationary) based on the IMU data of the crowdsourcing device, and determine the motion state of the collaborative device 1 (moving or stationary) based on the IMU data of the collaborative device 1. The crowdsourcing device can also obtain the current barometer data. The air pressure data obtained by the crowdsourcing device can be measured by the air pressure sensor in the crowdsourcing device, or sent by the collaborative device.
[0217] The crowdsourcing device can determine whether the crowdsourcing device and the collaborative device 1 are worn by the same person or kept away based on the ratio of high and low frequency sound waves, the direction offset angle of the current motion stage and the coordinate deviation of the current landing point obtained in the trajectory comparison stage, as well as the Bluetooth strength, IMU status and barometer data.
[0218] Specifically, in one possible implementation, the crowdsourcing device can input the ratio of high and low frequency sound waves, the direction offset angle of the current motion stage and the coordinate deviation of the current landing point obtained in the trajectory comparison stage, as well as the Bluetooth strength, IMU status and barometer data into a decision tree forest model. The decision tree forest model can output a prediction result, for example, whether the crowdsourcing device and the collaborative device 1 should be kept worn by the same person or kept away.
[0219] Optionally, the decision tree forest model may be generated by an extreme gradient boosting (eXtreme Gradient Boosting, XGBoost) algorithm. The key parameters of the decision tree forest model may be shown in Table 3 below.
[0220] Table 3
[0221] parameter value illustrate Booster Type Dart Binary classifier, and strong ability to prevent overfitting ObjectivePrediction target Multi: softmax Produce a definite classification result Gamma regularization term optimization weight 1 0.1 Maxdepth decision tree forest model maximum tree depth 8 Too deep a tree will reduce the judgment efficiency Lambda regularization term optimization weight 2 1 Preventing Overfitting Eta shrinkage rate 0.1 A learning rate that works well and is appropriate
[0222] As shown in Table 3, the key parameters of the decision tree forest module may include Booster, Objective, Gamma, the maximum tree depth of the decision tree forest model Maxdepth, Lambda, and eta. For the specifics of the decision tree forest model, reference may be made to the description in the prior art, which will not be repeated here.
[0223] When the offset angle is less than the first threshold, the coordinate deviation is less than the second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is less than the third threshold, and / or the Bluetooth signal strength received by the first collaborative device from the crowdsourcing device is greater than the fourth threshold, and / or the IMU state of the crowdsourcing device is the same as the IMU state of the collaborative device, and / or the difference between the air pressure data collected by the crowdsourcing device and the air pressure data collected by the collaborative device is less than the fifth threshold, the crowdsourcing device determines that the collaborative device and the crowdsourcing device maintain common motion.
[0224] When the offset angle is greater than the first threshold, the coordinate deviation is greater than the second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is greater than the third threshold, and / or the Bluetooth signal strength received by the first collaborative device from the crowdsourcing device is less than the fourth threshold, and / or the IMU state of the crowdsourcing device is different from the IMU state of the collaborative device, and / or the difference between the air pressure data collected by the crowdsourcing device and the air pressure data collected by the collaborative device is greater than the fifth threshold, the crowdsourcing device determines that the collaborative device and the crowdsourcing device are not maintaining common motion.
[0225] It can be understood that the higher the degree of overlap (the closer) between the motion trajectory of the crowdsourcing device and the motion trajectory of the collaborative device, the consistent motion state of the crowdsourcing device and the collaborative device, indicating that the movement direction and speed of the crowdsourcing device and the collaborative device are consistent. The closer the high and low sound wave ratio is to 1, that is, the first ratio is 1, indicating that the distance between the collaborative devices is consistent. The greater the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device, and the smaller the difference between the air pressure data collected by the crowdsourcing device and the air pressure data collected by the collaborative device, the closer the distance between the collaborative device and the crowdsourcing device is. In this way, through data from multiple dimensions, it is possible to more accurately determine whether the collaborative device and the crowdsourcing device are worn by the same person.
[0226] The embodiment of the present application does not limit the specific values of the first threshold, the second threshold, the third threshold, the fourth threshold and the fifth threshold.
[0227] Optionally, when the crowdsourcing device uses the PDR algorithm to obtain the motion trajectory of the crowdsourcing device (also referred to as the PDR trajectory of the crowdsourcing device) and the motion trajectory of the collaborative device 1 (also referred to as the PDR trajectory of the collaborative device 1), the crowdsourcing device and the collaborative device 1 can use network positioning (for example, Wi-Fi positioning) to obtain the preliminary coordinates of the crowdsourcing device and the collaborative device 1. Due to the large error of network positioning, it may cause deviations in the subsequent inference of whether the crowdsourcing device and the collaborative device maintain the same wearable motion. Therefore, the crowdsourcing device can generate a circle of particles around the preliminary coordinates of the crowdsourcing device, representing the possible real coordinates of the crowdsourcing device. During the movement, the crowdsourcing device can continue to use network positioning for positioning, that is, to locate the coordinates of the crowdsourcing device. Similarly, during the movement, the collaborative device 1 can also continue to use network positioning for positioning, that is, to locate the coordinates of the collaborative device 1. Then, the collaborative device 1 can send the coordinates of the collaborative device 1 to the crowdsourcing device.
[0228] Optionally, the collaborative device 1 may send Wi-Fi information of the collaborative device 1 to the crowdsourcing device, and the crowdsourcing device may locate the coordinates of the collaborative device 1 based on the Wi-Fi information of the collaborative device 1 .
[0229] Fig. 9 The positioning result of network positioning and a possible real position diagram are shown as an example. Fig. 9 The following is an example of the positioning result of the crowdsourcing device during the moving process. Fig. 9As shown, the black dots in the figure can be the positioning results obtained by the crowdsourcing device using network positioning. The crowdsourcing device can generate a circle of particles around the preliminary coordinates of the crowdsourcing device, representing the possible real coordinates of the crowdsourcing device. Since there is an error between the positioning result of the network positioning and the real position, the crowdsourcing device does not directly generate a trajectory with the positioning result of the network positioning. In order to make the inferred PDR trajectory of the crowdsourcing device and the PDR trajectory of the collaborative device 1 more accurate, the crowdsourcing device can use the acceleration data and gyroscope data in the IMU data of the crowdsourcing device to generate the motion trajectory of the crowdsourcing device, and then use the result of the network positioning of the crowdsourcing device and the motion trajectory to fuse and correct the result. Similarly, the crowdsourcing device can use the acceleration data and gyroscope data in the IMU data of the collaborative device 1 to generate the motion trajectory of the collaborative device 1, and then use the result of the network positioning of the collaborative device 1 to fuse and correct the result.
[0230] Furthermore, in a possible implementation, the crowdsourcing device may use particle filtering to fuse the network positioning result of the crowdsourcing device and the motion trajectory obtained by the crowdsourcing device based on IMU data. The crowdsourcing device may use particle filtering to fuse the network positioning result of the collaborative device 1 and the motion trajectory obtained by the collaborative device 1 based on IMU data.
[0231] Taking the fusion of the motion trajectory of the crowdsourcing device and the network positioning result of the crowdsourcing device as an example, the particle filter fusion formula is as follows:
[0232] X(k+1)=f(X(k),W(k+1)) (Formula 5)
[0233] In the above formula 5, the prediction result X(k+1) of the current position point of the crowdsourcing device is determined by the result X(k) of the previous position point of the crowdsourcing device combined with the weight W(k+1) corresponding to the possible result of the current position point. In the above particle filter fusion formula, each time the weight of the particle is updated, the weight also needs to be normalized and updated. The normalized update formula of the weight is as follows:
[0234]
[0235] In the above formula 6, P(K) represents the probability density at time K, P(K) = ∑(d(i) / dstd(i)), d(i) is the coordinate deviation between the i-th particle and the IMU-estimated position, and sstd is the standard deviation of the coordinate offset at that moment. is the average probability density of all particles at that moment.
[0236] The crowdsourcing device can resample the particle set according to the weights and reset the particle weights. The crowdsourcing device can select the corresponding particle according to the index obtained from the resampling result, and obtain the target result of the current point according to the corresponding particle and weight. In this way, the crowdsourcing device can adopt the resampling method and use the principle of survival of the fittest to eliminate incorrect prediction coordinates after multiple iterations.
[0237] S310: The crowdsourcing device instructs collaborative device 1 to send collaborative crowdsourcing data.
[0238] S311. Collaborative device 1 sends collaborative crowdsourcing data to the crowdsourcing device.
[0239] After the crowdsourcing device establishes a connection with the collaborative device 1, the crowdsourcing device can instruct the collaborative device 1 to send the collaborative crowdsourcing data. The collaborative device 1 can send the collected collaborative crowdsourcing data to the crowdsourcing device. In the process of the collaborative device 1 sending the collaborative crowdsourcing data, if the crowdsourcing device determines that the collaborative device 1 and the crowdsourcing device do not belong to the same wearable sports, that is, the collaborative device 1 is far away from the crowdsourcing device and the distance from the crowdsourcing device exceeds the preset distance, the crowdsourcing device can disconnect from the collaborative device 1 and no longer continue to receive the collaborative crowdsourcing data sent by the collaborative device 1.
[0240] Furthermore, in a possible implementation, after the crowdsourcing device disconnects from the collaborative device 1 and no longer continues to receive the collaborative crowdsourcing data sent by the collaborative device 1, the crowdsourcing device can end the crowdsourcing or continue to broadcast via Bluetooth to find a new collaborative device.
[0241] In a possible implementation, the crowdsourcing device and the collaborative device 1 may not establish a connection, and the collaborative device may send the collaborative crowdsourcing data to the crowdsourcing device by broadcasting.
[0242] In another possible implementation, after the collaborative device agrees to collaborative crowdsourcing, it can directly send the collaborative crowdsourcing data to the crowdsourcing device without waiting for the instruction of the crowdsourcing device. That is, the crowdsourcing device may not perform step S310.
[0243] Through the method provided by the embodiment of the present application, when a terminal device, i.e., a crowdsourcing device, needs to provide crowdsourcing data but cannot provide complete crowdsourcing data, the terminal device can send a Bluetooth broadcast, which is used to send a collaborative crowdsourcing request to surrounding terminal devices. The surrounding terminal devices, i.e., collaborative devices, can receive the collaborative crowdsourcing request and send crowdsourcing data to the terminal device. In this way, the terminal device can collaborate with other devices to provide complete crowdsourcing data together.
[0244] In the crowdsourcing process, if the devices are not worn by the same person or are always kept in close proximity, the shared data cannot be replaced by each other, and the accuracy of the collaborative crowdsourcing data will be insufficient. In an embodiment of the present application, when there is no connected collaborative device to the crowdsourcing device, it can directly broadcast to find the surrounding collaborative devices. The crowdsourcing device will also determine whether the collaborative device is worn by the same person as the crowdsourcing device. If not, it can disconnect from the collaborative device and no longer continue to receive the collaborative crowdsourcing data sent by the collaborative device. In this way, the accuracy of the crowdsourcing data can be guaranteed.
[0245] The following introduces an exemplary terminal device 100 provided in an embodiment of the present application.
[0246] The terminal device 100 in the embodiment of the present application may be referred to as a crowdsourcing device. The terminal device 100 may be Figure 1 The mobile phones 20, 21, 2n, etc. are shown in FIG.
[0247] Fig.10 It is a structural diagram of the terminal device 100 provided in an embodiment of the present application.
[0248] The embodiment is described in detail below by taking the terminal device 100 as an example. It should be understood that the terminal device 100 may have more or fewer components than those shown in the figure, may combine two or more components, or may have different component configurations. The various components shown in the figure may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
[0249] The terminal device 100 may include: a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194 and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0250] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0251] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0252] The controller may be the nerve center and command center of the terminal device 100. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.
[0253] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0254] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0255] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example: the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface, thereby realizing the touch function of the terminal device 100.
[0256] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.
[0257] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0258] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.
[0259] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to implement the shooting function of the terminal device 100. The processor 110 and the display screen 194 communicate via the DSI interface to implement the display function of the terminal device 100.
[0260] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0261] The SIM interface can be used to communicate with the SIM card interface 195 to implement the function of transmitting data to the SIM card or reading data in the SIM card.
[0262] The USB interface 130 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the terminal device 100, and can also be used to transmit data between the terminal device 100 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as AR devices, etc.
[0263] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0264] The charging management module 140 is used to receive charging input from a charger, where the charger can be a wireless charger or a wired charger.
[0265] The power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140 to power the processor 110, the internal memory 121, the external memory, the display screen 194, the camera 193, and the wireless communication module 160.
[0266] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0267] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0268] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the terminal device 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0269] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0270] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the terminal device 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0271] In some embodiments, the antenna 1 of the terminal device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the terminal device 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0272] The terminal device 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or change display information.
[0273] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light emitting diode or an active-matrix organic light emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the terminal device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0274] The terminal device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
[0275] ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and the light is transmitted to the camera photosensitive element through the lens. The light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In some embodiments, ISP can be set in camera 193.
[0276] The camera 193 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format. In some embodiments, the terminal device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
[0277] The digital signal processor is used to process digital signals, and can process not only digital image signals but also other digital signals. For example, when the terminal device 100 is selecting a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0278] Video codecs are used to compress or decompress digital videos. The terminal device 100 may support one or more video codecs. Thus, the terminal device 100 may play or record videos in various coding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.
[0279] NPU is a neural network (NN) computing processor. By drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain, it can quickly process input information and can also continuously self-learn. Through NPU, applications such as intelligent cognition of the terminal device 100 can be realized, such as image recognition, face recognition, voice recognition, text understanding, etc.
[0280] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0281] The internal memory 121 can be used to store computer executable program codes, which include instructions. The processor 110 executes various functional applications and data processing of the terminal device 100 by running the instructions stored in the internal memory 121. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, applications required for at least one function (such as face recognition function, fingerprint recognition function, mobile payment function, etc.), etc. The data storage area may store data created during the use of the terminal device 100 (such as face information template data, fingerprint information template, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc.
[0282] The terminal device 100 can implement audio functions such as music playing and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0283] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be arranged in the processor 110, or some functional modules of the audio module 170 can be arranged in the processor 110.
[0284] The speaker 170A, also called a "speaker", is used to convert an audio electrical signal into a sound signal. The terminal device 100 can listen to music or listen to a hands-free call through the speaker 170A.
[0285] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the voice can be received by placing the receiver 170B close to the ear.
[0286] Microphone 170C, also called "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The terminal device 100 can be provided with at least one microphone 170C. In other embodiments, the terminal device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the terminal device 100 can also be provided with three, four or more microphones 170C to realize the collection of sound signals, noise reduction, identification of sound sources, realization of directional recording function, etc.
[0287] The earphone interface 170D is used to connect a wired earphone and can be a USB interface 130 or a 3.5 mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0288] The pressure sensor 180A is used to sense the pressure signal and can convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A can be set on the display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, capacitive pressure sensors, etc. The capacitive pressure sensor can be a parallel plate including at least two conductive materials. When a force acts on the pressure sensor 180A, the capacitance between the electrodes changes. The terminal device 100 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the terminal device 100 detects the touch operation intensity according to the pressure sensor 180A. The terminal device 100 can also calculate the touch position according to the detection signal of the pressure sensor 180A. In some embodiments, touch operations acting on the same touch position but with different touch operation intensities can correspond to different operation instructions. For example: when a touch operation with a touch operation intensity less than the first pressure threshold acts on the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
[0289] The gyroscope sensor 180B can be used to determine the motion posture of the terminal device 100. In some embodiments, the angular velocity of the terminal device 100 around three axes (i.e., x, y, and z axes) can be determined by the gyroscope sensor 180B. The gyroscope sensor 180B can be used for anti-shake shooting. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the terminal device 100 shaking, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to offset the shaking of the terminal device 100 through reverse movement to achieve anti-shake. The gyroscope sensor 180B can also be used for navigation and somatosensory game scenes.
[0290] The air pressure sensor 180C is used to measure air pressure. In some embodiments, the terminal device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist positioning and navigation.
[0291] The magnetic sensor 180D includes a Hall sensor. The terminal device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip leather case. In some embodiments, when the terminal device 100 is a flip phone, the terminal device 100 can detect the opening and closing of the flip cover according to the magnetic sensor 180D. Then, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, the flip cover automatic unlocking and other features are set.
[0292] The acceleration sensor 180E can detect the magnitude of the acceleration of the terminal device 100 in various directions (generally three axes). When the terminal device 100 is stationary, the magnitude and direction of gravity can be detected. It can also be used to identify the posture of the electronic device and is applied to applications such as horizontal and vertical screen switching and pedometers.
[0293] The distance sensor 180F is used to measure the distance. The terminal device 100 can measure the distance by infrared or laser. In some embodiments, when shooting a scene, the terminal device 100 can use the distance sensor 180F to measure the distance to achieve fast focusing.
[0294] The proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. The terminal device 100 emits infrared light outward through the light emitting diode. The terminal device 100 uses a photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the terminal device 100. When insufficient reflected light is detected, the terminal device 100 can determine that there is no object near the terminal device 100. The terminal device 100 can use the proximity light sensor 180G to detect that the user holds the terminal device 100 close to the ear to talk, so as to automatically turn off the screen to save power. The proximity light sensor 180G can also be used in leather case mode, and pocket mode automatically unlocks and locks the screen.
[0295] The ambient light sensor 180L is used to sense the ambient light brightness. The terminal device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the terminal device 100 is in a pocket to prevent accidental touch.
[0296] The fingerprint sensor 180H is used to collect fingerprints. The terminal device 100 can use the collected fingerprint characteristics to achieve fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
[0297] The temperature sensor 180J is used to detect temperature. In some embodiments, the terminal device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, the terminal device 100 reduces the performance of the processor located near the temperature sensor 180J to reduce power consumption and implement thermal protection. In other embodiments, when the temperature is lower than another threshold, the terminal device 100 heats the battery 142 to avoid abnormal shutdown of the terminal device 100 due to low temperature. In other embodiments, when the temperature is lower than another threshold, the terminal device 100 performs a boost on the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
[0298] The touch sensor 180K is also called a "touch panel". The touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch screen". The touch sensor 180K is used to detect touch operations acting on or near it. The touch sensor can pass the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through the display screen 194. In other embodiments, the touch sensor 180K can also be set on the surface of the terminal device 100, which is different from the position of the display screen 194.
[0299] The key 190 includes a power key, a volume key, etc. The key 190 may be a mechanical key or a touch key. The terminal device 100 may receive key input and generate key signal input related to user settings and function control of the terminal device 100.
[0300] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.
[0301] Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.
[0302] The SIM card interface 195 is used to connect a SIM card. The SIM card can be connected to or disconnected from the terminal device 100 by inserting the SIM card interface 195 or pulling the SIM card interface 195 out. The terminal device 100 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the multiple cards can be the same or different. The SIM card interface 195 can also be compatible with different types of SIM cards. The SIM card interface 195 can also be compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as calls and data communications.
[0303] Fig.11 It is a schematic diagram of the structure of the terminal device 1100 according to an embodiment of the present application.
[0304] In the embodiment of the present application, the terminal device 1100 may be referred to as a collaborative device, or may be referred to as a first collaborative device, or may be referred to as a second collaborative device, etc. The terminal device 1100 may also be Figure 1 The bracelet 30 or bracelet 31, or watch 40, or watch 41 shown in the figure.
[0305] like Fig.11 As shown, the terminal device 1100 may include: a processor 1101 , a memory 1102 , a sensor 1103 , a wireless communication module 1104 , and an audio module 1105 .
[0306] The memory 1102 may be used to store crowdsourcing data.
[0307] The processor 1101 may be used to parse the received Bluetooth broadcast and send a Bluetooth response based on the Bluetooth broadcast. The processor 1101 may also be used to instruct the sensor 1103 to collect crowdsourced data required in the Bluetooth broadcast.
[0308] The sensor 1103 may include an acceleration sensor, which may be used to collect acceleration of the terminal device 1100 in various directions.
[0309] The sensor 1103 may also include a gyroscope sensor. The gyroscope sensor may be used to collect the angular velocity of the terminal device 1100 in various directions (ie, x, y and z axes).
[0310] The sensor 1103 may also include an air pressure sensor. The air pressure sensor may be used to collect air pressure data at the location where the terminal device 1100 is located.
[0311] The sensor 1103 may also include an ambient light sensor. The ambient light sensor may be used to sense the brightness of ambient light and determine whether the terminal device 1100 is indoors or outdoors based on the brightness of ambient light.
[0312] The wireless communication module 1104 can be used to support short-range data interaction between the terminal device 1100 and various terminal devices. In some embodiments, the wireless communication module 1104 may include a Bluetooth transceiver, which is used to receive the collaborative crowdsourcing request broadcast by the terminal device 100. The wireless communication module 1104 may also include a Wi-Fi module, which can receive instructions sent by the terminal device 100 to instruct the terminal device 1100 to send IMU data, air pressure data, etc. The terminal device 1100 can also send crowdsourcing data to the terminal device 100 through the Wi-Fi module.
[0313] The audio module 1105 may be configured to emit sound wave signals.
[0314] It should be understood that Fig.11 The terminal device 1100 shown is only an example, and the terminal device 1100 may have more Fig.11 More or fewer components shown, two or more components may be combined, or different component configurations may be provided. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
[0315] Fig.12 It is a schematic diagram of the structure of the device 1200 provided in an embodiment of the present application.
[0316] In the embodiment of the present application, the device 1200 may be Figure 1 The server 10 is shown in FIG.
[0317] like Fig.12 As shown, the device 1200 may include: a processor 1201 , a memory 1202 , and a transceiver 1203 .
[0318] The processor 1201 may generate some instructions for instructing crowdsourcing devices to perform crowdsourcing, and send the instructions to one or more crowdsourcing devices via the transceiver 1203 .
[0319] The transceiver 1203 may also be configured to receive crowdsourcing data sent by one or more crowdsourcing devices.
[0320] The memory may be used to store crowdsourcing data sent by one or more crowdsourcing devices.
[0321] It should be understood that Fig.12 The device 1200 shown is only one example, and the device 1200 may have more Fig.12 More or fewer components shown, two or more components may be combined, or different component configurations may be provided. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and / or application specific integrated circuits.
[0322] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
[0323] As used in the above embodiments, the term "when..." may be interpreted to mean "if..." or "after..." or "in response to determining..." or "in response to detecting...", depending on the context. Similarly, the phrases "upon determining..." or "if (the stated condition or event) is detected" may be interpreted to mean "if determining..." or "in response to determining..." or "upon detecting (the stated condition or event)" or "in response to detecting (the stated condition or event)", depending on the context.
[0324] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that contains one or more available media integration. The available medium can be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk), etc.
[0325] Those skilled in the art can understand that to implement all or part of the processes in the above-mentioned embodiments, the processes can be completed by computer programs to instruct related hardware, and the programs can be stored in computer-readable storage media. When the programs are executed, they can include the processes of the above-mentioned method embodiments. The aforementioned storage media include: ROM or random access memory RAM, magnetic disk or optical disk and other media that can store program codes.
Claims
1. A crowdsourcing method, characterized in that: Applied to a crowdsourcing system, the crowdsourcing system includes a crowdsourcing device and a first collaborative device, and the method includes: The crowdsourcing device broadcasts a first request, where the first request is used to request the collaborative device to send one or more crowdsourcing data, where the one or more crowdsourcing data include first crowdsourcing data; The first collaborative device receives the first request and sends a first response to the crowdsourcing device, where the first response is used to indicate that the first collaborative device supports providing first crowdsourcing data; After receiving the first response, the crowdsourcing device establishes a connection with the first collaborative device; The crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device.
2. The method according to claim 1, characterized in that The first request includes a first broadcast data structure ADstructure and a second AD structure, the first AD structure is used to indicate that the crowdsourcing device requests a collaborative crowdsourcing service, and the second AD structure is used to indicate that the collaborative device is requested to send one or more crowdsourcing data.
3. The method according to claim 2, characterized in that: The first response includes a third AD structure and a fourth AD structure, the third AD structure is used to indicate that the first collaborative device supports providing a collaborative crowdsourcing service, and the fourth AD structure is used to indicate that the first collaborative device supports providing the first crowdsourcing data.
4. The method according to any one of claims 1 to 3, characterized in that: After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: In a case where the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common movement, the crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device, wherein the first collaborative device and the crowdsourcing device maintain common movement including that during the movement of the crowdsourcing device, the first collaborative device maintains movement, and the distance between the first collaborative device and the crowdsourcing device is less than a preset distance threshold; In a case where the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the crowdsourcing device is disconnected from the first collaborative device.
5. The method according to claim 4, characterized in that After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: The crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, the first motion data including first inertial measurement unit IMU data collected by the crowdsourcing device, and one or more of sound wave signal data of the first collaborative device collected by the crowdsourcing device and first air pressure data collected by the crowdsourcing device; the second motion data includes second IMU data collected by the first collaborative device, Bluetooth signal strength of the crowdsourcing device received by the first collaborative device, and one or more of second air pressure data collected by the first collaborative device.
6. The method according to claim 5, characterized in that The first request is also used to request the first collaborative device to send the second motion data.
7. The method according to claim 5, characterized in that After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: The crowdsourcing device sends a first instruction to the first collaborative device, where the first instruction is used to instruct the first collaborative device to send second motion data.
8. The method according to any one of claims 5 to 7, characterized in that: Before the crowdsourcing device determines, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the method further includes: The crowdsourcing device determines an offset angle and a coordinate deviation of a first motion trajectory and a second motion trajectory, the first motion trajectory being obtained from the first IMU data, and the second motion trajectory being obtained from the second IMU data; and / or, the crowdsourcing device determines a high-frequency and low-frequency sound wave ratio of the sound wave signal based on the sound wave signal data; And / or, the crowdsourcing device determines a first IMU state based on the first IMU data, and determines a second IMU state based on the second IMU data, the first IMU state is used to indicate the motion state of the crowdsourcing device, and the second IMU state is used to indicate the motion state of the first collaborative device.
9. The method according to claim 8, characterized in that The crowdsourcing device determines, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, including: When the offset angle is less than a first threshold, the coordinate deviation is less than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is less than a third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is greater than a fourth threshold, and / or the first IMU state is the same as the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is less than a fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion; When the offset angle is greater than a first threshold, the coordinate deviation is greater than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is greater than a third threshold, and / or the Bluetooth signal strength received by the first collaborative device from the crowdsourcing device is less than a fourth threshold, and / or the first IMU state is different from the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is greater than a fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device are not maintaining common motion.
10. The method according to any one of claims 1 to 9, characterized in that: The crowdsourcing system further includes a second collaborative device, and the method further includes: The second collaborative device receives the first request and sends a second response to the crowdsourcing device, where the second response is used to indicate that the second collaborative device supports providing second crowdsourcing data, and the one or more crowdsourcing data include the second crowdsourcing data; After receiving the second response, the crowdsourcing device establishes a connection with the first collaborative device; The crowdsourcing device receives the second crowdsourcing data sent by the second collaborative device.
11. The method according to claim 10, characterized in that The crowdsourcing system further includes a server, and the method further includes: The crowdsourcing device integrates the first crowdsourcing data, the second crowdsourcing data, and the third crowdsourcing data collected by the crowdsourcing device into a crowdsourcing data packet, wherein the crowdsourcing data packet also includes location information corresponding to the first crowdsourcing data, the second crowdsourcing data, and the third crowdsourcing data; The crowdsourcing device sends the crowdsourcing data packet to the server.
12. The method according to claim 10, characterized in that The crowdsourcing system further includes a server, and the method further includes: The crowdsourcing device sends the received first crowdsourcing data and the second crowdsourcing data to the server.
13. The method according to any one of claims 1 to 12, characterized in that: The first crowdsourced data includes one or more of air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, cellular signal data, global navigation satellite system GNSS data, and magnetometer data.
14. A crowdsourcing method, characterized in that: Applied to a crowdsourcing device, the method comprises: The crowdsourcing device broadcasts a first request, where the first request is used to request the collaborative device to send one or more crowdsourcing data, where the one or more crowdsourcing data include first crowdsourcing data; The crowdsourcing device establishes a connection with the first collaborative device after receiving the first response, wherein the first response is used to indicate that the first collaborative device supports providing the first crowdsourcing data; The crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device.
15. The method according to claim 14, characterized in that The first request includes a first broadcast data structure ADstructure and a second AD structure, the first AD structure is used to indicate that the crowdsourcing device requests a collaborative crowdsourcing service, and the second AD structure is used to indicate that the collaborative device is requested to send one or more crowdsourcing data.
16. The method according to claim 15, characterized in that: The first response includes a third AD structure and a fourth AD structure, the third AD structure is used to indicate that the collaborative device supports providing a collaborative crowdsourcing service, and the fourth AD structure is used to indicate that the collaborative device supports providing the first crowdsourcing data.
17. The method according to any one of claims 14 to 16, characterized in that: After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: In a case where the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common movement, the crowdsourcing device receives the first crowdsourcing data sent by the first collaborative device, wherein the first collaborative device and the crowdsourcing device maintain common movement including that during the movement of the crowdsourcing device, the first collaborative device maintains movement, and the distance between the first collaborative device and the crowdsourcing device is less than a preset distance threshold; In a case where the crowdsourcing device determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the crowdsourcing device is disconnected from the first collaborative device.
18. The method according to claim 17, characterized in that After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: The crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, the first motion data including first inertial measurement unit IMU data collected by the crowdsourcing device, and one or more of sound wave signal data of the first collaborative device collected by the crowdsourcing device and first air pressure data collected by the crowdsourcing device; the second motion data includes second IMU data collected by the first collaborative device, Bluetooth signal strength of the crowdsourcing device received by the first collaborative device, and one or more of second air pressure data collected by the first collaborative device.
19. The method according to claim 18, characterized in that The first request is also used to request the first collaborative device to send the second motion data.
20. The method according to claim 18, characterized in that After the crowdsourcing device receives the first response and establishes a connection with the first collaborative device, the method further includes: The crowdsourcing device sends a first instruction to the first collaborative device, where the first instruction is used to instruct the first collaborative device to send second motion data.
21. The method according to any one of claims 18 to 20, characterized in that: Before the crowdsourcing device determines, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, the method further includes: The crowdsourcing device determines an offset angle and a coordinate deviation of a first motion trajectory and a second motion trajectory, the first motion trajectory being obtained from the first IMU data, and the second motion trajectory being obtained from the second IMU data; and / or, the crowdsourcing device determines a high-frequency and low-frequency sound wave ratio of the sound wave signal based on the sound wave signal data; And / or, the crowdsourcing device determines a first IMU state based on the first IMU data, and determines a second IMU state based on the second IMU data, the first IMU state is used to indicate the motion state of the crowdsourcing device, and the second IMU state is used to indicate the motion state of the first collaborative device.
22. The method according to claim 21, characterized in that The crowdsourcing device determines, based on the first motion data of the crowdsourcing device and the second motion data of the first collaborative device, that the first collaborative device and the crowdsourcing device maintain common motion, or determines that the first collaborative device and the crowdsourcing device do not maintain common motion, including: When the offset angle is less than a first threshold, the coordinate deviation is less than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is less than a third threshold, and / or the strength of the Bluetooth signal received by the first collaborative device from the crowdsourcing device is greater than a fourth threshold, and / or the first IMU state is the same as the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is less than a fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device maintain common motion; When the offset angle is greater than a first threshold, the coordinate deviation is greater than a second coordinate threshold, and / or the difference between the high and low sound wave ratio and the first ratio is greater than a third threshold, and / or the Bluetooth signal strength received by the first collaborative device from the crowdsourcing device is less than a fourth threshold, and / or the first IMU state is different from the second IMU state, and / or the difference between the first air pressure data and the second air pressure data is greater than a fifth threshold, the crowdsourcing device determines that the first collaborative device and the crowdsourcing device are not maintaining common motion.
23. The method according to any one of claims 14 to 22, characterized in that: The first crowdsourced data includes one or more of air pressure data, light sensor data, Wi-Fi data, gyroscope data, IMU data, cellular signal data, global navigation satellite system GNSS data, and magnetometer data.
24. A terminal device, characterized in that: It includes one or more processors, one or more memories, and a transceiver; wherein the transceiver, the one or more memories are coupled to the one or more processors, the one or more memories are used to store computer program codes, and the computer program codes include computer instructions. When one or more processors execute the computer instructions, the terminal device executes the method as described in any one of claims 14-23.
25. A computer-readable storage medium, wherein instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer is caused to execute the method according to any one of claims 14 to 23.
26. A chip, applied to a terminal device, characterized in that: It comprises a processing circuit and an interface circuit, wherein the interface circuit is used to receive code instructions and transmit the code instructions to the processing circuit, and the processing circuit is used to run the code instructions to execute the method according to any one of claims 14-23.
