iBeacon Deployment Performance Evaluation

There’s recent work by researchers at Hong Kong Polytechnic University on Performance Evaluation of iBeacon Deployment for Location-Based Services in Physical Learning Spaces.

The paper examines signal availability, signal stability and position accuracy under different environmental conditions. The aim was to provide recommendations for iBeacon deployment location, density, transmission interval and fingerprint space interval. While the research considered beacons in teaching and learning environments, the conclusions are also applicable to other situations.

The paper describes positioning using the trilateration and fingerprinting methods. Experiments were performed in a 3.44m to 1.80m classroom to determine optimum beacon placement density.

The main conclusion was that greatest signal attenuation and variation was caused by pedestrian traffic blocking the line of sight between iBeacon and receiver. High temperature and strong winds also caused minor discrepancies to the signals. Trees and nearby vehicle traffic didn’t have any negative effects on the signals.

Deployments should consider the line of sight as the first priority. For the above mentioned room size, positional accuracy increased when the number of beacons was increased from three to eight. Using more beacons didn’t improve accuracy. An average spacing of 4.4m is recommended for iBeacon deployment. A settings of 417ms transmission interval is advised as a compromise between battery life and positional accuracy.

Read Determining Location Using Bluetooth Beacons

Bluetooth Market Update

The Bluetooth SIG has published a new Bluetooth Market Update (pdf) based on new research by ABI Research that assesses how the pandemic has affected the market for Bluetooth devices and provides forecasts for the coming years.

The pandemic has impacted device shipments but future annual device shipments are expected to be greater than before the pandemic. Location based services slowed by 25% compared to pre-pandemic 2020 forecasts due to the difficulty in traveling and installing equipment within facilities. Growth is expected to return to pre-pandemic levels throughout 2021, rising to 550,000 implementations by 2025.

Microsoft Bluetooth Test Platform (BTP)

Microsoft has a Bluetooth Test Platform (BTP) that can be used to automate testing of Bluetooth hardware, drivers and software.

There’s recently been a new release of the Bluetooth Test Platform (BTP) software package that now provides support for a Bluetooth Virtual Sniffer (BTVS), a graphical tool that collects HCI packets between Windows and the Bluetooth radio controller. Packets can be viewed live in the packet analyzer tool.

Analyzer packet formats include Wireshark, Ellisys and Frontline. There’s a video with further information.

Track Bluetooth Low Energy Devices Using ESP32

ESP32 are small, low cost Bluetooth/WiFi boards that can be programmed using Arduino IDE. Shogunxam has a project, ESP32 BLETracker that detects Bluetooth LE devices and sends the information to a MQTT server.

The software provides a web interface that allows setting of the devices to be tracked, the scan period, MQTT parameters and viewing of the logs.

The project is open source on GitHub.

View Bluetooth Gateways

Mine Production Management Using iBeacons

There’s new research from Pukyong National University, Korea on Bluetooth Beacon-Based Mine Production Management Application to Support Ore Haulage Operations in Underground Mines.

The system uses apps and tablet PCs to provide efficient operation of an underground mine loading-transport system. Bluetooth beacons are attached to major loading points and crushing sites and a tablet PC is mounted on trucks that records the time Bluetooth beacons are seen and the location of the truck.

The research was performed in a limestone underground mine in Jeongseon, Korea. It involved 16 loading areas, 4 dumping points and 20 major transport routes.

Mine Levels and Beacons

The app outputs maps, information and voice guidance regarding location when receiving signals from Bluetooth beacons installed at the major points in the mine.

Bluetooth was used because of ease of installation, easy maintenance, no external power requirement and good battery life. The Minew i3 was used because it’s waterproof, works across a wide operating temperature, has a long range and the AA batteries are larger than coin cells so last a lot longer.

The beacons had to be set to maximum power (4 dBm) and transmit often (every 200ms) to allow the tablet PC on the fast-moving truck to receive the signal from the Bluetooth beacon. Wifi was used to transfer data to a central system.

