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

2.3 KiB

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