Introduction

iBeacon is Apple’s version of bluetooth-based technology, a new class of low-powered, low-cost transmitters that can notify nearby iOS 7 or 8 devices of their presence, which allows Bluetooth devices to broadcast and receive small amount information within short distances. In simple words, it consists of two parts: a broadcaster and a receiver. The broadcaster is always advertising or broadcasting packets to notify other devices about its presence, while the receiver detects these beacons and do whatever it needs to do based on how close or far it is from them.

Broadcaster: Beacon device works as an Advertiser or Broadcaster

Receiver: iBeacon Smartphone app works as a receiver

The underlying technology (BLE) was created by Nokia, and the concept of “beacons” is universal to all hardware compatible with Bluetooth Smart/BLE that is available under the Bluetooth 4.0 specification. “iBeacon” was introduced by Apple as the first platform to bring the technology to the masses.

Think of iBeacon as small lighthouse. Normally, an app is the observer, while the broadcaster/transmitter can be one of the popular beacon devices available on the market, a USB Bluetooth dongle, a computer with Bluetooth Low Energy-compatible adapter, an iPad or an iPhone. The broadcasting side only sends data. The standard beacon advertisement consists of an UUID, including major value and minor value only.

zymr-uuid

UUID: 24FC0FB1-A394-4831-B9C5-AD7B8F6EFC98
Major ID: 1
Minor ID: 2

  • UUID (Universally Unique ID):16 bytes unique sequence usually expressed as a hex string. Beacons in a specific location might all have the same UUID, or beacons manufactured by a particular vendor, and so forth.
  • Major Value: 16-bit or 2 bytes unsigned integer. For example, this could define a sub-region within a larger region defined by the UUID.
  • Minor Value: 16-bit  or 2 bytes value allows further subdivision of region or use case, which the application developer specifies.

Example: If we deploy beacon devices in chain of grocery stores  and make an app that can tell the user once he/she arrives at a specific store, they would define a UUID that is unique to their app and the beacons inside their stores. Inside the stores, they would place beacon devices and configure each of them to use a different “minor” value. For example, at the store A, they would place all beacon devices broadcasting the same UUID, major value 0, minor 1 near the door, minor 2 near the ingredients display and minor value 3 near the cashier. At store B, they would use the same UUID, but major 1 and minor values according to the location inside the store.

With the information broadcasted by each beacon, an app can detect them and tell how close the phone is from each item inside store and perform actions, such as displayalerts to the user, offer discounts, turn lights on and off, open doors and so on.

This table demonstrate real time implementation of iBeacon

Location Ahmedabad Delhi Mumbai
UUID 24FC0FB1-A394-4831-B9C5-AD7B8F6EFC98
Major

 1

2 3
Minor Clothes 10 10 10
Footwear 20 20 20
Electronics 30 30 30

iBeacon as a Software – Core Location and Core Bluetooth API

Prior to iOS 7, Core Location used regions defined by a geographic location (latitude and longitude) and ‘geofence,’ basically a radius. iBeacon enables a new level of flexibility by defining regions with an identifier.

Privacy and Location

As iBeacon is part of the Core Location, and the same user authorization is required in order to use the core location services.

[See Also: WatchKit for iOS Apple Watch]

Accuracy of iBeacon

To ensure an effective user experience, it is important to consider how signals from a beacon are detected and used to establish accuracy. When an Apple device detects a beacon’s signal, it uses the strength of the signal (RSSI – Received Signal Strength Indication) to determine both proximity to the beacon, as well as the accuracy of its estimation of proximity.

The stronger the signal, the more confident the operating system can be about the proximity to the beacon. The weaker the signal, the less confident the operating system is about the proximity to the beacon.

As the device gets closer to the beacon, the received signal strength increases and therefore the accuracy of the proximity estimate increases. A device that is closer to a beacon will have a higher confidence about its proximity to the beacon emitting the signal.

However, just as GPS signal strength can be diminished by physical objects like buildings or being placed in a backpack, purse or pocket, so can a beacon’s signal strength. Loss of intensity of a signal, can be caused by many factors. Physical materials surrounding the beacon cause signal loss, may cause the device to believe that the beacon is further away than it actually is. The human body itself is an excellent attenuator of Bluetooth signals.

If your body is positioned between the device and the beacon then it will affect the signal strength and thereby lower the accuracy.

Region Monitoring

Similar to the existing geofence region monitoring, an application can request notifications when a device enters or leaves a region defined by a beacon. When an application makes this request to begin monitoring a beacon region it must specify the UUID of the iBeacon advertisement. Applications can monitor 20 regions, by using a single UUID in multiple locations.

[See Also: iOS WebSocket: Old Fashioned, New Style]

Ranging

Apple introduces a new set of APIs for determining the approximate proximity to a device using iBeacon technology, a process known as “ranging.” Based on common usage, Apple’s operating system applies filters to the accuracy estimate to determine an estimated proximity to a beacon. This estimate is indicated using one of following four proximity states:

zymr-ranging

  • Immediate: This represents a high level of confidence that the device is physically very close to the beacon. It is very likely that the device is being held directly up to the beacon.
  • Near: This would indicate a proximity of approximately 1-3 meters .If there are obstructions between the device and the beacon which cause attenuation of the signal, this near state may not be reported, even though the device is in this range.
  • Far: This state indicates that a beacon device can be detected, but the confidence in the accuracy is too low to determine as either near or immediate.
  • Unknown: The proximity of the beacon cannot be determined or that there are insufficient measurements to determine the state.

What is BLE?

Bluetooth low energy (Bluetooth LE, BLE, marketed as Bluetooth Smart) is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group (BSIG) aimed at novel applications in the healthcare, fitness, beacons, security, and home entertainment industries.

The major difference between the common Bluetooth protocol and BLE is that minimum energy is required for two devices to broadcast or detect BLE transmissions. Because low energy is the focus, the kind of data/information sent by these devices is also minimum, slim and very slow. That being said, a BLE device is not supposed to transfer audio, video or support any kind of application that requires high bandwidth or large amounts of data.

BLE communication consists of two main parts: advertising and connecting.

Advertising is a one-way discovery mechanism. Devices which want to be discovered can transmit packets of data in intervals from 20 ms to 10 seconds. The shorter the interval, the shorter the battery life, but the faster the device can be discovered.

Which smartphones and tablets support it?

Theoretically, any device compatible with Bluetooth version 4.0 and iOS 7 and above supports the technology necessary to detect iBeacon. The iPhone 4s, iPhone 5, iPhone 5s, iPhone 5C iPhone 6 , iPhone 6 Plus, new iPad, iPad Mini, and iPod touch (5th generation and above) all support iBeacon.

Everything you need to know about outsourcing technology development

Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.

Introduction Package

Source: zymr

This article was authored by Jay Kumbhani, who is a Senior Director of Engineering at Zymr.

0 comments

Leave a Reply

© 2019, Zymr, Inc. All Rights Reserved.| LEGAL DISCLAIMER | PRIVACY POLICY | COOKIE POLICY