Skip to content

feat: multi-sensor aggregation in companion protocol #98

@dougborg

Description

@dougborg

Summary

Support receiving and aggregating NDJSON streams from multiple AirHound sensors in the companion app. This enables coverage extension (multiple rooms/angles), RSSI triangulation, and more robust detection — without any firmware changes.

Inspired by the ESP32DualBandWardriver's Node/Core ESP-NOW mesh, but adapted to AirHound's companion-centric architecture. Sensors don't talk to each other; the companion app handles all aggregation.

Protocol Changes

Companion-Side Design

  • Stream multiplexing — companion maintains N concurrent NDJSON readers
  • MAC deduplication — same device seen by multiple sensors is merged into one record
  • RSSI merge strategy — options: max (closest sensor), weighted average, or per-sensor history
  • Sensor health monitoring — detect disconnected/lagging sensors, alert on gaps

Deployment Patterns

  • Room coverage — sensors in different rooms, companion sees whole building
  • Perimeter monitoring — sensors at entry points, triangulate by which sensors see a device
  • Mobile + fixed — carry one sensor, leave others stationary for baseline comparison
  • Direction finding — with GPS-tagged sensors (feat: GPS integration and multi-sensor direction finding #15), RSSI from multiple angles enables coarse localization

Relates To

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureMulti-platform architecture and designenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions