A Streamlit-based application for controlling and monitoring industrial heating systems with OPC UA integration.
- User Authentication: Secure login system using Streamlit Authenticator
- Dual Control Modes:
- Simple Mode: Control heating with basic power and time parameters
- Advanced Mode: Fine-tune with voltage, current, and frequency settings
- Real-time Monitoring: View system parameters including temperature, current consumption, and cooling metrics
- Configuration Management: Save, load, and delete heating configurations
- OPC UA Integration: Connect to industrial control systems via OPC UA protocol
- SQLite Database: Store configurations persistently
-
Clone this repository:
git clone git clone https://github.com/destrohr/HMI_Pannel cd HMI_Pannel
-
Install required packages:
pip install -r requirements.txt
-
Set up your
access.yaml
file for authentication:(optional)credentials: usernames: username1: email: user1@example.com name: User One password: hashedpassword1 username2: email: user2@example.com name: User Two password: hashedpassword2 cookie: name: heating_system_auth key: your_signature_key expiry_days: 30
-
Configure your OPC UA server settings:
- Edit the
OpcServerUrl
variable in the code to point to your OPC server - Verify the node IDs match your OPC UA server structure
- Edit the
-
Run the application:
streamlit run Web.py
-
Log in using credentials from your
access.yaml
file -
Select operation mode (Simple/Advanced)
-
Configure heating parameters and toggle system state
-
Start/Stop heating process and monitor parameters
-
Save configurations for future use
- OPC UA Server running and accessible
- Python 3.7+
- Modern web browser
The application structure follows a modular approach with separate functions for:
- Database management
- OPC UA communication
- UI rendering
- Configuration handling
If extending the application, follow the established pattern for new features.