Skip to content

MatGros/AlertePollens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌸 AlertePollens

Python License MQTT

Système de surveillance automatisé des niveaux d'alerte pollinique en France avec publication MQTT pour domotique

📋 Description

AlertePollens est un projet personnel développé sous licence MIT. Ce script Python télécharge et analyse automatiquement les cartes de vigilance pollinique depuis pollens.fr. Il détecte les niveaux d'alerte par reconnaissance de couleur et publie les données via MQTT pour une intégration facile avec des systèmes domotiques (Home Assistant, Jeedom, etc.).

Cartes analysées

Type Source
🗺️ Carte de vigilance générale Vigilance Map
🌲 Cyprès (Cupressacées) Cypres

✨ Fonctionnalités

  • 📥 Téléchargement automatique des cartes de vigilance pollinique
  • 🎨 Reconnaissance de couleur pour déterminer les niveaux d'alerte
    • 🟢 Vert = Risque FAIBLE
    • 🟡 Jaune = Risque MOYEN
    • 🔴 Rouge = Risque ÉLEVÉ
  • 📡 Publication MQTT des données pour intégration domotique
  • Mise à jour périodique configurable
  • 🐛 Mode debug pour visualisation et diagnostic
  • 📍 Position géographique personnalisable (coordonnées pixel)

🚀 Installation

Prérequis

  • Python 3.6 ou supérieur
  • Un broker MQTT (Mosquitto, Eclipse Mosquitto, etc.)

Dépendances

pip install pillow paho-mqtt

Ou installez toutes les dépendances :

pip install -r requirements.txt

⚙️ Configuration

Paramètres à personnaliser

Éditez le fichier AlertePollens_Img_v1.5-MQTT.py :

1. Configuration MQTT

broker = "192.168.1.42"  # Adresse IP de votre broker MQTT
port = 1883              # Port MQTT (1883 par défaut)
client1.username_pw_set("admin", "")  # Identifiants MQTT (mot de passe vide par défaut)

2. Position géographique

Ajustez les coordonnées pixel pour votre département :

ReadPix_X = 300  # Coordonnée X du pixel à analyser
ReadPix_Y = 330  # Coordonnée Y du pixel à analyser

3. Intervalle de rafraîchissement

sleepTime = 10  # Temps en secondes entre chaque vérification

4. Mode debug

debugMode = 1  # 1 = activé, 0 = désactivé

📊 Topics MQTT

Le script publie les données suivantes :

Topic Description Valeurs possibles
AP/VPC Vigilance Pollens - Couleur Vert, Jaune, Rouge, ?
AP/VPN Vigilance Pollens - Niveau FAIBLE, MOYEN, ELEVE, NUL
AP/VPCrgb Vigilance Pollens - RGB [R, G, B]
AP/CGC Cyprès - Couleur Vert, Jaune, Rouge, ?
AP/CGN Cyprès - Niveau FAIBLE, MOYEN, ELEVE, NUL
AP/CGCrgb Cyprès - RGB [R, G, B]
AP/datetime Date et heure de la dernière mise à jour ISO 8601
AP/math Signal de test (sinusoïdal) Valeur numérique

🎯 Utilisation

Lancement du script

python AlertePollens_Img_v1.5-MQTT.py

Mode debug

En mode debug (debugMode = 1), le script :

  • Affiche les images téléchargées avec une croix sur le pixel analysé
  • Imprime des informations détaillées dans la console
  • Garde les fenêtres d'aperçu ouvertes quelques secondes

Exécution en arrière-plan

Linux/macOS

nohup python AlertePollens_Img_v1.5-MQTT.py &

Windows (avec pythonw)

pythonw AlertePollens_Img_v1.5-MQTT.py

Avec systemd (Linux)

Créez /etc/systemd/system/alertepollens.service :

[Unit]
Description=Alerte Pollens Monitor
After=network.target

[Service]
Type=simple
User=votre_utilisateur
WorkingDirectory=/chemin/vers/AlertePollens
ExecStart=/usr/bin/python3 AlertePollens_Img_v1.5-MQTT.py
Restart=always

[Install]
WantedBy=multi-user.target

Activez le service :

sudo systemctl enable alertepollens
sudo systemctl start alertepollens

🏠 Intégration domotique

Home Assistant

Ajoutez dans configuration.yaml :

mqtt:
  sensor:
    - name: "Vigilance Pollens Niveau"
      state_topic: "AP/VPN"
      icon: mdi:flower-pollen
      
    - name: "Vigilance Pollens Couleur"
      state_topic: "AP/VPC"
      
    - name: "Cyprès Niveau"
      state_topic: "AP/CGN"
      icon: mdi:tree
      
    - name: "Cyprès Couleur"
      state_topic: "AP/CGC"
      
    - name: "Dernière MAJ Pollens"
      state_topic: "AP/datetime"
      icon: mdi:clock-outline

Jeedom

Utilisez le plugin MQTT pour créer des équipements avec les topics ci-dessus.

🔧 Fonctionnement technique

  1. Téléchargement : Récupération des images PNG depuis pollens.fr
  2. Redimensionnement : Réduction à 470x470 pixels pour optimisation
  3. Analyse : Lecture de la couleur RGB du pixel aux coordonnées configurées
  4. Classification :
    • RGB(0-60, 128+, 0-60) → Vert/FAIBLE
    • RGB(200+, 200+, 0-60) → Jaune/MOYEN
    • RGB(200+, 0-60, 0-60) → Rouge/ÉLEVÉ
  5. Publication : Envoi des données vers le broker MQTT

📝 Notes

  • Les images sont sauvegardées localement (vigilance_map.png, cypres.png)
  • Le script tourne en boucle infinie
  • Les messages MQTT avec retain=True sont conservés par le broker
  • Le signal mathématique sinusoïdal (AP/math) peut servir de test de connectivité

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à :

  • 🐛 Signaler des bugs
  • 💡 Proposer de nouvelles fonctionnalités
  • 🔧 Soumettre des pull requests

📄 License

Ce projet personnel est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.

🙏 Remerciements

  • pollens.fr pour les données polliniques
  • RNSA (Réseau National de Surveillance Aérobiologique)

📧 Contact

Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue sur GitHub.


⚠️ Avertissement : Ce projet est à but éducatif et personnel. Assurez-vous de respecter les conditions d'utilisation de pollens.fr lors de l'utilisation de leurs données.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages