CN110234073B - Positioning method, device and storage medium based on Bluetooth positioning - Google Patents

Positioning method, device and storage medium based on Bluetooth positioning Download PDF

Info

Publication number
CN110234073B
CN110234073B CN201910682307.7A CN201910682307A CN110234073B CN 110234073 B CN110234073 B CN 110234073B CN 201910682307 A CN201910682307 A CN 201910682307A CN 110234073 B CN110234073 B CN 110234073B
Authority
CN
China
Prior art keywords
token
uuid
positioning
terminal device
identification code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910682307.7A
Other languages
Chinese (zh)
Other versions
CN110234073A (en
Inventor
马侠霖
欧阳国灵
李永韬
刘海波
刘太平
章效培
李震
周巍
尹兴伟
杨帝海
欧阳砚池
单文波
潘崇
陈剑锋
梁湘武
胡长鸿
李超
姚专
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910682307.7A priority Critical patent/CN110234073B/en
Publication of CN110234073A publication Critical patent/CN110234073A/en
Application granted granted Critical
Publication of CN110234073B publication Critical patent/CN110234073B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management

Abstract

The invention relates to a method, a device and a computer readable storage medium for Bluetooth positioning. The method comprises the following steps: receiving a universal unique identification code UUID, a signal field strength indicator RSSI and a first token from a terminal device; and under the condition that the first token is the same as the second token calculated by the positioning service background, sending feedback of the positioning of the terminal equipment calculated by the positioning service background to the terminal equipment, and under the condition that the first token is different from the second token, sending feedback of refusing the positioning to the terminal equipment.

Description

Positioning method, device and storage medium based on Bluetooth positioning
Technical Field
The present invention relates to the field of positioning, and in particular, to a positioning method, apparatus and storage medium based on bluetooth positioning.
Background
For indoor positioning, bluetooth positioning is mainly implemented by using bluetooth Low energy (ble) technology of bluetooth 4.0. Currently, bluetooth positioning technology has no universal international standard, but is generally based on the positioning principle of received Signal Strength rssi (received Signal Strength indication). In the existing technical scheme for positioning the terminal equipment, the UUID and RSSI values corresponding to each beacon are uploaded to a map engine service for positioning calculation. Where UUID is fixed for each end device and visible to external devices, it is easy to clone. For example, if an end device clones beacon data after receiving it at a location, it can still upload the data to a mapping engine service for location calculations to forge a location after leaving the location. This presents a safety risk for applications that rely on geographical location for their respective services.
Disclosure of Invention
It would be advantageous to provide a mechanism that can alleviate, reduce or even eliminate one or more of the above-mentioned problems.
According to a first aspect of the invention, a method for bluetooth positioning is provided. The method comprises the following steps: receiving a universal unique identification code UUID, a signal field strength indicator RSSI and a first token from a terminal device; and under the condition that the first token is the same as the second token calculated by the positioning service background, sending feedback of the positioning of the terminal equipment calculated by the positioning service background to the terminal equipment, and under the condition that the first token is different from the second token, sending feedback of refusing the positioning to the terminal equipment.
According to some embodiments of the invention, the second token is generated by the location service background in advance based on a stored key corresponding to a universally unique identification code UUID of each bluetooth signal transmitter.
According to some embodiments of the invention, the second token is generated by the location server based on a pre-stored key corresponding to the universally unique identification code UUID received from the terminal device.
According to some embodiments of the invention, the first token and the second token are each regenerated once per a predetermined time period.
According to some embodiments of the invention, the calculation rules of the first token and the second token are the same.
According to some embodiments of the invention, the first token and the second token are each calculated based on:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universal unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents a time factor calculation function, and time represents a current second-level timestamp.
According to a second aspect of the invention, a method for bluetooth positioning is provided. The method comprises the following steps: generating a token based on a key corresponding to a universally unique identification code UUID of the Bluetooth signal transmitter; and sending the universal unique identification code UUID, the signal field strength indicator RSSI and the token.
According to some embodiments of the invention, the token is regenerated once every predetermined period of time.
According to some embodiments of the invention, the token is calculated based on the following formula:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universal unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents a time factor calculation function, and time represents a current second-level timestamp.
According to a third aspect of the invention, a method for bluetooth positioning is provided. The method comprises the following steps: receiving a universal unique identification code UUID, a signal field strength indicator RSSI and a token from a Bluetooth signal transmitter; sending a universal unique identification code UUID, a signal field intensity indication RSSI and a token to a positioning service background; and receiving feedback from the positioning service background.
According to some embodiments of the invention, the token is generated based on a key corresponding to a UUID of the bluetooth signal transmitter.
According to some embodiments of the invention, the token is regenerated once every predetermined period of time.
According to some embodiments of the invention, the token is calculated based on the following formula:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universal unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents a time factor calculation function, and time represents a current second-level timestamp.
According to a fourth aspect of the present invention, there is provided a bluetooth location server. The Bluetooth positioning server comprises a receiving module and a feedback module. The receiving module is configured to receive a universally unique identification code UUID, a signal field strength indication RSSI and a first token from the terminal device. The feedback module is configured to send feedback of terminal device positioning to the terminal device when the first token is the same as the second token calculated by the positioning service background, and send feedback of rejecting positioning to the terminal device when the first token is different from the second token.
According to a fifth aspect of the present invention, there is provided a bluetooth signal transmitter. The Bluetooth signal transmitter comprises a token generation module and a sending module. The token generation module is configured to generate a token based on a key corresponding to a universally unique identification code UUID of the bluetooth signal transmitter. The sending module is configured to send a universal unique identification code UUID, a signal field strength indicator RSSI and a token.
According to a sixth aspect of the present invention, there is provided a terminal device for bluetooth positioning. The terminal equipment comprises a first receiving module, a sending module and a second receiving module. The first receiving module is configured to receive a universally unique identification code UUID, a signal field strength indicator RSSI and a token from a Bluetooth signal transmitter. The sending module is configured to send the universal unique identification code UUID, the signal field strength indication RSSI and the token to the positioning service background. The second receiving module is configured to receive feedback from the positioning service backend.
According to some embodiments of the invention, there is provided a computer readable storage medium having stored thereon instructions which, when executed on a processor, cause the processor to perform any of the above methods.
Embodiments of the present invention provide various advantages. The proposed mechanism for dynamically updating tokens verifies whether the tokens are the same before the map engine service performs the location calculation. Because the token cannot be forged, the purpose of preventing forged positioning is realized, and the positioning authenticity is ensured. The invention also ensures the safety of the application of the corresponding positioning service depending on the geographical position. For example, in an application of automatically opening a door based on the positioning of a terminal device in a smart building, the positioning of a counterfeit terminal device is effectively prevented, so that the door of the smart building is effectively ensured not to be opened under the condition of the counterfeit positioning.
Drawings
Further details, features and advantages of the invention are disclosed in the following description of exemplary embodiments with reference to the accompanying drawings, in which:
figure 1 illustrates a schematic diagram of a bluetooth positioning scheme according to the prior art;
FIG. 2 illustrates a schematic diagram of a triangulation algorithm;
FIG. 3 illustrates an interactive signaling diagram of nodes in a Bluetooth positioning system in accordance with an embodiment of the present invention;
FIG. 4 illustrates a method for Bluetooth positioning according to one embodiment of the invention;
FIG. 5 illustrates a method for Bluetooth positioning according to another embodiment of the present invention;
FIG. 6 illustrates a method for Bluetooth positioning according to yet another embodiment of the present invention;
FIG. 7 illustrates a Bluetooth location server in accordance with one embodiment of the present invention;
FIG. 8 illustrates a Bluetooth signal transmitter in accordance with one embodiment of the present invention;
fig. 9 illustrates a terminal device for bluetooth positioning according to one embodiment of the present invention;
FIG. 10 illustrates a schematic block diagram of an example computing device.
Detailed Description
The invention provides a technical scheme for regularly generating a token by using a key (key) of a Bluetooth signal transmitter. Each Bluetooth signal emitter has its own secret key, and the map navigation server in the background of the positioning service stores the secret keys of the Bluetooth signal emitters. The map navigation server acquires UUID, RSSI and token information of the Bluetooth signal transmitter, and firstly verifies the token when positioning calculation is carried out. Because the token is changed periodically, it is no longer feasible to forge a location by cloning the UUID.
Before describing embodiments of the present invention, a number of terms referred to herein are first defined.
1. Bluetooth Low Energy (BLE): also known as bluetooth low energy, is a personal area network technology designed and sold by the bluetooth special interest group, and is intended for emerging applications in the fields of healthcare, sports, beacons, security, home entertainment, etc. Bluetooth low energy is intended to maintain significant power reduction and cost in comparable communication ranges compared to classical bluetooth technology.
2. iBeacon: a function provided on an os for a mobile device released by apple inc is operated in such a manner that a device provided with a bluetooth low energy communication function transmits its own ID to the surroundings using BLE technology, and a node receiving the ID takes some action based on the ID.
3. Universal Unique Identifier (UUID): is a standard for software construction and consists of a set of 32-bit numbers. UUID is intended to enable all elements in a distributed system to have unique identification information without the need for a central control end to identify specifications of the information, etc.
4. Received Signal Strength Indication (RSSI): is an indication of the strength of the received signal, which is used as an optional part of the radio transmission layer to determine the link quality, and to determine whether the broadcast transmission strength needs to be increased, etc.
Embodiments of the present invention are described in detail below with reference to the accompanying drawings.
Fig. 1 illustrates a schematic diagram of a bluetooth positioning scheme by taking the iBeacon scheme as an example. Among various schemes based on bluetooth positioning, the iBeacon bluetooth positioning by apple is most widely used. Included in the bluetooth network environment 100 are a bluetooth signal transmitter 101, a terminal device 102, and a map engine server 103 (included in the positioning service back office). Bluetooth signal transmitters are deployed within a predetermined area (e.g., indoors, in a smart building, etc.), each having its own unique UUID identification, and corresponding coordinate location information is stored in the map engine server 103. Bluetooth signal transmitters 101 each constantly broadcast within its coverage area a signal and a data packet that includes at least a UUID identification and an RSSI value. When the terminal device 102 enters the coverage area of the bluetooth signal transmitter 101, it will receive the signal and data packet broadcasted from the bluetooth signal transmitter 101, and thus receive the UUID and RSSI value in the data packet. Then, the terminal apparatus 102 transmits a request for positioning to the map engine server 103. The map engine server 103 reads the UUID and RSSI values from the respective bluetooth signal transmitters 101 from the terminal device 102 in response to the request, and calculates a specific location of the terminal using an engine location algorithm. In some embodiments, the positioning algorithm may be a triangulation positioning algorithm. Other positioning algorithms may also be employed, as will be appreciated by those skilled in the art.
FIG. 2 illustrates a schematic diagram of a triangulation algorithm. With the positions of the Bluetooth signal transmitters known, the RSSI attenuation model can be used to estimate the distance from the terminal device 204 to each Bluetooth signal transmitter (201, 202, 203), and then a circle can be drawn according to the distance from the terminal device 204 to each Bluetooth signal transmitter (201, 202, 203). In practical use, only the distance from the terminal device 204 to at least three surrounding bluetooth signal transmitters (201, 202, 203) is known, and three circles (205, 206, 207) can be drawn based on the distance, and the intersection of the three circles is the position of the terminal device 204.
The process of bluetooth positioning is divided into two stages: and (4) ranging and positioning. In the ranging phase of triangulation, the terminal device 204 first receives the RSSI from three different bluetooth signal transmitters (201, 202, 203) with known locations, and then calculates the distance from the terminal device 204 to the respective bluetooth signal transmitter (201, 202, 203) according to a wireless signal transmission loss model. In the positioning stage of triangulation, the position of the terminal device 204 is calculated by triangulation. Specifically, three bluetooth signal transmitters (201, 202, 203) with known positions are taken as circle centers respectively, the respective distances from the three bluetooth signal transmitters to the terminal device 204 to be tested are taken as radii to draw a circle, and the intersection point of the three circles is the position of the terminal device 204 to be tested.
Fig. 3 illustrates an interactive signaling diagram of nodes of the system according to an embodiment of the present invention. The invention adds the function of dynamically generating tokens at the Bluetooth pilot frequency emitter side and the positioning service background side. The value of the token is dynamically changed every fixed time. In one embodiment, regeneration occurs every 1 minute. In this signaling diagram 300, a bluetooth signal transmitter first generates a token based on its own key. The key is a key corresponding to the UUID of the bluetooth signal transmitter. It should be noted that the UUID is visible to the end device and the key is not visible to the end device, and the key is stored in memory inside the bluetooth signal transmitter. Therefore, generating the token based on the key more effectively guarantees the security of the token. In signal 301, the bluetooth signal transmitter broadcasts a UUID, RSSI, and first token it generates and periodically changes within its coverage area. When the terminal equipment enters the coverage range of the Bluetooth signal transmitter, the terminal equipment receives the UUID, the RSSI and the first token from the broadcast of different Bluetooth signal transmitters. In signal 302, the terminal device issues a location service request to the location service back office. After receiving the signal 303 acknowledgement message ACK from the location services back-office, the end device sends the UUID, RSSI and first token it received from the respective bluetooth signal transmitter to the location services back-office in signal 304.
The key of each Bluetooth signal transmitter is stored in the positioning service background. In one embodiment, the location service background generates a token set in advance based on stored keys corresponding to the UUIDs of the universal unique identification codes of the Bluetooth signal transmitters, and in response to receiving the UUIDs, the RSSIs and the first tokens of the Bluetooth signal transmitters from the terminal equipment, searches a second token corresponding to the received UUIDs from the generated token set in advance. The first token and the second token are then compared. Then if the first token and the second token are identical, the location of the terminal device is sent to the terminal device in signal 305; if the first token and the second token are different, a notification of the rejection of the positioning is sent to the terminal device in signal 305.
In another embodiment, the location services backend, in response to receiving the UUID, RSSI, and first token from each bluetooth signal transmitter of the end device, generates a second token based on a pre-stored key corresponding to the received universally unique identification code UUID. The first token and the second token are then compared. Then if the first token and the second token are identical, the location of the terminal device is sent to the terminal device in signal 305; if the first token and the second token are different, a notification of the rejection of the positioning is sent to the terminal device in signal 305.
The token is periodically changed, for example, regenerated every minute. The generation rules of the first token and the second token are kept the same at all times. At the bluetooth signal transmitter end and the location service background end, tokens are generated according to the following formula:
token=F(key, timeFactor), (1)
timeFactor=T(time), (2)
wherein the key is a key stored inside each Bluetooth signal transmitter, and different Bluetooth signal transmitters have different UUID identifications and different key values. For each bluetooth signal transmitter, its UUID identification corresponds to the key value. The UUID is composed of 32-bit digits. The key value may be any letter or number, such as 123 abc. the timeFactor is a time factor that varies every fixed period of time (e.g., 1 minute, i.e., 60 seconds). time is the current second time stamp, e.g., "1544085473". The T function is a time factor calculation function whose inputs are the current timestamp (time) and a fixed duration (60 in the following equation). The form of the T function is such as, but not limited to: timeFactor = ⌊ time/60 ⌋, i.e. the current timestamp divided by the fixed duration, ⌊ ⌋ represents rounding down the result. Therefore, the time factor is unchanged in value within a fixed time length. Here 60 is merely an exemplary fixed duration. Other fixed durations may be chosen as long as both remain the same at the bluetooth signal transmitter and the location services back office, as will be appreciated by those skilled in the art.
F is a token computation function with inputs of key and timeFactor values and an output of token. F can be calculated using, but is not limited to, md5, such as md5(key + timeFactor). Thus, the calculated token value varies once per fixed time period.
Since the map engine service in the background of the positioning service also stores the key of each bluetooth signal transmitter, the map engine service can calculate the token value of each bluetooth signal transmitter, and the calculation process is the same as the process described above. When a positioning request of terminal equipment is received, a key value corresponding to the UUID is searched according to the received UUID, and a token value is obtained through calculation according to the formulas (1) and (2). And then comparing the token value with the token value carried by the positioning request. If the comparison result is consistent, the positioning calculation is allowed; if not, the request is denied. Since the value of the token changes dynamically, it is difficult to forge, so that the location cannot be forged, thereby ensuring the authenticity of the location request.
Fig. 4 illustrates a method 400 for bluetooth positioning in accordance with one embodiment of the present invention. The method 400 is performed by a location services back office, specifically by a mapping engine service contained in the location services back office. In step 401, the location services back office receives a UUID, RSSI, and a first token from the end device. The UUID, RSSI, and first token are received by the end device from the bluetooth signal transmitter. In step 402, the location services background compares the first token with its own computed second token. And under the condition that the first token is the same as the second token calculated by the positioning service background, the positioning service background calculates the positioning of the terminal equipment through a triangulation algorithm and sends the feedback of the positioning of the terminal equipment calculated by the positioning service background to the terminal equipment. And sending feedback of refusing positioning to the terminal equipment under the condition that the first token and the second token are different. The second token can be generated in advance by the positioning service background based on the stored keys corresponding to the universal unique identification codes UUIDs of the Bluetooth signal transmitters, or can be generated based on the stored keys corresponding to the universal unique identification codes UUIDs received from the terminal equipment in response to the UUIDs received from the terminal equipment, the RSSI and the first token. The first token and the second token are periodically changed (for example, every 1 minute), and the generation rule thereof is the same. The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token.
Fig. 5 illustrates a method 500 for bluetooth positioning, in accordance with another embodiment of the present invention. Method 500 is performed by a bluetooth signal transmitter (also known as bluetooth beacon). In step 501, the bluetooth signal transmitter first generates a token based on a key corresponding to its own UUID. The token is periodically changed (e.g., every 1 minute) and its generation rules are the same as those for generating tokens based on keys in the map service engine in the location services back office. The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token. In step 502, the bluetooth signal transmitter broadcasts its UUID, RSSI, and the calculated token.
Fig. 6 illustrates a method 600 for bluetooth positioning, in accordance with yet another embodiment of the present invention. The method 600 is performed by a terminal device (e.g., a smartphone, a tablet, a laptop, etc.). In step 601, the end device receives a UUID, RSSI, and token from a bluetooth signal transmitter. The token is periodically changed (e.g., every 1 minute). The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token. Then, the terminal device sends the received UUID, RSSI and token to the location service background in step 602. Then in step 603, feedback is received from the positioning service back office. And in the case that the token is verified, receiving the positioning of the terminal equipment calculated by the positioning service background. In case the token verification fails, a message denying the positioning will be received.
Fig. 7 illustrates a bluetooth location server 700 according to one embodiment of the present invention. The bluetooth positioning server 700 comprises a receiving module 701 and a feedback module 702. The receiving module 701 is configured to receive a universally unique identification code UUID, a signal field strength indication RSSI and a first token from the terminal device. The feedback module 702 is configured to calculate the location of the terminal device through a triangulation algorithm under the condition that the first token is the same as the second token calculated by the location service background, and send a feedback of the location of the terminal device calculated by the location service background to the terminal device. And sending feedback of refusing positioning to the terminal equipment under the condition that the first token and the second token are different. The second token can be generated in advance by the positioning service background based on the stored keys corresponding to the universal unique identification codes UUIDs of the Bluetooth signal transmitters, or can be generated based on the stored keys corresponding to the universal unique identification codes UUIDs received from the terminal equipment in response to the UUIDs received from the terminal equipment, the RSSI and the first token. The first token and the second token are periodically changed (for example, every 1 minute), and the generation rule thereof is the same. The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token.
Fig. 8 illustrates a bluetooth signal transmitter 800 according to one embodiment of the present invention. The bluetooth signal transmitter 800 includes a token generation module 801 and a transmission module 802. The token generation module 801 is configured to generate a token based on a key corresponding to the universally unique identification code UUID of the bluetooth signal transmitter. The token is periodically changed (e.g., every 1 minute) and its generation rules are the same as those for generating tokens based on keys in the map service engine in the location services back office. The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token. The sending module 802 is configured to send a universally unique identification code UUID, a signal field strength indication RSSI, and a token.
Fig. 9 illustrates a terminal device 900 for bluetooth positioning according to one embodiment of the present invention. The terminal device 900 may be, for example, a smart phone, a tablet, a laptop, etc. The terminal device 900 comprises a first receiving module 901, a sending module 902 and a second receiving module 903. The first receiving module 901 is configured to receive a universally unique identification code UUID, a signal field strength indication RSSI and a token from a bluetooth signal transmitter. The token is periodically changed (e.g., every 1 minute). The generation rule may be, for example, token = F (key, timeFactor), timeFactor = t (time). Wherein token represents the token, key represents the key corresponding to the universal unique identifier UUID of the Bluetooth signal transmitter, timeFactor represents the time factor, T (time) represents the time factor calculation function, time represents the current second-level timestamp, and F (key, timeFactor) represents the calculation function of the token. The sending module 902 is configured to send the universally unique identifier UUID, the signal field strength indication RSSI, and the token to the location service background. The second receiving module 903 is configured to receive feedback from the positioning service backend.
Fig. 10 illustrates an example system 1000 that includes an example computing device 1010 that represents one or more systems and/or devices that may implement the various techniques described herein. Computing device 1010 may be, for example, a server of a service provider, a device associated with a client (e.g., a client device), a system on a chip, and/or any other suitable computing device or computing system. The apparatus for bluetooth positioning 700, 800, or 900 described above with respect to fig. 7, 8, or 9 may take the form of a computing device 1010. Alternatively, the apparatus for bluetooth positioning 700, 800 or 900 may be implemented as a computer program in the form of a bluetooth positioning application 1016.
The example computing device 1010 as illustrated includes a processing system 1011, one or more computer-readable media 1012, and one or more I/O interfaces 1013 communicatively coupled to each other. Although not shown, the computing device 1010 may also include a system bus or other data and command transfer system that couples the various components to one another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. Various other examples are also contemplated, such as control and data lines.
Processing system 1011 represents functionality that performs one or more operations using hardware. Thus, the processing system 1011 is illustrated as including hardware elements 1014 that may be configured as processors, functional blocks, and the like. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 1014 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, a processor may be comprised of semiconductor(s) and/or transistors (e.g., electronic Integrated Circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.
Computer-readable medium 1012 is illustrated as including memory/storage 1015. Memory/storage 1015 represents the memory/storage capacity associated with one or more computer-readable media. Memory/storage 1015 may include volatile media (such as Random Access Memory (RAM)) and/or nonvolatile media (such as Read Only Memory (ROM), flash memory, optical disks, magnetic disks, and so forth). Memory/storage 1015 may include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.) as well as removable media (e.g., flash memory, a removable hard drive, an optical disk, and so forth). The computer-readable medium 1012 may be configured in various other ways as further described below.
One or more I/O interfaces 1013 represent functionality that allows a user to enter commands and information to computing device 1010, and optionally also allows information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone (e.g., for voice input), a scanner, touch functionality (e.g., capacitive or other sensors configured to detect physical touch), a camera (e.g., motion that may not involve touch may be detected as gestures using visible or invisible wavelengths such as infrared frequencies), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, a haptic response device, and so forth. Thus, the computing device 1010 may be configured in various ways to support user interaction, as described further below.
The computing device 1010 also includes a bluetooth location application 1016. The bluetooth positioning application 1016 may be, for example, a software instance of 700, 800, or 900 described with respect to fig. 7, 9, or 9, and in combination with other elements in the computing device 1010 implement the techniques described herein.
Various techniques may be described herein in the general context of software hardware elements or program modules. Generally, these modules include routines, programs, objects, elements, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The terms "module," "functionality," and "component" as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of computing platforms having a variety of processors.
An implementation of the described modules and techniques may be stored on or transmitted across some form of computer readable media. Computer readable media can include a variety of media that can be accessed by computing device 1010. By way of example, and not limitation, computer-readable media may comprise "computer-readable storage media" and "computer-readable signal media".
"computer-readable storage medium" refers to a medium and/or device, and/or a tangible storage apparatus, capable of persistently storing information, as opposed to mere signal transmission, carrier wave, or signal per se. Accordingly, computer-readable storage media refers to non-signal bearing media. Computer-readable storage media include hardware such as volatile and nonvolatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer-readable instructions, data structures, program modules, logic elements/circuits or other data. Examples of computer readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage devices, tangible media, or an article of manufacture suitable for storing the desired information and accessible by a computer.
"computer-readable signal medium" refers to a signal-bearing medium configured to transmit instructions to the hardware of computing device 1010, such as via a network. Signal media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave, data signal or other transport mechanism. Signal media also includes any information delivery media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
As previously described, the hardware elements 1014 and the computer-readable medium 1012 represent instructions, modules, programmable device logic, and/or fixed device logic implemented in hardware form that may be used in some embodiments to implement at least some aspects of the techniques described herein. The hardware elements may include integrated circuits or systems-on-chips, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), and other implementations in silicon or components of other hardware devices. In this context, a hardware element may serve as a processing device that performs program tasks defined by instructions, modules, and/or logic embodied by the hardware element, as well as a hardware device for storing instructions for execution, such as the computer-readable storage medium described previously.
Combinations of the foregoing may also be used to implement the various techniques and modules described herein. Thus, software, hardware, or program modules and other program modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage medium and/or by one or more hardware elements 1014. The computing device 1010 may be configured to implement particular instructions and/or functions corresponding to software and/or hardware modules. Thus, implementing a module as a module executable by the computing device 1010 as software may be implemented at least partially in hardware, for example, using the computer-readable storage medium and/or hardware elements 1014 of a processing system. The instructions and/or functions may be executable/operable by one or more articles of manufacture (e.g., one or more computing devices 1010 and/or processing systems 1011) to implement the techniques, modules, and examples described herein.
In various implementations, the computing device 1010 may assume a variety of different configurations. For example, the computing device 1010 may be implemented as a computer-like device including a personal computer, a desktop computer, a multi-screen computer, a laptop computer, a netbook, and so forth. The computing device 1010 may also be implemented as a mobile device class device that includes mobile devices such as mobile phones, portable music players, portable gaming devices, tablet computers, multi-screen computers, and the like. Computing device 1010 may also be implemented as a television-like device that includes devices with or connected to a generally larger screen in a casual viewing environment. These devices include televisions, set-top boxes, game consoles, and the like.
The techniques described herein may be supported by these various configurations of computing device 1010 and are not limited to specific examples of the techniques described herein. Functionality may also be implemented in whole or in part on the "cloud" 1020 through the use of a distributed system, such as through the platform 1022 described below.
The cloud 1020 includes and/or is representative of a platform 1022 for resources 1024. The platform 1022 abstracts underlying functionality of hardware (e.g., servers) and software resources of the cloud 1020. Resources 1024 may include applications and/or data that may be used when executing computer processes on servers remote from computing device 1010. Resources 1024 may also include services provided over the internet and/or over a subscriber network such as a cellular or Wi-Fi network.
The platform 1022 may abstract resources and functionality to connect the computing device 1010 with other computing devices. The platform 1022 may also be used to abstract a hierarchy of resources to provide a corresponding level of hierarchy encountered for the demand of the resources 1024 implemented via the platform 1022. Thus, in an interconnected device embodiment, implementation of functions described herein may be distributed throughout the system 1000. For example, the functionality may be implemented in part on the computing device 1010 and through the platform 1022 that abstracts the functionality of the cloud 1020.
It will be appreciated that embodiments of the invention have been described with reference to different functional blocks for clarity. However, it will be apparent that the functionality of each functional module may be implemented in a single module, in a plurality of modules or as part of other functional modules without departing from the invention. For example, functionality illustrated to be performed by a single module may be performed by multiple different modules. Thus, references to specific functional blocks are only to be seen as references to suitable blocks for providing the described functionality rather than indicative of a strict logical or physical structure or organization. Thus, the invention may be implemented in a single module or may be physically and functionally distributed between different modules and circuits.
It will be understood that, although the terms first, second, third, etc. may be used herein to describe various devices, elements, or components, these devices, elements, or components should not be limited by these terms. These terms are only used to distinguish one device, element, or component from another device, element, or component. "Bluetooth signal transmitter", "Bluetooth beacon", "Bluetooth pilot", "Bluetooth base station" are used interchangeably herein.
Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed subject matter, from a study of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, the indefinite article "a" or "an" does not exclude a plurality, and "a plurality" means two or more. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

Claims (12)

1. A method for Bluetooth positioning, which is applied to a positioning service background, comprises the following steps:
receiving a universal unique identification code UUID, a signal field strength indicator RSSI and a first token from a terminal device;
generating a second token, which is generated in advance based on a stored key corresponding to a universally unique identification code UUID of each Bluetooth signal transmitter or a prestored key corresponding to the universally unique identification code UUID received from a terminal device;
performing comparison of the first token and a second token calculated by the positioning service background;
and sending feedback of the terminal equipment positioning calculated by the positioning service background to the terminal equipment under the condition that the first token and the second token are the same, and sending feedback of refusing positioning to the terminal equipment under the condition that the first token and the second token are different.
2. The method of claim 1, wherein the first token and the second token have the same computational rules.
3. The method of claim 2, the first token and the second token each being calculated based on:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universally unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents the time factor calculation function, and time represents a current second-level timestamp.
4. A method for bluetooth positioning, the method being applied to a bluetooth signal transmitter, comprising:
generating a first token based on a key corresponding to a universally unique identification code (UUID) of the Bluetooth signal transmitter;
sending the universal unique identification code UUID, the signal field intensity indication RSSI and the first token to a terminal device, so that the terminal device sends the universal unique identification code UUID, the signal field intensity indication RSSI and the first token to a positioning service background and receives feedback from the positioning service background, wherein the feedback is generated by the positioning service background through the following steps:
generating a second token, the second token being generated in advance based on a stored key corresponding to a universally unique identification code UUID of the Bluetooth signal transmitter or based on a pre-stored key corresponding to the universally unique identification code UUID received from a terminal device,
performing a comparison of the first token and the second token,
generating feedback of the terminal device location in case the first token and the second token are identical, and generating feedback of rejecting location in case the first token and the second token are different.
5. The method of claim 4, wherein the first token is regenerated once every predetermined period of time.
6. The method of claim 4 or 5, wherein the first token is calculated based on the following equation:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universally unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents the time factor calculation function, and time represents a current second-level timestamp.
7. A method for Bluetooth positioning, which is applied to a terminal device, comprises the following steps:
receiving a universally unique identification code (UUID), a signal field strength indication (RSSI) and a first token from a Bluetooth signal transmitter, wherein the first token is generated based on a key corresponding to the universally unique identification code (UUID) of the Bluetooth signal transmitter;
sending the universal unique identification code UUID, the signal field intensity indication RSSI and the first token to a positioning service background; and
receiving feedback from the positioning service backend, wherein the feedback is generated by the positioning service backend by:
generating a second token, the second token being generated in advance based on a stored key corresponding to a universally unique identification code UUID of the Bluetooth signal transmitter or based on a pre-stored key corresponding to the universally unique identification code UUID received from a terminal device,
performing a comparison of the first token and the second token,
generating feedback of the terminal device location in case the first token and the second token are identical, and generating feedback of rejecting location in case the first token and the second token are different.
8. The method of claim 7, wherein the first token is calculated based on the following equation:
token=F(key, timeFactor),
timeFactor=T(time),
wherein token represents a token, key represents a key corresponding to a universally unique identifier UUID of a bluetooth signal transmitter, timeFactor represents a time factor, F (key, timeFactor) represents a calculation function of the token, t (time) represents the time factor calculation function, and time represents a current second-level timestamp.
9. A bluetooth location server, comprising:
the receiving module is configured for generating a second token in advance based on a stored key corresponding to a universal unique identification code UUID of each Bluetooth signal transmitter or a pre-stored key corresponding to the universal unique identification code UUID received from the terminal equipment, and performing comparison between the first token and the second token calculated by the positioning service background; and
a feedback module configured to send feedback of the terminal device location calculated by the location service background to the terminal device when the first token and the second token calculated by the location service background are the same, and send feedback of rejecting location to the terminal device when the first token and the second token are different.
10. A bluetooth signal transmitter, comprising:
a token generation module configured to generate a first token based on a key corresponding to a universally unique identification code UUID of a Bluetooth signal transmitter;
a sending module configured to send the UUID, the RSSI and the first token to a terminal device, so that the terminal device sends the UUID, the RSSI and the first token to a location service background and receives feedback from the location service background,
wherein the feedback is generated by the positioning service background by:
generating a second token, the second token being generated in advance based on a stored key corresponding to a universally unique identification code UUID of the Bluetooth signal transmitter or based on a pre-stored key corresponding to the universally unique identification code UUID received from a terminal device,
performing a comparison of the first token and the second token,
generating feedback of the terminal device location in case the first token and the second token are identical, and generating feedback of rejecting location in case the first token and the second token are different.
11. A terminal device for bluetooth positioning, comprising:
a first receiving module configured to receive a universally unique identification code (UUID), a signal field strength indication (RSSI) and a first token from a Bluetooth signal transmitter, wherein the first token is generated based on a key corresponding to the UUID of the Bluetooth signal transmitter;
the sending module is configured to send the UUID, the RSSI and the first token to a positioning service background; and
a second receiving module configured to receive feedback from the location services back-office,
wherein the feedback is generated by the positioning service background by:
generating a second token, the second token being generated in advance based on a stored key corresponding to a universally unique identification code UUID of the Bluetooth signal transmitter or based on a pre-stored key corresponding to the universally unique identification code UUID received from a terminal device,
performing a comparison of the first token and the second token,
generating feedback of the terminal device location in case the first token and the second token are identical, and generating feedback of rejecting location in case the first token and the second token are different.
12. A computer-readable storage medium having stored thereon instructions that, when executed on a processor, cause the processor to perform the method of any one of claims 1-8.
CN201910682307.7A 2019-07-26 2019-07-26 Positioning method, device and storage medium based on Bluetooth positioning Active CN110234073B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910682307.7A CN110234073B (en) 2019-07-26 2019-07-26 Positioning method, device and storage medium based on Bluetooth positioning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910682307.7A CN110234073B (en) 2019-07-26 2019-07-26 Positioning method, device and storage medium based on Bluetooth positioning

