Drogheda/01-Requirements/SRS.md

5.5 KiB
Raw Blame History

tags project author date status
project-drogheda
requirements
srs
Project Drogheda Helgen CTO 2026-06-20 Draft

Software/System Requirements — Drogheda HBOX RTK

What the Drogheda system must do and how well. Derived from the ICAVE field failures, the client review, and the productization goal (30 units by August across ICAVE/TIMSA/EIT/LCT). IDs are stable; trace fixes and tests back to them.

1. Scope

A vehicle-mounted, cabinet-housed RTK GPS tracker (HBOX) that streams RTK-corrected position over 4G to the backend (retranslator → Wialon/Traccar → VERONICA), survives a harsh, hot, high-vibration port environment, and is manufacturable and serviceable at fleet scale.

2. Functional requirements

ID Requirement Priority
FR-1 Acquire GNSS position via simpleRTK2B Pro (ZED-F9P), multiband. Must
FR-2 Obtain RTCM3 corrections via NTRIP over 4G from the Helgen base station; achieve RTK fix/float in open sky. Must
FR-3 Emit NMEA (GGA+RMC) and deliver it via UDP to the backend at the configured rate. Must
FR-4 Rate control: 1 Hz when powered+ignition-on; 30 s on battery/idle (power saving). Must
FR-5 Watchdog recovery: detect loss of corrections / NMEA silence and recover by power-cycling the RTK+4G stack with exponential backoff; never enter an infinite fast-reboot loop. Must
FR-6 Degraded reporting: when corrections can't be restored, keep reporting standalone GPS (LIMP) instead of going offline. Must
FR-7 Power management: run on cabinet 24 V; ride-through / battery behavior per the chosen battery strategy; protect the cell (no charge >45 °C if a cell is retained). Must
FR-8 Field-readable status LED (boot / running / battery / searching / LIMP / power-cycle / sleep). Should
FR-9 Per-unit identity (cell_id) and provisioning (UART config, unique ID, NVM save) repeatable per the SOP. Must
FR-10 SIM/data-chip serviceable without full disassembly. Should
FR-11 Observability: log MCU/enclosure temperature, battery V, fix quality, reset events for field diagnosis. Should
FR-12 Backend: ingest from many units concurrently without head-of-line blocking; forward valid fixes to Wialon; anti-jump filter must never permanently lock out a healthy unit. Must

3. Non-functional requirements

ID Requirement Target
NFR-1 Thermal Operate continuously inside the sealed cabinet in Veracruz sun. Internal components rated/derated for ≥75 °C; enclosure is ASA (UV-stable, ~95–100 °C — no PLA-class material in the thermal path); measured cabinet-interior target set from a sunny-shift log.
NFR-2 Vibration Survive continuous heavy-machinery vibration (RTG, reach stacker). No Dupont/hand-wire; locking connectors; retained boards; conformal coat. Target ≥2 G per spec sheet — validate.
NFR-3 Ingress Maintain IP67; no internal condensation. Sealed; Gore vent for pressure/humidity; cooling via conduction only (no IP-breaking vents).
NFR-4 Electrical Tolerate the machine electrical environment. Surge/breaker/ignition isolation handled at the cabinet (Phoenix SPD + breaker + SSR); HBOX adds a modest local TVS + reverse-polarity.
NFR-5 Availability Minimize Wialon disconnects per unit. No reset loops (FR-5); backend HOL-block eliminated (FR-12); define a monthly availability SLO once stabilized.
NFR-6 Maintainability Serviceable, documented, repeatable. One PCB; labeled; test points; published BOM; SIM access (FR-10).
NFR-7 Scalability Backend handles fleet scale. ≥500 concurrent units without drop under realistic (slow-upstream) load tests.
NFR-8 Security No secrets in the repo. Rotate the committed MSSQL password; secrets via env/secret store; least privilege.
NFR-9 Manufacturability Buildable for the August batch. Production BOM locked; assembly doc; pilot units validated before fleet.

4. Constraints & assumptions

  • HBOX input is the cabinet's regulated 24 V + an isolated ignition signal.
  • The cabinet (Yetlebox IP67 ABS + DIN industrial parts) stays; the redesign targets the HBOX internals + thermal/mechanical.
  • ZED-F9P (−40…+85 °C) is not the thermal weak link; the 18650/PowerBoost and 4G modem are (the ASA case is adequate).
  • Corrections flow over 4G, not the GNSS (drives FR-5/FR-6).
  • Firmware must be bench-validated before field flash (no STM32 build in sandbox).

5. Acceptance criteria (high level)

  • A unit on the bench: boots, gets RTK fix/float, transmits, and recovers automatically from a forced 4G/NTRIP outage within the backoff window without looping (FR-5/6).
  • Backend: under a 500-unit slow-upstream load test, no unit is dropped and no unit is permanently filtered out (FR-12, NFR-7).
  • Thermal: a unit survives a full sunny-shift soak at the measured cabinet interior temperature with no enclosure deformation and no battery over-temp (NFR-1).
  • A pulled unit's logs distinguish hardware death from backend victimhood (FR-11).

Open Questions

  • Battery strategy (drop / LiFePO4 / supercap) → finalizes FR-7, NFR-1.
  • Confirm the 2 G vibration claim and IP67 after the thermal mods (NFR-2/3).
  • Define the numeric availability SLO (NFR-5) once the fleet is stable.