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

Combining Wake Up Radio (WUR) and Bluetooth LE

There’s interesting new research from University of Oulu, Finland, on Wake-up radio enabled BLE wearables: empirical and analytical evaluation of energy efficiency.

Wake Up Radio (WUR) uses a very low power device that senses a radio signal to switch other devices, in this case a Bluetooth LE transmitter. A AS3930 WUR senses a signal in the range 110-150 kHz and switches a Texas Instruments Bluetooth CC2640R2 LaunchPad board.

The idea is that usually Bluetooth LE advertises every say 100ms to 1000ms and this is wasteful on battery power if the advertising is only needed for short periods of time. The paper assesses the feasibility of using WUR to turn advertising on and off to save battery power. While this is in in the context of wearables, the authors don’t mention much more regarding what might switch the beacons to advertise, other than:

The transmitter of this wake-up signal, which is usually a less restricted device, might be integrated with the communication infrastructure or deployed as an independent system element

The authors later mention healthcare so perhaps wearable beacons might only transmit when needed in particular areas.

It’s also mentioned that WUR can mitigate against the problem of interference when many Bluetooth devices advertise at the same time. This problem is rare and requires a very large number of devices. The authors later mention healthcare but this is unlikely to be a problem. A warehouse with thousands of assets might be a more realistic scenario. In this case, you could envisage wanting a Bluetooth beacon only transmitting when invited to do so.

The paper has some useful charts showing usual Bluetooth power use over time (without WUR):

You can see the periodic advertising which isn’t regular due to the 10ms long pseudo-random delay between advertisements. This is the part of the Bluetooth standard that helps ensure two device that collide usually don’t do so the next time they advertise. In between advertising, the power use a very low 0.3 µW.

The paper shows that energy consumption of the system as a function of the number of wake-ups in a period of time and the maximum application-level latency:

The paper concludes that the WUR approach can be more energy efficient when the desired latency for data delivery is below 2.11s. Even though the consumption of the WUR is low, it unfortunately exceeds the level of a BLE only system sleep mode by almost two orders of magnitude.

In our opinion the researchers are trying to improve on something that is already very low power. In between advertising, power use is extremely low. A CR2477 battery in a Bluetooth wearable can advertise periodically for up to 3 years. Also, for the wearable scenario, it’s more normal to use a low power accelerometer to only have the wearable transmit when moving. This way the battery lasts an extremely long time that’s limited more by the physical lifetime of the battery (5 to 10 years) rather than battery consumption.

View Sensor Beacons

Bluetooth Sensing for Agriculture

There’s recent research into Development of Sensors-Based Agri-Food Traceability System Remotely Managed by a Software Platform for Optimized Farm Management.

The paper describes an IoT-based smart traceability and farm management system that calibrates irrigation and fertilisation based on crop typology, growth phase, soil and environment parameters and weather information.

The system uses a custom built Bluetooth LE sensor tag that’s fixed to containers agri-food products collected from the fields, being processed or stores. The sensor monitors gas, temperature and humidity that indicates whether the foods are spoiling over time or along the supply chain. The tag also supports traceability. A mobile application monitors the tracked information and condition of the agri-food products.

The sensor tag uses a HM-10 BLE module and CCS811 (gas) and BMP280 (temperature and humidity) sensors that were chosen to provide reliable markers of the freshness status of vegetables, meat and fish. The gas sensor measures Total Volatile Organic Compounds (TVOCs) and equivalent CO2 (eCO2) concentrations for air quality monitoring applications.

The developed system schedules irrigation and fertilisation according to the crops’ need reducing under or over watering thus minimising plants’ stress.

Smart farming allows farmers to control, in real time, the growth and harvest of cultivated crops. It allows agricultural companies to increase yields, nutritional quality and improve safety. It reduces production costs and the negative impacts on the environment for economic, environmental and social sustainability.
View Sensor Beacons
View Gateways