Beacons with an on off button are popular for product/app development because they allow testing of going into and out of range without actually physically doing so. They also allow the battery to be turned off to save power when the beacon isn’t being used for testing.
However, don’t solely rely on the button for testing the beacons as they go out of and into range. Actually do some tests at the edge of the detection area. Determine how your app behaves as it continually sees the beacon appear and disappear, particularly on Android where, unlike iOS in background, the OS doesn’t impose a period that a beacon has to be out of range before it’s considered seen again. On iOS, also test at the edge of detection when the app is in background or not.
Another way of hiding beacons is to use a Faraday bag:
We often get asked the question which beacons are compatible with iOS and Android. All beacons, whether iBeacon, Eddystone or sensor beacons can be used with iOS and Android. The compatibility is achieved through the implementation of common Bluetooth standards on these mobile platforms.
However, there are some caveats:
Android only supported Bluetooth LE as of Android 4.3. Older devices can’t see Bluetooth beacons. Over 95% of users are on Android 4.3 or later so most people can see beacons.
Apple iOS doesn’t have background OS support for Eddystone triggering. While iOS apps can scan for, see and act on Eddystone beacons, the iOS operating system won’t create a notification to start up your app when there’s an Eddystone beacon in the vicinity.
Rather than beacons being compatible with iOS/Android, we find that there are more problems with particular Android devices not seeing beacons, when in background, due to some manufacturers killing background services.
Beacons don’t generally need to store data because they are just sending out their unique id. However, sensor beacons do sense values over time that you might want to collect later via, for example, an app coming close to the beacon. Specialist devices such as social distancing beacons need to store close contacts for later collection.
Beacons use a System on a Chip (SoC), such as the Nordic nRF51, that includes memory. Most of the memory is used for the internal functioning of the beacon. Newer versions of SoC, for example the Nordic nRF52, have more memory that allows data to be stored.
There are some sensor logger beacons that store sensor values but this tends to be restricted to temperature logging.
Most beacons’ configuration app have a setting for iBeacon ‘measured power’ or ‘RSSI at 1m’. This doesn’t change the power output by the beacon. Instead, it’s a value that’s put into the advertising data that declares to receiving devices what the power should be at a distance of 1 meter from the beacon. Receiving devices such as smartphones and gateways can use this to help calibrate a calculation to determine the rough distance from the beacon.
You don’t usually change this value and it’s actually rarely used. In most cases the value is irrelevant and can be ignored. However, if your app or receiving device does use this value, it’s best to first do some tests to see what the power level is in your particular situation. Things like the physical environment, blocking and beacon orientation can affect the actual power level at 1m. Set the value according to your particular scenario.
We sometimes get asked if we have a replacement for Estimote beacons. There’s no exact replacement because Estimote manufacture their own custom product and only allow their own beacons on their platform.
However, if your app doesn’t use the Estimote SDK and just detects iBeacon advertising using the standard iOS and Android Bluetooth libraries then you can use any iBeacon. Also see our post regarding compatibility.
TRBOnet is a 2-way radio dispatch system sold and supported by Motorola. It can use iBeacons to provide for locating where the Motorola radio GPS doesn’t work. This allows radios and hence people to be located indoors or undercover areas such as trees.
TRBOnet Plus will work with any iBeacons. The ones with higher battery capacity tend to be used so that batteries don’t have to be replaced for years.
The i3 is popular for use with TRBOnet as it takes AA batteries that can be easily sourced and the unit has screw tags for permanent mounting. Some sites also use USB beacons that can be powered from the mains via USB power supplies.
If you use the i3, or any beacon using AA batteries, we recommend you use lithium AA batteries rather than alkaline. This will not only provide a longer battery life but will also provide better resilience at lower temperatures.
We recently started selling beacons that can advertise LINE. This post explains LINE advertising with information on the packet format.
LINE Beacons are used with the LINE messenger service that allows users to send text, video, and voice messages on smartphones and the PC. It’s currently available in Japan, Taiwan, Thailand, and Indonesia. LINE have iOS and Android developer APIs that allow you to hook into the LINE service and include LINE services in your app. The LINE beacon allows your LINE code, called a bot, to receive beacon webhook events whenever a LINE user enters the proximity of a beacon. The beacons allow you to customise your bot app to interact with users in specific contexts. There’s also a beacon banner feature, available for corporate users, that causes a banner to appear in the LINE messenger app when it comes close to a LINE beacon.
Unlike iBeacon, LINE Beacon packets have a secure message field to prevent packet tampering and replay attacks. The secure data is 7 bytes long containing a message authentication code, timestamp and battery level. Secure messages are sent to the LINE platform for verification.
LINE recommend LINE beacon packets be sent at a very high rate of every 152ms. In addition, LINE recommend advertising iBeacon (UUID D0D2CE24-9EFC-11E5-82C4-1C6A7A17EF38, Major 0x4C49, Mino 0x4E45) to notify iOS devices that the LINE Beacon device is nearby. This is because an iOS app can only see iBeacons when in background and LINE beacons can’t wake an app.
We observe that the high advertising rate and concurrent iBeacon advertising aren’t battery friendly and the beacon battery isn’t going to last long.
Bluetooth beacons use Bluetooth LE, a low power version of Bluetooth to repeatedly send out a short amount of data typically up to 50m but in some cases hundreds of metres. The data usually includes an identifier in various standard formats such as iBeacon or Eddystone. It can also include sensor data.
The beacon advertising can be picked up by other Bluetooth LE devices such as smartphones, WiFi gateways to send to a server and single board computers such as the Raspberry Pi.
The key features are:
Low power and hence can work for up to years on battery power
Interoperability with a large number of other Bluetooth LE devices
The iB003N-PA has a range up to 300m because it uses the RFAXIS X2401C 2.4GHz amplifier to increase the range.
When you use the manufacturer app to change the power output by a beacon, you are changing the power output by the Nordic nRF51 System on a Chip (SoC) that is usually fed to the antenna. In the case of the iB003N-PA, the RFAXIS X2401C instead receives the signal, amplifies it and sends it to the antenna. The resultant change in output is:
SoC Setting
X2401C Output
0dbm
20dBm
4dbm
20dBm
-5dbm
15dBm
-10dbm
10dBm
20dBm is the maximum allowable output for class 1 Bluetooth. There’s no difference whether you set to 0dBm or 4dBm, the output will be 20dBm. Even at a low power setting, -10dbm, the amplified output is 10dBm which is relatively high compared to the nominal 0dBm for most beacons. That’s just over 3x the power (3dBm change is a doubling of power) of a normal beacon. You can see that this beacon is primarily designed for long distance and there’s no need to change the SoC power from the default 0dBm = 20dBm.
We sometimes get asked “What is iBeacon Technology?”. In terms of the beacon itself, iBeacon doesn’t imply much. The underlying Bluetooth does most of the hard work. iBeacon is only one of many possible formats of standard Bluetooth advertising.
The iBeacon advertising consists of three identifiers UUID, major and minor. We have an article explaining how these are usually set up.
The more useful functionality is in iOS itself. Apps can declare an interest in particular beacons and be triggered even when the app is not running. The triggering is usually used to cause a notification on the phone that the user can tap on to do more. If the app is already open, it can look for beacons and display appropriate app content.
Android may also trigger and scan for iBeacons but this is in the context of scanning for Bluetooth advertising as opposed to specific iBeacons.