Practically, how feasible it is to define an area with beacons? - altbeacon

I want to define an area with a certain number of beacons. Theoretically it should be possible, Is it possible practically? Because the distance value that i get fluctuates erratically.

Do you mean that you'd want to figure out an exact position of a person based on trilateration from multiple beacons in the area? Like you said, it is quite hard with the sporadic signal transmission. There's some SDKs that exist for this, such as the Proximi.io free SDK and platform (http://proximi.io)

Related

Is it possible to work with an connection range BLE?

For one of our projects i'm looking for a way to only let centrals (native iOS or Android app) connect with the perhiperal when they are inside a defined connection range (distance around the perhiperal).
I know that BLE is not designed for distance measuring but i hoped there is a reliable way to make a difference between centrals in a range <2m from the perhiperal and centrals >3,5 meter from the perhiperal.This means i do not need to measure the exact distance.
An important thing to mentoin is that our perhiperal can be located in an "open field" situation but also in situations where it is surounded with walls or concrete for example in a entry floor of a building or a carpark.
Another possible issue is that the central can be inside a car but if this is the case, all centrals for the concerning perhiperal are inside a car. Ofcourse it can be different cars.
Note that there is max 1 perhiperal at the time inside the connection range.
In our current version we developed an formulla what uses the received RSSI strength to estimate the distance. Unfortunately we cannot get this working reliable enough. Maybe we need to use another formulla or calibration method or whatever, we really tried many things during the last 6 months.
The concrete question is:
Is it technically possible to achieve the target as described above and when yes, what is the way to achieve the target above? We are open for specific BLE antenna's or specific designed casings for the BLE antenna or whatever is needed. It is also okay when we need to build an calibration application or specific hardware to calibrate our perhiperals, for each perhiperal, so we are realy open minded for any solution as long as it works reliable!
When more info is required to give an answere, please let me know what is missing and i will complete the info.
Unfortunately, it is like you said, you cannot use Bluetooth or Bluetooth Low Energy for short distance/range measurements. Bluetooth was just not designed that way. You want to get accurate reliable measurement for something between 2-3.5, this is way too small for BLE to be capable of that. I know that this is not what you want to hear, but I have already tried this and wasted many months on this before.
The only thing I can recommend if you really really need to continue down this path is that in order to get a more reliable outcome, you will need many many devices that are measuring the RSSI simultaneously, and then those devices need to be talking to each other to get an average RSSI measurement. You may also want to look at configuring the Tx power based on the average readings that you get, i.e. the closer the device gets, you lower the Tx power of both the scanning and advertising devices. Finally, directional antennas can be used if you are planning to use non-Android non-iOS devices for scanning, but this will be tricky if the only antenna you can change is that of the peripheral.

determining user location with near pinoint accuracy iOS

My application is EXTREMELY dependent on user location, so much so that accuracy is very crucial to the use of the app. Speaking with my team we have realized the scenario that if a user is in close proximity to another geofence that we have created, CoreLocation may not recognize the difference. Are there currently any frameworks that work better for CL or LocationManager in iOS. I check the Cocoapods library but they all seem pretty close to one another in functionality.
You cannot overcome the physical and technological limitations of the GPS system. If you call CLLocationManager's requestLocation when the location manager is configured with the highest desired degree of desiredAccuracy (namely kCLLocationAccuracyBestForNavigation), the response in locationManager(_:didUpdateLocations:) is as accurate is you are going to get. Using a "library" is not going to change that.
You can set the accuracy to kCLLocationAccuracyBestForNavigation and then you will get the best data available. If you are not happy with iOS handling of geofences you could try to implement the geofence thing yourself by just subscribing to the delegate methods.
That way you can also filter CLLocations with a low accuracy and ignore them for example.
As others have said, there no magic bullet to give you accuracy better than what the GPS is able to provide.
What you can do is
Set the desiredAccuracy to the max
Check the accuracy value you get back from location updates, and reject readings with a horizontal "accuracy" value that is too large (since the "accuracy" reading is actually a "circle of confusion" or radius in meters where the phone may actually be located.
Note that step 2 may cause it to take a LONG time to get an acceptable location fix, or you may not be able to get an acceptable reading at all. Based on the testing I did several years ago, requiring a horizontal accuracy reading of 16 meters was the best I was able to achieve, and I could only get that signal quality in an open area free of buildings and without a lot of tree cover. (I haven't tried it in an open prairie, however.)

Really accurate speedometer on iPhone

I would like to develop a mobile app for iPhones, that calculates time needed to reach a given velocity. For example: I'm in my car, open the app, choose 100km/h and when I accelerate the app should start to count time and it stops counting just in the moment when I reach 100km/h. It should be very accurate.
I heard about two solutions. First is to use the accelerometer/gyroscope, but some people told me it's bad idea, because I won't be able to calculate time on longer distances. The second option is to use GPS, but on the other hand it can be not as accurate as I want it to be.
So I need suggestions, which option is better and why.
My targets are iPhones 4s and newer.
If you want to be more precise than the GPS you will need to have some sort of sensor. Most similar apps and concepts will create a receiver that plugs into the car that the iPhone can connect to. This has the benefit of making all of the sensors in the car available to you. This is an example: https://www.automatic.com/how-automatic-works/

Indoor positioning on iOS with Core Location - not accurate?

Using the sample code provided from WWDC, I've been trying to write a simple proof-of-concept app that performs indoor positioning in my office building. I have a floor plan image and replaced the standard image in the demo code. I've also done the requisite mapping of GPS coordinates to pixels for the two anchor points.
When I run the app in the simulator and specify static GPS coordinates, I see the position updated as expected in the simulator. When I run it on my phone, however, the experience isn't nearly as seamless as Apple advertised in the video. On my iPhone 5s, the positioning is all over the place, and rarely anywhere close to accurate. Even sitting next to a window with a clear line-of-sight to the sky I still get very inaccurate results.
I would assume that this might have something to do with our physical layout, WiFi topology, or other such parameters. However, I also noticed that Apple has a portal where you can register your facility for use with indoor positioning. Does this have something to do with the poor results in my app? I can't imagine how Apple would be able to help with such a scenario, but thought it might have something to do with it.
Are there other steps I should take to increase the accuracy of my app? Is there a way to leverage iBeacons for improved positioning indoors? I haven't found any documentation indicating so, but thought maybe someone here would know.
You're right, Apple has the portal available at https://mapsconnect.apple.com
At this portal you can add your venue and Apple will guide you on setting it up. However, your venue must have all of the following attributes:
Accessible to the general public
Annual visitors in excess of 1 million per year
Availability of complete, accurate, and scaled reference maps
Wi-Fi throughout the area
Associated app that's authorized by venue owner
If your venue has all the required attributes, then you also will need to answer these questions about your usage:
How are you planning to use indoor positioning? (Ads, Navigation, Delivering content)
How many venues would you like to enable with indoor positioning?
What type of venue do you have? (Airport, Hospital, Museum, Mall, Office)
What type of floor plans do you have? (CAD, BIM, GeoJSON, AI, PDF, PNG, etc)
Are the venues equipped with Wi-Fi and/or iBeacon?
Name of the largest venue
Address of the largest venue
Once you have completed the entire form and jumped through the last hoop, you will be brought to a page that confirms the details. Once done, it's all in their hands and they will contact you.
Indoor Positioning does not work well without addional devices like iBeacons.
There is no useable GPS receivement in buildings, the reflected signal is often far worse than 50m .
GPS might work indoors if it is a single floor building with a thin roof, but this is usually not the case in indoor buildings.
The only thing that works well, is to buy some iBeacons and mount them at various locations in the office.
You have to manage the location of that beacons: they only send you an id, and (maybe?) the distance to that iBeacon. (Please check wheter you get distance to beacon)
But ios LocationService will not use that iBeacons.
So either use iBeacons or forget your project. There is no well working solution for indoor positioning. Some use magnetic fields, there is even an App for that, but this needs measuring your whole office in detail.
Why don't you try with the indoor SDK which can be integrated in iOS applications. Also try to give the accuracy level appropriately when you use location framework API.

Is this concept possible with iOS navigation tools

Lets say we have a starting point, (x,y). By using iOS navigation can we tell how far from that starting point we moved to another location (a,b). So if i walked 20 feet in a certain direction after starting would it be able to tell me how far I've moved and in which direction?
If this technology exists can I get info on where to start learning about it?
This also needs to be done without GPS, sorry.
As rmaddy mentioned With core location class and incorporating GPS in a project you can obtain a distance traveled by the person who is walking. I found a great step by step tutorial for you which has a sample project you can build and take a look at. Here is the link..http://www.perspecdev.com/blog/2012/02/22/using-corelocation-on-ios-to-track-a-users-distance-and-speed/
Also here is the link to core location class reference for further study....https://developer.apple.com/library/iOS/documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html
No, you can't determine location changes accurately without GPS, even with GPS it is difficult to accuracy measure position change as small as 20 feet (GPS 5m accuracy means a +/-15 foot error)
In theory you might be able to write software to create an Internal Navigation System using the built in accelerometers, gyros, and magnetometers, but in practice they are too noisy and have too much error for this kind of use (see this question). A better rocket scientist than me might be able to make it work but it was also need to use the GPS to keep it from drifting. The M7 chip on the 5S might make this feasible.

Resources