Publications (2)

Publication Number Publication Date
CN110234073A CN110234073A (en) 2019-09-13
CN110234073B true CN110234073B (en) 2022-01-04

Family

ID=67856020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910682307.7A Active CN110234073B (en) 2019-07-26 2019-07-26 Positioning method, device and storage medium based on Bluetooth positioning

Country Status (1)

Country Link
CN (1) CN110234073B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110763235A (en) * 2019-10-18 2020-02-07 深圳智慧园区信息技术有限公司 Cross-floor indoor positioning navigation system and navigation method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325324A (en) * 2011-09-13 2012-01-18 中兴通讯股份有限公司 Wireless device and mobile terminal positioning method and system
CN102608962A (en) * 2011-12-09 2012-07-25 绍兴电力局 Automatic maintenance method for bottom-up electricity-consumption information acquisition equipment
CN102984646A (en) * 2011-09-05 2013-03-20 中国移动通信集团辽宁有限公司 Providing method and system of mobile phone client-side location services
CN105007257A (en) * 2015-05-08 2015-10-28 牛力伟 On-site identity verification method based on bluetooth technology and on-site identity verification system based on bluetooth technology
CN108282768A (en) * 2018-01-24 2018-07-13 北京地平线机器人技术研发有限公司 Bluetooth equipment shares control and requesting method and electronic equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8437742B2 (en) * 2009-10-16 2013-05-07 At&T Intellectual Property I, L.P. Systems and methods for providing location-based application authentication using a location token service
US9641630B2 (en) * 2014-12-15 2017-05-02 International Business Machines Corporation Location-enforced data management in complex multi-region computing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984646A (en) * 2011-09-05 2013-03-20 中国移动通信集团辽宁有限公司 Providing method and system of mobile phone client-side location services
CN102325324A (en) * 2011-09-13 2012-01-18 中兴通讯股份有限公司 Wireless device and mobile terminal positioning method and system
CN102608962A (en) * 2011-12-09 2012-07-25 绍兴电力局 Automatic maintenance method for bottom-up electricity-consumption information acquisition equipment
CN105007257A (en) * 2015-05-08 2015-10-28 牛力伟 On-site identity verification method based on bluetooth technology and on-site identity verification system based on bluetooth technology
CN108282768A (en) * 2018-01-24 2018-07-13 北京地平线机器人技术研发有限公司 Bluetooth equipment shares control and requesting method and electronic equipment

