iBeacon
iOS iBeacon Project in Swift Language
The number of questions on SO related to iBeacon and its background capabilities is increasing and there is some confusion on that point.
I have been testing the AirLocate project.
iBeacon has 2 "capabilities": Region monitoring and Ranging.
Region monitoring is limited to 20 regions and can function in the background (of the listening device) and has different delegates to notify listening app (and user) of entry/exit in the region - even if app is in the background or phone is locked.
Ranging works only in the foreground but will return (to the listening device) an array (unlimited?) of all iBeacons found along with their properties (UUID, etc..)
In addition, that 20 regions monitoring is a device limit. If the user is using geofencing reminders, other apps that use region monitoring; this will lower that number.
So are we saying that I can not deploy a mall-wide (100 stores+) app that uses store iBeacons to send a "store specific" notification to the user, while the app is in the background or the phone is locked?
I gather that the advertising device (the beacon) has to be in the foreground as well to advertise a region that the listening device could "enter" into. So are we saying, that if the owner of a store had an iOS device; I could not for example save him money by asking him to use his iPhone (at least early on) as an advertising device (beacon) - since the app will likely not always be in the foreground?
So in the case of iBeacon + MLB, a single UUID (or <20 UUIDs) is/are used for the app to possibly determine entry door and, then will the user be required to unlock the phone/bring the app to the foreground to use it (find seat, etc..)?
Can I then call the iBeacon: a single location/event (store, park, etc..) feature that requires the user's most "foreground" attention to have a "complete" practical use case?
I have tried to be articulate about the user cases to bring it to practical. Please reply with more than yes or no.
Source: (StackOverflow)
I've seen claims on the net that the newly released iOS 7.1's iBeacon support.
Specifically:
- The system is supposed to still notify your app about
didEnterRegion/didExitRegion events, even if the user explicitly
kills your app.
- didEnterRegion/didExitRegion notifications are
supposed to be faster from the background and/or with the device
locked.
I have not been able to confirm either of these claims with my own testing. In fact, I seem to be less likely to get didEnterRegion/didExitRegion notifications from a locked device. (more accurately I seem to get didEnterRegion notices, but not didExitRegion notices). That could be because Apple made me remove my BLE background mode entries in my info.plist - I'm not completely sure. I'm still trying to sort this out.
Source: (StackOverflow)
I've been playing around with using iOS devices as both broadcasters and receivers using the new iBeacon API's in iOS 7.
The docs don't go into detail at which distances the receiving device should see each proximity indicator, and specifically calls them out as "relative". When experimenting a with a demo app, I observed these distances (iPhone == receiver, iPad == broadcaster):
Far - 50 feet?
Near - 2-3 feet
Immediate - 2 inches
These seemed really small to me, and there is perhaps a hint in the CLBeaconRegion class reference, which allows you to specify the signal strength of your device from 1m away.
peripheralDataWithMeasuredPower:
Retrieves data that can be used to advertise the current device as a beacon.
Parameters
measuredPower
The received signal strength indicator (RSSI)
value (measured in decibels) for the device. This value represents the
measured strength of the beacon from one meter away and is used during
ranging. Specify nil to use the default value for the device.
My amateur calibration yielded -60, which I set and re-tested:
Far - hundreds(ish) feet
Near - ~50 feet
Immediate - 1 meter (slightly less)
Are the results from my second test the "ideal" ranges according to Apple? They are really far away from the "default" setting I experienced in the first test.
Or should I perhaps consider these ranges "calibratable" depending on my needs?
Source: (StackOverflow)
I'm looking for a way to detect iBeacon (iOS 7.0 feature) from an Android device. I read the Android documentation, where it seem that the iBeacon is some kind of GATT server which sends its position. While the Android documentation says that I should not poll that data, but for the detection this would be nessesary.
I google a lot but this topic is quite new (I even created a new tag ibeacon) so I would be happy if I get some links to ressources from the iOS world which descripes the implementation. Also if there are some Android libs which I did not find yet would be nice.
Source: (StackOverflow)
Can an Android device act as an iBeacon and figure out when other Android devices come in its range? Do those other Android devices need to have Bluetooth turned on?
If a customer comes into my shop and he doesn't have my app installed on his device, can iBeacon work, or must he install the app first? There are so many customers are visiting our shop daily, but if they don't have my app installed, does the iBeacon concept work?
Source: (StackOverflow)
Trying to grasp a basic concept of how distancing with ibeacon can work. Is there any true documentation on how far exactly an ibeacon can measure. Lets say I am 300 feet away...is it possible for an ibeacon to detect this?
Source: (StackOverflow)
I bought a developer kit from Radius Networks
that includes a ioGear GBU521 BLE 4.0 dongle
and a Raspberry Pi
. I also bought one of their RadBeacon iBeacons
. They both work as advertised, but I was kind of surprised by what I got.
I had assumed that the RaspPi
could detect iBeacons
. Instead, the kit is setup to create an iBeacon
. My use case is to detect when a forklift
enters a particular room so I can send work to them. My thought was to put an iBeacon on the forklift then put a RaspPi searching for iBeacons. And when an iBeacon (forklift) was detected, you could conclude that it is nearby. I would wire the RaspPi into the LAN
and have it communicate the information via REST or similar
. I know I could put a suitable Android or Apple device
and accomplish it that way, but I don't see why this dongle can't detect these iBeacons
and tell me what their UUID's
are? What am I missing?
Source: (StackOverflow)
After flashing my Nexus 5 to the Android 5.0 preview release hammerhead-lpx13d, the OS reports that it no longer supports Bluetooth LE advertising. If you call:
((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
.getAdapter().getBluetoothLeAdvertiser()
always returns null. In addition, the new method:
((BluetoothManager) this.getSystemService(Context.BLUETOOTH_SERVICE))
.getAdapter().isMultipleAdvertisementSupported()
always returns false
The first method used to return a valid object on the first Android L preview release for the Nexus 5 back in June. It no longer does, after flashing the latest update.
Does anybody see otherwise?
EDIT: This has been reproduced by at least one person, who opened an issue with Google here: https://code.google.com/p/android-developer-preview/issues/detail?id=1570
Source: (StackOverflow)
I am looking into the possibility to use multiple iBeacons to do a 'rough' indoor position location. The application is a kind of 'museum' setting, and it would be easier to be able to form a grid with locations for the different objects then individual beacons (although that might not be impossible too).
Are there examples, experiences, with using multiple beacons to triangulate into some kind of location, or some logic to help me on the way to write it myself?
Source: (StackOverflow)
I managed to make an iBeacon which triggers a local push notification on my iPhone when the beacon is in range. It's perfectly working when the app is in background mode.
My question is: Can I trigger the notification even when the app is not running, not even in the background?
I thought this was possible but I'm not sure.
If so, how can I accomplish this?
Thanks!
Source: (StackOverflow)
I'd like to create my own iBeacon with some bluetooth low energy dev kits. Apple has yet to release a specification for iBeacons, however a few hardware developers have reverse Engineered the iBeacon from the AirLocate Sample code and started selling iBeacon dev kits.
So what is the iBeacon Bluetooth Profile?
Bluetooth Low Energy uses GATT for LE profile service discovery. So I think we need to know the Attribute Handle, Attribute Type, Attribute Value, and maybe the Attribute Permissions of the iBeacon attribute. So for an iBeacon with a UUID of E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 a major value of 1 and a minor value of 1 what would the Bluetooth GATT profile service be?
Heres some assumptions I've made from the discussion on Apple's forums and through the docs.
You only need to see the profile service (GATT) of a Bluetooth peripheral to know it is an iBeacon.
The Major and Minor keys are encoded somewhere in this profile service
Heres some companies with iBeacon Dev Kits that seem to have this figure out already:
Hopefully in time we will have a profile posted on Bluetooth.org like these: https://www.bluetooth.org/en-us/specification/adopted-specifications
Source: (StackOverflow)
While testing with beacons (iOS devices) I found the listener beacon giving some unexpected behavior. locationManager:didEnterRegion method is not getting called even if a beacon enters a region. But the locationManager:didRangeBeacons:inRegion: is getting called correctly, and detected beacons are shown there. Has anyone experienced anything like this.
Source: (StackOverflow)
I am looking for a Java Library that supports Bluetooth LE connections, specifically GATT and if I am lucky Apple's new iBeacon Protocol. It needs to be able to broadcast itself and if possible be able to initiate a connection.
I have seen BlueCove and even gave a shot at extending it to support Bluetooth LE, but could not get it to work. Does anybody know of any supported Bluetooth Libraries that work with Java SE, not for Android or Java ME, because that seems to be all I can find.
Any Ideas?
Source: (StackOverflow)
Take this scenario: user has an iPhone in the pocket passing by an iBeacon. Her phone is region monitoring for it. How much time is needed in real world to from entering the region to the moment app is woken up?
I have found an excellent article on the subject by David G. Young (http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-in-the-background-and-foreground.html) but I can't believe it can really take up to 15 minutes.
That would mean that all iBeacon home automation scenarios are simply unusable because you won't neither wait 15 mitutes in dark room for lights to switch on neither you would switch on the lights by actively using an app. Door opening and locking is another situation where iBeacon would be unusable (and NFC would work much better here). Or am I missing something?
Source: (StackOverflow)
I want to know how iBeacon works actually. I found the sample code of AirLocate, but couldn't figure out how it works. iBeacon is works on BLE, so it may be possible for do data communication with other BLE supported devices via bluetooth?
As it possible to make data transfer between iOS - android device via bluetooth using BLE or beacon?
iOS had already announced iBeacon technology, but didn't find out any technical specification document regarding this. I also want to know how it works on android?
Can some one please describe about this technology and is it possible to make data-communication via bluetooth between iOS-iOS device, and iOS-Android Device?
Source: (StackOverflow)