The researchers identified how the Bluetooth system can easily cope with future changes in loading zones and expansion of the system. It provided automatic reports that previously had to be created by hand which wasn’t easy in an underground mine.

While the use is innovative, the system and architecture aren’t that different to systems employed above ground. We would have liked to see Bluetooth mesh beacons used that would have negated the need for Ethernet/WiFi connectivity in the tunnels.

Caching Information in iOS and Android Beacon Apps

If you are developing a beacon app to receive unique iBeacon and Eddystone ids (as opposed to URLs), an area you should think about is caching text, images and other media.

Beacons transmit unique ids and these ids need to match up with information held elsewhere, not on the beacon, that determine what the app does and what’s displayed to the user. The problem is that in many scenarios the beacons have to be placed where the user is likely to have no or poor Internet connectivity. Poor connectivity can be as just as bad as no connectivity if larger size media such as images needs to be downloaded.

Your app and sometimes server design might need to take into account the caching of information. Some of this information can usually be bundled with the app at the time of install while information that needs to be up to date might need to be fetched ahead of time. In some cases, you might need to use a combination of the two with information bundled with the app being replaced as new information becomes available.

Here are the kinds of things you need to think about:

  • What information is included at the time of install. In the extreme case, where you think a large number of people will be foreign and roaming, this could be all your information.
  • Whether the bundled information needs to be updated at the time of install.
  • A server side mechanism to determine when information is out of date and needs to refreshed. Such mechanisms should prevent the same information from being downloaded more than once.
  • A client, app side mechanism to get notified of information updates.
  • Whether the information is updated in app background or under control of the user.
  • For optimal display of images, provision of different size images for different (screen) size devices.
  • Strategies to reduce client device resources (battery) and server stress. This might include grouping associated information that’s likely to have to be used together.
  • What the end user sees when information is being updated or not available yet.
  • If and how information eventually gets purged to save space.

A alternative to complex caching schemes is to provide free on-site WiFi. This is particularly suitable for indoor visitor spaces such as museums and galleries. This way the app can be less complex and data fetched as needed. However, remember there will always be some people who, for security reasons, won’t connect to public WiFi.

Bluetooth Adaptive Frequency Hopping Overcomes Packet Interference

There’s a recent post by the Bluetooth SIG on How Bluetooth Technology Uses Adaptive Frequency Hopping to Overcome Packet Interference.

When two or more wireless devices transmit on the same frequency, if the transmissions overlap in time then the signal is corrupted. Bluetooth reduces such collisions by using 40 different frequencies called channels. A technique called adaptive frequency hopping (AFH) allows Bluetooth devices to avoid channels that are noisy or busy.

Bluetooth channels used by two connected devices

Of the 40 channels defined for use by Bluetooth Low Energy (LE), 37 of these channels are available for use during connected communication.

Channels used for advertising and scanning (in green)

Of the 40 channels, 3 are used for (one way) advertising and 37 for (two way) connections. In the case of beacons, they spend most of the time advertising sequentially on channels 37, 38 and 39. Connections and hence AFH are only usually used when setting up the beacons using manufacturers’ apps.

Advertise Eddystone Using node.js

We recently came across node-eddystone-beacon that advertises Eddystone using node.js (Javascript). It works across MacOS, Linux (including Raspberry Pi) and Windows but obviously requires the device to have a Bluetooth adapter.

The open source code advertises Eddystone-URL, Eddystone-UID and Eddystone-TLM. Examples are provided.

Our previous post mentioned node-beacon-scanner that provides for node.js Bluetooth scanning.

Retail Workforce Management Using iBeacons

SameSystem is a retail workforce management system. It prevents unnecessary costs due to overstaffing while ensuring sufficient staff during busy times.

The problem with retail is that there are many different shifts and staff frequently come and go so recording who is in or out can be difficult. SameSystem minimises manual clocking in and out by using iBeacons. Everything is automatic with the SameSystem knowing when staff arrive, leave or go on breaks. This allows stores to validate work hours and fine tune retail operations.

View iBeacons