Also Published As

Publication number Publication date
CN110234073A (en) 2019-09-13

Similar Documents

Publication Publication Date Title
US9813860B2 (en) Geo-fencing based location detection method and electronic device
KR102106092B1 (en) Generating and publishing validated location information
EP3029972B1 (en) Smart beacon data security
US9046987B2 (en) Crowd formation based on wireless context information
US11107079B2 (en) Methods, systems, apparatuses and devices for verifying credibility of consortium blockchain
US20190034604A1 (en) Voice activation method for service provisioning on smart assistant devices
CN113014568A (en) Account login method, device and server
JP6073378B2 (en) POSITIONING METHOD, POSITIONING DEVICE, AND COMPUTER PROGRAM
AU2015223377B2 (en) Priority access to a priority access channel
KR20170031552A (en) Electronic device and method for authenticating electronic device in near field
US11451539B2 (en) Identity identification and preprocessing
US10368185B2 (en) Mobile device location proofing
US20160050529A1 (en) Location Information from a Mobile Device
CN107248995B (en) Account verification method and device
US20200107196A1 (en) Network access method, apparatus, and system
US20160050281A1 (en) Seamless peer to peer internet connectivity
TWI515450B (en) Passive wireless transmitter authentication used for receiver location determination
CN110234073B (en) Positioning method, device and storage medium based on Bluetooth positioning
CN104618324A (en) Method and device for transmitting data and detecting data legality
CN107920386B (en) Sparse point positioning method, server, system and computer readable storage medium
CN114092101B (en) Transaction verification method and device, storage medium and electronic equipment
JP2016091155A (en) Information processing device and user terminal device and program
US11086976B2 (en) Identification preprocessing
CN116264523A (en) System, method, computer program product, device and medium for message subscription

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant