iBeacons for PeopleHR

A growing number of checkin/checkout systems are using iBeacons. Having an iBeacon at an entrance to a building allows employees to be automatically clocked in and out. It provides confirmation that a worker did actually arrive at a certain place that day.

PeopleHR is one such solution that has information and a blog post on how to set up tap in and out using beacons.

Checkin/out systems use the iBeacon type of beacon because it can be detected on iOS (and Android) even when the app isn’t in foreground.

Dementia Anti-Wandering Using Beacons

The Hong Kong Multimedia Technology Research Center (MTREC) has an interesting project that implements a dementia anti-wandering system using iBeacons.

A paper (pdf) explains how it uses a novel multi-hop system to track targets using mobile sensors. The multi-hop approach extends the sensing area and reduces the deployment cost.

iBeacon Cooperative Tracking

The system uses a particle filter which analyses the temporal and spatial information of the targets to achieve 4.37m and 9.46m tracking error in a campus and a shopping mall respectively.

Read about Beacons in Life Sciences

Advanced Bluetooth on Android

Martin Woolley of the Bluetooth SIG was a recent speaker at Droidcon EMEA where he spoke about Advanced Bluetooth for Android Developers (slides).

Android Bluetooth LE Stack

Martin covered scanning, GATT, how to maximise data rates, speed vs reliability and using different PHY for enhanced range or data rates. The second part of the talk covers Bluetooth Mesh and proxy nodes.

One thing not mentioned in the slides, to be careful of, is that connection via a proxy node is relatively slow because it’s limited by the GATT connection. Proxy nodes are good for controlling (sending small amounts of data into) a Bluetooth Mesh but poor if you want to use the connected Android device as a gateway for all outgoing data.

Martin also has a blog where you can also learn about his past talks and he will be part of the new Bluetooth Developer Meetup.

Read about Beacons and the Bluetooth Mesh

Hospital Asset Tracking

There’s a new article on MyLondon on How this Putney hospital is using smart technology to track down life-saving equipment. It explains how Putney hospital is using sensors to track equipment, such as ECG machines, to make them easier to find. They are also monitoring the temperatures of fridges and the occupancy of rooms.

Hospital Asset Tracking Using Bluetooth

The time saving is incredible… there are thousands of more things the hospital would want to track in the future

Toby Roberts, Putney Hospital Associate Director of Information

At BeaconZone we have customers using beacons to track wheelchairs, porters carrying medicines and the location of vulnerable Alzheimer’s patients.

We have found the main problem with introducing new technology into hospitals is lack of funding. Anything outside purchasing for the frontline is de-prioritised. Health providers tend to have have blinkered priorities that work against efficiency and cost savings.

If you think about having three key nurses and a couple of health care assistants running around the hospital for half an hour to find a piece of equipment, even if you just add up their hourly rate, let alone the increase in service quality, it’s really quite an easy equation to justify

Toby Roberts, Putney Hospital Associate Director of Information

Read more about Beacons in Life Sciences

Bluetooth Developer Meetup

There’s a new (virtual) Bluetooth Developer Meetup group.

Developers will share their knowledge and tell their stories of working with everybody’s favourite low power wireless communication technology

The first event will be on 15th October 2020 at 17:30 UK time (UTC+1) and will include the following speakers:

  • Jacky Cheung, Google
  • Kevin Picchi, Samsung
  • Thea Aldrich, Foundries IO
  • Martin Woolley, Bluetooth SIG

Exercising Bluetooth LE GATT

Beacons send most of the time periodically advertising the same data. For setup, apps usually connect to them to set settings such as the advertising period, unique id and power level. The connection is performed using standard Bluetooth GATT.

Bluetooth LE devices connect to others via GATT. Devices such as fitness trackers and our social distancing beacons are regularly connected to, to download data. It’s also common to connect to sensor beacons to extract sensor data.

GATT is usually used via compiled code and it can be time consuming to test GATT devices and/or subsequently use the GATT interface in a flexible way. Should you need to do this, take a look at Bleak GATT client software capable of connecting to Bluetooth LE devices acting as GATT servers. It provides an asynchronous, cross-platform (Windows 10, Linux, Mac) Python API to connect and communicate with Bluetooth devices.

Understanding Bluetooth LE Advertising

There’s a new video of the Nordic Semiconductor webinar on Everything you need to know about Bluetooth LE advertising. It covers the basics of Bluetooth LE including advertising and data formats. It explains how to use the nRF Connect SDK API and provides a demo. It also shows how to use nRF Sniffer to examine Bluetooth LE data packets.

Bluetooth LE Advertising Channels

The presentation and Q&A are also available.

The video mentions advertising extensions. These are only in Bluetooth 5. Most current devices only support Bluetooth 4.2 legacy advertising. Growth in numbers Bluetooth 5 devices has been limited due to the non-compatibility with the majority of smartphones. It’s for this reason that devices that are Bluetooth 5 usually communicate using, backward compatible, legacy advertising. Extended advertising is also an optional feature of Bluetooth 5.

iBeacon Scanning and Region Monitoring on iOS 14

On iOS 14, Apple has changed the permissions required for iBeacon region ranging and monitoring. There’s a new Precise Location permission that needs to be set to ON for the app to continue to work. Apps that granted location permissions prior to iOS 14 default to Precise Location ON after upgrading so as not to break old code.

Apps should now detect if Precise Location is enabled. Apple has unfortunately deprecated the class function authorizationStatus(). The best way of determining whether you can detect iBeacons is to examine the location accuracy.

There’s an explanation on Medium by Nick Patrick and there’s a post on StackOverflow with an example how to detect whether Precise Location is on by examining the location accuracy.

Bluetooth App Insights from VMWare Pivotal Labs

VMware Pivotal Labs recently released Herald open source contact tracing for iOS and Android. Pivotal Labs was previously awarded three contracts worth £4.8m to develop a contact tracing app for the United Kingdom only for it to be abandoned for a new app based on the Google/Apple contact tracing mechanism.

Herald can’t be used for contact tracing unless you are a government agency because 3rd parties can’t publish such apps on the Apple app store. However, Pivotal Lab’s deep work in this area provides many insights into the use of Bluetooth on smartphones. The library itself also has other uses other than contact tracing:

  • Communication apps
  • File sharing between Android and iOS devices, reliably
  • Local ‘same location’ peer to peer applications, such as instant messaging or gaming apps
  • Safety apps
  • Using beacons in high-risk areas, an employee exposure app could accurate record exact exposure to hazardous environments
  • Also using beacons, know where to deep clean if an employee does fall ill at your large campus
  • Check in app – Walk around and be let in to secure areas automatically
  • Rescue app – e.g. for skiing/snowboarding avalanche rescue – find the hidden/non visible person. Could be fire in a large building, or rescue on a tube train

The documentation provides some useful information on technology approaches and OS specific issues.

Some insights:

  • Using scanning for 1-3 seconds with a gap of a few seconds between scanning uses 6-11% battery over 8 hours
  • Android phones’ speed when reading characteristics is significantly slower than write and acknowledge. Using write instead of read reduces the mean window times from above 8 seconds (minutes for some phones) to 0.5 – 4 seconds, depending on the handset. Use write characteristics wherever possible, and cache data to remove any redundant reads.
  • Apple iOS has a bug with background Bluetooth advertising where applications on two backgrounded iOS devices are not notified about each other. Two backgrounded iPhones cannot detect one other.
  • The background timer on Android sometimes gets stuck and might not wake for many minutes.
  • The way smartphones interpret Bluetooth signals to determine RSSI varies across Bluetooth chipsets. Some such as the iPhone 7 use a log approach while others use an inverse distance-squared scale. This affects accuracy if you subsequently use a common formula to derive distance from RSSI.

Read about Beacons for Workplace Social Distancing and Contact Tracing