Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
161
README.md
161
README.md
@@ -1,149 +1,86 @@
|
|||||||
# 🔌 Gestion des sondes domotiques
|
# 🛰️ Gestion des sondes domotiques – Domo91
|
||||||
|
|
||||||

|
Application de **supervision des températures** avec :
|
||||||

|
- Alertes automatiques (retard > 30 minutes)
|
||||||

|
- Visualisation graphique Streamlit
|
||||||

|
- Génération de rapports PDF
|
||||||
|
- Intégration Gitea + déploiement automatisé
|
||||||
Application de **surveillance des températures** avec alertes, visualisation Streamlit, et déploiement automatisé via Gitea + Supervisor.
|
- Mode test sanitaire manuel via bouton
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🌟 Fonctionnalités principales
|
## ⚙️ Fonctionnalités principales
|
||||||
|
|
||||||
- 🔢 Lecture de capteurs **DS18B20** et **DHT22**
|
- Lecture de capteurs **DS18B20** et **DHT22**
|
||||||
- 📡 Transmission via **MQTT**
|
- Transmission des données via **MQTT**
|
||||||
- 🌐 Interface Streamlit ([app.domo91.fr](https://app.domo91.fr))
|
- Visualisation en **Streamlit** (accessible via app.domo91.fr)
|
||||||
- ⚠️ Alertes email / Telegram si dépassement > 30 minutes
|
- Alertes Telegram / Email / affichage en direct
|
||||||
- 🚀 Déploiement auto avec `deploy.sh`
|
- Mise en alerte si dépassement de seuil > 30 minutes
|
||||||
- 📁 Stockage **SQL** sur MySQL (VPS)
|
- Bouton "Forcer une alerte de test" intégré
|
||||||
<<<<<<< HEAD
|
- Génération de rapport **PDF** journalier à la demande
|
||||||
=======
|
- Gestion et configuration des sondes dans l'interface
|
||||||
- 🔔 Bouton "Forcer une alerte de test" pour vérifications sanitaires
|
|
||||||
>>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📈 Exemple de visualisation
|
## 🖼️ Aperçu
|
||||||
|
|
||||||
Voici un aperçu d’un graphique dans l’interface Streamlit :
|

|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 📂 Structure du projet
|
## 📁 Structure du projet
|
||||||
|
|
||||||
| Fichier | Description |
|
| Fichier | Rôle |
|
||||||
|----------------------|----------------------------------------------|
|
|----------------------|----------------------------------------------------------------------|
|
||||||
| `Monitor.py` | Analyse de température et alertes |
|
| `domo91.py` | Interface Streamlit principale |
|
||||||
| `domo91.py` | Interface graphique web |
|
| `Monitor.py` | Script en tâche de fond pour la détection d’alertes |
|
||||||
| `Cuisine_saclay.py` | Script capteur pour le site de Saclay |
|
| `deploy.sh` | Script de déploiement depuis Gitea |
|
||||||
| `Cuisine_meudon.py` | Script capteur pour Meudon |
|
| `Cuisine_saclay.py` | Collecte des températures sur site de Saclay |
|
||||||
| `check_supervisor.py`| Vérifie l’état des scripts supervisés |
|
| `Cuisine_meudon.py` | Collecte des températures sur site de Meudon |
|
||||||
| `deploy.sh` | Déploiement auto depuis Gitea (branche `product`) |
|
| `requirements.txt` | Dépendances Python à installer |
|
||||||
| `requirements.txt` | Dépendances Python |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🛠️ Installation locale
|
## 🖥️ Installation locale
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone depuis Gitea
|
git clone https://mj91.fr:448/michel/Gestion_sondes.git
|
||||||
git clone https://mj91.fr:448/michel/gestion_sondes.git
|
cd Gestion_sondes
|
||||||
cd gestion_sondes
|
|
||||||
|
|
||||||
# Environnement virtuel
|
# Créer l'environnement virtuel
|
||||||
python -m venv .venv
|
python -m venv .venv
|
||||||
source .venv/bin/activate # Linux/macOS
|
source .venv/bin/activate # Linux/macOS
|
||||||
.venv\Scripts\activate # Windows
|
.venv\Scripts\activate # Windows
|
||||||
|
|
||||||
|
# Installer les dépendances
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
# Lancer Streamlit
|
||||||
|
streamlit run domo91.py
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🏛️ Architecture globale
|
## 🔐 Authentification
|
||||||
|
|
||||||
- Données temps réel envoyées par ESP8266 (MQTT)
|
L'accès est sécurisé par identifiant/mot de passe.
|
||||||
- Base MySQL avec tables par site (`Saclay`, `Meudon`, `Roissy`...)
|
Les superviseurs peuvent :
|
||||||
- Script `Monitor.py` tournant en boucle 5 minutes (avec `supervisord`)
|
- Gérer les sondes et chambres froides
|
||||||
- Application Streamlit avec login / rôle (accès personnalisé)
|
- Modifier les seuils
|
||||||
- Alertes par Email / Telegram, PDF générables depuis l’app
|
- Ajouter des utilisateurs (à venir)
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
- Bouton "Forcer une alerte de test" (insère une alerte dans la BDD avec `Etat = 'Test'`)
|
|
||||||
>>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🧰 Bases de données principales
|
## 📦 Déploiement & sauvegarde
|
||||||
|
|
||||||
### 📉 Températures
|
- Déploiement automatisé via `deploy.sh` (push vers Gitea)
|
||||||
- Tables : `Saclay`, `Meudon`, etc. (même structure)
|
- Base de données MySQL hébergée sur VPS
|
||||||
- Champs : `Id`, `Sonde`, `Temperature`, `Date`
|
- Historique et alertes conservés par site (`Alertes_Saclay`, `Alertes_Meudon`, etc.)
|
||||||
|
|
||||||
### ⚠️ 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
|
## 🛠️ À venir
|
||||||
|
|
||||||
- 🔄 Boucle toutes les 5 minutes
|
- Alerte email/SMS en production
|
||||||
- ⚠️ Déclenche une alerte si seuil dépassé pendant 30 minutes
|
- Programmation d’alertes de test mensuelles
|
||||||
- ✅ Acquittement automatique quand retour à la normale
|
- Interface utilisateur WordPress simplifiée
|
||||||
- 📧 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 d’amé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
|
|
||||||
Reference in New Issue
Block a user