WO2017032250A1 - 一种确定楼层方法、相关设备和系统 - Google Patents

一种确定楼层方法、相关设备和系统 Download PDF

Info

Publication number
WO2017032250A1
WO2017032250A1 PCT/CN2016/095679 CN2016095679W WO2017032250A1 WO 2017032250 A1 WO2017032250 A1 WO 2017032250A1 CN 2016095679 W CN2016095679 W CN 2016095679W WO 2017032250 A1 WO2017032250 A1 WO 2017032250A1
Authority
WO
WIPO (PCT)
Prior art keywords
floor
aps
rss
candidate
air pressure
Prior art date
Application number
PCT/CN2016/095679
Other languages
English (en)
French (fr)
Inventor
卢恒惠
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP16838509.4A priority Critical patent/EP3321629B1/en
Priority to US15/754,989 priority patent/US10345430B2/en
Publication of WO2017032250A1 publication Critical patent/WO2017032250A1/zh

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/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/26Position of receiver fixed by co-ordinating a plurality of position lines defined by path-difference measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/06Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels by using barometric means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • the present invention relates to the field of indoor positioning, and in particular, to a method for determining a floor, related devices and systems.
  • a portable electronic device transmits Wi-Fi (Wireless Fidelity) by receiving an indoor Wi-Fi AP (Wireless Fidelity Access Point, Wi-Fi AP, Wireless Fidelity Access Point). Access Point, referred to as Wi-Fi, Wireless Fidelity) signals for positioning.
  • Wi-Fi Wireless Fidelity
  • Prior art solution 1 The portable electronic device recognizes the floor through its own barometer.
  • the basic principle of the barometer to determine the floor is: firstly obtain the barometric pressure value output by the barometer, calculate the altitude of the portable electronic device according to the correspondence between the barometric pressure value and the altitude, and then according to the floor height and altitude of the building where the portable electronic device is located The correspondence determines the floor on which the portable electronic device is located.
  • Prior Art Solution 2 Identifying floors using Wi-Fi signals.
  • the basic principle is that the portable electronic device receives the Wi-Fi signal sent by the Wi-Fi AP, extracts the MAC (Media Access Control, MAC address, media access control) address carried in the Wi-Fi signal, and then queries the pre-stored MAC address.
  • the mapping relationship with the floor gets the floor where the portable electronic device is located.
  • the air pressure is extremely susceptible to environmental factors such as temperature and humidity, and it is necessary to frequently adjust the correspondence between the altitude and the air pressure value according to actual conditions in order to obtain an accurate floor, which is complicated.
  • the correspondence between altitude and floor height of different buildings is different. It is also difficult to adjust the corresponding relationship between altitude and floor height according to different buildings.
  • the portable electronic device may receive the Wi-Fi signal sent by the AP of different floors at a certain location, and directly use the floor where the received Wi-Fi signal is located as the portable power.
  • the floor of the child equipment will result in poor recognition of the floor.
  • a technical problem to be solved by embodiments of the present invention is to provide a method for determining a floor, a related device, and a system.
  • the problem of determining the complexity and inaccuracy of the floor method in the prior art can be solved.
  • the first aspect provides a method for determining a floor for a portable electronic device, including:
  • each set of Wi-Fi information includes identification information of the wireless access point AP and RSS (Received Signal Strength, referred to as RSS, received signal) Intensity), m and n are integers not less than 2;
  • a target floor is determined from the two candidate floors based on the air pressure change rate.
  • the determining a rate of change of the air pressure according to the at least two air pressure values of the m air pressure values includes:
  • the linear pressure rate is obtained by linearly fitting the m pressure values after the filtering process.
  • the n i RSS determines two candidate floors including:
  • h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the The rate of change from the two candidate floors to determine the target floor includes:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the acquiring the k The floors on which each AP is located include:
  • the method further includes:
  • the portable electronic device acquires positioning assistance data of the target floor, and performs a positioning operation according to the positioning assistance data.
  • a second aspect provides a portable electronic device comprising:
  • the acquiring module is configured to collect m air pressure values and n sets of wireless fidelity Wi-Fi information in a preset duration; wherein each group of Wi-Fi information includes identifier information of the wireless access point AP and received signal strength RSS, m And n are integers not less than 2;
  • a first determining module configured to determine a rate of change of the air pressure according to at least two air pressure values of the m air pressure values
  • a second determining module configured to determine, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and the k if the absolute value of the air pressure change rate is greater than a preset value
  • Each of the APs corresponds to n i RSS; k is an integer not less than 1, 1 ⁇ n i ⁇ n , 1 ⁇ i ⁇ k;
  • An obtaining module configured to acquire a floor where the k APs are located
  • a third determining module configured to determine two candidate floors according to the floor where the k APs are located and the n i RSSs corresponding to the k APs respectively;
  • a fourth determining module configured to determine a target floor from the two candidate floors according to the air pressure change rate.
  • the first determining module includes:
  • a filtering unit configured to perform filtering processing on the m air pressure values collected at different acquisition moments in the preset duration
  • a calculating unit configured to linearly fit the m pressure values after the filtering process to obtain a gas pressure change rate.
  • the third determining module includes:
  • a first determining unit configured to determine an RSS change rate of the n i RSSs corresponding to the k APs
  • a second determining unit configured to determine a first candidate floor according to h APs whose RSS change rate is a positive value, and determine a second candidate floor according to f APs whose RSS change rate is a negative value, where h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the second determining unit is specifically configured to:
  • the fourth determining module Specifically used for:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the acquiring module is specifically used In:
  • the method further includes:
  • a positioning module configured to acquire positioning assistance data of the target floor, and perform a positioning operation according to the positioning assistance data.
  • the third aspect provides a method for determining a floor for a server, including:
  • each set of Wi-Fi information includes identification information of the AP and RSS; m and n are integers not less than 2;
  • k is an integer not less than 1, 1 ⁇ n i ⁇ n , 1 ⁇ i ⁇ k;
  • the receiving after receiving the positioning request initiated by the portable electronic device, acquiring n sets of Wi-Fi information collected by the portable electronic device within a preset duration include:
  • the floor corresponding to each of the k APs and the k APs respectively n i RSS determines two candidate floors including:
  • h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the first candidate floor is determined according to the h APs whose RSS change rate is positive, and according to the RSS The f APs whose rate of change is negative determine the second candidate floor, including:
  • the The rate of change of pressure from the two candidate floors determines the target floor including:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the acquiring the portable electronic The rate of change of the air pressure obtained by the device according to at least two of the m air pressure values collected within the preset duration includes:
  • the air pressure change rate being obtained by the portable electronic device according to at least two air pressure values of m air pressure values collected within a preset time period.
  • the fourth aspect provides a server, including:
  • a first acquiring module configured to receive n sets of Wi-Fi information collected by the portable electronic device within a preset duration after receiving the positioning request sent by the portable electronic device, and acquire the portable electronic device according to the preset duration a rate of change in air pressure obtained by at least two of the collected m air pressure values; wherein each set of Wi-Fi information includes identification information of the AP and RSS; m and n are integers not less than 2;
  • a first determining module configured to determine, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and n i RSSs corresponding to each of the k APs; k is an integer not less than 1 , 1 ⁇ n i ⁇ n , 1 ⁇ i ⁇ k;
  • a second acquiring module configured to acquire a floor where the k APs are located
  • a second determining module configured to determine two candidate floors according to the floor where the k APs are located and the n i RSSs corresponding to the k APs respectively;
  • a third determining module configured to determine a target floor from the two candidate floors according to the air pressure change rate
  • a sending module configured to acquire positioning assistance data of the target floor, obtain a positioning result according to the positioning assistance data, and send the positioning result to the portable electronic device.
  • the first acquiring module includes:
  • a first acquiring unit configured to receive Wi-Fi information and the collection time sent by the portable electronic device And storing the received Wi-Fi information and the collection time; receiving a positioning request carrying the time window identifier sent by the portable electronic device, and acquiring the n sets of Wi-Fi information from the server according to the time window identifier
  • the time window identifier indicates a start time and a stop time of the preset duration
  • a second acquiring unit configured to receive, by the portable electronic device, a positioning request that carries the n sets of Wi-Fi information, and acquire the n sets of Wi-Fi information collected by the portable electronic device within a preset duration.
  • the second determining module includes:
  • a first determining unit configured to determine an RSS change rate of the n i RSSs corresponding to the k APs
  • a second determining unit configured to determine a first candidate floor according to h APs whose RSS change rate is a positive value, and determine a second candidate floor according to f APs whose RSS change rate is a negative value, where h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the second determining unit is specifically configured to:
  • the third determining module is specifically configured to:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the first acquiring module include:
  • a third acquiring unit configured to acquire the air pressure change rate from the positioning request, where the air pressure change rate is determined by the portable electronic device according to at least two air pressure values collected by the preset time duration Arrived.
  • a fifth aspect provides a determining floor system, comprising the portable electronic device of any one of the second aspect, the second possible implementation to the sixth possible implementation, and the fourth Aspects and the server of any one of the first possible implementation of the fourth aspect to the fifth possible implementation.
  • a sixth aspect provides a portable electronic device comprising: one or more processors, a memory, a bus system, a transceiver, and one or more programs, the processor, the memory, and the transceiver
  • the bus system is connected;
  • the one or more programs are stored in the memory, the one or more programs comprising instructions that, when executed by the portable electronic device, cause the portable electronic device to perform the first aspect as well The method of any one of the first possible implementation of the first aspect to the sixth possible implementation.
  • a seventh aspect provides a server, including:
  • processors One or more processors, memories, bus systems, transceivers, and one or more programs, the processor, the memory, and the transceiver being coupled by the bus system;
  • the one or more programs are stored in the memory, the one or more programs comprising instructions that, when executed by the server, cause the server to perform the third and third aspects of the claims. The method of any one of the first possible implementation to the fifth possible implementation.
  • An eighth aspect provides a computer readable storage medium storing one or more programs, the The program or programs include instructions that, when executed by the portable electronic device, cause the portable electronic device to perform any of the first aspect and the first possible implementation to the sixth possible implementation of the first aspect One of the methods described.
  • a ninth aspect provides a computer readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by a server, cause the server to perform according to the third aspect and the third The method of any one of the first possible implementation to the fifth possible implementation.
  • FIG. 1A is a block diagram showing a portable electronic device 100 with a touch-sensitive display 112, in accordance with some embodiments;
  • FIG. 1B is a block diagram showing exemplary components for event processing in accordance with some embodiments.
  • FIG. 2 illustrates a portable electronic device 100 having a touch screen 112 in accordance with some embodiments
  • FIG. 3 is a block diagram of an exemplary electronic device having a display and a touch-sensitive surface, in accordance with some embodiments
  • FIG. 5 is a schematic flowchart of a method for determining a floor according to a second embodiment of the present invention.
  • FIG. 6 is a schematic flow chart of a method for determining a floor according to a third embodiment of the present invention.
  • FIG. 7 is a schematic flow chart of a method for determining a floor according to a fourth embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a portable electronic device according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of a determining floor system according to an embodiment of the present invention.
  • FIG. 11 is another schematic structural diagram of a determining floor system according to an embodiment of the present invention.
  • portable electronic devices include, but are not limited to, piggybacking , , Or portable electronic devices of other operating systems, such as mobile phones.
  • portable electronic devices are also possible, such as a laptop or tablet or desktop computer with a touch-sensitive surface (eg, a touch screen display and/or a touch pad).
  • a portable electronic device including a display and a touch-sensitive surface is described. It should be understood, however, that the portable electronic device can include one or more other physical user interface devices such as a physical keyboard, mouse, and/or joystick.
  • Portable electronic devices typically support a variety of applications, such as one or more of the following: a drawing application, a rendering application, a word processing application, a web page creation application, a disk editing application, a spreadsheet application, a gaming application.
  • Various applications that can be executed on a portable electronic device can use at least one shared physical user interface device, such as a touch-sensitive surface.
  • One or more functions of the touch-sensitive surface and corresponding information displayed on the portable electronic device can be adjusted and/or changed from one application to the next and/or adjusted within the corresponding application and/or Variety.
  • the shared physical architecture of the portable electronic device such as a touch-sensitive surface, can support a variety of applications with a user interface that is intuitive to the user.
  • FIG. 1A is a block diagram showing a portable electronic device 100 with a touch-sensitive display 112 in accordance with some embodiments.
  • Touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and may also be referred to as or referred to as a touch-sensitive display system, and may also be referred to as having a touch-sensitive surface and a display. Display system.
  • the portable electronic device 100 can include a memory 102 (which can include one or more computer readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral interface 118, RF circuitry 108, audio Circuitry 110, speaker 111, microphone 113, input/output (I/O) subsystem 106, other input control devices 116, and external port 124.
  • Portable electronic device 100 can include one or more optical sensors 164. These components can communicate over one or more communication buses or signal lines 103.
  • Memory 102 can include high speed random access memory and can also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Other components of portable electronic device 100, such as CPU 120 and peripheral interface 118, are stored Access to the reservoir 102 can be controlled by the memory controller 122.
  • Peripheral device interface 118 can be used to couple the input and output peripherals of the device to CPU 120 and memory 102.
  • the one or more processors 120 execute or execute various software programs and/or sets of instructions stored in the memory 102 to perform various functions of the portable electronic device 100 and process the data.
  • the one or more processors 120 include an image signal processor and a dual or multi-core processor.
  • program code is stored in memory 102, and processor 120 reads the memory code in memory 102 for execution:
  • each set of Wi-Fi information includes identification information of the wireless access point AP and received signal strength RSS, m and n are not less than An integer of 2;
  • a target floor is determined from the two candidate floors based on the air pressure change rate.
  • peripheral interface 118, CPU 120, and memory controller 122 can be implemented on a single chip, such as chip 104. In some other embodiments, they can be implemented on separate chips.
  • An RF (Radio Frequency, RF for short) circuitry 108 receives and transmits an RF signal, also referred to as an electromagnetic signal.
  • the RF circuitry 108 converts electrical signals into/from electromagnetic signals and communicates with communication networks and other communication devices via electromagnetic signals.
  • RF circuitry 108 may include well-known circuitry for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, Decode chipset, Subscriber Identity Module (SIM) card, memory, and more.
  • Wireless communication can use any of a variety of communication standards, protocols, and technologies, including but not Limited to Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (eg, IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and/or IEEE 802.11n), Internet Voice Protocol (VoIP), Wi-MAX, email protocols (eg, Internet Message Access Protocol (IMAP) and/or Post Office Protocol (POP)), instant messaging (eg, Extensible Messaging Processing Site Protocol (XMPP), for instant messaging And on-site utilization of Extended Session Initiation Protocol (SIMPLE), Instant Messaging and Presence Service (IMPS), and/or Short Message Service (SMS), or any other suitable communication protocol, including those not
  • Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and device 100.
  • Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111.
  • the speaker 111 converts the electrical signal into a human audible sound wave.
  • the audio circuitry 110 also receives electrical signals converted by the microphone 113 based on the acoustic waves.
  • Audio circuitry 110 converts the electrical signals into audio data and transmits the audio data to peripheral interface 118 for processing. Audio data may be retrieved from and/or transmitted to memory 102 and/or RF circuitry 108 by peripheral device interface 118.
  • audio circuitry 110 also includes a headset jack (eg, 212 in FIG. 2).
  • the headset jack provides an interface between the audio circuitry 110 and a removable audio input/output peripheral, such as an output only headset or with an output (eg, a monaural or binaural headset) and input (eg, Microphone) Both
  • An I/O (Input/Output, I/O, Input/Output) subsystem 106 couples input/output peripherals, such as touch screen 112 and other input control devices 116, on the portable electronic device 100 to the peripheral device interface 118.
  • the I/O subsystem 106 can include a display controller 156 and one or more input controllers 160 for other input control devices.
  • the one or more input controllers 160 receive electrical signals/transmit electrical signals from other input control devices 116 to other input control devices 116.
  • the other input control device 116 may include physical buttons (eg, a push button, rocker button, etc.), a dial, a slide switch, a joystick, a click wheel, and the like.
  • the input controller 160 can be coupled to (or not coupled to) any of the following: a keyboard, an infrared port, a USB (Universal Serial Bus, USB, Universal Serial Bus) port, and a pointer. Devices such as mice.
  • the one or more buttons may include up/down buttons for volume control of the speaker 111 and/or the microphone 113.
  • the one or more buttons can include a push button (eg, 206 in Figure 2).
  • Touch sensitive display 112 provides an input interface and an output interface between the device and the user.
  • Display controller 156 receives electrical signals from touch screen 112 and/or transmits electrical signals to touch screen 112.
  • Touch screen 112 displays a visual output to the user.
  • Visual output can include graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some visual output or all of the visual output may correspond to a user interface object.
  • Touch screen 112 has a touch-sensitive surface, sensor or group of sensors that accept input from a user based on tactile and/or tactile contact.
  • Touch screen 112 and display controller 156 (along with any associated modules and/or sets of instructions in memory 102) detect contact on touch screen 112 (and any movement or interruption of the contact) and convert the detected contact to Interaction with user interface objects (eg, one or more soft keys, icons, web pages, or images) displayed on touch screen 112.
  • user interface objects eg, one or more soft keys, icons, web pages, or images
  • the point of contact between the touch screen 112 and the user corresponds to the user's finger.
  • the touch screen 112 can use LCD (Liquid Crystal Display, LCD for short) technology, LPD (Laser Phosphor Display, LPD, Light Emitting Polymer Display) technology, or LED (Light Emitting Diode, LED, LED) technology, but Other display technologies can be used in other embodiments.
  • Touch screen 112 and display controller 156 may utilize any of a variety of touch sensing techniques now known or later developed, as well as other proximity sensor arrays or other means for determining one or more points in contact with touch screen 112. Elements to detect contact and any movement or interruption thereof, including but not limited to capacitive, resistive, infrared, and surface acoustic wave techniques. In an exemplary embodiment, a projected mutual capacitance sensing technique is used.
  • Touch screen 112 can have a video resolution in excess of 100 dpi. In some embodiments, the touch screen has a video resolution of approximately 160 dpi.
  • the user can contact the touch screen 112 using any suitable object or add-on such as a stylus, finger, or the like.
  • the user interface is designed to work primarily with finger-based contacts and gestures, which may be less accurate than the stylus-based input due to the larger contact area of the finger on the touch screen.
  • the device translates the finger-based coarse input into an accurate pointer/cursor position or command to perform the action desired by the user.
  • the portable electronic device 100 can include a touchpad (not shown) for activating or deactivating a particular function.
  • the touchpad is a touch sensitive area of the device that is different from the touchscreen in that it does not display a visual output.
  • the touchpad can be a touch-sensitive surface that is separate from the touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
  • the portable electronic device 100 also includes a power system 162 for powering various components.
  • Power system System 162 may include a power management system, one or more power sources (eg, batteries, alternating current (AC)), recharging systems, power fault detection circuits, power converters or inverters, power status indicators (eg, LEDs) And any other components associated with the generation, management, and distribution of power in the portable device.
  • Portable electronic device 100 may also include one or more optical sensors 164.
  • FIG. 1A shows an optical sensor coupled to optical sensor controller 158 in I/O subsystem 106.
  • Optical sensor 164 can include a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor.
  • CMOS complementary metal oxide semiconductor
  • Optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image.
  • imaging module 143 also referred to as a camera module
  • optical sensor 164 can capture still images or video.
  • one or more optical sensors are located at the rear of device 100, opposite touch screen display 112 on the front of the device, such that the touch screen display can be used as a viewfinder for still image and/or video image acquisition.
  • another or more optical sensors are located on the front of the device such that the user can view images of the user while viewing other video conferencing participants on the touch screen display for video conferencing.
  • Portable electronic device 100 may also include one or more accelerometers 168.
  • FIG. 1A shows an accelerometer 168 coupled to a peripheral device interface 118.
  • accelerometer 168 can be coupled to input controller 160 in I/O subsystem 106.
  • the information is displayed in a portrait view or a landscape view on the touch screen display based on an analysis of the data received from the one or more accelerometers.
  • Portable electronic device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or Beidou or other global navigation system) receiver (not shown) in addition to accelerometer 168 for obtaining information about device 100. Information on location and orientation (eg, portrait or landscape).
  • the software components stored in the memory 102 include an operating system 126, a communication module (or set of instructions) 128, a contact/moving module (or set of instructions) 130, a graphics module (or set of instructions) 132, text input.
  • memory 102 stores device/global internal state 157, as shown in Figures 1A and 3.
  • the device/global internal state 157 includes one or more of the following: live An application state indicating which applications (if any) are currently active; a display state indicating which applications, views, or other information occupy various areas of the touch screen display 112; sensor status, including slave devices The individual sensors and the information obtained by the input control device 116; and the location information about the position and posture of the device.
  • Operating system 126 eg, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, ANDROID, or an embedded operating system (such as Vx Works)
  • general system tasks eg, memory management, storage device control, Various software components and/or drivers for power management, etc., and facilitate communication between various hardware and software components.
  • memory 102 stores digital camera film 159 and digital image pipeline 161.
  • Communication module 128 facilitates communication with other devices via one or more external ports 124, and also includes various software components for processing data received by RF circuitry 108 and/or external port 124.
  • External port 124 eg, Universal Serial Bus (USB), Firewire, etc.
  • USB Universal Serial Bus
  • Firewire Firewire
  • the external port is adapted to be directly coupled to other devices or indirectly coupled through a network (eg, the Internet, a wireless LAN, etc.).
  • the external port is a multi-pin (eg, 30-pin) connector that is identical or similar to and/or compatible with a 30-pin connector used on an iPod (trademark of Apple Inc.) device.
  • the contact/movement module 130 can detect contact with the touch screen 112 (in conjunction with the display controller 156) and other touch sensitive devices (eg, a touchpad or physical click wheel).
  • the contact/movement module 130 includes a plurality of software components for performing various operations related to contact detection, such as determining if a contact has occurred (eg, detecting a finger press event), determining if there is a contact movement, and being touch sensitive throughout The movement is tracked on the surface (eg, detecting one or more finger drag events), and determining if the contact has terminated (eg, detecting a finger lift event or contact interruption).
  • Contact/movement module 130 receives contact data from the touch-sensitive surface.
  • Determining the movement of the contact point may include determining the rate (magnitude), velocity (magnitude and direction), and/or acceleration (change in magnitude and/or direction) of the contact point, the movement of the contact point being caused by a series of contact data Said. These operations can be applied to a single point of contact (eg, one finger contact) or multiple points of simultaneous contact (eg, "multi-touch" / multiple finger contacts).
  • the contact/movement module 130 and the display controller 156 detect contact on the touchpad.
  • the contact/movement module 130 can detect a user's gesture input. Different gestures on the touch-sensitive surface have different contact patterns. Therefore, the gesture can be detected by detecting a specific contact pattern. For example, detecting a one-finger tap gesture includes detecting a finger press event, and then detecting a finger lift at a location (or substantially the same location) as the finger press event (eg, at the icon location) ( Lift off) event. Another example, in Detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift off) event.
  • Graphics module 132 includes a number of known software components for rendering and displaying graphics on touch screen 112 or other display, including components for changing the strength of the displayed graphics.
  • graphics includes any object that can be displayed to a user, including, without limitation, text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, and the like.
  • graphics module 132 stores data representation graphics to be used. Each graphic can be assigned a corresponding code.
  • the graphics module 132 receives one or more codes specifying graphics to be displayed from an application or the like, and also receives coordinate data and other graphics attribute data together if necessary, and then generates screen image data for output to the display controller 156.
  • a text input module 134 which may be a component of the graphics module 132, is provided for use in a variety of applications (eg, contacts 137, email 140, instant message 141, browser 147, and any other application requiring text input) Enter the soft keyboard for the text.
  • applications eg, contacts 137, email 140, instant message 141, browser 147, and any other application requiring text input
  • the GPS module 135 determines the location of the device and provides this information for use in various applications (eg, for phone 138 for location based dialing, for camera 143 as picture/video metadata, and for providing) Applications for location-based services, such as the weather desktop applet, the local yellow pages desktop applet, and the map/navigation desktop applet.
  • applications eg, for phone 138 for location based dialing, for camera 143 as picture/video metadata, and for providing
  • Applications for location-based services such as the weather desktop applet, the local yellow pages desktop applet, and the map/navigation desktop applet.
  • Application 136 may include the following modules (or sets of instructions) or subgroups or supersets thereof:
  • Contact module 137 (sometimes referred to as an address book or contact list);
  • Video conference module 139
  • Email client module 140
  • IM Instant messaging
  • a camera module 143 for still images and/or video images
  • Image management module 144
  • Calendar module 148
  • a desktop applet module 149 which may include one or more of the following: a weather desktop applet 147-1, a stock market desktop applet 149-2, a calculator desktop applet 149-3, an alarm desktop applet 149-4, Dictionary desktop applet 149-5, and other desktop applets obtained by the user, and user-created desktop applets 149-6;
  • a desktop applet creator module 150 for generating a user-created desktop applet 149-6;
  • a video and music player module 152 which may be comprised of a video player module and a music player module;
  • Sound/audio recorder module 163 Sound/audio recorder module 163; and/or
  • Notification module 165
  • Examples of other applications 136 that may be stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA enabled applications, encryption, digital rights management, voice recognition, And sound reproduction.
  • contact module 137 can be used to manage contacts or contact lists (eg, stored in memory 102 or memory 370 for contact)
  • the application internal state 192 of the person module 137 includes: adding a name to the address book; deleting the name from the address book; associating the phone number, email address, actual address, or other information with the name; associating the image with the name; Names are categorized and categorized; a phone number or email address is provided to initiate and/or facilitate communication over the phone 138, video conference 139, email 140, or IM 141;
  • telephone module 138 can be used to input corresponding to the telephone The character sequence of the number, accessing one or more phone numbers in the address book 137, modifying the phone number that has been entered, dialing the corresponding phone number, making a call, and disconnecting or hanging up when the call is completed.
  • wireless communication can use any of a variety of communication standards, protocols, and technologies.
  • the frequency conference module 139 includes executable instructions for initiating, conducting, and terminating a video conference between the user and one or more other participants in accordance with user instructions.
  • email client module 140 includes means for creating, transmitting, receiving, and managing in response to user instructions Executable instructions for email.
  • the email client module 140 makes it very easy to create and send emails with still images or video images taken by the camera module 143.
  • instant messaging module 141 includes a sequence of characters for inputting an instant message, modifying previously entered characters, Transmitting corresponding instant messages (eg, using Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and View executable instructions for the received instant message.
  • SMS Short Message Service
  • MMS Multimedia Messaging Service
  • XMPP extensible Markup Language
  • SIMPLE Session Initiation Protocol
  • IMPS Internet Messaging Protocol
  • the transmitted and/or received instant messages may include graphics, photos, audio files, video files, and/or other attachments supported in MMS and/or Enhanced Messaging Service (EMS).
  • EMS Enhanced Messaging Service
  • instant messaging refers to both phone-based messages (eg, messages sent using SMS or MMS) and Internet-based messages (eg, messages transmitted using XMPP, SIMPLE, or IMPS).
  • exercise support module 142 includes executable instructions For creating workouts (eg, having time, distance, and/or calorie consumption goals); communicating with exercise sensors (sports equipment); receiving workout sensor data; calibrating sensors for monitoring workouts; selecting and playing music for workouts; And display, store, and transmit workout data.
  • creating workouts eg, having time, distance, and/or calorie consumption goals
  • communicating with exercise sensors sports equipment
  • receiving workout sensor data calibrating sensors for monitoring workouts
  • selecting and playing music for workouts And display, store, and transmit workout data.
  • camera module 143 includes features for capturing still images or video (including video streams) and storing them in memory 102 (eg, in digital camera film 159), modifying the characteristics of still images or video, or from memory 102 (eg, from digital camera film 159) deletes executable instructions for still images or video.
  • image management module 144 includes for arranging, modifying (eg, editing), or otherwise manipulating, tagging, deleting, rendering (eg, in a digital slide or album), and storing Executable instructions for still images and/or video images (including still images and/or video images stored in camera roll 159).
  • browser module 147 includes means for browsing the Internet in accordance with user instructions (including searching, linking to, receiving, Executable instructions for displaying a web page or portion thereof, and attachments and other files linked to the web page.
  • calendar module 148 includes instructions for An executable instruction that creates, displays, modifies, and stores calendars and data associated with the calendar (eg, calendar entries, to-do list, etc.).
  • desktop applet module 149 is a mini-application that can be downloaded and used by a user. (eg, weather desktop applet 147-1, stock desktop applet 149-2, calculator desktop applet 149-3, alarm desktop applet 149-4, and dictionary desktop applet 149-5) or created by the user Micro-apps (for example, user-created desktop applets 149-6).
  • the desktop applet includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheet) file, and a JavaScript file.
  • the desktop applet includes an XML (Extensible Markup Language) file and a JavaScript file (eg, a Yahoo! desktop applet).
  • desktop applet creator module 150 can be used by a user to create a desktop applet (For example, transfer the user-specified portion of a web page to the desktop applet).
  • search module 151 includes means for searching in memory 102 for one or more search criteria (eg, user specified) in accordance with user instructions.
  • search criteria eg, user specified
  • One or more search terms executable instructions for matching text, music, sound, images, video, and/or other files.
  • the music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as for display, presentation or other
  • the manner in which the video is played back is executable instructions.
  • device 100 may include the functionality of an MP3 player.
  • note pad module 153 includes executable instructions for creating and managing notes, to-do list, and the like in accordance with user instructions.
  • map module 154 can be used to receive, according to user instructions, Display, modify, and store maps and data associated with the map (eg, driving directions; data for stores and other points of interest at or near specific locations; and other location-based data).
  • map module 154 can be used to receive, according to user instructions, Display, modify, and store maps and data associated with the map (eg, driving directions; data for stores and other points of interest at or near specific locations; and other location-based data).
  • online Video module 155 includes allowing a user to access, browse, receive (eg, stream receive and/or download), play back (eg, on a touch screen or on an external display connected via external port 124), send with a particular online video.
  • receive eg, stream receive and/or download
  • play back eg, on a touch screen or on an external display connected via external port 124
  • sends eg, on a touch screen or on an external display connected via external port 124
  • the instant message module 141 is used instead of the email client module 140 to send a link to a particular online video.
  • audio/audio recorder module 163 includes a user-allowed one or more file formats (such as An MP3 or AAC file) executable instructions that record audio (eg, sound), and executable instructions for rendering or otherwise playing back the recorded audio file.
  • file formats such as An MP3 or AAC file
  • notification module 165 includes displaying notifications or warnings on touch screen 112 (such as incoming or incoming calls, calendar event reminders, application events, etc.) Executable instructions.
  • modules and applications corresponds to a method for performing one or more of the functions described above and as described in this application (eg, computer implemented methods and other information processing methods described herein) A set of executable instructions.
  • modules ie, sets of instructions
  • memory 102 can store a subset of the modules and data structures described above.
  • memory 102 can store additional modules and data structures not described above.
  • portable electronic device 100 is a device in which the operation of a predefined set of functions on the device is performed exclusively through a touch screen and/or a touchpad.
  • a touch screen and/or a touchpad as the primary input control device for operation of the portable electronic device 100, the number of physical input control devices (such as push buttons, dials, etc.) on the portable electronic device 100 can be reduced.
  • the predefined set of functions that are uniquely executable by the touch screen and/or trackpad include navigation between user interfaces.
  • the portable electronic device 100 is navigated from any user interface displayable on the portable electronic device 100 to a main menu, main menu, or root menu when the touchpad is touched by a user.
  • the touchpad can be referred to as a "menu button.”
  • the menu button can be a physical push button or other physical input control device instead of a touchpad.
  • FIG. 1B is a block diagram illustrating exemplary components for event processing in accordance with some embodiments.
  • memory 102 in FIG. 1A or memory 370 (in FIG. 3) includes event classifier 170 (eg, in operating system 126) and corresponding application 136-1 (eg, aforementioned application 137) - any application in -151, 155, 380-390).
  • event classifier 170 eg, in operating system 126
  • application 136-1 eg, aforementioned application 137
  • the event classifier 170 receives the event information and determines the application 136-1 to which the event information is to be passed and the application view 191 of the application 136-1.
  • the event classifier 170 includes an event monitor 171 and an event scheduler module 174.
  • application 136-1 includes an application internal state 192 that indicates a current application view that is displayed on touch-sensitive display 112 when the application is active or executing.
  • the device/global internal state 157 is used by the event classifier 170 to determine which application(s) are currently active, and the application internal state 192 is used by the event classifier 170 to determine that event information is to be passed. Go to the application view 191.
  • the application internal state 192 includes additional information, such as one or more of: recovery information to be used when the application 136-1 resumes execution, indicating that it is being displayed by the application 136-1 Information or user interface state information ready for information displayed by application 136-1, a status queue for enabling a user to return to a previous state or view of application 136-1, and previous actions taken by the user Repeat/undo queue.
  • the event monitor 171 receives event information from the peripheral device interface 118.
  • the event information includes information about sub-events (eg, user touches on the touch-sensitive display 112 as part of a multi-touch gesture).
  • Peripheral device interface 118 transmits information it receives from I/O subsystem 106 or sensors (such as proximity sensor 166), accelerometer 168, and/or microphone 113 (via audio circuitry 110).
  • the information that peripheral device interface 118 receives from I/O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
  • event monitor 171 sends a request to peripheral device interface 118 at predetermined intervals.
  • peripheral device interface 118 transmits event information.
  • the peripheral device interface 118 transmits event information only when there is a significant event (eg, an input that is above a predetermined noise threshold is received and/or an input that exceeds a predetermined duration is received).
  • event classifier 170 also includes hit view determination module 172 and/or activity event recognizer determination module 173.
  • the hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views.
  • the view consists of controls and other components that the user can see on the display.
  • the application view (of the respective application) in which the touch is detected may correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected may be referred to as a hit view, and the set of events identified as being correctly entered may be determined based at least in part on a hit view of the initial touch that begins with the touch based gesture.
  • the hit view determination module 172 receives information related to sub-events of the touch-based gesture. When the application has multiple views organized in a hierarchy, the hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-event. In most cases, the hit view is the lowest level view in which the sub-event (ie, the first sub-event in the sequence of sub-events that formed the event or potential event) is initiated. Once the hit view is identified by the hit view determination module, the hit view typically receives all of the sub-events associated with the same touch or input source for which it was identified as the hit view.
  • the activity event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the activity event recognizer determination module 173 determines Only hit views should receive a specific sequence of sub-events. In other embodiments, the activity event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively involved views, and thus determines that all actively involved views should receive a particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with a particular view, the higher view in the hierarchy will remain as the active involved view.
  • Event scheduler module 174 dispatches event information to an event recognizer (e.g., event recognizer 180). In an embodiment that includes an activity event recognizer determination module 173, the event scheduler module 174 passes the event information to the event recognizer determined by the activity event recognizer determination module 173. In some embodiments, event scheduler module 174 stores event information in an event queue that is retrieved by respective event receiver module 182.
  • operating system 126 includes an event classifier 170.
  • application 136-1 includes event classifier 170.
  • event classifier 170 is a stand-alone module or is part of another module (such as contact/mobile module 130) stored in memory 102.
  • the application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which includes a touch event for processing a respective view occurring within a user interface of the application. Instructions.
  • Each application view 191 of application 136-1 includes one or more event recognizers 180.
  • the corresponding application view 191 includes a plurality of event recognizers 180.
  • one or more of the event recognizers 180 are part of a stand-alone module, such as a user interface toolkit (not shown) or from which the application 136-1 inherits methods and other features. Higher level objects.
  • the respective event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and/or event data 179 received from the event classifier 170.
  • Event handler 190 can utilize or call data updater 176, object updater 177, or GUI updater 178 to update application internal state 192.
  • one or more of the application views 191 include one or more respective event handlers 190.
  • one or more of data updater 176, object updater 177, and GUI updater 178 are included in respective application views 191.
  • the corresponding event recognizer 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event from the event information.
  • Event recognizer 180 includes an event receiver 182 and an event comparator 184.
  • event recognizer 180 also includes at least one of the following subgroups: metadata 183, and event delivery instructions 188 (which may include sub-event delivery instructions).
  • Event receiver 182 receives event information from event classifier 170.
  • the event information includes information about sub-events, such as touch or touch movement. Based on the sub-event, the event information also includes additional information, such as the location of the sub-event. When a sub-event involves movement of a touch, the event information may also include the rate and direction of the sub-event.
  • the event includes the device rotating from one orientation to another (eg, from a portrait orientation to a landscape orientation, and vice versa), and the event information includes a current orientation (also referred to as a device pose) with respect to the device. Corresponding information.
  • Event comparator 184 compares the event information to a predefined event or sub-event definition and determines an event or sub-event based on the comparison, or determines or updates the status of the event or sub-event.
  • event comparator 184 includes an event definition 186.
  • Event definition 186 contains definitions of events (eg, predefined sub-event sequences), such as event 1 (187-1), event 2 (187-2), and others.
  • sub-events in event 187 include, for example, touch start, touch end, touch movement, touch cancellation, and multi-touch.
  • the definition of event 1 (187-1) is a double click on the displayed object.
  • the double tap includes a first touch of a predetermined duration on the displayed object (touch start), a first lift of the predetermined duration (touch end), a second predetermined time duration on the displayed object The second touch (touch start) and the second lift of the predetermined duration (touch end).
  • the definition of event 2 (187-2) is a drag on the displayed object.
  • the drag includes a predetermined duration of touch (or contact) on the displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end).
  • the event also includes information for one or more associated event handlers 190.
  • event definition 187 includes definitions of events for respective user interface objects.
  • event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view in which three user interface objects are displayed on touch display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine among the three user interface objects. Which one is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with the object and sub-event that triggered the hit test.
  • the definition of the respective event 187 also includes a delay action that delays the delivery of the event information until after it has been determined that the sequence of sub-events does or does not correspond to the event type of the event recognizer.
  • the corresponding event recognizer 180 determines that the sub-event string does not match any of the events in the event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event end state, and then ignores the touch-based gesture. Subsequent sub-events. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
  • the respective event recognizer 180 includes metadata 183 having configurable properties, flags, and/or lists that indicate how the event delivery system should perform sub-event delivery to the event identifiers involved in the activity.
  • metadata 183 includes configurable attributes, flags, and/or lists that indicate how event recognizers can interact with each other.
  • metadata 183 includes configurable attributes, tags, and/or lists that indicate whether a sub-event is passed to a level in a view or a programmed hierarchy.
  • the respective event recognizer 180 activates an event handler 190 associated with the event.
  • the respective event recognizer 180 passes event information associated with the event to the event handler 190.
  • the activation event handler 190 is different from the send (and postponed) sub-event to the corresponding hit view.
  • event recognizer 180 throws a flag associated with the identified event, and event handler 190 associated with the flag receives the flag and performs a predefined process.
  • the event delivery instructions 188 include sub-event delivery instructions that pass event information about sub-events without activating an event handler. Instead, the sub-event delivery instruction passes the event information to an event handler associated with the sub-event string or to the active involved view. An event handler associated with a sub-event string or with an active involved view receives event information and performs a predetermined process.
  • data updater 176 creates and updates data used in application 136-1. For example, the data updater 176 updates the phone number used in the contact module 137 or stores the video file used in the video player module 145.
  • object updater 176 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user interface object or updates the location of the user interface object.
  • the GUI updater 178 updates the GUI. For example, GUI updater 178 is ready to display information and send it to graphics module 132 for display on a touch sensitive display.
  • event handler 190 includes or has a pair of data updaters 176, objects The updater 177, and the access rights of the GUI updater 178.
  • data updater 176, object updater 177, and GUI updater 178 are included in a single module of respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
  • event handling for user touch on a touch-sensitive display is also applicable to other forms of user input utilizing an input device to operate the portable electronic device 100 (not all of which are initiated on the touch screen), such as Coordinate mouse movement and mouse button press (with or without single or multiple keyboard presses or hold), user movement on the touchpad, flick, drag, scroll, etc., stylus input, device movement, verbal command, detection
  • the resulting eye movements, biometric inputs, and/or any combination thereof can be used as input to a sub-event corresponding to the event defining the event to be identified.
  • FIG. 2 illustrates a portable electronic device 100 having a touch screen 112 in accordance with some embodiments.
  • the touch screen can display one or more graphics within a user interface (UI) 200.
  • UI user interface
  • the user may use, for example, one or more fingers 202 (not drawn to scale in the drawings) or one or more stylus 203 (in The figures are not drawn to scale.
  • a gesture is made on the graphic to select one or more of these figures.
  • the selection of one or more graphics occurs when the user interrupts contact with the one or more graphics.
  • the gesture may include one or more taps, one or more swipes (from left to right, from right to left, up and/or down) and/or fingers that have been in contact with device 100 ( Toggle from right to left, left to right, up and/or down.
  • unintentional contact with the graphic does not select the graphic. For example, when the gesture corresponding to the selection is a tap, the swipe gesture swiped over the application icon does not select the corresponding application.
  • Device 100 may also include one or more physical buttons, such as a "home screen” or menu button 204.
  • menu button 204 can be used to navigate to any of a set of applications that can run on device 100.
  • the menu button is implemented as a soft key displayed in a GUI on touch screen 112.
  • device 100 includes touch screen 112, menu button 204, push button 206 for device power on and lock device, volume adjustment button(s) 208, user identity module (SIM) card slot 210 The headset jack 212, and the docking/charging external port 124.
  • the push button 206 can be used to power the device by pressing the button and holding the button in a depressed state for a predefined time interval; by pressing the button and before the predefined time interval Release the button to Lock the device; and/or unlock the device or initiate an unlocking process.
  • device 100 may also accept voice input for activating or deactivating certain functions via microphone 113.
  • Device 300 is a block diagram of an exemplary electronic device having a display and a touch-sensitive surface, in accordance with some embodiments.
  • Device 300 need not be portable.
  • device 300 is a laptop, desktop, tablet, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (eg, home or industrial control) Or server.
  • Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components.
  • processing unit 310 includes an image signal processor and a dual or multi-core processor.
  • Communication bus 320 may include circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication between system components.
  • Device 300 includes an input/output (I/O) interface 330 having a display 340, which is typically a touch screen display.
  • the I/O interface 330 may also include a keyboard and/or mouse (or other pointing device) 350 and a trackpad 355.
  • Device 300 also includes an optical sensor 164 and an optical sensor controller 158.
  • Memory 370 includes high speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; and may include nonvolatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, Or other non-volatile solid-state storage devices.
  • memory 370 can include one or more storage devices remotely located from CPU 310.
  • memory 370 stores programs, modules, and data structures similar to the programs, modules, and data structures stored in memory 102 of portable electronic device 100 (FIG. 1), or a subset thereof.
  • memory 370 can store additional programs, modules, and data structures that are not present in memory 102 of portable electronic device 100.
  • memory 370 of device 300 can store drawing module 380, rendering module 382, word processing module 384, web page creation module 386, disk editing module 388, and/or spreadsheet module 390, while portable electronic device 100 (FIG. 1)
  • the memory 102 may not store these modules.
  • Each of the above identified components in Figure 3 can be stored in one or more of the aforementioned memory devices.
  • Each of the above identified modules corresponds to a set of instructions for performing the functions described above.
  • the above identified modules or programs (ie, sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise rearranged in various embodiments.
  • memory 370 can store a subset of the modules and data structures described above.
  • memory 370 can store additional modules and data structures not described above.
  • the execution subject is a portable electronic device, and the method includes:
  • S401 Collect m air pressure values and n sets of wireless fidelity Wi-Fi information in a preset duration; wherein each group of Wi-Fi information includes identifier information of the wireless access point AP and RSS, and m and n are not less than 2 The integer.
  • the portable electronic device collects m air pressure values within a preset duration, and may collect m time intervals periodically during the preset time duration, or may randomly collect m time intervals, or randomly within a preset time period. The m time intervals are collected; wherein the portable electronic device can collect the air pressure value through the built-in air pressure sensor.
  • the portable electronic device collects n sets of Wi-Fi information within a preset duration, and may collect n sets of Wi-Fi information periodically or collect randomness within a preset duration during the process of collecting n sets of Wi-Fi information.
  • the Wi-Fi information includes the identification information of the AP and the RSS detected by the portable electronic device at the current collection time, the portable electronic device may be in a motion state, and the AP detected by the portable electronic device at different acquisition moments may not the same.
  • the portable electronic device collects four sets of Wi-Fi information within a preset time period, and collects Wi-Fi information as (MAC1, RSS), (MAC2, RSS), (MAC3, RSS) at the acquisition time t1, at the time of collection.
  • the Wi-Fi information collected by t2 is (MAC2, RSS), (MAC4, RSS), (MAC5, RSS), and the Wi-Fi information collected at the acquisition time t3 is (MAC2, RSS), (MAC4, RSS).
  • the identifier information of the AP is used to uniquely indicate the identity of the AP.
  • the identifier information may be a MAC address, an AP name, or an SSID (Service Set Identifier, SSID, service set identifier information).
  • the RSS in any two sets of Wi-Fi information may be different or the same, and is not limited herein.
  • the acquisition may be synchronous or non-synchronous, and the synchronous acquisition indicates that the collection time of the air pressure value coincides with the collection time of the Wi-Fi information,
  • the asynchronous acquisition means that the acquisition time of the air pressure value and the acquisition time of the Wi-Fi information are not coincident.
  • S402. Determine a gas pressure change rate according to at least two gas pressure values of the m gas pressure values.
  • the portable electronic device determines the air pressure change rate according to at least two air pressure values collected in S101, and determines the air pressure change rate by selecting at least two air pressure values from the m air pressure values. The difference between the difference is divided by the time difference to obtain the rate of change of the air pressure.
  • the two selected air pressure values may be the air pressure value at the first acquisition time in the preset time period and the air pressure value at the last acquisition time.
  • the air pressure change rate is calculated by selecting two air pressure values at other acquisition times, and the present invention is not limited.
  • the air pressure value collected at the time of t1 acquisition is X1
  • the air pressure value collected at time t2 is X2
  • the air pressure change rate is calculated as (X2-X1)/(t2-t1).
  • the portable electronic device filters the m air pressure values collected at different acquisition times within the preset duration, and linearly fits the m air pressure values after the filtering process to obtain a pressure change rate.
  • the rate of change of the air pressure may reflect the motion mode of the portable electronic device.
  • the absolute value of the rate of change of the air pressure is greater than the preset value, it indicates that the floor where the portable electronic device is located is changed, and may be in a process of rapid rise or rapid decline.
  • the portable electronic device collects n sets of Wi-Fi information in a preset duration, and the portable electronic device counts the number of APs in the n sets of Wi-Fi information and the n i RSSs corresponding to the APs, where i is the serial number of the AP, n i represents the number of RSSs corresponding to the i-th AP, 1 ⁇ i ⁇ k.
  • the AP corresponds to n RSSs; if an AP is detected at a collection time within the preset duration, the RSS of an AP can be detected. , the AP corresponds to 1 RSS. If all the n i are required to be equal to n, when the portable electronic device does not detect the RSS of an AP, the RSS corresponding to the AP is given a preset value, for example, when the portable electronic device does not detect the RSS of an AP.
  • the RSS of the AP may be set to a very small received signal strength threshold or other value indicating that the AP is not detected. For example, the RSS of the undetected AP is undetected.
  • the portable electronic device collects four sets of Wi-Fi information within a preset duration, and the Wi-Fi information collected at the acquisition time t1 is (MAC1, -90dB), (MAC2, -45dB), (MAC3, -50dB)
  • the Wi-Fi information collected at the acquisition time t2 is (MAC2, -50dB), (MAC4, -90dB), (MAC5, -80dB), and the Wi-Fi information collected at the acquisition time t3 is (MAC2, -54dB), (MAC4, -85dB), (MAC5, -75dB),
  • the Wi-Fi information collected at the acquisition time t4 is (MAC2, -60dB), (MAC4, -75dB), (MAC5, -65dB)
  • the number of identification information of the AP in the four sets of Wi-Fi information is five, which are respectively MAC1 to MAC5, corresponding to five APs, and the four RSSs corresponding to the five APs respectively are MAC1 (-90, undetected
  • the portable electronic device stores the mapping relationship between the AP and the floor, or the positioning relationship between the AP and the floor is saved on the server, and the floor corresponding to the AP may be acquired on the portable electronic device or the server, where multiple APs may be on the same floor.
  • the AP uses the identification information to indicate that the floor is represented by the floor identifier.
  • the mapping relationship is: the floor where AP1 is located is L1, the floor where AP2 is located is L1, the floor where AP3 is located is L2, and the floor where AP4 is located is L3.
  • the portable electronic device may divide the k APs into two groups according to n i RSSs corresponding to the k APs, and determine one candidate floor for each group, thereby obtaining two candidate floors.
  • the method for determining the candidate floor may be: determining a candidate floor for each group according to the floor frequency of the floor corresponding to the group, the size of the RSS, and the weight value of the floor.
  • the portable electronic device will directly select the target floor according to the air pressure change rate.
  • the portable electronic device detects that the air pressure change rate is negative, and obtains a candidate floor as the first floor.
  • the random selection rate is directly selected according to the air pressure change rate.
  • the floor higher than the candidate floor is used as the target floor.
  • the second floor which is one floor higher than the first floor of the candidate floor is selected as the target floor.
  • the portable electronic device when the rate of change in air pressure is negative, the portable electronic device is rising, and a high floor is selected as the target floor from the two candidate floors; when the rate of change in air pressure is positive, the portable electronic device is descending from the two candidate floors. Select a low floor as the target floor.
  • a plurality of air pressure values and a plurality of sets of Wi-Fi information in a preset duration are collected, and a change in the floor is determined by calculating a pressure change rate of the plurality of air pressure values, and when the floor changes, multiple sets of Wi are performed.
  • the -Fi information is divided into two groups according to the rate of change of the RSS signal, and the candidate floor is determined for each group of APs, and the target floor is determined from the two candidate floors according to the sign of the rate of change of the barometric pressure value.
  • the target floor is identified based on both the air pressure value and the Wi-Fi information, and it is not necessary to establish a complex correspondence between the air pressure value and the altitude value, and to avoid the problem of determining the inaccuracy of the target floor by the identification information.
  • FIG. 5 is a schematic flowchart of another method for determining a floor according to an embodiment of the present invention.
  • an execution entity is a portable electronic device, and the method includes:
  • the Wi-Fi information of each group includes the identification information of the AP and the RSS, where m and n are integers not less than 2.
  • the portable electronic device collects the current atmospheric pressure to obtain m air pressure values at m different acquisition times within a preset duration, and the portable electronic device may periodically collect during the collection of the air pressure, that is, the adjacent collection time The time interval between the two is the same, and the non-periodic acquisition is not limited.
  • the portable electronic device collects the identification information of the surrounding AP and the RSS to obtain n sets of Wi-Fi information at m different acquisition times within a preset duration. It can be understood that when the distance of the portable electronic device from the AP exceeds a preset value, the portable electronic device cannot detect the RSS of the AP.
  • the portable electronic device may be away from or close to an AP during the mobile process.
  • the portable electronic device detects that the RSS of the AP is gradually enhanced; when the portable electronic device is away from an AP, the portable device is portable.
  • the electronic device detects that the RSS of the AP is gradually weakened until the RSS of the AP is not detected. Therefore, the identification information and the RSS collected by the AP at n different acquisition moments may not be the same.
  • m and n may be equal or unequal in the preset duration, and the process of collecting the air pressure value and the process of collecting the Wi-Fi information may be synchronous or asynchronous, and the present invention is not limited, and the synchronous acquisition indicates the pressure value.
  • the asynchronous acquisition means that the collection time of the air pressure value and the acquisition time of the Wi-Fi information are not coincident.
  • the portable electronic device may perform collecting m air pressure values and n sets of Wi-Fi information within a preset time period after the user opens the positioning application or the map application, and the portable electronic device may periodically execute S501.
  • the collection period is a preset duration, and may of course be non-periodic, and the invention is not limited.
  • S502 Perform filtering processing on the m air pressure values collected at different acquisition moments in the preset duration.
  • the collected air pressure value may be an abnormal point
  • the portable electronic device filters the collected m air pressure values for the abnormal points in the m air pressure values to compensate, so that the air pressure value The change is smoother.
  • the portable electronic device may filter the m air pressure values by using an FIR filter, an IIR filter or an adaptive filter, or filter the m air pressure values by using other filtering methods, which is not limited in the present invention.
  • the m air pressure values after the filtering process are (t 1 , Z 1 ), (t 2 , Z 2 ), ... (t m-1 , Z m-1 ), (t m , Z m ).
  • t m represents the mth acquisition time
  • Z m represents the air pressure value collected at the mth acquisition time
  • K is the pressure change
  • the rate of change in pressure is positive or negative.
  • the positive rate of change in pressure indicates that m pressure values increase linearly.
  • the negative rate of pressure change indicates that m pressure values are linearly decreasing.
  • the rate of change of the air pressure reflects the motion mode of the portable electronic device.
  • the absolute value of the rate of change of the air pressure is greater than the preset value, the floor of the portable electronic device is changed. At this time, the portable electronic device may rapidly rise and rapidly decrease. In the process. In the process of collecting n sets of Wi-Fi information in a preset period of time, some APs will disappear, some APs will appear, and some APs will exist until the end.
  • the RSS of the AP may be set to a certain minimum intensity value, for example, the RSS of the detected AP is -100 dB or is not detected.
  • the RSS of the AP is represented by the "-" character.
  • the portable electronic device collects four sets of Wi-Fi information within a preset duration, and the Wi-Fi information collected at the acquisition time t1 is (MAC1, -90dB), (MAC2, -45dB), (MAC3, -50dB)
  • the Wi-Fi information collected at the acquisition time t2 is (MAC2, -50dB), (MAC4, -90dB), (MAC5, -80dB), and the Wi-Fi information collected at the acquisition time t3 is (MAC2, -54dB), (MAC4, -85dB), (MAC5, -75dB),
  • the Wi-Fi information collected at the acquisition time t4 is (MAC2, -60dB), (MAC4, -75dB), (MAC5, -65dB)
  • the number of the identification information of the APs in the four sets of Wi-Fi information is five, which are respectively MAC1 to MAC5.
  • the identification information of the five APs corresponds to one AP, and the RSS corresponding to each AP is MAC1 (- 90dB, -100dB, -100dB, -100dB), the AP corresponding to MAC1 is not detected at the time of t2, t3 and t4 acquisition, and the number of RSS corresponding to MAC1 is one; MAC2 (-45dB, -50dB, -54dB) , -60dB), the number of RSS corresponding to MAC2 is 4; MAC3 (-50dB, -100dB, -100dB, -100dB), the AP corresponding to MAC3 is not detected at the time of t2, t3 and t4 acquisition, MAC3 actually corresponds
  • the number of RSS is 1; MAC4 (-100) dB, -90dB, -85dB, -75dB), the AP corresponding to MAC4 is not detected at the t1 acquisition time, and
  • the portable electronic device acquires the floor where the k APs are located according to the mapping relationship between the saved AP and the floor; or the portable electronic device acquires the floor where the k APs are located according to the mapping relationship between the AP and the floor saved by the server; or portable The electronic device queries the floor where the target AP is located from the mapping relationship between the AP and the floor that is saved by the electronic device, and queries the floor where the target AP is located on the server, where the target AP is the k APs. anyone.
  • each AP of the k APs corresponds to n i RSSs, and the RSS change rate of each AP is calculated. Due to the limitation of the transmit power of the AP, the portable electronic device can only detect the AP within the coverage of the AP. RSS.
  • the RSS change rate can be used to indicate the trend of motion between the portable electronic device and the AP. When the RSS change rate is positive, the portable electronic device is approaching the AP, and the portable electronic device may be gradually approaching the AP from the coverage of the AP. When the RSS change rate is negative, indicating that the portable electronic device is away from the AP, and the portable electronic device is not within the coverage of the AP, the portable electronic device cannot detect the RSS of the AP.
  • the method for calculating the RSS change rate of the n RSSs may be: due to factors such as blocking, diffraction or diffraction of the object between the portable electronic device and the AP, the RSS detected by the portable electronic device may exist. Large error, the portable electronic device filters the n RSSs, compensates the abnormal points in the n RSSs, and makes the RSS changes smoother. It is assumed that the n RSSs after the filtering process are (t 1 , RSS 1 ), ( t 2 , RSS 2 ), ... (t n-1 , RSS n-1 ), (t n , RSS n ), where t n represents the nth acquisition time, and RSS n represents the nth acquisition time.
  • A is the rate of change of RSS
  • the rate of change of RSS is positive or negative
  • the rate of change of RSS is positive.
  • the portable electronic device is approaching the AP, and a negative rate of RSS change indicates that the portable electronic device is moving away from the AP.
  • the portable electronic device divides the h APs whose RSS change rate is positive into one group, and determines the first candidate floor in the group; and divides the f APs whose RSS change rate is negative into another group,
  • the second candidate floor is determined in the group, h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the RSS of each AP is: MAC1 (-90dB, -100dB, -100dB, -100dB), MAC2 (-45dB, -50dB, -54dB, -60dB), MAC3 (-50dB, -100dB, -100dB, -100dB), MAC4 (-100dB, -90dB, -85dB, -75dB), MAC5 (-100dB, -80dB, -75dB, -65dB), MAC1 corresponds to AP1, MAC2 corresponds to AP2, MAC3 corresponds AP3, MAC4 corresponds to AP4, and MAC5 corresponds to AP5.
  • the RSS collected by the above five APs at the four acquisition times within the preset duration can be seen that the RSS change rate of AP1 is negative, the RSS change rate of AP2 is negative, and the RSS change rate of AP3 is negative, AP4.
  • the rate of change of RSS is positive, the rate of change of RSS of AP5 is positive, and the portable electronic device moves AP1, AP2 and AP3 into the second group, and AP4 and AP5 move into the first group.
  • the method for the portable electronic device to determine the first candidate floor and the second candidate floor may be:
  • the floor frequency indicates the number of occurrences of the inner floor of the same group.
  • the portable electronic device counts the floors of the L1 floor in the first group. The frequency is 5, the floor frequency of the L2 floor is 2, and the frequency of the L3 floor is 3, the floor with the highest floor frequency is the L1 floor, and the portable electronic device uses the L1 floor as the first candidate floor of the first group.
  • the second candidate building of the second group is determined. The above method is also adopted for the layer, and details are not described herein again.
  • the first group includes h APs
  • the RSS distribution of the APs in the first group is: MAC1 (RSS 11 , RSS 12 , RSS 13 ..., RSS 1n ), MAC2 (RSS 21 , RSS 22 , RSS 23) ..., RSS 2n ), MAC3 (RSS 31 , RSS 32 , RSS 33 ..., RSS 3n ), ..., MACh (RSS h1 , RSS h2 , RSS h3 ..., RSS hn ), AP in the first group
  • the RSS change rate is positive, and the portable electronic device compares the RSS collected at the last acquisition time, and compares the floor corresponding to the largest AP of the RSS to the first candidate floor, that is, compares the RSS 1n and the RSS 2n in the first group .
  • RSS 3n , ..., RSS hn size, assuming that RSS 3n is the maximum value, and the floor corresponding to the query MAC3 is the L1 floor, the portable electronic device L1 floor serves as the
  • the second group contains f APs, and the RSS distribution of APs in the second group is: MAC1 (RSS 11 , RSS 12 , RSS 13 ..., RSS 1n ), MAC2 (RSS 21 , RSS 22 , RSS 23 ..., RSS 2n ), MAC3 (RSS 31 , RSS 32 , RSS 33 ..., RSS 3n ), ..., MACf (RSS 11 , RSS 12 , RSS 13 ..., RSS 1n ), MAC2 (RSS 21 , RSS 22 , RSS 23 ..., RSS 2n ), MAC3 (RSS 31 , RSS 32 , RSS 33 ..., RSS 3n ), ..., MACf (
  • the portable electronic device compares the RSS collected at the first acquisition time to compare the RSS largest AP.
  • Corresponding floor is the second most candidate floor, that is, comparing the size of RSS 11, RSS 21, RSS 31 , ..., RSS f1 in the second group, assuming RSS 21 is the maximum value, and querying the floor corresponding to MAC2 is L2 floor, then portable electronic The device selects the L2 floor as the second candidate floor of the second group.
  • the APs in the first group and the second group are actually different.
  • the APs in the first group and the second group in the above example are duplicated.
  • the first group includes five APs: (AP1, AP2, AP3, AP4, AP5), and the corresponding floors of the five APs are (L1, L2, L1, L2, L2), first
  • the portable electronic device selects the lower floor of the two candidate floors as the target floor.
  • the first candidate floor is the L1 floor and the second candidate floor is the L2 floor, and the air pressure change rate is a positive value, the L1 floor is selected as the target floor.
  • the portable electronic device selects the highest floor of the two candidate floors as the target floor. For example, when the first candidate floor is the L1 floor and the second candidate floor is the L2 floor, when the air pressure change rate is negative, the L2 floor is selected as the target floor.
  • the portable electronic device may acquire the positioning assistance data of the target floor from the server, perform a positioning operation according to the positioning assistance data, and display the positioning result on the interface of the application.
  • a plurality of air pressure values and a plurality of sets of Wi-Fi information in a preset duration are collected, and a change in the floor is determined by calculating a pressure change rate of the plurality of air pressure values, and when the floor changes, multiple sets of Wi are performed.
  • the -Fi information is divided into two groups according to the RSS change rate, and the candidate floor is determined for each group of APs, and the target floor is determined from the two candidate floors according to the sign of the rate of change of the barometric pressure value.
  • the target floor is identified based on both the air pressure value and the Wi-Fi information, and it is not necessary to establish a complex correspondence between the air pressure value and the altitude value, and to avoid the problem of determining the inaccuracy of the target floor by the identification information of the AP.
  • FIG. 6 is a schematic flowchart of a method for determining a floor according to an embodiment of the present invention.
  • an execution entity is a server, and the method includes:
  • the portable electronic device collects m air pressure values and n sets of Wi-Fi information within a preset time period, and the portable electronic device calculates the air pressure change rate according to at least two air pressure values of the m air pressure values, if the air pressure change rate is absolute The value is a large preset value, and the portable electronic device sends a positioning request to the server, the server The air pressure change rate and n sets of Wi-Fi information are obtained after receiving the positioning request. There are two ways for the server to obtain the rate of change of air pressure and n sets of Wi-Fi information.
  • the portable electronic device carries the rate of change of air pressure and n sets of Wi-Fi information in the positioning request, and the server resolves the received positioning request by parsing Obtain the rate of change of air pressure and n sets of Wi-Fi information; another way: after collecting a set of Wi-Fi information, the portable electronic device sends the collected Wi-Fi information and collection time to the server, and the server saves the received Wi -Fi information and the time of collection, the portable electronic device carries the time window identifier and the air pressure change rate in the positioning request, and the time window identifier indicates the start time and the end time of the preset duration, and the server obtains from the self according to the start time and the end time n sets of Wi-Fi information, and the rate of change of air pressure from the positioning request.
  • S602. Determine, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and n i RSSs corresponding to each of the k APs; k is an integer not less than 1, 1 ⁇ n i ⁇ n, 1 ⁇ i ⁇ k.
  • the server may detect different APs at different collection times, and the server counts the number of APs in the n sets of Wi-Fi information and the corresponding n of each AP.
  • i RSS, n i represents the number of RSSs corresponding to the i-th AP, 1 ⁇ i ⁇ k and i is an integer.
  • the RSS of the AP may be set to be a certain minimum received signal strength threshold or other characters indicating that the RSS of the AP is not detected, for example, The RSS of the undetectable AP is -100 dB.
  • the portable electronic device collects four sets of Wi-Fi information within a preset duration, and the Wi-Fi information collected at the acquisition time t1 is (MAC1, -90dB), (MAC2, -45dB), (MAC3, -50dB)
  • the Wi-Fi information collected at the acquisition time t2 is (MAC2, -50dB), (MAC4, -90dB), (MAC5, -80dB), and the Wi-Fi information collected at the acquisition time t3 is (MAC2, -54dB), (MAC4, -85dB), (MAC5, -75dB),
  • the Wi-Fi information collected at the acquisition time t4 is (MAC2, -60dB), (MAC4, -75dB), (MAC5, -65dB)
  • the number of the identification information in the four groups of Wi-Fi information is five, which are respectively MAC1 to MAC5, and the four RSSs corresponding to the five APs are respectively MAC1 (-90, -100dB, -100dB, -100
  • the AP corresponding to MAC1 is not detected at t2, t3, and t4 acquisition time; MAC2 (-45dB, -50dB, -54dB, -60dB); MAC3 (-50dB, -100dB, -100dB, -100dB), MAC3 corresponding APs are not detected at t2, t3, and t4 acquisition times; MAC4 (-100dB, -90dB, -85dB, -75dB), AP4 corresponding AP is not detected at t1 acquisition time; MAC5 (-100dB, -80dB , -75dB, -65dB), the AP corresponding to MAC5 is not detected at the time of t1 acquisition.
  • the server may query the floor corresponding to the AP in the mapping relationship between the AP and the floor stored by the server, where multiple different APs may correspond to the same floor.
  • the server may divide the k APs into two groups according to n i RSSs corresponding to the k APs, and determine one candidate floor for each group, thereby obtaining two candidate floors.
  • the method of determining the candidate floor may be determining a candidate floor for each group according to the floor frequency of the floor corresponding to the group, the size of the RSS, and the weight value of the floor.
  • the server selects a high floor from the two candidate floors as the target floor; when the rate of change in the air pressure is positive, the portable electronic device is descending, from the two candidates.
  • the lower floor is selected as the target floor in the floor.
  • the server will directly select the target floor according to the air pressure change rate.
  • the AP is installed on the first floor.
  • the portable electronic device detects that the air pressure change rate is negative, and obtains a candidate floor as the first floor.
  • the server directly selects according to the air pressure change rate.
  • a floor higher than the candidate floor is used as the target floor.
  • the second floor that is one floor higher than the candidate floor is selected as the target floor.
  • the server acquires the positioning assistance data of the target floor, obtains the positioning result according to the positioning assistance data, and can send the positioning result to the portable electronic device, and the portable electronic device displays the positioning result on the interface of the application.
  • the portable electronic device can communicate with the server through a mobile communication network such as a 3G, 4G or 5G mobile communication network.
  • the portable electronic device can also communicate with the server via the AP.
  • the portable electronic device can also perform data interaction with the server through other wireless communication methods, which are not limited in the present invention.
  • the acquiring the n sets of Wi-Fi information collected by the portable electronic device within a preset duration after receiving the positioning request initiated by the portable electronic device includes:
  • the portable electronic device determines that the absolute value of the air pressure change rate of the m air pressure values collected within the preset time period is greater than a preset value, and sends a positioning request carrying the time window identifier to the server, and the server identifies the time window according to the time window.
  • the corresponding n Wi-Fi information is queried from itself.
  • the air pressure change rate may also be carried in the positioning request, and the server directly obtains the air pressure change rate from the positioning request.
  • the portable electronic device may also not need to frequently send Wi-Fi information to the server.
  • the portable electronic device sends the carried air pressure change rate and the n to the server.
  • the server can obtain the rate of change of the air pressure of the portable electronic device during the preset time period by collecting n Wi-Fi information and the preset time.
  • the determining, according to the floor where the k APs are located and the n i RSSs corresponding to the k APs, determining two candidate floors includes:
  • h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • this step may refer to the process of determining the candidate floor for the execution subject by the portable electronic device in the second embodiment of the method, and details are not described herein again.
  • the first candidate floor is determined according to the h APs whose RSS change rate is a positive value
  • the second candidate floor is determined according to the f APs whose RSS change rate is a negative value, including:
  • this step may refer to the process of determining two candidate floors by using the portable electronic device as the execution subject in the second embodiment of the method, and details are not described herein again.
  • the determining the target floor from the two candidate floors according to the air pressure change rate includes:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • this step may refer to the process of identifying the target floor by using the portable electronic device as the execution subject in the second embodiment of the method, and details are not described herein again.
  • the acquiring the rate of change of the air pressure obtained by the portable electronic device according to at least two air pressure values collected during the preset duration includes:
  • the air pressure change rate being obtained by the portable electronic device according to at least two air pressure values of m air pressure values collected within a preset time period.
  • the positioning request carries the air pressure change rate of the m air pressure values
  • the server directly obtains the air pressure change rate from the positioning request to reduce the transmission amount of the portable electronic device data.
  • the server divides the plurality of sets of Wi-Fi information into two groups according to the RSS change rate, and determines candidate floors for each group of APs respectively, and determines the target from the two candidate floors according to the symbol of the change rate of the air pressure value.
  • the target floor is identified based on both the air pressure value and the Wi-Fi information, and it is not necessary to establish a complex correspondence between the air pressure value and the altitude value, and to avoid the target passing through the AP.
  • the information identifies the inaccuracy of the target floor.
  • FIG. 7 is a schematic flowchart of another method for determining a floor according to an embodiment of the present invention.
  • the method includes:
  • the portable electronic device collects m air pressure values and n sets of Wi-Fi information within a preset time period.
  • the portable electronic device collects m air pressure values within a preset duration, and may collect m time intervals periodically during the preset time duration, or may randomly collect m time intervals, or randomly within a preset time period. The m time intervals are collected; wherein the portable electronic device can collect the air pressure value through the built-in air pressure sensor.
  • the portable electronic device collects n sets of Wi-Fi information within a preset duration, and may collect n sets of Wi-Fi information periodically or collect randomness within a preset duration during the process of collecting n sets of Wi-Fi information.
  • the Wi-Fi information includes the identification information of the AP and the RSS detected by the portable electronic device at the current collection time, the portable electronic device may be in a motion state, and the AP detected by the portable electronic device at different acquisition moments may not The same; for example, the portable electronic device collects 4 sets of Wi-Fi information within a preset time period, and collects Wi-Fi information as (MAC1, RSS), (MAC2, RSS), (MAC3, RSS) at the acquisition time t1,
  • the Wi-Fi information collected at the acquisition time t2 is (MAC2, RSS), (MAC4, RSS), (MAC5, RSS), and the Wi-Fi information collected at the acquisition time t3 is (MAC2, RSS), (MAC4, RSS), (MAC5, RSS),
  • the Wi-Fi information collected at the acquisition time t4 is (MAC2, RSS), (MAC4, RSS), (MAC5, RSS).
  • the identifier information is used to uniquely indicate the identity of the AP.
  • the identifier information may be a MAC address, an SSID, or an AP name.
  • the RSS in any two sets of Wi-Fi information may be different or the same, and is not limited herein.
  • the acquisition may be synchronous or non-synchronous, and the synchronous acquisition indicates that the collection time of the air pressure value coincides with the collection time of the Wi-Fi information, The acquisition time of the asynchronous acquisition air pressure value and the acquisition time of the Wi-Fi information are not coincident.
  • the portable electronic device determines a rate of change in air pressure of the m air pressure values.
  • an implementation manner is: the portable electronic device determines the air pressure change rate according to at least two air pressure values collected in the S701, and determining the air pressure change rate by selecting at least two from the m air pressure values. The difference between the pressure values is divided by the time difference to obtain the air pressure change rate.
  • the selected two air pressure values may be the air pressure value at the first acquisition time and the air pressure value at the last acquisition time in the preset time period, and other acquisition moments may also be selected.
  • the two air pressure values calculate the air pressure change rate, which is not limited in the present invention. For example, the air pressure value collected at the time of t1 acquisition is X1, and the air pressure value collected at time t2 is X2, and the calculation is performed.
  • the rate of change in air pressure is (X2-X1) / (t2-t1).
  • the portable electronic device filters the m air pressure values collected at different acquisition times within the preset duration, and linearly fits the m air pressure values after the filtering process to obtain a pressure change rate.
  • the rate of change of the air pressure reflects the motion mode of the portable electronic device.
  • the absolute value of the rate of change of the air pressure is greater than the preset value, it indicates that the floor where the portable electronic device is located changes, and the floor where the portable electronic device is located needs to be re-determined.
  • the portable electronic device sends a positioning request that carries a rate of change of air pressure and n sets of Wi-Fi information.
  • the portable electronic device transmits a rate of change in air pressure and n sets of Wi-Fi information to the server.
  • the portable electronic device may send the collected Wi-Fi information and the collection time to the server after collecting a set of Wi-Fi information, and the server saves the received Wi-Fi information and the The moment of collection of Wi-Fi information.
  • the portable electronic device sends a positioning request carrying the air pressure change rate and the time window identifier to the server when the absolute value of the air pressure change rate is greater than a preset value, and the server queries the portable electronic device for the preset time length according to the time window identifier. Go to n groups of Wi-Fi information and get the rate of change in air pressure.
  • the server acquires n sets of Wi-Fi information collected by the portable electronic device within a preset duration.
  • the server may obtain n sets of Wi-Fi information carried in the positioning request sent by the portable electronic device, or the server acquires n sets of Wi-Fi information collected by the portable electronic device within a preset time period from itself.
  • the server determines, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and n i RSSs corresponding to each of the k APs.
  • the server acquires a floor where the k APs are located. Multiple APs can correspond to the same floor.
  • the server determines two candidate floors according to the floor where the k APs are located and the n i RSSs corresponding to the k APs.
  • the server may divide the k APs into two groups according to n i RSSs corresponding to the k APs, and determine one candidate floor for each group, thereby obtaining two candidate floors.
  • the method of determining the candidate floor may be determining a candidate floor for each group according to the floor frequency of the floor corresponding to the group, the size of the RSS, and the weight value of the floor.
  • the server acquires a gas pressure change rate of the m air pressure values, and changes according to the air pressure.
  • the rate is determined from the two candidate floors.
  • the server selects a high floor from the two candidate floors as the target floor; when the rate of change in the air pressure is positive, the portable electronic device is descending, from the two candidates.
  • the lower floor is selected as the target floor in the floor.
  • the server acquires positioning assistance data of the target floor, and obtains a positioning result according to the positioning assistance data.
  • the server sends a positioning result to the portable electronic device.
  • the server divides the plurality of sets of Wi-Fi information collected by the portable electronic device into two groups according to the RSS change rate, and determines the candidate floor for each group of APs respectively, and the symbol of the rate of change according to the barometric pressure value from the two
  • the target floor is determined in the candidate floor.
  • the target floor is identified based on both the air pressure value and the Wi-Fi information, and it is not necessary to establish a complex correspondence between the air pressure value and the altitude value, and to avoid the problem of determining the inaccuracy of the target floor by the identification information.
  • FIG. 8 is a schematic structural diagram of a portable electronic device according to an embodiment of the present invention.
  • the portable electronic device includes: an acquisition module 801, a first determining module 802, and a second determining module 803.
  • the collecting module 801 is configured to collect m air pressure values and n sets of wireless fidelity Wi-Fi information in a preset duration; wherein each group of Wi-Fi information includes identifier information of the wireless access point AP and received signal strength RSS.
  • m and n are integers not less than 2.
  • the first determining module 802 is configured to determine a gas pressure change rate according to at least two air pressure values of the m air pressure values.
  • a second determining module 803 configured to determine, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and the k, if an absolute value of the air pressure change rate is greater than a preset value AP corresponding to each of a number n i RSS; k is an integer of not less than 1, 1 ⁇ n i ⁇ n, 1 ⁇ i ⁇ k.
  • the obtaining module 804 is configured to obtain a floor where the k APs are located.
  • the third determining module 805 is configured to determine two candidate floors according to the floor where the k APs are located and the n i RSSs corresponding to the k APs.
  • the fourth determining module 806 is configured to determine a target floor from the two candidate floors according to the air pressure change rate.
  • the first determining module 802 includes: a filtering unit and a computing unit.
  • a filtering unit configured to collect the m air pressure values at different acquisition times within the preset duration Perform filtering processing
  • a calculating unit configured to linearly fit the m pressure values after the filtering process to obtain a gas pressure change rate.
  • the third determining module 805 includes: a first determining unit and a second determining unit.
  • a first determining unit configured to determine an RSS change rate of the n i RSSs corresponding to the k APs
  • a second determining unit configured to determine a first candidate floor according to h APs whose RSS change rate is a positive value, and determine a second candidate floor according to f APs whose RSS change rate is a negative value, where h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the second determining unit is specifically configured to:
  • the fourth determining module 806 is specifically configured to:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the obtaining module 804 is specifically configured to:
  • the portable electronic device further includes:
  • a positioning module configured to acquire positioning assistance data of the target floor, and perform a positioning operation according to the positioning assistance data.
  • the first and second embodiments of the present invention and the method are based on the same concept, and the technical effects thereof are also the same.
  • FIG. 9 is a schematic structural diagram of a server according to an embodiment of the present invention.
  • the server includes: a first obtaining module 901, a first determining module 902, a second obtaining module 903, and a second determining.
  • the first obtaining module 901 is configured to receive n sets of Wi-Fi information collected by the portable electronic device within a preset time period after receiving the positioning request sent by the portable electronic device, and acquire the portable electronic device according to the preset duration The rate of change of the air pressure obtained by at least two of the m air pressure values collected therein; wherein each set of Wi-Fi information includes identification information of the AP and RSS; m and n are integers not less than 2.
  • the first determining module 902 is configured to determine, according to the n sets of Wi-Fi information, k APs that send the n sets of Wi-Fi information, and n i RSSs corresponding to each of the k APs; k is not less than 1. Integer, 1 ⁇ n i ⁇ n , 1 ⁇ i ⁇ k.
  • the second obtaining module 903 is configured to acquire a floor where the k APs are located.
  • the second determining module 904 is configured to determine two candidate floors according to the floor where the k APs are located and the n i RSSs corresponding to the k APs.
  • the third determining module 905 is configured to determine a target floor from the two candidate floors according to the air pressure change rate.
  • the sending module 906 is configured to acquire positioning assistance data of the target floor, obtain a positioning result according to the positioning assistance data, and send the positioning result to the portable electronic device.
  • the first obtaining module 901 includes: a first acquiring unit or a second acquiring unit.
  • a first acquiring unit configured to receive Wi-Fi information and a collection time sent by the portable electronic device, and save the received Wi-Fi information and the collection time; and receive the positioning of the carrying time window identifier sent by the portable electronic device And requesting, acquiring, according to the time window identifier, the n sets of Wi-Fi information from the server, where the time window identifier indicates a start time and a stop time of the preset duration; or
  • a second acquiring unit configured to receive, by the portable electronic device, a positioning request that carries the n sets of Wi-Fi information, and acquire the n sets of Wi-Fi information collected by the portable electronic device within a preset duration.
  • the second determining module 904 includes: a first determining unit and a second determining unit.
  • a second determining unit configured to determine an RSS change rate of the n i RSSs corresponding to the k APs
  • a second determining unit configured to determine a first candidate floor according to h APs whose RSS change rate is a positive value, and determine a second candidate floor according to f APs whose RSS change rate is a negative value, where h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the second determining unit is specifically configured to:
  • the third determining module 905 is specifically configured to:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the first obtaining module further includes: a third acquiring unit.
  • a third acquiring unit configured to acquire the air pressure change rate from the positioning request, where the air pressure change rate is determined by the portable electronic device according to at least two air pressure values collected by the preset time duration Arrived.
  • the portable electronic device includes: a first collection module 1001 and a data transmission module 1002.
  • the first collecting module 1001 is configured to collect m air pressure values and n sets of Wi-Fi information within a preset duration.
  • the data sending module 1002 is configured to send the collected Wi-Fi information and the collection time to the server.
  • the first air pressure change rate calculation module 1003 is configured to calculate a gas pressure change rate of the m air pressure values.
  • the first positioning request module 1004 is configured to send, to the server, a positioning request that carries a time window identifier and the air pressure change rate, if the absolute value of the air pressure change rate is greater than a preset value, where the time window identifier is used for Indicates the start time and end time of the preset duration.
  • the first receiving module 1005 is configured to receive a positioning result returned by the server.
  • the embodiment of the present invention provides a determining floor system, including any of the above-mentioned servers and portable electronic devices, as shown in FIG. 11 , wherein the portable electronic device includes: a second collecting module 1101 and a second air pressure change rate calculating module 1102 . The second positioning request module 1103 and the second receiving module 1104.
  • the second collection module 1101 is configured to collect m air pressure values and n sets of Wi-Fi information within a preset duration.
  • the second air pressure change rate calculation module 1102 is configured to calculate a gas pressure change rate of the m air pressure values.
  • the second positioning requesting module 1103 is configured to send, to the server, a positioning request that carries the n Wi-Fi information and the air pressure change rate, if the absolute value of the air pressure change rate is greater than a preset value.
  • the second receiving module 1104 is configured to receive a positioning result returned by the server.
  • an embodiment of the present invention further provides a portable electronic device, including a processor, a memory, and a communication interface.
  • the communication interface is used to communicate with external devices.
  • the number of processors in a portable electronic device can be one or more.
  • the processor, memory, and communication interface may be connected by a bus or other means.
  • the portable electronic device can be used to perform the method shown in FIG. For the meaning and examples of the terms involved in the embodiment, reference may be made to the corresponding embodiment of FIG. I will not repeat them here.
  • program code is stored in the memory.
  • the processor is used to call program code stored in the memory to perform the following operations:
  • each set of Wi-Fi information includes identification information of the wireless access point AP and received signal strength RSS, m and n are not less than An integer of 2;
  • a target floor is determined from the two candidate floors based on the air pressure change rate.
  • the processor performs the determining a rate of change in air pressure based on at least two of the m air pressure values, including:
  • the linear pressure rate is obtained by linearly fitting the m pressure values after the filtering process.
  • the processor performs, according to the floor where the k APs are located and the n i RSSs corresponding to the k APs, determining two candidate floors, including:
  • h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the processor determines that the first candidate floor is determined among the h APs whose positive change rate is based on the RSS change rate, and determines the second candidate according to the f APs whose RSS change rate is a negative value Floor, including:
  • the processor performing the determining the target floor from the two candidate floors according to the air pressure change rate comprises:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the performing, by the processor, the acquiring the floor where the k APs are located includes:
  • the processor is further configured to:
  • the embodiment of the present invention further provides a server, where the server includes a processor, a memory, and a communication interface.
  • the communication interface is used to communicate with external devices.
  • the number of processors in the server can be one or more.
  • the processor, memory, and communication interface may be connected by a bus or other means.
  • the server can be used to perform the method shown in FIG.
  • FIG. 6 For the meanings and examples of the terms involved in the embodiment, reference may be made to the corresponding embodiment of FIG. 6. I will not repeat them here.
  • program code is stored in the memory.
  • the processor is used to call program code stored in the memory to perform the following operations:
  • each set of Wi-Fi information includes identification information of the AP and RSS; m and n are integers not less than 2;
  • k is an integer not less than 1, 1 ⁇ n i ⁇ n , 1 ⁇ i ⁇ k;
  • the acquiring, by the processor, the n sets of Wi-Fi information collected by the portable electronic device within a preset duration after receiving the positioning request initiated by the portable electronic device includes:
  • the processor performs, according to the floor where the k APs are located and the n i RSSs corresponding to the k APs, determining two candidate floors, including:
  • h and f are integers and 1 ⁇ h ⁇ k, 1 ⁇ f ⁇ k, h+f ⁇ k.
  • the processor determines that the first candidate floor is determined among the h APs whose positive change rate is based on the RSS change rate, and determines the second candidate according to the f APs whose RSS change rate is a negative value Floor, including:
  • the processor performing the determining the target floor from the two candidate floors according to the air pressure change rate comprises:
  • the lower one of the two candidate floors is selected as the target floor
  • the highest floor of the two candidate floors is selected as the target floor.
  • the processor performing the acquiring the rate of change of the air pressure obtained by the portable electronic device according to at least two of the m air pressure values collected within the preset duration includes:
  • the air pressure change rate being obtained by the portable electronic device according to at least two air pressure values of m air pressure values collected within a preset time period.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Electromagnetism (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种确定楼层方法、相关设备和系统,所述方法包括在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数(S401);根据m个气压值中的至少两个气压值确定气压变化率(S402);若气压变化率的绝对值大于预设值,根据n组Wi-Fi信息确定发送n组Wi-Fi信息的k个AP,以及k个AP各自对应的n i个RSS;k为不小于1的整数,1≤n i≤n,1≤i≤k(S403);获取k个AP各自所在的楼层(S404);根据k个AP各自所在的楼层以及k个AP各自对应的n i个RSS确定两个候选楼层(S405);根据气压变化率从两个候选楼层中确定目标楼层(S406)。

Description

一种确定楼层方法、相关设备和系统 技术领域
本发明涉及室内定位领域,尤其涉及一种确定楼层方法、相关设备和系统。
背景技术
随着便携式电子设备的普及,用户对位置信息的实时性和准确性的需求日益增加。目前应用较多的是GPS(Global Positioning System,简称GPS,全球定位系统),其不足是当GPS接收机在室内移动时,由于信号强度受到遮挡物的影响而大大衰减,导致定位精度受到影响甚至无法完成定位过程。为了解决上述问题,提出了室内定位的解决方案,例如:便携式电子设备通过接收室内Wi-FiAP(Wireless Fidelity Access Point,简称Wi-Fi AP,无线保真访问点)发送的Wi-Fi(Wireless Fidelity Access Point,简称Wi-Fi,无线保真)信号进行定位。
在多层建筑中进行定位时不仅涉及到平面的定位还涉及到的确定楼层的问题,如何准确的识别楼层成为技术人员越来越关注的问题。
现有技术方案一:便携式电子设备通过自带的气压计识别楼层。气压计确定楼层的基本原理为:首先获取气压计输出的气压值,根据气压值与海拔高度的对应关系计算出便携式电子设备的海拔高度,然后根据便携式电子设备所在的建筑的楼层高度和海拔高度的对应关系确定出便携式电子设备所在的楼层。
现有技术方案二:利用Wi-Fi信号进行楼层的识别。其基本原理为:便携式电子设备接收Wi-Fi AP发送的Wi-Fi信号,提取出Wi-Fi信号中携带的MAC(Media Access Control,简称MAC,媒体访问控制)地址,然后查询预存的MAC地址与楼层的映射关系得到便携式电子设备所在的楼层。
然而,对于现有技术一的方案,一方面,气压极易受温度和湿度等环境因素的影响,需要根据实际情况频繁地调整海拔高度与气压值的对应关系才能得到准确的楼层,实现十分复杂;另一方面,不同的建筑的海拔高度和楼层高度的对应关系各不相同,需要根据不同的建筑调整海拔高度和楼层高度的对应关系,同样不易于实现。
现有技术二的方案中,便携式电子设备在某个位置可能接收到不同楼层的AP发送的Wi-Fi信号,直接将接收到的Wi-Fi信号的所在的楼层作为便携式电 子设备的楼层,会造成楼层的识别的准确性很差。
发明内容
本发明实施例所要解决的技术问题在于,提供一种确定楼层方法、相关设备和系统。可解决现有技术中确定楼层方法实现复杂和不准确的问题。
第一方面提供了一种确定楼层方法,用于便携式电子设备,包括:
在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和RSS(Received Signal Strength,简称RSS,接收信号强度),m和n为不小于2的整数;
根据所述m个气压值中的至少两个气压值确定气压变化率;
若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取所述k个AP各自所在的楼层;
根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
根据所述气压变化率从所述两个候选楼层中确定目标楼层。
结合第一方面,在第一种可能的实现方式中,所述根据所述m个气压值中的至少两个气压值确定气压变化率,包括:
对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理;
对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
确定所述k个AP各自对应的ni个RSS的RSS变化率;
根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根 据RSS变化率为负值的f个AP确定第二候选楼层,包括:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
结合第一方面以及第一方面的第一种可能的实现方式至第三种可能的实现方式中的任意一种,在第一方面的第四种可能的实现方式中,所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
结合第一方面以及第一方面的第一种可能的实现方式至第四种可能的实现方式中的任意一种,在第一方面的第五种可能的实现方式中,所述获取所述k个AP各自所在的楼层包括:
根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
从所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
结合第一方面以及第一方面的第一种可能的实现方式至第五种可能的实现方式中的任意一种,在第一方面的第六种可能的实现方式中,还包括:
所述便携式电子设备获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
第二方面提供一种便携式电子设备,包括:
采集模块,用于在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数;
第一确定模块,用于根据所述m个气压值中的至少两个气压值确定气压变化率;
第二确定模块,用于若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取模块,用于获取所述k个AP各自所在的楼层;
第三确定模块,用于根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
第四确定模块,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一确定模块包括:
滤波单元,用于对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理;
计算单元,用于对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第三确定模块包括:
第一确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述第二确定单元具体用于:
取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
结合第二方面以及第二方面的第一种可能的实现方式至第三种可能的实现方式中的任意一种,在第二方面的第四种可能的实现方式中,所述第四确定模块具体用于:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
结合第二方面以及第二方面的第一种可能的实现方式至第四种可能的实现方式中的任意一种,在第二方面的第五种可能的实现方式中,所述获取模块具体用于:
根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
在所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
结合第二方面以及第二方面的第一种可能的实现方式至第五种可能的实现方式中的任意一种,在第二方面的第六种可能的实现方式中,还包括:
定位模块,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
第三方面提供了一种确定楼层方法,用于服务器,包括:
接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数;
根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取所述k个AP各自所在的楼层;
根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
根据所述气压变化率从所述两个候选楼层中确定目标楼层;
获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
结合第三方面,在第三方面的第一种可能的实现方式中,所述接收便携式电子设备发起的定位请求后获取所述便携式电子设备在预设时长内采集到的n组Wi-Fi信息包括:
接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;
接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时 间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求,获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
确定所述k个AP各自对应的ni个RSS的RSS变化率;
根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
结合第三方面,在第三方面的第四种可能的实现方式中,所述根据所述气 压变化率从所述两个候选楼层中确定目标楼层包括:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
结合第三方面以及第三方面的第一种可能实现方式至第四种可能的实现方式中的任意一种,在第三方面的第五种可能的实现方式中,所述获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率包括:
从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
第四方面提供了一种服务器,包括:
第一获取模块,用于接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数;
第一确定模块,用于根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
第二获取模块,用于获取所述k个AP各自所在的楼层;
第二确定模块,用于根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
第三确定模块,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层;
发送模块,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
结合第四方面,在第四方面的第一种可能的实现方式中,第一获取模块包括:
第一获取单元,用于接收所述便携式电子设备发送的Wi-Fi信息和采集时 刻,并保存接收到的Wi-Fi信息和采集时刻;接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
第二获取单元,用于接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第二确定模块包括:
第一确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述第二确定单元具体用于:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
结合第四方面以及第四方面的第一种可能的实现方式至第三种可能的实现 方式中的任意一种,在第四种可能的实现方式中,所述第三确定模块具体用于:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
结合第四方面以及第四方面的第一种可能的实现方式至第四种可能的实现方式中的任意一种,在第四方面的第五种可能的实现方式中,所述第一获取模块包括:
第三获取单元,用于从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
第五方面提供了一种确定楼层系统,包括如第二方面以及第二方面第一种可能的实现方式至第六种可能的实现方式中的任意一项所述的便携式电子设备和如第四方面以及第四方面第一种可能的实现方式至第五种可能的实现方式中的任意一项所述的服务器。
第六方面提供了一种便携式电子设备,包括:一个或多个处理器、存储器、总线系统、收发器以及一个或多个程序,所述处理器、所述存储器和所述收发器通过所述总线系统相连;
其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述便携式电子设备执行时使所述便携式电子设备执行如第一方面以及第一方面第一种可能的实现方式至第六种可能的实现方式中任一项所述的方法。
第七方面提供了一种服务器,包括:
一个或多个处理器、存储器、总线系统、收发器以及一个或多个程序,所述处理器、所述存储器和所述收发器通过所述总线系统相连;
其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述服务器执行时使所述服务器执行如权利要求第三方面以及第三方面第一种可能的实现方式至第五种可能的实现方式中任一项所述的方法。
第八方面提供了一种存储一个或多个程序的计算机可读存储介质,所述一 个或多个程序包括指令,所述指令当被便携式电子设备执行时使所述便携式电子设备执行如第一方面以及第一方面第一种可能的实现方式至第六种可能的实现方式中任一项所述方法。
第九方面提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被服务器执行时使所述服务器执行根据第三方面以及第三方面第一种可能的实现方式至第五种可能的实现方式中任一项所述方法。
采集预设时长内的多个气压值和多组Wi-Fi信息,通过计算多个气压值的气压变化率来判断楼层的变更,在楼层发生变更时,根据多组Wi-Fi信息确定候选楼层,以及根据气压值的变化率的正负从两个候选楼层中确定目标楼层。这样根据气压值和Wi-Fi信息两方面来识别目标楼层,无需建立复杂的气压值和高度值的对应关系,以及避免通过标识信息确定目标楼层的不准确的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是示出根据一些实施例的具有触敏显示器112的便携式电子设备100的框图;
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图;
图2示出了根据一些实施例的具有触摸屏112的一种便携式电子设备100;
图3是根据一些实施例的具有显示器和触敏表面的一种示例性电子设备的框图;
图4是本发明第一实施例提的一种确定楼层方法的流程示意图;
图5是本发明第二实施例提供的一种确定楼层方法的流程示意图;
图6是本发明第三实施例提供的一种确定楼层方法的流程示意图;
图7是本发明第四实施例提供的一种确定楼层方法的流程示意图;
图8是本发明实施例提供的一种便携式电子设备的结构示意图;
图9是本发明实施例提供的一种服务器的结构示意图;
图10是本发明实施例提供的一种确定楼层系统的结构示意图;
图11是本发明实施例提供的一种确定楼层系统的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在将详细地参考实施例,这些实施例的示例在附图中被示出。在下面的详细描述中给出了许多具体细节,以便提供对本发明的充分理解。但是,对本领域技术人员将显而易见的是本发明可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路、和网络,从而不会不必要地使实施例的方面晦涩难懂。
可以理解的是,虽然术语“第一”、“第二”等可能在本文中用来描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用来将一个元素与另一元素区分开。
在本文中对本发明的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本发明的限制。如本在发明的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件和/或其分组。
应理解,便携式电子设备包括但不限于搭载
Figure PCTCN2016095679-appb-000001
Figure PCTCN2016095679-appb-000002
Figure PCTCN2016095679-appb-000003
或者其它操作系统的便携式电子设备,诸如移动电话。也可以是其它便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板电脑或台式计算机。
在下面的讨论中,介绍了一种包括显示器和触敏表面的便携式电子设备。 然而应当理解,便携式电子设备可以包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操作杆。
便携式电子设备通常支持多种应用程序,诸如以下中的一种或多种:画图应用程序、呈现应用程序、文字处理应用程序、网页创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、锻炼支持应用程序、相片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网络浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
可在便携式电子设备上执行的各种应用程序可使用至少一个共用的物理用户接口设备,诸如触敏表面。触敏表面的一种或多种功能以及显示在便携式电子设备上的相应信息可从一种应用程序调整和/或变化至下一种应用程序和/或在相应应用程序内被调整和/或变化。这样,便携式电子设备的共用物理架构(诸如触敏表面)可利用对于用户而言直观清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式设备的实施例。图1A是示出根据一些实施例的具有触敏显示器112的便携式电子设备100的框图。触敏显示器112有时为了方便被称为“触摸屏”,并且也可被称为是或者被叫做触敏显示器系统,也可以被称为具有触敏表面(touch-sensitive surface)和显示屏(display)的显示器系统。便携式电子设备100可包括存储器102(其可包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、外围设备接口118、RF电路系统108、音频电路系统110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入控制设备116、和外部端口124。便携式电子设备100可包括一个或多个光学传感器164。这些部件可通过一根或多根通信总线或信号线103进行通信。
应当理解,便携式电子设备100只是一个示例,并且便携式电子设备100可具有比所示出的更多或更少的部件,可组合两个或更多个部件,或者可具有这些部件的不同配置或布置。图1A中所示的各种部件可以硬件、软件方式或软硬件组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器102可以包括高速随机存取存储器,并且还可包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。便携式电子设备100的其他部件(诸如CPU 120和外围设备接口118)对存 储器102的访问可由存储器控制器122来控制。
外围设备接口118可以被用来将设备的输入和输出外围设备耦接到CPU120和存储器102。该一个或多个处理器120运行或执行存储在存储器102中的各种软件程序和/或指令集,以执行便携式电子设备100的各种功能以及处理数据。在一些实施例中,该一个或多个处理器120包括图像信号处理器和双核或多核处理器。例如,存储器102中存储有程序代码,处理器120读取存储器102中的存储器代码用于执行:
在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数;
根据所述m个气压值中的至少两个气压值确定气压变化率;
若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取所述k个AP各自所在的楼层;
根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
根据所述气压变化率从所述两个候选楼层中确定目标楼层。
在一些实施例中,外围设备接口118、CPU120、和存储器控制器122可以被实现在单个芯片诸如芯片104上。在一些其他实施例中,它们可以被实现在独立的芯片上。
RF(Radio Frequency,简称RF,射频)电路系统108接收和发送RF信号,也被叫做电磁信号。RF电路系统108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备通信。RF电路系统108可包括用于执行这些功能的众所周知的电路系统,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路系统108可通过无线通信与网络以及其他设备通信,网络诸如是互联网也被称为万维网(WWW)、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。无线通信可使用多种通信标准、协议和技术中的任何类型,包括但不 限于全球移动通信系统(GSM)、增强数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE 802.11n)、因特网语音协议(VoIP)、Wi-MAX、电子邮件协议(例如,因特网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理现场协议(XMPP)、用于即时消息和现场利用扩展的会话发起协议(SIMPLE)、即时消息和到场服务(IMPS)、和/或短消息服务(SMS)、或者其他任何适当的通信协议,包括在本文献提交日还未开发出的通信协议。
音频电路系统110、扬声器111、和麦克风113提供用户与设备100之间的音频接口。音频电路系统110从外围设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听的声波。音频电路系统110还接收由麦克风113根据声波转换来的电信号。音频电路系统110将电信号转换为音频数据,并将音频数据传输到外围设备接口118以进行处理。音频数据可由外围设备接口118检索自和/或传输至存储器102和/或RF电路系统108。在一些实施例中,音频电路系统110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路系统110与可移除的音频输入/输出外围设备之间的接口,该外围设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
I/O(Input/Output,简称I/O,输入输出)子系统106将便携式电子设备100上的输入/输出外围设备,诸如触摸屏112和其他输入控制设备116,耦接到外围设备接口118。I/O子系统106可以包括显示控制器156和用于其他输入控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其他输入控制设备116接收电信号/发送电信号到其他输入控制设备116。所述其他输入控制设备116可包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击式转盘等等。在一些另选实施例中,输入控制器160可耦接到(或不耦接到)以下任一个:键盘、红外线端口、USB(Universal Serial Bus,简称USB,通用串行总线)端口、和指针设备诸如鼠标。该一个或多个按钮(例如,图2中的208)可包括用于扬声器111和/或麦克风113的音量控制的上/下按钮。该一个或多个按钮可包括下压按钮(例如,图2中的206)。
触敏显示器112提供设备与用户之间的输入接口和输出接口。显示控制器156从触摸屏112接收电信号和/或向触摸屏112发送电信号。触摸屏112向用户显示视觉输出。视觉输出可包括图形、文本、图标、视频及它们的任何组合(统称为“图形”)。在一些实施例中,一些视觉输出或全部的视觉输出可对应于用户界面对象。
触摸屏112具有基于触觉和/或触觉接触从用户接受输入的触敏表面、传感器或传感器组。触摸屏112和显示控制器156(与存储器102中的任何相关联模块和/或指令集一起)检测触摸屏112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与显示在触摸屏112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在示例性实施例中,触摸屏112与用户之间的接触点对应于用户的手指。
触摸屏112可使用LCD(Liquid Crystal Display,简称LCD,液晶显示器)技术、LPD(Laser Phosphor Display,简称LPD,发光聚合物显示器)技术、或LED(Light Emitting Diode,简称LED,发光二极管)技术,但是在其他实施例中可使用其他显示技术。触摸屏112和显示控制器156可以利用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触摸屏112接触的一个或多个点的其他元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一示例性实施例中,使用投射式互电容感测技术。
触摸屏112可以具有超过100dpi的视频分辨率。在一些实施例中,触摸屏具有大约160dpi的视频分辨率。用户可以利用任何合适的物体或附加物诸如触笔、手指等等,与触摸屏112接触。在一些实施例中,用户界面被设计为主要与基于手指的接触和手势一起工作,这与基于触笔的输入相比由于手指在触摸屏上接触面积更大而可能精确度更低。在一些实施例中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以执行用户所期望的动作。
在一些实施例中,除了触摸屏之外,便携式电子设备100可包括用于激活或解除激活特定功能的触控板(未示出)。在一些实施例中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板可以是与触摸屏112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
便携式电子设备100还包括用于为各种部件供电的电力系统162,。电力系 统162可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率变换器或逆变器、电力状态指示器(例如,LED)和任何其他与便携式设备中电力的生成、管理和分配相关联的部件。
便携式电子设备100还可包括一个或多个光学传感器164。图1A示出了耦接到I/O子系统106中光学传感器控制器158的光学传感器。光学传感器164可包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收通过一个或多个透镜投射的光,并且将光转换为表示图像的数据。结合成像模块143(也称为相机模块),光学传感器164可以捕获静态图像或视频。在一些实施例中,一个或者多个光学传感器位于设备100的后部,与设备前部上的触摸屏显示器112相对,使得触摸屏显示器可用作用于静态图像和/或视频图像采集的取景器。在一些实施例中,另一个或者多个光学传感器位于设备的前部上,使得用户在触摸屏显示器上观看其它视频会议参与者的同时可以获得该用户的图像以用于视频会议。
便携式电子设备100还可以包括一个或多个接近传感器166。图1A示出了耦接到外围设备接口118的接近传感器166。作为另外一种选择,接近传感器166可耦接到I/O子系统106中的输入控制器160。在一些实施例中,当电子设备被置于用户耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并禁用触摸屏112。
便携式电子设备100还可包括一个或多个加速度计168。图1A示出了耦接到外围设备接口118的加速度计168。作为另外一种选择,加速度计168可耦接到I/O子系统106中的输入控制器160。在一些实施例中,信息基于对从该一个或多个加速度计所接收的数据的分析而在触摸屏显示器上以纵向视图或横向视图被显示。便携式电子设备100可选地除了加速度计168之外还包括磁力仪(未示出)和GPS(或GLONASS或北斗或其它全球导航系统)接收器(未示出),用于获得关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施例中,存储在存储器102中的软件部件包括操作系统126、通信模块(或指令集)128、接触/移动模块(或指令集)130、图形模块(或指令集)132、文本输入模块(或指令集)134、全球定位系统(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施例中,存储器102存储设备/全局内部状态157,如图1A和3中所示。设备/全局内部状态157包括以下中一者或多者:活 动应用程序状态,用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,用于指示什么应用程序、视图或其它信息占据触摸屏显示器112的各个区域;传感器状态,包括从设备的各个传感器和输入控制设备116获得的信息;和关于设备的位置和姿态的位置信息。
操作系统126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、ANDROID或嵌入式操作系统(诸如Vx Works))包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且有利于各个硬件和软件部件之间的通信。此外,在一些实施例中,存储器102存储数字相机胶卷159和数字图像流水线161。
通信模块128有利于通过一个或多个外部端口124与其它设备通信,并且还包括用于处理由RF电路系统108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,因特网、无线LAN等)耦接。在一些实施例中,外部端口是与iPod(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的以及/或者与其兼容的多针(例如,30针)连接器。
接触/移动模块130可检测与触摸屏112(结合显示控制器156)和其他触敏设备(例如,触控板或物理点击式转盘)的接触。接触/移动模块130包括多个软件部件用于执行与接触检测相关的各种操作,诸如确定是否已经发生了接触(例如,检测手指按下事件)、确定是否存在接触的移动并在整个触敏表面上跟踪该移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已经终止(例如,检测手指抬起事件或者接触中断)。接触/移动模块130从触敏表面接收接触数据。确定接触点的移动可以包括确定接触点的速率(量值)、速度(量值和方向)、和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作可被应用于单点接触(例如,一个手指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。在一些实施例中,接触/移动模块130和显示控制器156检测触控板上的接触。
接触/移动模块130可检测用户的手势输入。触敏表面上不同的手势具有不同的接触图案。因此,可通过检测具体接触图案来检测手势。例如,检测到单指轻击手势包括检测到手指按下事件、然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测到手指抬起(抬离)事件。又如,在 触敏表面上检测到手指轻扫手势包括检测到手指按下事件、然后检测到一个或多个手指拖动事件、并且随后检测到手指抬起(抬离)事件。
图形模块132包括用于在触摸屏112或其他显示器上渲染和显示图形的多个已知软件部件,包括用于改变被显示图形的强度的部件。如本文所用,术语“图形”包括可以被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软按键的用户界面对象)、数字图像、视频、动画等等。
在一些实施例中,图形模块132存储要使用的数据表示图形。每个图形可以被分配有相应的代码。图形模块132从应用程序等接收指定要显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据来输出给显示控制器156。
可作为图形模块132的部件的文本输入模块134提供用于在多种应用程序(例如,联系人137、电子邮件140、即时消息141、浏览器147、和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置,并且提供该信息以在各种应用程序中使用(例如,提供给电话138来用于基于位置的拨号、提供给相机143作为图片/视频元数据、以及提供给提供基于位置的服务的应用程序,诸如天气桌面小程序、本地黄页桌面小程序、和地图/导航桌面小程序)。
应用程序136可包括以下模块(或指令集)或者其子组或超集:
联系人模块137(有时也称为通讯录或联系人列表);
电话模块138;
视频会议模块139;
电子邮件客户端模块140;
即时消息(IM)模块141;
锻炼支持模块142;
用于静态图像和/或视频图像的相机模块143;
图像管理模块144;
浏览器模块147;
日历模块148;
桌面小程序模块149,其可以包括以下中一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、 字典桌面小程序149-5、和用户获得的其他桌面小程序、以及用户创建的桌面小程序149-6;
用于生成用户创建的桌面小程序149-6的桌面小程序创建器模块150;
搜索模块151;
视频和音乐播放器模块152,其可以由视频播放器模块和音乐播放器模块构成;
便签模块153;
地图模块154;
在线视频模块155;
声音/音频录制器模块163;和/或
通知模块165。
可被存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、画图应用程序、呈现应用程序、JAVA启用的应用程序、加密、数字权益管理、声音识别、和声音复制。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137可被用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、实际地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行分类和归类;提供电话号码或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或IM 141的通信;等等。
结合RF电路系统108、音频电路系统110、扬声器111、麦克风113、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138可以被用于输入对应于电话号码的字符序列、访问通讯录137中的一个或多个电话号码、修改已经输入的电话号码、拨打相应的电话号码、进行通话以及当通话完成时断开或挂断。如上所述,无线通信可以使用多个通信标准、协议和技术中的任一个。
结合RF电路系统108、音频电路系统110、扬声器111、麦克风113、触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137、和电话模块138,视 频会议模块139包括用于根据用户指令发起、进行、和结束用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路系统108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收、和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路系统108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,即时消息模块141包括用于输入对应于即时消息的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议用于基于电话的即时消息或者使用XMPP、SIMPLE、或IMPS用于基于因特网的即时消息)、接收即时消息以及查看所接收的即时消息的可执行指令。在一些实施例中,所传输和/或接收的即时消息可包括图形、相片、音频文件、视频文件以及/或者MMS和/或增强消息服务(EMS)中所支持的其他附接件。如本文所用,“即时消息”是指基于电话的消息(例如,利用SMS或MMS发送的消息)和基于因特网的消息(例如,利用XMPP、SIMPLE、或IMPS发送的消息)二者。
结合RF电路系统108、触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,锻炼支持模块142包括可执行指令,用于创建锻炼(例如,具有时间、距离、和/或卡路里消耗目标);与锻炼传感器(体育设备)通信;接收锻炼传感器数据;校准用于监视锻炼的传感器;为锻炼选择和播放音乐;以及显示、存储和传输锻炼数据。
结合触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、数字图像流水线161(其将来自光学传感器的原始数据转换为最终图像或视频)、和图像管理模块144,相机模块143包括用于捕获静态图像或视频(包括视频流)并将其存储到存储器102中(例如,在数字相机胶卷159中)、修改静态图像或视频的特性、或从存储器102(例如,从数字相机胶卷159)删除静态图像或视频的可执行指令。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、文本输 入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如在数字幻灯片或相册中)、以及存储静态图像和/或视频图像(包括存储在相机胶卷159中的静态图像和/或视频图像)的可执行指令。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、和文本输入模块134,浏览器模块147包括用于根据用户指令浏览因特网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其他文件)的可执行指令。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140、和浏览器模块147,日历模块148包括用于根据用户指令创建、显示、修改、和存储日历和与日历相关联的数据(例如,日历条目、待办任务列表等)的可执行指令。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序模块149是可以由用户下载并使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、和字典桌面小程序149-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施例中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件、和JavaScript文件。在一些实施例中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序创建器模块150可以被用户用来创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、和文本输入模块134,搜索模块151包括用于根据用户指令在存储器102中搜索与一个或多个搜索标准(例如,用户指定的一个或多个搜索词)匹配的文本、音乐、声音、图像、视频、和/或其他文件的可执行指令。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路系统110、扬声器111、RF电路系统108、和浏览器模块147,视频和音 乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏112上或在经由外部端口124连接的外部显示器上)的可执行指令。在一些实施例中,设备100可以包括MP3播放器的功能性。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,便签模块153包括用于根据用户指令创建和管理便签、待办任务清单等的可执行指令。
结合RF电路系统108、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、和浏览器模块147,地图模块154可以被用于根据用户指令接收、显示、修改、和存储地图及与地图相关联的数据(例如,驾车路线;特定位置处或附近的商店和其他兴趣点的数据;和其他基于位置的数据)。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路系统110、扬声器111、RF电路系统108、文本输入模块134、电子邮件客户端模块140、和浏览器模块147,在线视频模块155包括允许用户访问、浏览、接收(例如,流式接收和/或下载)、回放(例如,在触摸屏上或在经由外部端口124连接的外部显示器上)、发送具有到特定在线视频的链接的电子邮件、以及以其他方式管理一种或多种文件格式(诸如H.264)的在线视频的指令。在一些实施例中,使用即时消息模块141、而不是电子邮件客户端模块140来发送到特定在线视频的链接。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路系统110、扬声器111、和麦克风113,声音/音频录制器模块163包括允许用户以一种或多种文件格式(诸如MP3或AAC文件)记录音频(例如,声音)的可执行指令、以及用于呈现或以其他方式回放所记录的音频文件的可执行指令。
结合触摸屏112、显示系统控制器156、接触模块130、和图形模块132,通知模块165包括在触摸屏112上显示通知或警告(诸如传入消息或来电呼叫、日历事件提醒、应用程序事件等等)的可执行指令。
上述每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所介绍的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方 法)的一组可执行指令。这些模块(即指令集)不必被实现为分开的软件程序、过程或模块,因此这些模块的各种子组可以在各种实施例中被组合或以其他方式重新布置。在一些实施例中,存储器102可存储上述模块和数据结构的一个子组。此外,存储器102可以存储上面没有描述的另外的模块和数据结构。
在一些实施例中,便携式电子设备100是这样一种设备,即在该设备上预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行。通过使用触摸屏和/或触控板作为用于便携式电子设备100的操作的主要输入控制设备,可以减少便携式电子设备100上物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地可通过触摸屏和/或触控板执行的该预定义的一组功能包括在用户界面之间的导航。在一些实施例中,当触控板被用户触摸时将便携式电子设备100从可显示在便携式电子设备100上的任何用户界面导航到主要菜单、主菜单或根菜单。在这样的实施例中,触控板可被称为“菜单按钮”。在一些其他实施例中,菜单按钮可以是物理下压按钮或者其他物理输入控制设备,而不是触控板。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。在一些实施例中,存储器102(图1A中)或存储器370(图3中)包括事件分类器170(例如,在操作系统126中)以及相应的应用程序136-1(例如,前述应用程序137-151、155、380-390中的任何应用程序)。
事件分类器170接收事件信息并确定要将事件信息传递到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件调度器模块174。在一些实施例中,应用程序136-1包括应用程序内部状态192,应用程序内部状态192指示当应用程序是活动的或正在执行时显示在触敏显示器112上的当前应用程序视图。在一些实施例中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息传递到的应用程序视图191。
在一些实施例中,应用程序内部状态192包括另外的信息,诸如以下中一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正被应用程序136-1显示的信息或准备好用于被应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从外围设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示器112上的用户触摸,作为多点触摸手势的一部分)的信息。外围设备接口118传输其从I/O子系统106或传感器(诸如是接近传感器166)、加速度计168、和/或麦克风113(通过音频电路系统110)所接收的信息。外围设备接口118从I/O子系统106接收的信息包括来自触敏显示器112或触敏表面的信息。
在一些实施例中,事件监视器171以预先确定的间隔发送请求给外围设备接口118。作为响应,外围设备接口118传输事件信息。在其他实施例中,外围设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时传输事件信息。
在一些实施例中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已经在一个或多个视图内什么地方发生了的软件过程。视图由用户在显示器上可以看到的控件和其他元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息以及发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图可对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图可被称为命中视图,并且被识别为正确输入的事件集可至少部分地基于始于基于触摸的手势的初始触摸的命中视图来确定。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有被组织在分级结构中的多个视图时,命中视图确定模块172将命中视图识别为该分级结构中应该处理该子事件的最低视图。在大多数情形中,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一个子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应该接收特定的子事件序列。在一些实施例中,活动事件识别器确定模块173确定 仅命中视图应该接收特定的子事件序列。在其他实施例中,活动事件识别器确定模块173确定包括子事件物理位置的所有视图是活跃涉及的视图,并因此确定所有活跃涉及的视图应该接收特定子事件序列。在其他实施例中,即使触摸子事件完全被局限到与一特定视图相关联的区域,分级结构中更高的视图将仍然保持为活跃涉及的视图。
事件调度器模块174将事件信息调度到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施例中,事件调度器模块174将事件信息传递到由活动事件识别器确定模块173确定的事件识别器。在一些实施例中,事件调度器模块174在事件队列中存储事件信息,事件信息由相应事件接收器模块182检索。
在一些实施例中,操作系统126包括事件分类器170。或者,应用程序136-1包括事件分类器170。在另一实施例中,事件分类器170是独立的模块,或者是存储在存储器102中的另一模块(诸如接触/移动模块130)的一部分。
在一些实施例中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中每一个都包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其他实施例中,事件识别器180中的一个或多个是独立模块的一部份,独立模块诸如是用户界面工具包(未示出)或应用程序136-1从中继承方法和其他特性的更高水平对象。在一些实施例中,相应事件处理程序190包括以下中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190可利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。或者,应用程序视图191中的一个或多个包括一个或多个相应事件处理程序190。另外,在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178中的一个或多个被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息来标识事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施例中,事件识别器180还至少包括以下的一个子组:元数据183、和事件传递指令188(其可以包括子事件传递指令)。
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件的信息,例如触摸或触摸移动。根据子事件,事件信息还包括另外的信息,诸如子事件的位置。当子事件涉及触摸的移动时,事件信息可还包括子事件的速率和方向。在一些实施例中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向趋向,反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的相应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件、或者确定或更新事件或子事件的状态。在一些实施例中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其他。在一些实施例中,事件187中的子事件例如包括触摸开始、触摸结束、触摸移动、触摸取消、和多点触摸。在一个实例中,事件1(187-1)的定义是在被显示对象上的双击。例如,该双击包括在被显示的对象上的预定时长的第一次触摸(触摸开始)、预定时长的第一次抬起(触摸结束)、在该被显示的对象上的预定时长的第二次触摸(触摸开始)、以及预定时长的第二次抬起(触摸结束)。在另一实例中,事件2(187-2)的定义是在被显示对象上的拖动。例如,该拖动包括在该被显示对象上的预定时长的触摸(或接触)、该触摸在触敏显示器112上的移动、以及该触摸的抬起(触摸结束)。在一些实施例中,事件还包括用于一个或多个相关联事件处理程序190的信息。
在一些实施例中,事件定义187包括用于相应用户界面对象的事件的定义。在一些实施例中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在其中在触摸显示器112上显示三个用户界面对象的应用程序视图中,当在触敏显示器112上检测到触摸时,事件比较器184执行命中测试,以确定这三个用户界面对象中哪一个与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应该被激活。例如,事件比较器184选择与触发该命中测试的对象和子事件相关联的事件处理程序。
在一些实施例中,相应事件187的定义还包括延迟动作,延迟动作延迟事件信息的传递直到已经确定子事件序列确实对应于或确实不对应于事件识别器的事件类型之后。
当相应事件识别器180确定子事件串不与事件定义186中的任何事件匹配,则该相应事件识别器180进入事件不可能、事件失败、或事件结束状态,然后其不理会该基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪和处理正在进行的基于触摸的手势的子事件。
在一些实施例中,相应事件识别器180包括具有指示事件传递系统应该如何执行对活跃涉及的事件识别器的子事件传递的能配置的属性、标志和/或列表的元数据183。在一些实施例中,元数据183包括指示事件识别器彼此可如何交互的能配置的属性、标志和/或列表。在一些实施例中,元数据183包括指示子事件是否被传递到视图或程序化分级结构中变化的水平的能配置的属性、标记和/或列表。
在一些实施例中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施例中,相应事件识别器180将与该事件相关联的事件信息传递到事件处理程序190。激活事件处理程序190不同于发送(和延期发送)子事件到相应的命中视图。在一些实施例中,事件识别器180抛出与所识别的事件相关联的标志,并且与该标志相关联的事件处理程序190接到该标志并执行预定义的过程。
在一些实施例中,事件传递指令188包括传递关于子事件的事件信息而不激活事件处理程序的子事件传递指令。相反,子事件传递指令将事件信息传递到与子事件串相关联的事件处理程序或者传递到活跃涉及的视图。与子事件串或与活跃涉及的视图相关联的事件处理程序接收事件信息,并执行预先确定的过程。
在一些实施例中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176更新在联系人模块137中使用的电话号码,或者存储在视频播放器模块145中使用的视频文件。在一些实施例中,对象更新器176创建并更新在应用程序136-1中使用的对象。例如,对象更新器177创建新的用户界面对象,或者更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并将其发送到图形模块132用以显示在触敏显示器上。
在一些实施例中,事件处理程序190包括或者具有对数据更新器176、对象 更新器177、和GUI更新器178的访问权限。在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其他实施例中,它们被包括在两个或更多个软件模块中。
应当理解的是,前面关于触敏显示器上用户触摸的事件处理的讨论也适用于其他形式的利用输入设备来操作便携式电子设备100的用户输入(并非它们所有都是在触摸屏上发起的),例如协调鼠标移动和鼠标按钮按压(具有或没有单个或多个键盘按压或保持)、触控板上的用户移动轻击、拖动、滚动等、触控笔输入、设备的移动、口头指令、检测到的眼睛移动、生物特征输入、和/或其任意组合,它们可以被用作为对应于定义要识别的事件的子事件的输入。
图2示出了根据一些实施例的具有触摸屏112的一种便携式电子设备100。触摸屏可以在用户界面(UI)200内显示一个或多个图形。在该实施例中,以及在下文中介绍的其他实施例中,用户可以通过例如用一根或多根手指202(在附图中没有按比例绘制)或者用一个或多个触控笔203(在附图中没有按比例绘制)在图形上作出手势来选择这些图形中的一个或多个。在一些实施例中,当用户中断与该一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施例中,手势可包括一次或多次轻击、一次或多次滑动(从左向右、从右向左、向上和/或向下)和/或已经与设备100接触的手指(从右向左、从左向右、向上和/或向下)拨动。在一些实施例中,无意地与图形接触不会选择该图形。例如,当对应于选择的手势是轻击时,在应用程序图标之上扫动的轻扫手势不会选择相应的应用程序。
设备100还可包括一个或多个物理按钮,诸如“主屏幕”或菜单按钮204。如前所述,菜单按钮204可以被用于导航到可以在设备100上运行的一组应用程序中的任何应用程序136。或者,在一些实施例中,菜单按钮被实现为显示在触摸屏112上的GUI中的软键。
在一个实施例中,设备100包括触摸屏112、菜单按钮204、用于设备开关机和锁定设备的下压按钮206、(一个或多个)音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206可被用于通过压下该按钮并将该按钮保持在压下状态达预定义的时间间隔来对设备进行开关机;通过压下该按钮并在经过该预定义的时间间隔之前释放该按钮来 锁定设备;和/或解锁设备或发起解锁过程。在一另选的实施例中,设备100还可通过麦克风113接受用于激活或解除激活某些功能的语音输入。
图3是根据一些实施例的具有显示器和触敏表面的一种示例性电子设备的框图。设备300不必是便携式的。在一些实施例中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用或工业用控制器)或服务器。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其他通信接口360、存储器370和用于将这些部件互联的一根或多根通信总线320。在一些实施例中,处理单元310包括图像信号处理器和双核或多核处理器。通信总线320可包括将系统部件互联及控制系统部件之间通信的电路系统(有时称为芯片组)。设备300包括具有显示器340的输入/输出(I/O)接口330,显示器340通常是触摸屏显示器。I/O接口330还可以包括键盘和/或鼠标(或其他指向设备)350和触控板355。设备300还包括光学传感器164和光学传感器控制器158。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并可包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失性固态存储设备。任选地,存储器370可包括从CPU 310远程定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式电子设备100(图1)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370可存储在便携式电子设备100的存储器102中不存在的另外的程序、模块、和数据结构。例如,设备300的存储器370可存储画图模块380、呈现模块382、文字处理模块384、网页创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式电子设备100(图1)的存储器102可不存储这些模块。
图3中上述所识别的元件的每一个可被存储在一个或多个前面提到的存储器设备中。上述所识别的模块的每一个对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子组可以在各种实施例中被组合或以其它方式重新布置。在一些实施例中,存储器370可存储上述模块和数据结构的子组。此外,存储器370可存储上面没有描述的另外的模块和数据结构。
参见图4,为本发明实施例提供的一种确定楼层方法的流程示意图,在本发 明实施例中,执行主体为便携式电子设备,所述方法包括:
S401、在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和RSS,m和n为不小于2的整数。
具体的,便携式电子设备在预设时长内采集m个气压值,在预设时长内采集m个气压值的过程中可以是周期性的采集m个时间间隔,或随机性的在预设时长内采集m个时间间隔;其中,便携式电子设备可以通过自带的气压传感器采集气压值。便携式电子设备在预设时长内采集n组Wi-Fi信息,在采集n组Wi-Fi信息的过程中可以是周期性的采集n组Wi-Fi信息或随机性的在预设时长内采集n组Wi-Fi信息,Wi-Fi信息包括当前的采集时刻便携式电子设备检测到的AP的标识信息和RSS,便携式电子设备可能处于运动状态,便携式电子设备在不同的采集时刻检测到的AP可能不相同。例如,便携式电子设备在预设时长内采集4组Wi-Fi信息,在采集时刻t1采集到Wi-Fi信息为(MAC1,RSS)、(MAC2,RSS)、(MAC3,RSS),在采集时刻t2采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS),在采集时刻t3采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS),在采集时刻t4采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS)。其中,AP的标识信息用于唯一表示AP的身份,例如:标识信息可以是MAC地址、AP名称或SSID(Service Set Identifier,简称SSID,服务集标识信息)等。上述四组Wi-Fi信息中,任意两组Wi-Fi信息中的RSS可能是不同的,也可能是相同的,此处不做限制。
需要说明的是,在预设时长内采集气压值和Wi-Fi信息时,可以同步采集也可以非同步采集,同步采集表示在气压值的采集时刻和Wi-Fi信息的采集时刻时重合的,非同步采集表示气压值的采集时刻和Wi-Fi信息的采集时刻不是重合的。
S402、根据所述m个气压值中的至少两个气压值确定气压变化率。
一种实现方式:便携式电子设备根据S101中采集到的m个气压值中至少两个气压值确定气压变化率,确定气压变化率的方式可以是:从m个气压值中选取至少两个气压值的差值除以时间差得到气压变化率,其中选取的两个气压值可以是预设时长内首个采集时刻到的气压值和最后采集时刻到的气压值,也可 以选取其他采集时刻的两个气压值计算气压变化率,本发明不作限制。例如:t1采集时刻采集到的气压值为X1,t2时刻采集到的气压值为X2,计算气压变化率为(X2-X1)/(t2-t1)。另一种实现方式:便携式电子设备对预设时长内不同的采集时刻采集的m个气压值进行滤波处理,对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
S403、若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k。
具体的,气压变化率可以反映出便携式电子设备的运动模式,当气压变化率的绝对值大于预设值时表示便携式电子设备所在的楼层发生变更,可能正在快速上升或快速下降的过程中。便携式电子设备在预设时长采集n组Wi-Fi信息的过程中,便携式电子设备统计n组Wi-Fi信息中AP的数量和各个AP对应的ni个RSS,其中i为AP的序号,ni表示第i个AP对应的RSS的数量,1≤i≤k。例如:如果在预设时长内的n个采集时刻均能检测到某个AP的RSS,则该AP对应n个RSS;如果在预设时长内的1个采集时刻能检测到某个AP的RSS,则该AP对应1个RSS。若强制要求所有ni均等于n,则当便携式电子设备未检测到某个AP的RSS时,给该AP对应的RSS赋予一个预设值,例如当便携式电子设备未检测到某个AP的RSS时,该AP的RSS可以设置为某个极小的接收信号强度阈值或其他表示未检测到AP的RSS的值来替代,例如:检测不到的AP的RSS为undetected。
示例性的,便携式电子设备在预设时长内采集4组Wi-Fi信息,在采集时刻t1采集到Wi-Fi信息为(MAC1,-90dB)、(MAC2,-45dB)、(MAC3,-50dB),在采集时刻t2采集到的Wi-Fi信息为(MAC2,-50dB)、(MAC4,-90dB)、(MAC5,-80dB),在采集时刻t3采集到的Wi-Fi信息为(MAC2,-54dB)、(MAC4,-85dB)、(MAC5,-75dB),在采集时刻t4采集到的Wi-Fi信息为(MAC2,-60dB)、(MAC4,-75dB)、(MAC5,-65dB),便携式电子设备统计4组Wi-Fi信息中AP的标识信息的数量为5个,分别为MAC1至MAC5,对应5个AP,上述5个AP分别对应的4个RSS为MAC1(-90,undetected,undetected,undetected),MAC1对应的AP在t2、t3和t4采集时刻未被检测到MAC2(-45dB,-50dB,-54dB,-60dB);MAC3(-50dB,undetected,undetected,undetected),MAC3 对应的AP在t2、t3和t4采集时刻未被检测到;MAC4(undetected,-90dB,-85dB,-75dB),MAC4对应的AP在t1采集时刻未被检测到;MAC5(undetected,-80dB,-75dB,-65dB),MAC5对应的AP在t1采集时刻未被检测到。
S404、获取所述k个AP各自所在的楼层。
具体的,便携式电子设备保存有AP和楼层的映射关系,或者服务器上保存有AP和楼层的定位关系,可在便携式电子设备或服务器上获取AP对应的楼层,其中多个AP可以在同一楼层。例如:AP通过的标识信息来表示,楼层通过楼层标识来表示,映射关系:AP1所在的楼层为L1,AP2所在的楼层为L1,AP3所在的楼层为L2,AP4所在的楼层为L3。
S405、根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层。
具体的,便携式电子设备可根据k个AP各自对应的ni个RSS将k个AP划分为两组,分别为每组确定一个候选楼层,从而得到两个候选楼层。确定候选楼层的方法可以是:根据组对应的楼层的楼层频次、RSS的大小、楼层的权重值的大小为每个组确定一个候选楼层。
需要说明的是,可能存在只有一个候选楼层的情况,此时便携式电子设备将直接根据气压变化率选择目标楼层。例如,只有一楼安装有AP,当便携式电子设备从一楼到二楼时,便携式电子设备检测到气压变化率为负值,得到一个候选楼层为一楼,此时直接根据气压变化率随机选择比候选楼层高的楼层作为目标楼层,例如:选择比候选楼层一楼高1层的二楼作为目标楼层。
S406、根据所述气压变化率从所述两个候选楼层中确定目标楼层。
具体的,气压变化率为负值时表明便携式电子设备正在上升,从两个候选楼层中选择高的楼层作为目标楼层;气压变化率为正值时表明便携式电子设备正在下降,从两个候选楼层中选择低的楼层作为目标楼层。
实施本发明实施例,采集预设时长内的多个气压值和多组Wi-Fi信息,通过计算多个气压值的气压变化率来判断楼层的变更,在楼层发生变更时,将多组Wi-Fi信息按照RSS信号变化率分为两组,并分别为每组AP确定候选楼层,以及根据气压值的变化率的符号从两个候选楼层中确定目标楼层。这样根据气压值和Wi-Fi信息两方面来识别目标楼层,无需建立复杂的气压值和高度值的对应关系,以及避免通过标识信息确定目标楼层的不准确的问题。
参见图5,为本发明实施例提供的一种确定楼层方法的另一流程示意图,在本发明实施例中,执行主体为便携式电子设备,所述方法包括:
S501、在预设时长内采集m个气压值和n组Wi-Fi信息;其中,每组Wi-Fi信息包括AP的标识信息和RSS,m和n为不小于2的整数。
具体的,便携式电子设备在预设时长内m个不同的采集时刻采集当前大气压强得到m个气压值,便携式电子设备在采集气压值得过程中可以是周期性的采集,即相邻的采集时刻之间的时间间隔均相同,也可以是非周期性的采集,本发明不作限制;便携式电子设备在预设时长内m个不同的采集时刻采集周围的AP的标识信息和RSS得到n组Wi-Fi信息;可以理解的是,当便携式电子设备与AP的距离超过预设值时,便携式电子设备无法检测到该AP的RSS。便携式电子设备在移动过程中可能会远离或接近某个AP,在便携式电子设备接近某个AP时,便携式电子设备检测到该AP的RSS会逐渐增强;在便携式电子设备远离某个AP时,便携式电子设备检测到该AP的RSS会逐渐减弱,直至检测不到该AP的RSS。因此在n个不同的采集时刻采集到AP的标识信息和RSS是可能不相同的。
其中,在预设时长内m和n可以相等或不相等,采集气压值的过程和采集Wi-Fi信息的过程可以是同步也可以是不同步,本发明不作限制,同步采集表示在气压值的采集时刻和Wi-Fi信息的采集时刻时重合的,非同步采集表示气压值的采集时刻和Wi-Fi信息的采集时刻不是重合的。
需要说明的是,便携式电子设备可以是在用户开启定位应用程序或地图应用程序后执行在预设时长内采集m个气压值和n组Wi-Fi信息,便携式电子设备可周期性的执行S501,采集周期为预设时长,当然也可以是非周期性的,本发明不作限制。
S502、对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理。
具体的,由于大气湍流的扰动,采集到的气压值可能为异常点,便携式电子设备对采集到的m个气压值进行滤波处理,用于m个气压值中的异常点进行补偿,使气压值变化更平滑。其中便携式电子设备可以采用FIR滤波器、IIR滤波器或自适应滤波器对m个气压值进行滤波处理,或采用其他的滤波方法对m个气压值进行滤波处理,本发明不作限制。
S503、对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
具体的,假设滤波处理后的m个气压值为(t1,Z1)、(t2,Z2)、……(tm-1,Zm-1)、(tm,Zm),其中,tm表示第m个采集时刻,Zm表示第m个采集时刻采集到的气压值,对上述数据进行线性回归得到线性回归方程Z=K*t+L,其中K即为气压变化率,气压变化率为正值或负值,气压变化率为正值表示m个气压值呈现线性递增,气压变化率为负值表示m个气压值呈线性递减。
S504、若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k。
具体的,气压变化率反映出便携式电子设备的运动模式,当气压变化率的绝对值大于预设值时表示便携式电子设备所在的楼层发生变更,此时便携式电子设备可能正在快速上升会快速下降的过程中。便携式电子设备在预设时长内采集n组Wi-Fi信息的过程中,有些AP会消失,有些AP会出现,有些AP会至始至终存在。其中,为了便于处理,当便携式电子设备检测不到AP的RSS时,可以将该AP的RSS设为某个极小的强度值,例如:检测不到的AP的RSS为-100dB或检测不到的AP的RSS用“-”字符表示。
示例性的,便携式电子设备在预设时长内采集4组Wi-Fi信息,在采集时刻t1采集到Wi-Fi信息为(MAC1,-90dB)、(MAC2,-45dB)、(MAC3,-50dB),在采集时刻t2采集到的Wi-Fi信息为(MAC2,-50dB)、(MAC4,-90dB)、(MAC5,-80dB),在采集时刻t3采集到的Wi-Fi信息为(MAC2,-54dB)、(MAC4,-85dB)、(MAC5,-75dB),在采集时刻t4采集到的Wi-Fi信息为(MAC2,-60dB)、(MAC4,-75dB)、(MAC5,-65dB),便携式电子设备统计4组Wi-Fi信息中AP的标识信息的数量为5个,分别为MAC1至MAC5,上述5个AP的标识信息各自对应一个AP,各个AP分别对应的RSS为MAC1(-90dB,-100dB,-100dB,-100dB),MAC1对应的AP在t2、t3和t4采集时刻未被检测到,MAC1实际对应的RSS的数量为1个;MAC2(-45dB,-50dB,-54dB,-60dB),MAC2对应的RSS的数量为4个;MAC3(-50dB,-100dB,-100dB,-100dB),MAC3对应的AP在t2、t3和t4采集时刻未被检测到,MAC3实际对应的RSS的数量为1个;MAC4(-100dB,-90dB,-85dB,-75dB),MAC4对应的AP在t1采集时刻未被检测到,MAC4实际对应的RSS的数量为3个;MAC5(-100dB,-80dB, -75dB,-65dB),MAC5对应的AP在t1采集时刻未被检测到,MAC5实际对应的RSS的数量为3个。
S505、获取所述k个AP各自所在的楼层。
具体的,便携式电子设备根据自身保存的AP和楼层的映射关系获取k个AP各自所在的楼层;或便携式电子设备根据服务器保存的AP和楼层的映射关系获取k个AP各自所在的楼层;或便携式电子设备从自身保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询目标AP所在的楼层;其中,目标AP为所述k个AP中的任意一个。
S506、确定所述k个AP各自对应的ni个RSS的RSS变化率。
具体的,k个AP中每个AP对应ni个RSS,计算每个AP的RSS变化率,由于AP的发射功率的限制,便携式电子设备只能在AP的覆盖范围之内检测到该AP的RSS。RSS变化率可以用来表示便携式电子设备和AP之间的运动趋势,RSS变化率为正值时表示便携式电子设备正在靠近该AP,便携式电子设备可能由该AP的覆盖范围之外逐渐靠近该AP;当RSS变化率为负值时表示便携式电子设备正在远离该AP,便携式电子设备不在该AP的覆盖范围之内时,便携式电子设备就检测不到该AP的RSS。
假设AP对应n个RSS,计算n个RSS的RSS变化率的方法可以是:由于便携式电子设备和AP之间的物体的阻挡、衍射或绕射等因素,便携式电子设备检测到的RSS可能存在较大的误差,便携式电子设备对n个RSS进行滤波处理,对n个RSS中的异常点进行补偿,使RSS变化更平滑,假设滤波处理后的n个RSS为(t1,RSS1)、(t2,RSS2)、……(tn-1,RSSn-1)、(tn,RSSn),其中,tn表示第n个采集时刻,RSSn表示第n个采集时刻采集的RSS进行滤波得到的数据,对上述数据进行线性回归得到线性回归方程Y=A*t+B,其中A即为RSS变化率,RSS变化率为正值或负值,RSS变化率为正值表示便携式电子设备正在靠近AP,RSS变化率为负值表示便携式电子设备正在远离AP。
S507、根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
具体的,便携式电子设备将RSS变化率为正值的h个AP划分为一个组,在该组中确定第一候选楼层;将RSS变化率为负值的f个AP划分为另一组,在 该组中确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
示例性的,k=5,各个AP的RSS分别为:MAC1(-90dB,-100dB,-100dB,-100dB)、MAC2(-45dB,-50dB,-54dB,-60dB)、MAC3(-50dB,-100dB,-100dB,-100dB)、MAC4(-100dB,-90dB,-85dB,-75dB)、MAC5(-100dB,-80dB,-75dB,-65dB),MAC1对应AP1,MAC2对应AP2,MAC3对应AP3,MAC4对应AP4,MAC5对应AP5。上述5个AP在预设时长内的4个采集时刻采集到的RSS,可以看出AP1的RSS变化率为负值,AP2的RSS变化率为负值,AP3的RSS变化率为负值,AP4的RSS变化率为正值,AP5的RSS变化率为正值,便携式电子设备将AP1、AP2和AP3移入第二组,AP4和AP5移入第一组。
优选的,便携式电子设备确定第一候选楼层和第二候选楼层的方法可以是:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
其中,楼层频次表示同一组内楼层出现的次数。例如,h=10,第一组包含10个AP,其中5个AP位于L1楼层、2个AP位于L2楼层、3个AP位于L3楼层,则便携式电子设备统计出第一组中L1楼层的楼层频次为5,L2楼层的楼层频次为2,L3楼层的频次为3,则楼层频次最大的楼层为L1楼层,便携式电子设备将L1楼层作为第一组的第一候选楼层。同理,确定第二组的第二候选楼 层也采用上述方法,此处不再赘述。
又例如,第一组中包含h个AP,第一组中AP的RSS分布情况为:MAC1(RSS11、RSS12、RSS13……、RSS1n)、MAC2(RSS21、RSS22、RSS23……、RSS2n)、MAC3(RSS31、RSS32、RSS33……、RSS3n)、……、MACh(RSSh1、RSSh2、RSSh3……、RSShn),第一组中的AP的RSS变化率为正值,则便携式电子设备取最后的采集时刻采集到的RSS进行比较,将RSS最大的AP对应的楼层最为第一候选楼层,即比较第一组中RSS1n、RSS2n、RSS3n、……、RSShn大小,假设RSS3n为最大值,查询MAC3对应的楼层为L1楼层,则便携式电子设备L1楼层作为第一组的第一候选楼层。
第二组中包含f个AP,第二组中AP的RSS分布情况为:MAC1(RSS11、RSS12、RSS13……、RSS1n)、MAC2(RSS21、RSS22、RSS23……、RSS2n)、MAC3(RSS31、RSS32、RSS33……、RSS3n)、……、MACf(
RSSf1、RSSf2、RSSf3……、RSSfn),第二组中的AP的RSS变化率为负值,则便携式电子设备取首个采集时刻采集到的RSS进行比较,将RSS最大的AP对应的楼层最为第二候选楼层,即比较第二组中RSS11、RSS21、RSS31、……、RSSf1大小,假设RSS21为最大值,查询MAC2对应的楼层为L2楼层,则便携式电子设备选取L2楼层作为第二组的第二候选楼层。
需要说明的是,第一组和第二组中的AP实际为不相同的,为了方便进行举例说明,上述例子中的第一组和第二组中的AP存在重复。
又例如,h=5,第一组中包含5个AP:(AP1,AP2,AP3,AP4,AP5),5个AP分别对应的楼层为(L1,L2,L1,L2,L2),第一组各个AP在最后的采集时刻的RSS分别为(-50dB,-90dB,-60dB,-80dB,-85dB),计算某个楼层的权重值的方法可以是:对楼层的各个RSS的倒数求和,再取和的绝对值,例如,L1楼层的RSS权重=1/50+1/60=0.037,L2楼层的RSS权重=1/90+1/80+1/85=0.035,可知L1楼层的权重值大于L2楼层的权重值,则便携式电子设备选取L1楼层作为第一组的第一候选楼层。同理,第二组的第二候选楼层的确定,根据楼层的首个RSS的权重值来确定,选取权重值最大的楼层作为第二候选楼层,此处不再赘述。
S508、在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层。
具体的,气压变化率为正值时,表明便携式电子设备正在下降,便携式电子设备选取两个候选楼层中低的楼层作为目标楼层。例如,第一候选楼层为L1楼层,第二候选楼层为L2楼层,气压变化率为正值时,选择L1楼层作为目标楼层。
S509、在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
具体的,气压变化率为负值时,表明便携式电子设备正在上升,便携式电子设备选取两个候选楼层中高的楼层作为目标楼层。例如,第一候选楼层为L1楼层,第二候选楼层为L2楼层,气压变化率负正值时,选择L2楼层作为目标楼层。
S510、获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
具体的,便携式电子设备可从服务器获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作,可以将定位结果显示在应用程序的界面上。
实施本发明实施例,采集预设时长内的多个气压值和多组Wi-Fi信息,通过计算多个气压值的气压变化率来判断楼层的变更,在楼层发生变更时,将多组Wi-Fi信息按照RSS变化率分为两组,并分别为每组AP确定候选楼层,以及根据气压值的变化率的符号从两个候选楼层中确定目标楼层。这样根据气压值和Wi-Fi信息两方面来识别目标楼层,无需建立复杂的气压值和高度值的对应关系,以及避免通过AP的标识信息确定目标楼层的不准确的问题。
参见图6,为本发明实施例提供的一种确定楼层方法的流程示意图,在本发明实施例中,执行主体为服务器,所述方法包括:
S601、接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数。
具体的,便携式电子设备在预设时长内采集m个气压值和n组Wi-Fi信息,便携式电子设备根据m个气压值中至少两个气压值计算得到气压变化率,若气压变化率的绝对值大预设值,便携式电子设备向服务器发送定位请求,服务器 接收定位请求后获取气压变化率和n组Wi-Fi信息。服务器获取气压变化率和n组Wi-Fi信息的方式包括两种,一种方式:便携式电子设备在定位请求中携带气压变化率和n组Wi-Fi信息,则服务器通过解析接收到的定位请求获取气压变化率和n组Wi-Fi信息;另一种方式:便携式电子设备每采集一组Wi-Fi信息后,将采集到的Wi-Fi信息和采集时刻发送至服务器,服务器保存接收到Wi-Fi信息以及采集时刻,便携式电子设备在定位请求中携带时间窗标识和气压变化率,时间窗标识表示预设时长的起始时刻和终止时刻,服务器根据该起始时刻和终止时刻从自身获取n组Wi-Fi信息,以及从定位请求中获取气压变化率。
S602、根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k。
具体的,服务器在预设时长采集n组Wi-Fi信息的过程中,在不同的采集时刻可能检测到的AP不相同,服务器统计n组Wi-Fi信息中AP的数量和各个AP对应的ni个RSS,ni表示第i个AP对应的RSS的数量,1≤i≤k且i为整数。其中在某个采集时刻便携式电子设备检测不到某个AP的RSS时,该AP的RSS可以设置为某个极小的接收信号强度阈值或其他表示未检测到AP的RSS的字符来替代,例如检测不到的AP的RSS为-100dB。
示例性的,便携式电子设备在预设时长内采集4组Wi-Fi信息,在采集时刻t1采集到Wi-Fi信息为(MAC1,-90dB)、(MAC2,-45dB)、(MAC3,-50dB),在采集时刻t2采集到的Wi-Fi信息为(MAC2,-50dB)、(MAC4,-90dB)、(MAC5,-80dB),在采集时刻t3采集到的Wi-Fi信息为(MAC2,-54dB)、(MAC4,-85dB)、(MAC5,-75dB),在采集时刻t4采集到的Wi-Fi信息为(MAC2,-60dB)、(MAC4,-75dB)、(MAC5,-65dB),服务器统计4组Wi-Fi信息中的标识信息的数量为5个,分别为MAC1至MAC5,上述5个AP分别对应的4个RSS为MAC1(-90,-100dB,-100dB,-100dB),MAC1对应的AP在t2、t3和t4采集时刻未被检测到;MAC2(-45dB,-50dB,-54dB,-60dB);MAC3(-50dB,-100dB,-100dB,-100dB),MAC3对应的AP在t2、t3和t4采集时刻未被检测到;MAC4(-100dB,-90dB,-85dB,-75dB),MAC4对应的AP在t1采集时刻未被检测到;MAC5(-100dB,-80dB,-75dB,-65dB),MAC5对应的AP在t1采集时刻未被检测到。
S603、获取所述k个AP各自所在的楼层。
具体的,服务器可以在自身存储的AP与楼层的映射关系查询AP对应的楼层,其中多个不同的AP可以对应同一楼层。
S604、根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层。
具体的,服务器可根据k个AP各自对应的ni个RSS将k个AP划分为两个组,分别为每个组确定一个候选楼层,从而得到两个候选楼层。确定候选楼层的方法可以是,根据组对应的楼层的楼层频次、RSS的大小、楼层的权重值的大小为每个组确定一个候选楼层。
S605、根据所述气压变化率从所述两个候选楼层中确定目标楼层。
具体的,气压变化率为负值时表明便携式电子设备正在上升,服务器从两个候选楼层中选择高的楼层作为目标楼层;气压变化率为正值时表明便携式电子设备正在下降,从两个候选楼层中选择低的楼层作为目标楼层。
需要说明的是,可能存在只有一个候选楼层的情况,此时服务器将直接根据气压变化率选择目标楼层。例如,只有一楼设置有AP,当便携式电子设备从一楼到二楼时,便携式电子设备检测到气压变化率为负值,得到一个候选楼层为一楼,此时服务器直接根据气压变化率选择比候选楼层高的楼层作为目标楼层,例如:选择比候选楼层1楼高1层的二楼作为目标楼层。
S606、获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
具体的,服务器获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,可以将定位结果发送给便携式电子设备,便携式电子设备将定位结果显示在应用程序的界面上。
需要说明的是,便携式电子设备可以通过移动通信网络(例如3G,4G或5G移动通信网络)与服务器进行通信。便携式电子设备还可通过AP与服务器进行通信。便携式电子设备还可通过其他无线通信方式与服务器进行数据交互,本发明不作限制。
可选的,所述接收便携式电子设备发起的定位请求后获取所述便携式电子设备在预设时长内采集到的n组Wi-Fi信息包括:
接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;
接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
具体的,便携式电子设备每采集到一个Wi-Fi信息时,将采集到的Wi-Fi信息以及该Wi-Fi信息的采集时刻发送给服务器,服务器保存接收到的Wi-Fi信息以及该Wi-Fi信息的采集时刻,便携式电子设备确定预设时长内采集到的m个气压值的气压变化率的绝对值大于预设值时,向服务器发送携带时间窗标识的定位请求,服务器根据时间窗标识从自身查询对应的n个Wi-Fi信息。可选的,定位请求中也可携带气压变化率,服务器直接从定位请求中获取气压变化率。
其中,便携式电子设备也可以不需要频繁的向服务器发送Wi-Fi信息,便携式电子设备在确定m个气压值的气压变化率的绝对值大于预设值时,向服务器发送携带气压变化率和n个Wi-Fi信息的定位请求,服务器即可获得便携式电子设备在预设时长内采集n个Wi-Fi信息及预设时长内气压的变化率。
可选的,所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
确定所述k个AP各自对应的ni个RSS的RSS变化率;
根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
具体的,此步骤可参照方法实施例二的便携式电子设备为执行主体确定候选楼层的过程,此处不再赘述。
可选的,所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到 的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
具体的,此步骤可参照方法实施例二中以便携式电子设备为执行主体确定两个候选楼层的过程,此处不再赘述。
可选的,所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
具体的,此步骤可参照方法实施例二中以便携式电子设备为执行主体识别目标楼层的过程,此处不再赘述。
可选的,所述获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率包括:
从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
具体的,定位请求中携带m个气压值的气压变化率,服务器直接从定位请求中获取气压变化率,以减小便携式电子设备数据的发送量。
实施本发明实施例,服务器将多组Wi-Fi信息按照RSS变化率分为两组,并分别为每组AP确定候选楼层,以及根据气压值的变化率的符号从两个候选楼层中确定目标楼层和进行确定楼层。这样根据气压值和Wi-Fi信息两方面来识别目标楼层,无需建立复杂的气压值和高度值的对应关系,以及避免通过AP的标 识信息确定目标楼层的不准确的问题。
参见图7,为本发明实施例提供的一种确定楼层方法的另一流程示意图,在本发明实施例中,所述方法包括:
S701、便携式电子设备在预设时长内采集m个气压值和n组Wi-Fi信息。
具体的,便携式电子设备在预设时长内采集m个气压值,在预设时长内采集m个气压值的过程中可以是周期性的采集m个时间间隔,或随机性的在预设时长内采集m个时间间隔;其中,便携式电子设备可以通过自带的气压传感器采集气压值。便携式电子设备在预设时长内采集n组Wi-Fi信息,在采集n组Wi-Fi信息的过程中可以是周期性的采集n组Wi-Fi信息或随机性的在预设时长内采集n组Wi-Fi信息,Wi-Fi信息包括当前的采集时刻便携式电子设备检测到的AP的标识信息和RSS,便携式电子设备可能处于运动状态,便携式电子设备在不同的采集时刻检测到的AP可能不相同;例如,便携式电子设备在预设时长内采集4组Wi-Fi信息,在采集时刻t1采集到Wi-Fi信息为(MAC1,RSS)、(MAC2,RSS)、(MAC3,RSS),在采集时刻t2采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS),在采集时刻t3采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS),在采集时刻t4采集到的Wi-Fi信息为(MAC2,RSS)、(MAC4,RSS)、(MAC5,RSS)。其中,标识信息用于唯一表示AP的身份,例如标识信息可以是MAC地址、SSID或AP名称等。上述四组Wi-Fi信息中,任意两组Wi-Fi信息中的RSS可能是不同的,也可能是相同的,此处不做限制。
需要说明的是,在预设时长内采集气压值和Wi-Fi信息时,可以同步采集也可以非同步采集,同步采集表示在气压值的采集时刻和Wi-Fi信息的采集时刻时重合的,非同步采集气压值的采集时刻和Wi-Fi信息的采集时刻不是重合的。
S702、所述便携式电子设备确定所述m个气压值的气压变化率。
具体的,一种实现方式:便携式电子设备根据S701中采集到的m个气压值中至少两个气压值确定气压变化率,确定气压变化率的方式可以是:从m个气压值中选取至少两个气压值的差值除以时间差得到气压变化率,其中选取的两个气压值可以是预设时长内首个采集时刻到的气压值和最后采集时刻到的气压值,也可以选取其他采集时刻的两个气压值计算气压变化率,本发明不作限制。例如:t1采集时刻采集到的气压值为X1,t2时刻采集到的气压值为X2,计算 气压变化率为(X2-X1)/(t2-t1)。另一种实现方式:便携式电子设备对预设时长内不同的采集时刻采集的m个气压值进行滤波处理,对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
S403、若气压变化率的绝对值大于预设值。
具体的,气压变化率反映出便携式电子设备的运动模式,当气压变化率的绝对值大于预设值时表示便携式电子设备所在的楼层发生变更,需要重新确定便携式电子设备所在的楼层。
S704、便携式电子设备发送携带气压变化率和n组Wi-Fi信息的定位请求。
具体的,便携式电子设备向服务器发送携带气压变化率和n组Wi-Fi信息。可选的,为了减少数据传输量,便携式电子设备可以每采集到一组Wi-Fi信息后将采集到的Wi-Fi信息和采集时刻发送给服务器,服务器保存接收到的Wi-Fi信息和该Wi-Fi信息的采集时刻。便携式电子设备在气压变化率的绝对值大于预设值时,向服务器发送携带气压变化率和时间窗标识的定位请求,服务器根据时间窗标识在所述服务器查询便携式电子设备在预设时长内采集到n组Wi-Fi信息,以及获取气压变化率。
S705、服务器获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息。
具体的,服务器可以从便携式电子设备发送的定位请求中携带的n组Wi-Fi信息获取,或服务器从自身获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息。
S706、所述服务器根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS。
S707、所述服务器获取所述k个AP各自所在的楼层。其中多个AP可以对应同一楼层。
S708、所述服务器根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层。
具体的,服务器可根据k个AP各自对应的ni个RSS将k个AP划分为两个组,分别为每个组确定一个候选楼层,从而得到两个候选楼层。确定候选楼层的方法可以是,根据组对应的楼层的楼层频次、RSS的大小、楼层的权重值的大小为每个组确定一个候选楼层。
S709、所述服务器获取所述m个气压值的气压变化率,并根据所述气压变 化率从所述两个候选楼层中确定目标楼层。
具体的,气压变化率为负值时表明便携式电子设备正在上升,服务器从两个候选楼层中选择高的楼层作为目标楼层;气压变化率为正值时表明便携式电子设备正在下降,从两个候选楼层中选择低的楼层作为目标楼层。
S710、所述服务器获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果。
S711、所述服务器向所述便携式电子设备发送定位结果。
实施本发明实施例,服务器将便携式电子设备采集的多组Wi-Fi信息按照RSS变化率分为两组,并分别为每组AP确定候选楼层,以及根据气压值的变化率的符号从两个候选楼层中确定目标楼层。这样根据气压值和Wi-Fi信息两方面来识别目标楼层,无需建立复杂的气压值和高度值的对应关系,以及避免通过标识信息确定目标楼层的不准确的问题。
参见图8,为本发明实施例提供的一种便携式电子设备的结构示意图,在本发明实施例中,所述便携式电子设备包括:采集模块801、第一确定模块802、第二确定模块803、获取模块804、第三确定模块805和第四确定模块806。
采集模块801,用于在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数。
第一确定模块802,用于根据所述m个气压值中的至少两个气压值确定气压变化率。
第二确定模块803,用于若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k。
获取模块804,用于获取所述k个AP各自所在的楼层。
第三确定模块805,用于根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层。
第四确定模块806,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层。
可选的,第一确定模块802包括:滤波单元和计算单元。
滤波单元,用于对所述预设时长内不同的采集时刻采集的所述m个气压值 进行滤波处理;
计算单元,用于对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
可选的,第三确定模块805包括:第一确定单元和第二确定单元。
第一确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
可选的,所述第二确定单元具体用于:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
可选的,第四确定模块806具体用于:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
可选的,获取模块804具体用于:
根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
在所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
可选的,便携式电子设备还包括:
定位模块,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
本发明实施例和方法实施例一和二基于同一构思,其带来的技术效果也相同,具体过程请参照方法实施例一和二的描述,此处不再赘述。
参见图9,为本发明实施例提供的一种服务器的结构示意图,在本发明实施例中所述服务器包括:第一获取模块901、第一确定模块902、第二获取模块903、第二确定模块904、第三确定模块905和发送模块906。
第一获取模块901,用于接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数。
第一确定模块902,用于根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k。
第二获取模块903,用于获取所述k个AP各自所在的楼层。
第二确定模块904,用于根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层。
第三确定模块905,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层。
发送模块906,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
可选的,第一获取模块901包括:第一获取单元或第二获取单元。
第一获取单元,用于接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
第二获取单元,用于接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
可选的,第二确定模块904包括:第一确定单元和第二确定单元。
第二确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
可选的,所述第二确定单元具体用于:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。可选的,第三确定模块905具体用于:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
可选的,第一获取模块还包括:第三获取单元。
第三获取单元,用于从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
本发明实施例和方法实施例三基于同一构思,其带来的技术效果也相同,具体过程请参照方法实施例三的描述,此处不再赘述。
本发明实施例提供的一种确定楼层系统,包括上述任意一种服务器和上述任意一种便携式电子设备,如图10所示,其中,便携式电子设备包括:第一采集模块1001、数据发送模块1002、第一气压变化率计算模块1003、第一定位请求模块1004和第一接收模块1005。
第一采集模块1001,用于在预设时长内采集m个气压值和n组Wi-Fi信息。
数据发送模块1002,用于将采集到的Wi-Fi信息和采集时刻发送给服务器。
第一气压变化率计算模块1003,用于计算所述m个气压值的气压变化率。
第一定位请求模块1004,用于若所述气压变化率的绝对值大于预设值,向所述服务器发送携带时间窗标识和所述气压变化率的定位请求;其中所述时间窗标识用于表示所述预设时长的起始时刻和终止时刻。
第一接收模块1005,用于接收所述服务器返回的定位结果。
本发明实施例提供了一种确定楼层系统,包括上述任意一种服务器和便携式电子设备,如图11所示,其中,便携式电子设备包括:第二采集模块1101、第二气压变化率计算模块1102、第二定位请求模块1103和第二接收模块1104。
第二采集模块1101,用于在预设时长内采集m个气压值和n组Wi-Fi信息。
第二气压变化率计算模块1102,用于计算m个气压值的气压变化率。
第二定位请求模块1103,用于若所述气压变化率的绝对值大于预设值,向所述服务器发送携带所述n个Wi-Fi信息和所述气压变化率的定位请求。
第二接收模块1104,用于接收所述服务器返回的定位结果。
本发明实施例和方法实施例四基于同一构思,其带来的技术效果也相同, 具体过程请参照方法实施例四的描述,此处不再赘述。
可选的,本发明实施例还提供的一种便携式电子设备,便携式电子设备包括包括处理器、存储器和通信接口。通信接口用于与外部设备进行通信。便携式电子设备中的处理器的数量可以是一个或多个。本发明的一些实施例中,处理器、存储器和通信接口可通过总线或其他方式连接。便携式电子设备可以用于执行图4所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图4对应的实施例。此处不再赘述。
其中,存储器中存储程序代码。处理器用于调用存储器中存储的程序代码,用于执行以下操作:
在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数;
根据所述m个气压值中的至少两个气压值确定气压变化率;
若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取所述k个AP各自所在的楼层;
根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
根据所述气压变化率从所述两个候选楼层中确定目标楼层。
在本发明的一些实施例中,所述处理器执行所述根据所述m个气压值中的至少两个气压值确定气压变化率,包括:
对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理;
对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
在本发明的一些实施例中,所述处理器执行所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
确定所述k个AP各自对应的ni个RSS的RSS变化率;
根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
在本发明的一些实施例中,所述处理器执行所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
在本发明的一些实施例中,所述处理器执行所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
在本发明的一些实施例中,所述处理器执行所述获取所述k个AP各自所在的楼层包括:
根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
从所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
在本发明的一些实施例中,所述处理器还用于执行:
获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
可选的,本发明实施例还提供的一种服务器,服务器包括包括处理器、存储器和通信接口。通信接口用于与外部设备进行通信。服务器中的处理器的数量可以是一个或多个。本发明的一些实施例中,处理器、存储器和通信接口可通过总线或其他方式连接。服务器可以用于执行图6所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图6对应的实施例。此处不再赘述。
其中,存储器中存储程序代码。处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数;
根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
获取所述k个AP各自所在的楼层;
根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
根据所述气压变化率从所述两个候选楼层中确定目标楼层;
获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果返回至所述便携式电子设备。
在本发明的一些实施例中,所述处理器执行所述接收便携式电子设备发起的定位请求后获取所述便携式电子设备在预设时长内采集到的n组Wi-Fi信息包括:
接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;
接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时 间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
在本发明的一些实施例中,所述处理器执行所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
确定所述k个AP各自对应的ni个RSS的RSS变化率;
根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
在本发明的一些实施例中,所述处理器执行所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
在本发明的一些实施例中,所述处理器执行所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
在本发明的一些实施例中,所述处理器执行所述获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率包括:
从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (31)

  1. 一种确定楼层方法,用于便携式电子设备,其特征在于,包括:
    在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数;
    根据所述m个气压值中的至少两个气压值确定气压变化率;
    若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
    获取所述k个AP各自所在的楼层;
    根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
    根据所述气压变化率从所述两个候选楼层中确定目标楼层。
  2. 如权利要求1所述的方法,其特征在于,所述根据所述m个气压值中的至少两个气压值确定气压变化率,包括:
    对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理;
    对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
  3. 如权利要求1或2所述的方法,其特征在于,所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
    确定所述k个AP各自对应的ni个RSS的RSS变化率;
    根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
  4. 如权利要求3所述的方法,其特征在于,所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
    获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
  5. 如权利要求1至4任一项所述的方法,其特征在于,所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
    在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
    在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
  6. 如权利要求1至5任意一项所述的方法,其特征在于,所述获取所述k个AP各自所在的楼层包括:
    根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
    根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
    从所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的 楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
  7. 如权利要求1至6任意一项所述的方法,其特征在于,还包括:
    获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
  8. 一种便携式电子设备,其特征在于,包括:
    采集模块,用于在预设时长内采集m个气压值和n组无线保真Wi-Fi信息;其中,每组Wi-Fi信息包括无线接入点AP的标识信息和接收信号强度RSS,m和n为不小于2的整数;
    第一确定模块,用于根据所述m个气压值中的至少两个气压值确定气压变化率;
    第二确定模块,用于若所述气压变化率的绝对值大于预设值,根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及所述k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
    获取模块,用于获取所述k个AP各自所在的楼层;
    第三确定模块,用于根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
    第四确定模块,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层。
  9. 如权利要求8所述的便携式电子设备,其特征在于,所述第一确定模块包括:
    滤波单元,用于对所述预设时长内不同的采集时刻采集的所述m个气压值进行滤波处理;
    计算单元,用于对滤波处理后的所述m个气压值进行线性拟合后得到气压变化率。
  10. 如权利要求8或9所述的便携式电子设备,其特征在于,所述第三确定模块包括:
    第一确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
    第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
  11. 如权利要求10所述的便携式电子设备,其特征在于,所述第二确定单元具体用于:
    获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
  12. 如权利要求8-11任意一项所述的便携式电子设备,其特征在于,所述第四确定模块具体用于:
    在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
    在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
  13. 如权利要求8至12任意一项所述的便携式电子设备,其特征在于,所述获取模块具体用于:
    根据所述便携式电子设备保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
    根据服务器保存的AP和楼层的映射关系获取所述k个AP各自所在的楼层;或,
    在所述便携式电子设备保存的AP和楼层的映射关系中查询目标AP所在的楼层,在未查询到的情况下,在服务器上查询所述目标AP所在的楼层;其中,所述目标AP为所述k个AP中的任意一个。
  14. 如权利要求8至13任意一项所述的便携式电子设备,其特征在于,还包括:
    定位模块,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据执行定位操作。
  15. 一种确定楼层方法,用于服务器,其特征在于,包括:
    接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数;
    根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
    获取所述k个AP各自所在的楼层;
    根据所述k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层;
    根据所述气压变化率从所述两个候选楼层中确定目标楼层;
    获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
  16. 如权利要求15所述的方法,其特征在于,所述接收便携式电子设备发 起的定位请求后获取所述便携式电子设备在预设时长内采集到的n组Wi-Fi信息包括:
    接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;
    接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
    接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求,获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
  17. 如权利要求15或16所述的方法,其特征在于,所述根据k个AP各自所在的楼层以及所述k个AP各自对应的ni个RSS确定两个候选楼层包括:
    确定所述k个AP各自对应的ni个RSS的RSS变化率;
    根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
  18. 如权利要求17所述的方法,其特征在于,所述根据RSS变化率为正值的h个AP中确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,包括:
    获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算 所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
  19. 如权利要求15-18任意一项所述的方法,其特征在于,所述根据所述气压变化率从所述两个候选楼层中确定目标楼层包括:
    在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
    在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
  20. 如权利要求15-19任意一项所述的方法,其特征在于,所述获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率包括:
    从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
  21. 一种服务器,其特征在于,包括:
    第一获取模块,用于接收便携式电子设备发送的定位请求后获取便携式电子设备在预设时长内采集到的n组Wi-Fi信息,以及获取所述便携式电子设备根据在所述预设时长内采集到的m个气压值中至少两个气压值得到的气压变化率;其中,每组Wi-Fi信息包括AP的标识信息和RSS;m和n为不小于2的整数;
    第一确定模块,用于根据所述n组Wi-Fi信息确定发送所述n组Wi-Fi信息的k个AP,以及k个AP各自对应的ni个RSS;k为不小于1的整数,1≤ni≤n,1≤i≤k;
    第二获取模块,用于获取所述k个AP各自所在的楼层;
    第二确定模块,用于根据所述k个AP各自所在的楼层以及所述k个AP各 自对应的ni个RSS确定两个候选楼层;
    第三确定模块,用于根据所述气压变化率从所述两个候选楼层中确定目标楼层;
    发送模块,用于获取所述目标楼层的定位辅助数据,根据所述定位辅助数据得到定位结果,并将所述定位结果发送给所述便携式电子设备。
  22. 如权利要求21所述的服务器,其特征在于,第一获取模块包括:
    第一获取单元,用于接收所述便携式电子设备发送的Wi-Fi信息和采集时刻,并保存接收到的Wi-Fi信息和采集时刻;接收所述便携式电子设备发送的携带时间窗标识的定位请求,根据所述时间窗标识从所述服务器获取所述n组Wi-Fi信息,所述时间窗标识表示所述预设时长的起始时刻和终止时刻;或,
    第二获取单元,用于接收所述便携式电子设备发送的携带所述n组Wi-Fi信息的定位请求获取所述便携式电子设备在预设时长内采集到的所述n组Wi-Fi信息。
  23. 如权利要求21或22所述的服务器,其特征在于,所述第二确定模块包括:
    第一确定单元,用于确定所述k个AP各自对应的ni个RSS的RSS变化率;
    第二确定单元,用于根据RSS变化率为正值的h个AP确定第一候选楼层,以及根据RSS变化率为负值的f个AP确定第二候选楼层,h和f为整数且1≤h<k,1≤f<k,h+f≤k。
  24. 如权利要求23所述的服务器,其特征在于,所述第二确定单元具体用于:
    获取RSS变化率为正值的h个AP所在的楼层的楼层频次,以及将楼层频次最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP所在的楼层的楼层频次,将楼层频次最大的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,以及将RSS最大的AP所在的楼层作为所述第二候选楼层;或,
    获取RSS变化率为正值的h个AP在所述预设时长内最后采集时刻到的RSS,以及根据所述h个AP在所述预设时长内最后采集时刻采集到的RSS计算所述h个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第一候选楼层;
    获取RSS变化率为负值的f个AP在所述预设时长内首个采集时刻采集到的RSS,根据所述f个AP在所述预设时长内首个采集时刻采集到的RSS计算所述f个AP对应的各个楼层的权重值,将权重值最大的楼层作为所述第二候选楼层。
  25. 如权利要求21所述的服务器,其特征在于,所述第三确定模块具体用于:
    在所述气压变化率为正值的情况下,选择所述两个候选楼层中低的楼层作为目标楼层;
    在所述气压变化率为负值的情况下,选择所述两个候选楼层中高的楼层作为目标楼层。
  26. 如权利要求21-25任意一项所述的服务器,其特征在于,所述第一获取模块还包括:
    第三获取单元,用于从所述定位请求中获取所述气压变化率,所述气压变化率由所述便携式电子设备根据在预设时长内采集到的m个气压值中至少两个气压值得到的。
  27. 一种确定楼层系统,包括如权利要求8-14任意一项所述的便携式电子设备和如权利要求21-26任意一项所述的服务器。
  28. 一种便携式电子设备,其特征在于,包括:
    一个或多个处理器、存储器、总线系统、收发器以及一个或多个程序,所述处理器、所述存储器和所述收发器通过所述总线系统相连;
    其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包 括指令,所述指令当被所述便携式电子设备执行时使所述便携式电子设备执行如权利要求1至7任一项所述的方法。
  29. 一种服务器,其特征在于,包括:
    一个或多个处理器、存储器、总线系统、收发器以及一个或多个程序,所述处理器、所述存储器和所述收发器通过所述总线系统相连;
    其中所述一个或多个程序被存储在所述存储器中,所述一个或多个程序包括指令,所述指令当被所述服务器执行时使所述服务器执行如权利要求15至20任一项所述的方法。
  30. 一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被便携式电子设备执行时使所述便携式电子设备执行如权利要求1至7任一项所述方法。
  31. 一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当被服务器执行时使所述服务器执行根据权利要求15至20任一项所述方法。
