I read online that your surge algorithm will charge a higher rate to phones with a lower battery percentage. Is this true?
Also - could you please show me where in the API (feel free to paste) where the battery is monitored?
Thanks!
DB
I read online that your surge algorithm will charge a higher rate to phones with a lower battery percentage. Is this true?
No. This is not true. I believe you are conflating this idea with a study that shows users will be more likely to accept / decide to take a surge price Uber if their batteries are lower. Uber definitely does not charge you a higher rate or give you a higher surge if your battery is low.
Related
Can you work out if another iphone is say ~5 horizontal meters away?
This question has been asked here almost identically but a decade is a long time in tech. I have no interest in direction.
How to measure distance between two iphone devices using bluetooth?
Current solution attempts
GPS - This is too inaccurate for <10m
Bluetooth - iBeacon a potential solution for iphones. Similarly, may be too inaccurate due to BT signal interference. At least as SO claims 5 years ago. (How to measure the distance between an iPhone acting like an iBeacon and an Android device)
Have we made any progress here?
There have been no significant changes in the past 5 years. I wrote a blog post with a deep dive into the current state as of 2020. Mobile phones in 2020 have newer bluetooth chipsets than in 2015, and may support Bluetooth 5, but there are no significant new capabilities that improve the reliability distance estimates. Indeed, there are no new proximity sensors on iOS and Android phones (other than NFC, which only measures proximity of a few centimeters away), so it is inappropriate for this use case. What's more, 5 years has made things worse by adding fragmentation, especially on the iOS side. Back in 2015, there were only a few Apple handset variants in common circulation. Now there are over a dozen.
To recap the current state of affairs that is mostly unchanged: you can use one phone to transmit over BLE and another to measure the signal strength and estimate distance. For known transmitters and approximately line of sight conditions (e.g. phones are not in a pocket or purse) measuring whether two phones are 5 meters apart is possible with perhaps a 60 percent confidence interval. Where this falls apart is with three important variables:
Phones and especially Android phones are quite fragmented. Transmitter power and receiver sensitivity are quite unpredictable between models and have a large variance. Apple has much less variance between models, but you still see differences that noticeably affect results.
People often put phones in a case, a purse or a pocket. This throws things off considerably further.
When clear line of sight conditions are not present, results are unreliable as you have said.
Bluetooth 5.1 does offer Angle of Arrival and other features that may improve this, but as of October 2020, neither Android 11 nor iOS 14 support any of these features, making the features unusable with almost any mobile phone.
We're trying to have time-keeping as close to real-time as possible. Since our network doesn't support PTP, I'm using NTP. We have an NTP-server with GPS at disposal, and we're syncing about every minutes.
Though we still experience a little drift - of course. But some of our hardware drifts more than others. The best drifts about 1/10th of a ms where as other drift as much as 1.5ms.
We would like to hit around 0.25ms 90% of the time.
Does anyone know if it is possible to change the crystal on the board to a more accurate crystal, or have an idea how to make the clock drift less?
Best regards.
We are trying to set in place a system of indoor localization based on BLE Beacons. The precize location of the client does not really matter, the valuable information is the room he is in.
The building to be equipped has large concrete walls. We thought that using one beacon per room, we could detect the closer beacon to the guest.
Are concrete wall able to stop most of the BLE signal? We tried some tests, but we are searching for serious studies.
Any wall will reduce BLE signals by some amount. A signal of -50 dBm on one side might be -60 dBm on the other side, a reduction of 10 dB. Because decibels are logarithmic, every 10 dB reduction in the signal level represents a loss of 90 percent of the power in the signal. So while it is typically true that a concrete wall will "stop most of the BLE signal", it doesn't really matter because there may still be enough signal on the other side of the wall to detect the beacon.
How much of a reduction in signal level there is depends on thickness of the wall and other materials in it (metal will increase the attenuation.) Of course, windows, doors and other breaks in walls provide other paths for the signals to travel and complicate the issue.
Since you are unlikely to create a system where signals from beacons in one room will never be detected in an adjacent room, your best bet is to use other algorithms. For example, you may detect all visible beacons in a time interval, determine which has the highest signal strength, and if above a certain threshold, use this as an indicator of which room you are in.
I have two questions regarding GPS sampling on iPhone:
1.Is it possible to use CLLocationManager (or any other method) for location readings based on GPS alone without WiFi or Cellular network affecting it?
2.Given a stationary device, is it possible to control the sampling rate? Can I use CLLocationManager to get nonstop location readings from GPS in nanoseconds resolution? If not, what's the best resolution I can get?
regarding number 1, apparently, you cannot directly control gps data. having said that: if you have speed > 0 AND high accuracy, then you can infer that your data has a high probability of having come from a gps reading.
as far as i know, gps fixing is not measured in nanoseconds, but rather in seconds. what you mean exactly by resolution (reading frequency?) is a bit unclear. but, if it is frequency, most navigational software (google, for example) refreshes location every second or so.
hi frequency position updating is very costly in terms of storage cost (server side), query times (server side), battery use (iphone) and heats the phone up bigtime. i would be going in the opposite direction, especially for stationary devices (sending a heartbeat every 5 minutes or so is usually more than enough).
reference on CLLocationManager
Context:
iPhone is connected to the PC via cable and power indicated 100% ( the icon of the batter contains a small power plug also)
Question:
In this stage the phone is powered directly from USB or is it using the battery ?
Thanks
(From developer point of view): there's UIDeviceBatteryState enumeration that contains the battery power state of the device. Among its possible values:
UIDeviceBatteryStateUnplugged: The device is not plugged into power;
the battery is discharging
UIDeviceBatteryStateFull:
The device is plugged into power and the battery is 100% charged.
So from these descriptions follows that device does not drain battery if it is plugged into power even if it is 100% charged.
I think the device is always drawing off the battery in order to guarantee a smooth power curve i.e. the battery works like a buffer of sorts. (It also simplifies the hardware.) However, when it is plugged in, the power system continually charges the battery so the net charge on the battery never changes.
I don't think that has any relevance to programming. Usually, you only need to know if a device is plugged in if you're doing something that might take longer than the battery can last. In that case, where the power comes from while plugged in really doesn't matter.