Files
rtu_v5/.planning/PROJECT.md
2026-05-29 14:48:36 +08:00

70 lines
2.3 KiB
Markdown

# TCKRTUIYO - Rainfall Station RTU Web Interface
## What This Is
A modern web-based interface for a Base Station/Real-Time Unit (RTU) rainfall monitoring system, designed for a 7" capacitive touchscreen display (1024x600). The system monitors and logs rainfall and related sensors, transmits data to a server, and provides both a kiosk-mode local display and a full HD remote interface.
## Core Value
Real-time rainfall and environmental sensor monitoring with automatic data transmission to myvscada server.
## Requirements
### Validated
(None yet — ship to validate)
### Active
- [ ] Modern web UI for 7" touchscreen (1024x600)
- [ ] Dashboard with rainfall readings (Today, Hourly, MAR Acc, Yearly Acc)
- [ ] Solar/Battery voltage monitoring display
- [ ] Communication status indicator
- [ ] Settings/Calibration menus
- [ ] Flash memory file management
- [ ] CSV data transmission to server
### Out of Scope
- [Mobile app] — Web-first approach
- [Real-time chat] — Not relevant to monitoring use case
- [Third-party cloud integration] — Direct server connection only
## Context
**Target Hardware:**
- Raspberry Pi Zero 2 W (primary)
- Raspberry Pi 3B (alternative)
- 7-inch capacitive touchscreen 1024x600
**Software Stack:**
- HTML/CSS/JavaScript web UI
- Chromium Kiosk Mode for local display
- Python backend for sensor communication
- Network protocols: FTP, SCP, SFTP, WebDAV
**Existing System:**
- Current RTU runs on embedded system with 4-inch display
- Monitors rainfall sensors (RF1, RF2), water level, solar/battery voltage
- Data logged to CSV files
- Periodic transmission to myvscada server
## Constraints
- **Performance**: Must run smoothly on Pi Zero 2 W (low-powered)
- **Display**: Fixed 1024x600 resolution for local kiosk
- **Remote Access**: Full HD interface on PC via separate port (9090)
- **Dependencies**: Minimal (for maintainability on embedded device)
## Key Decisions
| Decision | Rationale | Outcome |
|----------|-----------|---------|
| Web-based UI | Cross-platform, no native app development | — Pending |
| Chromium Kiosk Mode | Reliable on Raspberry Pi, full-screen | — Pending |
| Python backend | Good sensor integration, CSV handling | — Pending |
| Kiosk (8080) vs Remote (9090) ports | Separate interfaces for local/remote | — Pending |
---
*Last updated: 2026-03-12 after initialization*