157 lines
5.1 KiB
Markdown
157 lines
5.1 KiB
Markdown
# Requirements: TCKRTUIYO - Rainfall Station RTU Web Interface
|
|
|
|
**Defined:** 2026-03-12
|
|
**Core Value:** Real-time rainfall and environmental sensor monitoring with automatic data transmission to myvscada server
|
|
|
|
## v1 Requirements
|
|
|
|
Requirements for initial release. Each maps to roadmap phases.
|
|
|
|
### Dashboard
|
|
|
|
- [ ] **DASH-01**: Display current rainfall readings (Today, Hourly, MAR Acc, Yearly Acc)
|
|
- [ ] **DASH-02**: Display solar voltage reading
|
|
- [ ] **DASH-03**: Display battery voltage with status indicator (HIGH/NORMAL/LOW)
|
|
- [ ] **DASH-04**: Display current date and time (HH:MM:SS DD-MM-YYYY)
|
|
- [ ] **DASH-05**: Display station ID
|
|
- [ ] **DASH-06**: Display communication status (signal strength, connection status)
|
|
- [ ] **DASH-07**: Display software version
|
|
- [ ] **DASH-08**: Real-time updates (auto-refresh or Socket.IO)
|
|
- [ ] **DASH-09**: Last updated timestamp indicator
|
|
|
|
### User Interface
|
|
|
|
- [ ] **UI-01**: Touch-optimized interface for 7" 1024x600 display
|
|
- [ ] **UI-02**: Large touch targets (minimum 48px)
|
|
- [ ] **UI-03**: Main menu navigation
|
|
- [ ] **UI-04**: Responsive layout for remote HD access (1920x1080 on port 9090)
|
|
- [ ] **UI-05**: Login/logout functionality
|
|
|
|
### Settings
|
|
|
|
- [ ] **SETT-01**: Station Info display and edit
|
|
- [ ] **SETT-02**: Date/Time setting
|
|
- [ ] **SETT-03**: Mobile network settings view/edit
|
|
- [ ] **SETT-04**: ADC channel configuration (4 channels, types: 4-20mA, 0-10vDC)
|
|
- [ ] **SETT-05**: Rainfall sensor settings (ID, thresholds)
|
|
- [ ] **SETT-06**: Water level threshold settings
|
|
- [ ] **SETT-07**: EVAP settings
|
|
- [ ] **SETT-08**: Network settings (IP, subnet, gateway, DNS, MAC)
|
|
- [ ] **SETT-09**: Protocol settings (FTP, SCP, SFTP, WebDAV server config)
|
|
|
|
### Calibration
|
|
|
|
- [ ] **CAL-01**: View live ADC readings (4 channels)
|
|
- [ ] **CAL-02**: View current sensor readings with units
|
|
- [ ] **CAL-03**: Reset rainfall counters
|
|
- [ ] **CAL-04**: Display channel type, ADC value, datum, reading
|
|
|
|
### File Management
|
|
|
|
- [ ] **FILE-01**: List CSV files in flash memory
|
|
- [ ] **FILE-02**: View CSV file contents
|
|
- [ ] **FILE-03**: Navigate file list (scroll up/down)
|
|
- [ ] **FILE-04**: Delete CSV files
|
|
- [ ] **FILE-05**: Generate tidEDA formatted files
|
|
|
|
### Backend
|
|
|
|
- [ ] **BACK-01**: Flask backend running on Raspberry Pi
|
|
- [ ] **BACK-02**: Sensor data API endpoints
|
|
- [ ] **BACK-03**: Settings API (read/write)
|
|
- [ ] **BACK-04**: File management API
|
|
|
|
## v2 Requirements
|
|
|
|
Deferred to future release. Tracked but not in current roadmap.
|
|
|
|
### Historical Data
|
|
|
|
- [ ] **HIST-01**: Historical rainfall graphs (daily, weekly, monthly)
|
|
- [ ] **HIST-02**: Historical voltage graphs
|
|
- [ ] **HIST-03**: Date range selection for historical view
|
|
- [ ] **HIST-04**: Export data to CSV
|
|
|
|
### Alerts & Notifications
|
|
|
|
- [ ] **ALERT-01**: Configurable rainfall threshold alerts (Warning, Danger)
|
|
- [ ] **ALERT-02**: Configurable water level threshold alerts
|
|
- [ ] **ALERT-03**: Visual indicators for alert states
|
|
- [ ] **ALERT-04**: SMS notification on threshold breach
|
|
|
|
### Advanced Network
|
|
|
|
- [ ] **NETW-01**: Automatic retry on transmission failure
|
|
- [ ] **NETW-02**: Transmission queue status display
|
|
- [ ] **NETW-03**: Manual trigger for immediate transmission
|
|
- [ ] **NETW-04**: Transmission log/history
|
|
|
|
### GPS Integration
|
|
|
|
- [ ] **GPS-01**: Display GPS coordinates
|
|
- [ ] **GPS-02**: Manual coordinate entry (backup to USB GPS)
|
|
|
|
## Out of Scope
|
|
|
|
Explicitly excluded. Documented to prevent scope creep.
|
|
|
|
| Feature | Reason |
|
|
|---------|--------|
|
|
| Third-party cloud integration | Direct server connection only per requirements |
|
|
| Mobile native apps | Web-first approach |
|
|
| Multi-station dashboards | Server handles aggregation |
|
|
| Real-time chat | Outside domain |
|
|
| OAuth authentication | Simple session-based auth sufficient for local device |
|
|
|
|
## Traceability
|
|
|
|
Which phases cover which requirements. Updated during roadmap creation.
|
|
|
|
| Requirement | Phase | Status |
|
|
|-------------|-------|--------|
|
|
| DASH-01 | Phase 1 | Pending |
|
|
| DASH-02 | Phase 1 | Pending |
|
|
| DASH-03 | Phase 1 | Pending |
|
|
| DASH-04 | Phase 1 | Pending |
|
|
| DASH-05 | Phase 1 | Pending |
|
|
| DASH-06 | Phase 1 | Pending |
|
|
| DASH-07 | Phase 1 | Pending |
|
|
| DASH-08 | Phase 1 | Pending |
|
|
| DASH-09 | Phase 1 | Pending |
|
|
| UI-01 | Phase 1 | Pending |
|
|
| UI-02 | Phase 1 | Pending |
|
|
| UI-03 | Phase 1 | Pending |
|
|
| UI-04 | Phase 4 | Pending |
|
|
| UI-05 | Phase 4 | Pending |
|
|
| SETT-01 | Phase 1 | Pending |
|
|
| SETT-02 | Phase 1 | Pending |
|
|
| SETT-03 | Phase 1 | Pending |
|
|
| SETT-04 | Phase 1 | Pending |
|
|
| SETT-05 | Phase 1 | Pending |
|
|
| SETT-06 | Phase 1 | Pending |
|
|
| SETT-07 | Phase 1 | Pending |
|
|
| SETT-08 | Phase 1 | Pending |
|
|
| SETT-09 | Phase 3 | Pending |
|
|
| CAL-01 | Phase 1 | Pending |
|
|
| CAL-02 | Phase 1 | Pending |
|
|
| CAL-03 | Phase 1 | Pending |
|
|
| CAL-04 | Phase 1 | Pending |
|
|
| FILE-01 | Phase 2 | Pending |
|
|
| FILE-02 | Phase 2 | Pending |
|
|
| FILE-03 | Phase 2 | Pending |
|
|
| FILE-04 | Phase 2 | Pending |
|
|
| FILE-05 | Phase 2 | Pending |
|
|
| BACK-01 | Phase 1 | Pending |
|
|
| BACK-02 | Phase 1 | Pending |
|
|
| BACK-03 | Phase 1 | Pending |
|
|
| BACK-04 | Phase 2 | Pending |
|
|
|
|
**Coverage:**
|
|
- v1 requirements: 41 total
|
|
- Mapped to phases: 41
|
|
- Unmapped: 0 ✓
|
|
|
|
---
|
|
*Requirements defined: 2026-03-12*
|
|
*Last updated: 2026-03-12 after initial definition*
|