PCT/CN2016/095679 2015-08-27 2016-08-17 一种确定楼层方法、相关设备和系统 WO2017032250A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP16838509.4A EP3321629B1 (en) 2015-08-27 2016-08-17 Method for determining floor, related apparatus and system
US15/754,989 US10345430B2 (en) 2015-08-27 2016-08-17 Floor determining method and system, and related device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510541308.1A CN108317996B (zh) 2015-08-27 2015-08-27 一种确定楼层方法、相关设备和系统
CN201510541308.1 2015-08-27

Publications (1)

Publication Number Publication Date
WO2017032250A1 true WO2017032250A1 (zh) 2017-03-02

Family

ID=58099617

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/095679 WO2017032250A1 (zh) 2015-08-27 2016-08-17 一种确定楼层方法、相关设备和系统

Country Status (4)

Country Link
US (1) US10345430B2 (zh)
EP (1) EP3321629B1 (zh)
CN (1) CN108317996B (zh)
WO (1) WO2017032250A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513259A (zh) * 2018-02-07 2018-09-07 平安科技(深圳)有限公司 电子装置、楼层定位方法和计算机可读存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460103B (zh) * 2018-02-05 2019-10-15 百度在线网络技术(北京)有限公司 信息获取方法和装置
US10378907B1 (en) * 2018-11-20 2019-08-13 Pointr Limited Methods and systems for determining vertical location in enclosed spaces
CN109798894B (zh) * 2018-12-28 2021-12-10 广东嘉腾机器人自动化有限公司 一种多区域跨楼层的agv定位方法、存储装置及agv定位系统
CN110072189B (zh) * 2019-04-24 2020-05-29 北京邮电大学 一种终端设备所处楼层的确定方法及装置
CN111757263A (zh) * 2019-07-31 2020-10-09 广东小天才科技有限公司 一种定位数据的分享方法、系统及移动终端
CN110926473B (zh) * 2019-11-18 2022-08-16 北京三快在线科技有限公司 识别楼层的方法、装置、电子设备及存储介质
CN111735429B (zh) * 2020-05-11 2021-11-26 腾讯科技(深圳)有限公司 楼层识别方法、装置、计算机设备和存储介质
US11065481B1 (en) * 2020-05-19 2021-07-20 Us Safety Technologies Llc Safety harness motion detector systems and methods for use
CN114212640B (zh) * 2022-02-22 2022-05-13 深圳市海清视讯科技有限公司 楼层定位方法及设备
DE102022211030A1 (de) * 2022-10-18 2024-04-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Ermitteln einer Höhe eines bewegbaren Geräts

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011121392A1 (en) * 2010-03-30 2011-10-06 Nokia Corporation Method and apparatus for determining the position using radio signals and atmospheric pressure
CN103260130A (zh) * 2012-02-17 2013-08-21 三星电子株式会社 对无线接入点的位置进行定位的方法和设备
CN104487861A (zh) * 2012-07-24 2015-04-01 高通股份有限公司 多级位置消歧
CN104501796A (zh) * 2014-12-16 2015-04-08 重庆邮电大学 一种室内wlan/mems融合跨楼层3维定位方法
CN104507053A (zh) * 2014-12-25 2015-04-08 中国矿业大学 差分气压测高辅助 wlan 指纹定位中的楼层判别方法
WO2015073305A2 (en) * 2013-11-12 2015-05-21 Qualcomm Incorporated Methods and apparatuses for use in determining an altitude of a mobile device
WO2015105678A2 (en) * 2014-01-08 2015-07-16 Qualcomm Incorporated Method and apparatus for positioning with always on barometer
CN104870936A (zh) * 2012-11-12 2015-08-26 高通股份有限公司 用于针对特定环境为移动装置产生环境与参考数据报告的技术

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8674829B2 (en) * 2008-12-04 2014-03-18 At&T Intellectual Property I, L.P. Proximity sensor network
US8566032B2 (en) 2009-10-30 2013-10-22 CSR Technology Holdings Inc. Methods and applications for altitude measurement and fusion of user context detection with elevation motion for personal navigation systems
US8890705B2 (en) 2010-07-16 2014-11-18 Qualcomm Incorporated Location determination using radio wave measurements and pressure measurements
CN103096459B (zh) * 2011-10-27 2015-06-17 华为技术有限公司 定位用户设备的方法及定位服务器
CN104054360B (zh) * 2011-11-08 2019-02-15 优科无线有限公司 用于确定多层建筑物中位置的位置信息的方法和装置
US8849308B2 (en) * 2012-11-21 2014-09-30 Apple Inc. Tiling of map data
US9131347B2 (en) * 2013-04-26 2015-09-08 Qualcomm Incorporated Utilizing a pressure profile to determine a location context identifier
US20140324381A1 (en) 2013-04-26 2014-10-30 Qualcomm Incorporated System, method and/or devices for applying barometric pressure measurements and radio frequency measurements for positioning
US9648458B2 (en) * 2013-07-03 2017-05-09 Qualcomm Incorporated Systems and methods for labeling crowd sourced data
CN103476109B (zh) * 2013-08-16 2016-12-28 武汉飞沃网络有限公司 一种室内ap定位方法
CN103874200B (zh) * 2014-03-19 2018-01-09 北京邮电大学 一种楼层识别方法及系统
US9237423B1 (en) * 2014-08-06 2016-01-12 Polaris Wireless, Inc. Estimating the elevation of a wireless terminal based on temperature and atmospheric pressure
CN104318642A (zh) * 2014-10-24 2015-01-28 北京海顿中科技术有限公司 用于巡检系统的移动定位装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011121392A1 (en) * 2010-03-30 2011-10-06 Nokia Corporation Method and apparatus for determining the position using radio signals and atmospheric pressure
CN103260130A (zh) * 2012-02-17 2013-08-21 三星电子株式会社 对无线接入点的位置进行定位的方法和设备
CN104487861A (zh) * 2012-07-24 2015-04-01 高通股份有限公司 多级位置消歧
CN104870936A (zh) * 2012-11-12 2015-08-26 高通股份有限公司 用于针对特定环境为移动装置产生环境与参考数据报告的技术
WO2015073305A2 (en) * 2013-11-12 2015-05-21 Qualcomm Incorporated Methods and apparatuses for use in determining an altitude of a mobile device
WO2015105678A2 (en) * 2014-01-08 2015-07-16 Qualcomm Incorporated Method and apparatus for positioning with always on barometer
CN104501796A (zh) * 2014-12-16 2015-04-08 重庆邮电大学 一种室内wlan/mems融合跨楼层3维定位方法
CN104507053A (zh) * 2014-12-25 2015-04-08 中国矿业大学 差分气压测高辅助 wlan 指纹定位中的楼层判别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3321629A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108513259A (zh) * 2018-02-07 2018-09-07 平安科技(深圳)有限公司 电子装置、楼层定位方法和计算机可读存储介质

