There’s a new Direction Finding video at the Bluetooth SIG.
It explains real time locating systems (RTLS), Angle of Arrival (AoA) and Angle of Departure (AoD). The video has been created by Ellis who create hardware Bluetooth analysers.
iBeacon, Eddystone, Bluetooth, IoT sensor beacons, apps, platforms
There’s a new Direction Finding video at the Bluetooth SIG.
It explains real time locating systems (RTLS), Angle of Arrival (AoA) and Angle of Departure (AoD). The video has been created by Ellis who create hardware Bluetooth analysers.
There’s a useful new webinar at the Bluetooth SIG on The Myths & Facts About Bluetooth® Technology as a Positioning Radio. Fabio Belloni from Quuppa explains the main Bluetooth myths and facts:
Gabriel Desjardins from Broadcom mentions how location technologies have overcome the peak of inflated expectations caused by UWB and are now in the plateau of productivity provided by Bluetooth LE.
Andrew Zignani shows the results of a survey on RTLS from 213 C-Level decision makers across five main verticals. Only 13% of businesses have already deployed RTLS and there will be a increased uptake over the next 5 years. Technology fragmentation and operational/maintenance cost are incorrectly seen as the barriers to adoption. The new Bluetooth AoA direction finding standard is easing fragmentation. The maintenance cost is actually very low compared to the ROI in most scenarios. Most want beacon battery life to be 90+ days and cost to be $11-$20 that are easily achievable with today’s beacons.
As mentioned in our article on Using Bluetooth Low Energy (LE), Bluetooth devices such as beacons repeatedly advertising their id and for sensor beacons they advertise their sensor information.
Something needs to listen which is usually a smartphone app, a gateway or a computer such as the Raspberry Pi. These devices process the advertising to show information on a map, in a dashboard or forward on to other systems, possibly as alerts. In the case of a gateway, the information is usually sent to a local server or cloud server. The app, computer or cloud server functionality usually involves custom programming but what if you could do this with no code?
There’s a general move towards using more ‘No-Code’ and ‘Low-Code’ Development. This is where common functionality is wrapped into components that are joined together using a user interface. There are many proprietary examples most of which involve subscriptions, SaaS, lock-in and unknown longevity that makes them unsuitable for enterprise grade solutions. Conversely, we are a fan of Node-RED that provides open source flow-based programming that we have used on customer projects. Don’t be deceived by the user-interface. This is not a toy and is being used in production by many companies.
Node-RED started in 2013 as a side-project by Nick O’Leary and Dave Conway-Jones of IBM’s Emerging Technology Services group. It has since been open-sourced, continually developed and it moved to the JS Foundation in 2016.
Node-RED provides a flow-based editor that allows you wire together just about any type of input, for example, Bluetooth, HTTP, MQTT to any type of output. It also has components to generate a simple UI dashboard with widgets. There’s a large number of nodes including Bluetooth that you can import and use for input, processing and output. You can develop and run on Linux or Windows. Everything is done using a web user interface. You can run on, for example, a Raspberry Pi, AWS, Azure or more usefully for Bluetooth, on edge Linux devices.
We like to use Node-RED on Mini-PC devices, such as Intel NUCs, running Linux. We don’t use Raspberry Pi because running from SD cards eventually becomes unreliable, although a recent feature does allow booting and running from any USB device. The flexibility of the hardware you can use with Node-RED contrasts with many other IoT solutions that end up being obsolete due hardware becoming end of life.
It’s relatively easy to set up a flow to read Bluetooth advertising. It’s also possible to use HTTP or MQTT input to receive and process data from Bluetooth gateways. We have even run AI Machine Learning, for learning and inference, within within a Node-RED flow.
Using tools such as Node-RED is quick and easy compared to coding. Node-RED is free, open-source, stable and is still being improved over time. However, there comes a stage where you eventually need to run code. Some components allow running arbitrary JavaScript to transform data from the input to output of a node. This is sometimes better than trying to connect together and configure lots of nodes to do the same thing.
Another limitation is that it’s not possible to create an installable product with Node-RED. You can export and import project flows which isn’t something you can sell as a product. The output UI is also limiting. You have to design your UI around what’s possible. More complex solutions also end up with very complex flows and sub-flows that get more difficult to understand. While you don’t need to code, you still need someone with similar analysis and problem solving skills.
For high throughput systems you will also hit performance problems. Node-RED is based on Node.js that uses a JavaScript runtime. Compiled languages such as c, c++ and Rust reduce latency, reduce CPU usage by up to 75% and memory usage by up to 95% compared to Javascript. It’s also difficult to move a solution to compiled code should that be needed in the future.
Nevertheless, Node-RED provides a no-code or low-code tool for some one-off solutions that would otherwise be too effort-intensive or expensive.
More about BeaconZone custom solutions
A Real-time locating system (RTLS) automatically tracks the location of objects or people. Beacons, sometimes called tags, are placed on things that move and gateways, sometimes called locators, detect the beacons and send data to software either locally or in the cloud. A user interface shows the current locations.
Most organisations looking for a RTLS for the first time don’t know what aspects of systems are most important. People usually focus on maximum accuracy when, in fact, a system with maximum accuracy involves consequent undesirable compromises. Some suppliers’ marketing also focuses on performance that’s only achievable in a lab or factors that might seem important now but will become less important when other issues are known. In practice, every situation is different and you need to balance factors based on your needs.
Number of Assets
The number of assets you need to track usually has largest influence on the type of system you should consider. All systems are limited by how much data they can process. More accurate systems such as Ultra-Wideband (UWB) and Bluetooth AoA produce more data and hence support a lower maximum number of assets. However, the actual number depends on many factors such as the underlying hardware speed, the network speed (i.e. is local or in the cloud) and settings within the RTLS system itself.
Scalability
When talking to vendors, it’s important they assess the number assets you will need in the future, as well as now, so as to not outgrow a system. Scalability isn’t only about assets. It also involves the number of gateways, the degree to which they overlap physical areas, thus producing more data for more accuracy, and the scalability of subsequent processing software.
API
The use of RTLS is much like the Internet of Things (IoT) in that everyone wants to get something slightly different out of the data. If you require something other than searching for assets, this means you or your vendor will need to write reports, scripts or use reporting tools such as Grafana to extract insights. The RTLS should have an API, usually using HTTP REST, to extract data. If you have local access to the system, it’s often more flexible and faster if you can also gain direct access to the underlying database for reporting. This also opens up the number of off-the-self reporting tools that can be used.
Most systems have a user interface where you can add and remove beacons and gateways. However, imagine doing this for 1000s of assets. Look for an API to allow you to add, modify and view beacons and gateways programmatically. This allows other programs such as apps, ERP, WMS, your custom systems and scripts to simplify integration.
Flexibility
In reality, systems tend to get re-used for more than one use case as the organisation’s digital maturity grows. Check the system provides suitable access to the data for future uses. Ensure various beacon models are available for those anticipated uses.
Accuracy
As previously mentioned, the best accuracy isn’t always the top consideration. Our article on microlocation accuracy explains the different kinds of system and corresponding accuracy. Note also, that many RTLS have settings that balance accuracy with latency and maximum number of assets.
Latency
Latency is how long it takes to know a new location after something has moved. A shorter latency requires the assets to send data more often thus decreasing asset battery life. More data also implies a fewer maximum number of beacons.
Battery Life
As mentioned, above, the frequency of beacons advertising their location directly impacts beacon battery life. Systems such as UWB and Bluetooth AoA tend to have beacons advertising more often to allow higher accuracy. However, look for beacons that have accelerometers that advertise more often only when moving thus saving battery life.
License Type
Consider if you need a system locally, in the vendor’s cloud or your own cloud. For thousands of assets, reporting frequently for low latency, you will need the system to be local. If you are using SaaS you will also need to consider issues such as the service level agreement (SLA) and the location of the server for privacy requirements such as GDPR. Another issue related to SaaS, particularly with VC start-ups, is the longevity of the solution. Is the vendor going to be providing the platform as long as your project? Some early beacon platforms have already closed. Others have been taken over by large companies that have other agendas.
Security
You need to assess the security of the proposed system. This includes factors such as logins, SSL, secure APIs and the security related to the location/hosting of system.
Price
As well as the headline price, also consider if the solution is financially scalable once you increase the number of assets and gateways. Also determine if future costs are known and acceptable.
Summary
Remember that the ‘best’ RTLS is not the one the vendor claims as best for some arbitrary feature but instead is the one that best suits your needs. You will need to balance the needs of the project with the capability of the RTLS that offers the best fit.
A growing number of WiFi access point vendors such as Cisco and Aruba are offering Real Time Location Systems (RTLS). While using existing hardware might seem compelling, it’s sometimes not practical. Here are some questions to be answered when considering such systems:
The Department of Agricultural and Food Sciences, University of Bologna, Italy has been looking into CANBUS-enabled activity-based costing for leveraging farm management. They have created a methodology that helps farmers to make operational decisions and create data that can be used for input into farm management information systems (FMIS).
As an example, a study showing a tractor active for 59% of the time was idling for 25% of the time. Fuel and labour costs represented from 63% to 71% of the total cost per hectare. The tractor was equipped with a CANBUS logger and Bluetooth beacons on several tractor implements to automatically recognise agricultural operations. The data was processed to classify jobs by position (field, farm, or road) and operating state (moving, fieldwork, or idling).
With such systems, farmers can determine the economic impact of farm activities and compare historical data with previous farm practices or competitors’ activities. This helps farmers make more intelligent decisions regarding crop, land and farm operations management.
The Bluetooth SIG has a new Bluetooth Technology for Linux Developers Study Guide. It explains how Bluetooth is implemented in hardware as part of the main board or added using a USB dongle. The Bluetooth stack runs as a system service using BlueZ. BlueZ is accessed via inter-process communication (IPC) via D-Bus, a message-based system service. Applications use D-Bus and hence BlueZ.
While the study guide is helpful, we suggest you also explore the Bluetooth APIs available from your chosen programming language. We have never had to program at the D-Bus level. Take a look at the Node, Javascript, Arduino, c, c++, Rust, Python and Java Bluetooth APIs and libraries.
There’s new research from Department of Electrical and Information Engineering, Bari, Italy on A Linear Technique for Artifacts Correction and Compensation in Phase Interferometric Angle of Arrival Estimation that can be used with Bluetooth AoA Direction Finding.
The paper first discusses the main causes of error in AoA systems. This includes signal path length mismatches as avoided by the CoreHW AoA Hardware printed circuit board (PCB) tracks and mutual RF coupling effects that act on the antenna array.
The researchers devised and proved a technique to process IQ data to reduce systematic errors and first-order (linear) coupling effects. After a calibration phase they manged to reduce average absolute errors by more than a half in one test case more than a quarter in a second case.
Research on techniques such as this will make Bluetooth direction finding even more accurate.
Read about PrecisionRTLS™
Many people come to us asking for “programmable beacons” when in fact they want beacons with configurable iBeacon UUID, major and minor. All beacons allow the UUID, major and minor to be changed, usually via an iOS and/or Android app and sometimes via USB/UART for changing the values, over time, via a program. This is changing the settings rather than programming.
Truly programmable beacons are those where the internal software can be updated. The beacon contains a system on a chip that’s small computer running code to implement the beacon functionality. In most cases, the software can be updated via pads on the PCB:
Programming requires use of a programmer:
It can be difficult to program larger numbers so a custom-made jig is used:
It’s not possible to see and update the existing code in a beacon. Any newly uploaded program has to be created from scratch using c/c++ code. This is called embedded programming, is non-trivial and takes of the order of months.
Our BeaconRTLS™ and PrecisionRTLS™ produce a lot of historical data. How this data is used varies considerably from project to project. One use of the data is for determining human behaviour. For example, consumer behaviour, workplace safety behaviour, developmental child behaviour or other health-based analysis.
There’s recent research into Indoor Location Data for Tracking Human Behaviours: A Scoping Review that’s meta research in that it’s an analysis of past RTLS-based human behaviour research. The Canadian researchers looked into the varied ways behaviour can be extracted from RTLS data and the features that can extracted. They examined 79 studies using RTLS data to describe aspects of human behaviour. The most common use was to monitor health status, followed by analysing consumer behaviours, increasing safety, operational efficiency and investigating developmental child behaviours.
The main behaviour features were found to be dwell time, trajectory and proximity. While many papers were able to detect features and hence behaviours, few continued to clinically validate their findings. Beyond activity recognition, few took the opportunity to create models for use in their respective fields, for example, “detecting abnormal behaviours in older adults”. Such models might be used to provide useable baselines for behaviour and health monitoring.
The paper mentions using different locating technologies for different granularity. More specifically, RFID and IR technologies provide too low a level of granularity in location tracking that can prevent extraction of behaviours or continuous movement patterns. Conversely, UWB needs constant battery changing or recharging that can make data collection difficult.
The researchers conclude that while RTLS technologies provide a valuable tool to analyse patterns of human behaviours, future studies should use more complex feature analysis methods to make more of the richness of location-based data.