first commit
This commit is contained in:
190
.planning/codebase/INTEGRATIONS.md
Normal file
190
.planning/codebase/INTEGRATIONS.md
Normal file
@@ -0,0 +1,190 @@
|
||||
# External Integrations
|
||||
|
||||
**Analysis Date:** 2026-03-12
|
||||
|
||||
## Project Status
|
||||
|
||||
This is a **greenfield project** - no implementation code exists yet. The following analysis is based on the requirements defined in `THE_IDEA.md`.
|
||||
|
||||
---
|
||||
|
||||
## Hardware Interfaces
|
||||
|
||||
### Sensors
|
||||
|
||||
**Rainfall Sensors:**
|
||||
- Rainfall-1 ID (RF) - Primary rainfall sensor (e.g., `123456RF`)
|
||||
- Rainfall-2 ID - Secondary rainfall sensor
|
||||
- Tip bucket counting for rainfall accumulation
|
||||
|
||||
**Water Level Sensors:**
|
||||
- 4-20mA type sensors (Channels 1-2)
|
||||
- 0-10vDC type sensors (Channels 3-4)
|
||||
- SDI-12 interface for additional sensors
|
||||
|
||||
**Environmental Sensors:**
|
||||
- Solar voltage monitoring
|
||||
- Battery voltage monitoring
|
||||
- Soil moisture sensors (SDI-12)
|
||||
- Evapotranspiration sensors
|
||||
|
||||
### GPS Module
|
||||
|
||||
- USB GPS module for location data
|
||||
- Latitude/longitude retrieval
|
||||
- Manual coordinate setting as fallback
|
||||
|
||||
---
|
||||
|
||||
## Data Storage
|
||||
|
||||
### Local Storage
|
||||
|
||||
**CSV Files:**
|
||||
- Data logging to local filesystem
|
||||
- File naming: `SP8020_FTP.txt`, `SP8021_FTP.txt`, etc.
|
||||
- Flash memory management for stored files
|
||||
- File operations: Navigate, View, Delete, Save
|
||||
|
||||
**Data Types Logged:**
|
||||
- Rainfall (today, hourly, monthly accumulated, yearly)
|
||||
- Water levels
|
||||
- Battery voltage
|
||||
- Solar voltage
|
||||
- Sensor readings (ADC channels)
|
||||
|
||||
---
|
||||
|
||||
## Network & External Services
|
||||
|
||||
### Data Server (myvscada)
|
||||
|
||||
**Server Details:**
|
||||
- Remote server for receiving CSV data
|
||||
- Location: Configurable IP address
|
||||
- Protocol: FTP, SCP, SFTP, or WEBDAV
|
||||
|
||||
**Transfer Flow:**
|
||||
```
|
||||
RTU → CSV file → myvscada server → received folder → processed/error folder
|
||||
```
|
||||
|
||||
### Mobile Network (GPRS)
|
||||
|
||||
**GPRS Module:**
|
||||
- Mobile network connectivity for remote transmission
|
||||
- RTU Mobile number configuration
|
||||
- Referenced in "Mobile Setting" submenu (THE_IDEA.md section 1.7)
|
||||
|
||||
### Protocols Supported
|
||||
|
||||
| Protocol | Purpose | Reference |
|
||||
|----------|---------|-----------|
|
||||
| FTP | CSV file transfer | Primary protocol mentioned |
|
||||
| SCP | Secure copy | Section 1.6 |
|
||||
| SFTP | Secure FTP | Section 1.6 |
|
||||
| WebDAV | Web-based file access | Section 1.6 |
|
||||
| TCP Socket | Real-time data requests | Section 1.6 |
|
||||
|
||||
---
|
||||
|
||||
## Authentication & Identity
|
||||
|
||||
**Station Configuration:**
|
||||
- Station ID (e.g., `D007`)
|
||||
- Device version number (e.g., `v4.0.4`)
|
||||
- Login status for remote access
|
||||
|
||||
**Network Credentials:**
|
||||
- FTP/SCP username and password
|
||||
- Referenced in THE_IDEA.md section 1.6 (Protocol Setting)
|
||||
- **Note:** Credentials should be stored securely (env vars, not plain config)
|
||||
|
||||
---
|
||||
|
||||
## Alert Systems
|
||||
|
||||
### SMS/Call Alerts
|
||||
|
||||
**Contact Types:**
|
||||
- Master phones (2 numbers)
|
||||
- SubMaster phones (2 numbers)
|
||||
- Engineer phones (up to 10 numbers)
|
||||
- RTU Mobile number
|
||||
|
||||
**Alert Triggers:**
|
||||
- Danger rainfall threshold (configurable mm per hour)
|
||||
- Warning rainfall threshold
|
||||
- Water level thresholds (Danger, Warning, Alert, Normal)
|
||||
|
||||
---
|
||||
|
||||
## Display Interfaces
|
||||
|
||||
### Local Touchscreen
|
||||
|
||||
- **Resolution:** 1024x600
|
||||
- **Connection:** Direct video output (HDMI/CSI)
|
||||
- **Browser:** Chromium Kiosk Mode
|
||||
- **URL:** `http://pihostname:8080`
|
||||
|
||||
### Remote Web Access
|
||||
|
||||
- **Resolution:** Full HD (1920x1080)
|
||||
- **Authentication:** Login required
|
||||
- **URL:** `http://pihostname:9090/`
|
||||
|
||||
---
|
||||
|
||||
## Communication Status
|
||||
|
||||
**Monitoring Data:**
|
||||
- Communication status display (e.g., `0ASU/-113dBm(0%)`)
|
||||
- Signal strength (dBm)
|
||||
- Connection percentage
|
||||
|
||||
---
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
### Required Configuration Items
|
||||
|
||||
**Network:**
|
||||
- Local IP Address
|
||||
- Subnet Mask
|
||||
- Gateway
|
||||
- DNS Server
|
||||
- MAC Address
|
||||
- Transfer Protocol (FTP/SCP/SFTP/WEBDAV)
|
||||
|
||||
**Server:**
|
||||
- Server IP Address
|
||||
- TCP Port
|
||||
- File Directory (e.g., `/myvscada/stationA`)
|
||||
|
||||
**Sensors:**
|
||||
- ADC channel types (4-20mA, 0-10vDC)
|
||||
- Sensor datum offsets
|
||||
- Sensor ranges and units
|
||||
|
||||
---
|
||||
|
||||
## Data Flow Summary
|
||||
|
||||
```
|
||||
Sensors (ADC, RF, WL)
|
||||
↓
|
||||
Python Backend (data collection)
|
||||
↓
|
||||
CSV File Generation
|
||||
↓
|
||||
Transfer Protocol (FTP/SCP/SFTP/WebDAV)
|
||||
↓
|
||||
myvscada Server
|
||||
↓
|
||||
Processed/Error folder handling
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Integration audit: 2026-03-12*
|
||||
Reference in New Issue
Block a user