Bluetooth beacons advertising iBeacon can be used to perform indoor locating using trilateration. Trilateration is where three receivers are used to measure signal strength (RSSI) to calculate the position.
![](https://www.beaconzone.co.uk/blog/wp-content/uploads/2021/09/trilateration-1.webp)
It’s possible to use ESP32 single board computers as Bluetooth receivers. The GitHub project iBeacon-indoor-positioning-demo has an example open source implementation. There’s also an accompanying blog post.
![](https://www.beaconzone.co.uk/blog/wp-content/uploads/2022/09/ibeacontrilateration-1024x919.jpg)
The implementation uses MQTT to send the data to a React app on a server where it’s displayed on a floorplan.
In practice, you might want to consider creating a more robust solution that uses Bluetooth gateways rather than ESP32 devices. There’s also the Bluetooth AoA Direction Finding standard that’s more accurate than using RSSI.