Also Published As

Publication number Publication date
EP3321629A4 (en) 2018-08-08
US20180372836A1 (en) 2018-12-27
CN108317996B (zh) 2021-06-29
CN108317996A (zh) 2018-07-24
EP3321629A1 (en) 2018-05-16
US10345430B2 (en) 2019-07-09
EP3321629B1 (en) 2022-10-05

Similar Documents

Publication Publication Date Title
WO2017032250A1 (zh) 一种确定楼层方法、相关设备和系统
US11868159B2 (en) Device, method, and graphical user interface for navigation of information in a map-based interface
US20230221857A1 (en) Device, method, and graphical user interface for navigation of concurrently open software applications
TWI503737B (zh) 用於組態一電子器件以解譯來自一鍵盤之按鍵輸入信號的方法、器件及電腦可讀儲存媒體
TWI437483B (zh) 一種電腦實施之方法、攜帶型電子器件及電腦可讀儲存媒體
US9772759B2 (en) Device, method, and graphical user interface for data input using virtual sliders
WO2017096509A1 (zh) 一种显示、处理的方法及相关装置
US9804771B2 (en) Device, method, and computer readable medium for establishing an impromptu network
TW201145150A (en) Automatically displaying and hiding an on-screen keyboard
EP3139259B1 (en) Method and device for processing new message associated with application
WO2017054205A1 (zh) 一种基于航位推算技术的校准方法和便携式电子设备
AU2019257433B2 (en) Device, method and graphic user interface used to move application interface element
WO2017092680A1 (zh) 用于删除对象的电子设备和方法
US11128786B2 (en) Bending a circuit-bearing die
JP2020035468A (ja) アプリケーション・インタフェース要素を移動させるために使用されるデバイス、方法およびグラフィック・ユーザ・インタフェース

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16838509

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE