IBeacons - Company (Estimote, Gimbal, etc.) SDKs vs Android / iOS library

I played with the estimated iBeacons with their Android SDK. However, I'm still confused by the fact that so many SDKs are available.

iBeacons are simply standard Bluetooth devices that have Bluetooth Low Energy (BLE) in the Bluetooth 4.0 specification. As long as you have a Bluetooth Smart Ready device (iPhone 4S + and Android 4.3+), you can find all iBeacons, regardless of the beacon manufacturer. Android ( Bluetooth Low Energy Connectivity ) and iPhone ( iOS Developer Library ) provide a system-level library for developing applications for using iBeacons.

So, why are there so many SDKs for connecting to iBeacons (Gimbal, Estimote, Radius Networks, the open source API for Android ).

So, I have a few questions:

  • Why are there so many SDKs available? Can manufacturers lock their beacons for access only through their SDK?

  • Can I try out Android 4.3 Bluetooth Connectivity library and find any iBeacon?

  • What are the benefits of using the Android SDK? It seems to me that geosounding and proximity detection are possible only using the android library, but notification and constant background polling are not possible.
+7
android ios bluetooth ibeacon ibeacon-android
source share
1 answer

Understand that Beacons is a specific Bluetooth LE application. Bluetooth LE is a general-purpose broadband communication technology that can perform many functions, such as transferring sound to a speaker.

Low-level APIs, such as the built-in Bluetooth APIs and Apple CoreBluetooth , are designed for general-purpose bluetooth applications. They do not perform lighthouse-specific things, such as:

  • decoding beacon identifiers
  • estimation of distance to lighthouses
  • determining when beacons appear and disappear
  • launch applications or send beacon notifications

To accomplish these tasks, you need to either write your own software (which is error prone and spend time) or use a pre-built library of a higher level. For iOS devices, Apple has beacon capabilities built into the operating system with the CoreLocation API. Android does not have such a built-in library.

Since Android does not have a built-in library of beacons, other third-party developers created them. My company made the first in September 2013, which turned into the Android Beacon Library today.

Other companies that sell beacons often create their own libraries (some based on this open source library, and some not) to support proprietary features from their beacons or proprietary cloud services that build on them.

So, the answers to your last two questions:

  • Yes, the Android 4.3 Bluetooth Connectivity library can interrogate and find any iBeacon, but you will need to write a lot of code on top of this library for this to happen.

  • The advantage of using an additional library is that you do not need to write and debug all this code. You can focus on the logic that should go into your application and not spend all your time processing the low-level beacon.

Full disclosure: I am the chief engineer of Radius Networks and author of the Android Beacon library.

+13
source share

All Articles