Three fixed BLE beacons (A, B, C) each transmit at a known reference power. Each one's received signal strength follows the same log-distance path-loss model as a single scooter lock, but now a wall between the rider and a beacon adds a fixed attenuation per crossing:
RSSI_i(d) = A_ref − 10·n·log10(d) − L_wall·(walls crossed) + N(0, σ)
A_ref = RSSI at 1 m reference distance (−45 dBm)
n = path-loss exponent (2.0 = open room, 4.0 = cluttered/obstructed)
L_wall = attenuation added per interior wall the beacon-to-rider path crosses
The phone inverts each beacon's RSSI into a distance estimate exactly as a single-beacon lock would — but it has no way to know a wall was in the path, so a blocked beacon's estimated distance comes out systematically too large:
d_est,i = 10 ^ ((A_ref − RSSI_i) / (10·n))
With three distance estimates and three known beacon positions, the phone solves for its own 2D position by trilateration: subtracting the third beacon's circle equation from the other two linearizes the system into two linear equations in (x, y), solved directly:
2(x_i−x_3)x + 2(y_i−y_3)y = (x_i²+y_i²−d_i²) − (x_3²+y_3²−d_3²), i = 1,2
The dashed crosshair on the floor plan is that solved position; the line back to the true green dot is the live positioning error. Beacon A additionally drives the same debounced unlock logic as a single-beacon scooter lock — K consecutive samples above threshold before the solenoid fires — so you can watch a wall degrade the position estimate and stall the unlock at the same time.
- Drag the rider / auto-walk — move through the room; watch RSSI and the trilaterated position update live from three independent noisy signals.
- Path-loss exponent n & fading σ — same trade-off as a single beacon: more obstruction or noise widens the scatter of every distance estimate.
- Wall attenuation — crank it up and cross a wall to see one leg of the trilateration inflate while the other two stay accurate, dragging the estimated position off toward the blocked beacon.
- Threshold & K — tune beacon A's own unlock trade-off exactly as in a single-beacon system.
Real-world relevance: this is the same class of math behind indoor Bluetooth/Wi-Fi positioning (retail wayfinding, warehouse asset tracking, BLE-based indoor navigation) — and the same wall-shadowing failure mode that makes indoor GPS-free positioning much noisier than open-air proximity unlock.