2025-04-19 09:01:51 +02:00
2025-04-18 16:04:56 +02:00
2025-04-12 12:31:14 +02:00
2025-04-18 16:04:56 +02:00
2025-04-19 09:01:21 +02:00

🔌 Gestion des sondes domotiques

Python Licence Gitea Hébergement

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)
  • ⚠️ 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

9adf2a0317


📈 Exemple de visualisation

Voici un aperçu dun graphique dans linterface Streamlit :

Exemple de 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

# 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')

9adf2a0317


🧰 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
Gitea auto-hébergé sur : https://mj91.fr

<<<<<<< HEAD

📖 Auteur & contact

Projet développé par [Michel]
Site principal : https://app.domo91.fr
Gitea auto-hébergé sur : https://mj91.fr

9adf2a0317

Description
No description provided
Readme 141 MiB
Languages
Python 70.4%
JavaScript 20.7%
C++ 4.4%
C 2.5%
Cython 1.9%