Skip to content

Feat/ble trilateration.#12

Open
MatteoCnda1 wants to merge 4 commits intomainfrom
feat/ble-trilateration
Open

Feat/ble trilateration.#12
MatteoCnda1 wants to merge 4 commits intomainfrom
feat/ble-trilateration

Conversation

@MatteoCnda1
Copy link
Copy Markdown

Summary

Add a BLE trilateration indoor positioning example using aioble and
steami_screen. Closes #413

Changes

  • Added BLE/Trilateration_positioning/main.py: single-file example running on
    4 STeaMi boards (3 beacons + 1 mobile)
  • Mode selection via D-PAD menu:
    • BEACON mode: select beacon ID (M1/M2/M3), advertise continuously,
      LEFT to return to menu
    • MOBILE mode: scan all 3 beacons, trilaterate position, display
      live dot on OLED map
  • Per-beacon path loss model calibrated on site:
    • RSSI measured at 1m and 2m with nRF Connect
    • n computed per beacon: M1=3.99, M2=4.32, M3=2.66
  • Multi-layer filtering pipeline:
    • Moving average on RSSI (8 samples)
    • Distance clamped to 430cm to avoid aberrant values
    • Trilateration result rejected if too far from centroid
    • Exponential smoothing on position (alpha=0.15)
    • Minimum movement threshold (15cm) to suppress jitter
  • Beacon coordinates measured on site (triangle formation):
    • M1=(0,0), M2=(420,0), M3=(330,278) in cm

Checklist

  • Tested on hardware (STeaMi board)
  • Position accurate near beacons, stable at triangle center
  • Examples added (BLE/Trilateration_positioning/main.py)
  • Commit messages follow <scope>: <Description.> format

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant