2025-08-31 18:26:48 +02:00
2025-07-26 13:18:20 +02:00
2025-08-31 18:26:48 +02:00
2025-08-31 18:26:48 +02:00
2025-08-23 14:21:12 +02:00
2025-08-31 18:26:48 +02:00
2025-08-26 14:09:52 +02:00
2025-07-26 13:18:20 +02:00

# 📱 Gestion des sondes DS18B20

Application de surveillance des températures avec alertes automatiques, visualisation Streamlit, génération de PDF, gestion des utilisateurs, et déploiement via Gitea + Supervisor.


🔧 Fonctionnalités principales

  • 👥 Lecture de capteurs DS18B20 et DHT22
  • 📢 Transmission des relevés via MQTT
  • 🌐 Interface utilisateur Streamlit (https://domo91.fr)
  • 🔠 Détection de dépassement de seuil (plus de 30 min)
  • ⚠️ Alertes automatiques par email et SMS en cas de dépassement
  • 🔄 Rappels d'alerte toutes les heures si défaut non corrigé
  • 📉 Visualisation graphique interactive + seuils
  • 📄 Génération de rapports PDF journaliers
  • 🕒 Filtrage par tranche horaire (matin, après-midi, nuit) dans les rapports PDF
  • 👤 Gestion d'utilisateurs et de rôles (superviseur / utilisateur simple)
  • 📁 Stockage des relevés et alertes sur MySQL distant
  • 📁 base de donnée contenant toutes les sondes en service & en magasin.
  • 🛡️ Protection des fichiers sensibles (.env non versionné)
  • Sauvegarde automatique (python)

🖼️ Exemple de visualisation

Graphique interactif Streamlit avec courbes de températures et seuils d'alerte :

Graphique des températures


📁 Structure du projet

Fichier Description
Monitor.py Analyse de températures, génération et rappel d'alertes
domo91.py Interface utilisateur Streamlit
Cuisine_saclay.py Lecture capteurs site Saclay
Cuisine_meudon.py Lecture capteurs site Meudon
check_supervisor.py Vérification du bon fonctionnement des scripts
Alerte_sms.py Gestion de l'envoi de SMS avec OVH
deploy.sh Script de déploiement rapide vers VPS
requirements.txt Dépendances Python nécessaires
.env.example Modèle du fichier d'environnement à copier
tracker.py App qui recense le parc de sondes en service ou stock.

📝 Génération de rapports PDF journaliers

L'application permet de générer des rapports PDF propres et compacts à partir des relevés de température.

Fonctionnalités incluses :

  • Sélection du site et de la date
  • Choix d'une plage horaire (matin, après-midi, nuit ou toute la journée)
  • Relevés présentés en deux colonnes pour un gain d'espace
  • Affichage des alertes en cours sur la période choisie
  • Téléchargement direct depuis l'application Streamlit

Les fichiers sont automatiquement nommés et enregistrés dans le répertoire /PDF pour archivage.


🤍 Installation locale (mode développement)

git clone https://mj91.fr:448/Michel/Gestion_sondes.git
cd Gestion_sondes
cp .env.example .env
python -m venv .venv
source .venv/bin/activate     # Linux/macOS
.venv\Scripts\activate.bat   # Windows
pip install -r requirements.txt

☁️ Environnement serveur VPS

  • Debian 12 OVH

  • MySQL 8 distant

  • Supervisor pour la surveillance des scripts

    • Interface = App Domo91 pour la gestion des sondes multisites
    • Chaufferie = Remontées des températures relevées dans la chaufferie Saclay
    • cuisine_meudon = Remontées des températures de la cuisine Meudon
    • cuisine_saclay = Remontées des températures de la cuisine Saclay
    • log_viewer = App pour le visionage des fichiers log
    • tableurs = App pour la gestion des utilisateurs et le cryptage des mots de passe.
  • Nginx en reverse proxy (app.domo91.fr)

  • Certificats HTTPS via Let's Encrypt


🔐 Authentification et gestion des utilisateurs

  • Table MotsDePasse MySQL
  • Gestion des accès par site (limitation ou multi-sites)
  • Superviseurs : accès total et gestion des sondes
  • Utilisateurs simples : accès restreint à leur site

📦 Déploiement

./deploy.sh
  • Push automatique du projet vers le VPS
  • Redémarrage automatique de Streamlit
  • Pensez à mettre à jour manuellement le fichier .env sur le serveur en cas de modification de la configuration (mails, base de données...)

📅 Tests et maintenance

  • Test manuel des alertes possibles via interface utilisateur (menu Test Alerte)
  • Fichiers de logs enregistrés dans /home/debian/Gestion-sondes/Logs/
  • Fichier surveillance_releves.py (lancé dans cron et exécutable toutes les 5mn) Surveillance de l'arrivée de datas dans les tables.

Sauvegardes

Gérée par cron  
-#crontab-e
- 0 2 * * * /home/debian/Gestion_sondes/scripts/backup_all.sh >> /home/debian/Gestion_sondes/scripts/backup.log 2>&1
  • Exécution = 2 heures tous les jours
  • Dossier = /home/debian/backup
  • Exécutable = /home/debian/Gestion_sondes/scripts/backup_all.sh
  • Fichier log = /home/debian/Gestion_sondes/scripts/backu.log

📚 Licence

Projet privé — Propriété de l'auteur. Toute diffusion, copie ou reproduction est interdite sans autorisation écrite préalable.


Dernier correctif : gestion de l'envoi de SMS avec OVH ✔️

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