Bluetooth LE (BLE) Real Time Locating System (RTLS) API

Our BeaconRTLS™ locates valuable plant tools in manufacturing/construction and tracks parts and sub-assemblies. In healthcare it tracks high value equipment, monitors the location and temperature of medicines and saves time searching for equipment and monitoring vulnerable patients. For smart buildings, it tracks valuable assets, monitors lone workers and automatically locates people or students for safety and evacuation.

When we designed v2 of BeaconRTLS™ we purposely omitted any reporting. While the system creates alerts for situations such as area entry/exit, unexpected movement and missing assets there are no text or pdf based reports. For v1, we found that each customer needed different output reporting data. Some needed textual reports, others pdfs, Excel or electronic links to other systems. Some needed current information, historical, special subsets or calculated data. The required data also tends to change over time. For example, room occupancy has recently become important due to the Covid pandemic.

Instead of fixed reports, all the data in the system is open and accessible via a HTTP REST API which makes the system very flexible. Open doesn’t mean insecure because the API can use SSL (https) and authentication (needs a special key to access). We can create reports and part of your solution but it’s simple enough that we find many customers are able to do this themselves. The BeaconRTLS™ user guide provides examples how to use the REST API.

The BeaconRTLS™ API can be used from generic report writers such as jsreport, Jasper and other report writers. Excel Power Query , that comes free with Excel, is useful as it allows importing of data into Excel using a HTTP REST query which can be set up to automatically refresh every so often. Once in Excel, there’s a huge number of ways data can be re-formatted, combined, filtered, presented and forwarded.

The main output information in BeaconRTLS is provided as BeaconLocation data that has the following format:

{
"dateTime": "2020-07-10T10:56:42.809Z",
"RSSI": 0,
"beaconMACAddress": "string",
"gatewayMACAddress": "string",
"beaconType": "string",
"beaconColour": "string",
"beaconLabelAttributes": "string",
"temperature": 0,
"humidity": 0,
"accelerationX": 0,
"accelerationY": 0,
"accelerationZ": 0,
"batteryPercentage": 0,
"batteryVoltage": 0,
"magneticSwitch": true,
"moving": "string",
"proximity": true,
"airPressure": 0,
"lightLevel": 0,
"buttonPress": true,
"id": "string",
"beaconId": "string",
"nearestGatewayId": "string",
"areaId": "string"
}
]

For example, the following REST query fetches the beacon, gateway and time for most recent 20 beaconlocations:

http://<your ip or domain/api/beaconlocations?filter[fields][beaconMACAddress]=true&filter[fields][gatewayMACAddress]=true&filter[fields][dateTime]=true&filter[limit]=20&filter[order]=dateTime%20DESC

Putting this into Excel Power Query gets the data directly into Excel.

Read about BeaconRTLS™