Files
Gestion_sondes/README.md
2025-04-19 09:01:21 +02:00

150 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔌 Gestion des sondes domotiques
![Python](https://img.shields.io/badge/Python-3.10-blue?logo=python)
![Licence](https://img.shields.io/badge/Licence-Propriétaire-red)
![Gitea](https://img.shields.io/badge/Gitea-actif-success)
![Hébergement](https://img.shields.io/badge/Hébergement-auto--géré-informational)
Application de **surveillance des températures** avec alertes, visualisation Streamlit, et déploiement automatisé via Gitea + Supervisor.
---
## 🌟 Fonctionnalités principales
- 🔢 Lecture de capteurs **DS18B20** et **DHT22**
- 📡 Transmission via **MQTT**
- 🌐 Interface Streamlit ([app.domo91.fr](https://app.domo91.fr))
- ⚠️ Alertes email / Telegram si dépassement > 30 minutes
- 🚀 Déploiement auto avec `deploy.sh`
- 📁 Stockage **SQL** sur MySQL (VPS)
<<<<<<< HEAD
=======
- 🔔 Bouton "Forcer une alerte de test" pour vérifications sanitaires
>>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7
---
## 📈 Exemple de visualisation
Voici un aperçu dun graphique dans linterface Streamlit :
![Exemple de graphique Streamlit](https://via.placeholder.com/600x200.png?text=Graphique+Streamlit)
---
## 📂 Structure du projet
| Fichier | Description |
|----------------------|----------------------------------------------|
| `Monitor.py` | Analyse de température et alertes |
| `domo91.py` | Interface graphique web |
| `Cuisine_saclay.py` | Script capteur pour le site de Saclay |
| `Cuisine_meudon.py` | Script capteur pour Meudon |
| `check_supervisor.py`| Vérifie létat des scripts supervisés |
| `deploy.sh` | Déploiement auto depuis Gitea (branche `product`) |
| `requirements.txt` | Dépendances Python |
---
## 🛠️ Installation locale
```bash
# Clone depuis Gitea
git clone https://mj91.fr:448/michel/gestion_sondes.git
cd gestion_sondes
# Environnement virtuel
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows
pip install -r requirements.txt
```
---
## 🏛️ Architecture globale
- Données temps réel envoyées par ESP8266 (MQTT)
- Base MySQL avec tables par site (`Saclay`, `Meudon`, `Roissy`...)
- Script `Monitor.py` tournant en boucle 5 minutes (avec `supervisord`)
- Application Streamlit avec login / rôle (accès personnalisé)
- Alertes par Email / Telegram, PDF générables depuis lapp
<<<<<<< HEAD
=======
- Bouton "Forcer une alerte de test" (insère une alerte dans la BDD avec `Etat = 'Test'`)
>>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7
---
## 🧰 Bases de données principales
### 📉 Températures
- Tables : `Saclay`, `Meudon`, etc. (même structure)
- Champs : `Id`, `Sonde`, `Temperature`, `Date`
### ⚠️ Alertes
- Tables : `Alertes_Saclay`, `Alertes_Meudon`, etc.
- Champs : `Id`, `Sonde`, `Debut_defaut`, `Etat` (En cours, Acquitté, Test...)
### 🏢 Chambres froides (seuils)
- Table : `Chambres_froides`
- Champs : `Id`, `Lieu`, `Sonde`, `Temp_Max`, `Etat` (ON/OFF)
### 🔐 Authentification
- Table : `MotsDePasse`
- Champs : `Utilisateur`, `MotDePasse`, `Lieu`, `Role`
### 📅 Inventaires
- Champs : `Id_inventaire`, `Id_Article`, `Quantité`, `Prix`, `Date`
- Remplissage via Excel nettoyé par macro VBA ou formulaire
---
## 💪 Monitor.py
- 🔄 Boucle toutes les 5 minutes
- ⚠️ Déclenche une alerte si seuil dépassé pendant 30 minutes
- ✅ Acquittement automatique quand retour à la normale
- 📧 Notifications par Email + Telegram
---
## 💼 Bonnes pratiques Git
- Branche `develop` : développement
- Branche `product` : version stable (protégée)
- Pas de push direct sur `product`
- Utiliser `pull --rebase` pour éviter les conflits
- `deploy.sh` pour déploiement manuel si besoin
---
## 🌟 Idées damélioration
- 📱 Alertes SMS via API (Twilio ou OVH)
- 📊 Historique détaillé + export CSV
- 📋 Récap PDF automatique chaque matin
- 📆 Maintenance planifiée avec calendrier
- 🌐 Tableau de bord multi-sites consolidé
---
## 📖 Auteur & contact
Projet développé par [Michel]
Site principal : [https://app.domo91.fr](https://app.domo91.fr)
Gitea auto-hébergé sur : [https://mj91.fr](https://mj91.fr)
<<<<<<< HEAD
=======
## 📖 Auteur & contact
Projet développé par [Michel]
Site principal : [https://app.domo91.fr](https://app.domo91.fr)
Gitea auto-hébergé sur : [https://mj91.fr](https://mj91.fr)
>>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7