Developer Skill Sprint: Taking Beacons to the Next Level
Developer Skill Sprint: Taking Beacons to the Next Level
David Intersimone "David I" - VP of Developer Relations and Chief Evangelist
Tuesday, August 11, 2015
YouTube replay - https://www.youtube.com/watch?v=MRrZubGke8k
What's covered during this Developer Skill Sprint? We look at the use of Bluetooth Low Energy Beacons and the new BeaconFence, beacon fencing solution for developers, announced by Embarcadero. Beacons (iBeacon and AltBeacon) and Beacon Fencing are used in retail, manufacturing, warehousing, healthcare and entertainment venues just to name a few use cases. During this developer skill sprint you'll learn how to create beacon maps, beacon zones and how to create beacon fencing applications for iOS, Android and OSX.
What is BeaconFence? BeaconFence is the new developer proximity solution available from Embarcadero. BeaconFence allows you to
- Build mobile apps that deliver precise “GPS-Free” indoor/outdoor user location tracking and events
- Create radial and rectangular zones for any physical location and layout
- Visually draw the layout of a physical location and beacon placement
- Track location information down to inches
- Track intersections, enters, and exits with callback events
BeaconFence provides two components
There are two components for beacon fencing: TBeaconZonesFencing and TBeaconMapFencing. TBeaconZonesFencing uses zones (that you define) for proximity based applications. TBeaconMapFencing has a visual BeaconFence map editor that lets you load a bitmap layout or design a layout. You can add and configure different objects in the map editor: maps, zones, beacons and paths with nodes.
BeaconFence Position Calculation
The API for BeaconFence provides the System.Beacon.Fencing.PositionCalculator unit, where you can find the necessary classes used to estimate the current position of your BLE device in a specific map. The default implementation of TPositionCalculator embeds the main functionalities of a particle filter algorithm optimized for localization tasks. In particular, this particle filter corresponds to a Monte Carlo Localization algorithm.
Adding App Background Support for iBeacons on iOS
If you use iBeacons in your App you need to allow your application to run in background so that the BLE device wakes up to handle bluetooth events. Add support for Core Bluetooth background execution modes by adding the UIBackgroundModes key in the Info.plist file of your project. You can add this key in the IDE by using its menu: File > Project > Options > Version Info:
- Click the last key listed.
- Press down arrow key to create a new key.
- Introduce the key UIBackgroundModes and value bluetooth-central.
Try BeaconFence Today for Free
To use BeaconFence, you need to be a current RAD Studio XE8 Update Subscription customer. Launch the GetIt Package Manager in RAD Studio XE8 to request a free “Pluto” license. Use GetIt to install the BeaconFence components and runtime library. You can build and deploy iOS, Android and Mac OSX applications using BeaconFence with support of up to 3 beacons, for 1 location (building size of up to 1,500 sq ft / 150 sq meters) and 1 application. For additional development and deployment capabilities, contact Embarcadero Sales and Reselling Partners to upgrade your BeaconFence plan.
Additional Resources
BeaconFence product information
- BeaconFence product page - http://www.embarcadero.com/products/beaconfence
- BeaconFence press release - http://community.embarcadero.com/index.php/article/news/16150-embarcadero-unveils-indoor-outdoor-application-proximity-solution
Beacons, Beacon Fencing, and the Internet of Things - http://community.embarcadero.com/index.php/blogs/entry/beacons-beacon-fencing-and-the-internet-of-things
Building Proximity Aware Applications using Beacons in RAD Studio XE8 - http://community.embarcadero.com/index.php/blogs/entry/building-proximity-aware-application-with-rad-studio-xe8
What to do with beacons before you code - http://community.embarcadero.com/index.php/blogs/entry/what-to-do-with-beacons-before-you-code
Technical Skill Sprint Replay highlighting Beacon Support in XE8 - http://embt.co/sprint-prox-beacons
News articles about companies and locations that are using Beacons
- Macys - http://www.mediapost.com/publications/article/234217/4000-beacons-coming-to-all-macys-stores.html
- Marriott - http://www.adweek.com/news/technology/marriott-tests-hotel-beacons-loyalty-program-perks-158850
- Duane Reade - http://www.nfcworld.com/2014/05/08/329007/duane-reade-installs-bluetooth-beacons-ten-new-york-stores/
- Lord and Taylor - http://www.mediapost.com/publications/article/231639/lord-taylor-sees-promise-in-beacons.html
- London’s Regent Street - http://www.footmarks.com/beacons-regent-street/
- KLM Schiphol Airport - http://www.nfcworld.com/2014/10/01/331808/klm-uses-bluetooth-beacons-help-passengers-navigate-schiphol-airport/
- Amsterdam Beacon Mile - http://ibeaconlivinglab.com/
- San Francisco 49’ers Levi Stadium - http://techcrunch.com/2014/11/04/how-the-49ers-are-using-beacons-to-help-you-find-hot-dogs-and-beer/
Shop and Manufacturer sites where you can purchase beacons
We have tested ur software with a number of proximity beacons including:
You can find proximity beacons at your favorite online and physical electronics stores. You can also search for proximity beacons on Amazon. The "Hitchhikers Guide to iBeacon Hardware: A Comprehensive Report by Aislelabs" (May 2015) lists 26 iBeacon hardware vendors. Another good source for proximity lists is Beekn.net's "Guide to iBeacon Hardware".


Can I test that with Delphi XE8? or it would only work with RAD Studio XE8 Update Subscription?