Système de surveillance automatisé des niveaux d'alerte pollinique en France avec publication MQTT pour domotique
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.).
| Type | Source |
|---|---|
| 🗺️ Carte de vigilance générale | ![]() |
| 🌲 Cyprès (Cupressacées) | ![]() |
- 📥 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)
- Python 3.6 ou supérieur
- Un broker MQTT (Mosquitto, Eclipse Mosquitto, etc.)
pip install pillow paho-mqttOu installez toutes les dépendances :
pip install -r requirements.txtÉditez le fichier AlertePollens_Img_v1.5-MQTT.py :
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)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 à analysersleepTime = 10 # Temps en secondes entre chaque vérificationdebugMode = 1 # 1 = activé, 0 = désactivé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 |
python AlertePollens_Img_v1.5-MQTT.pyEn 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
nohup python AlertePollens_Img_v1.5-MQTT.py &pythonw AlertePollens_Img_v1.5-MQTT.pyCré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.targetActivez le service :
sudo systemctl enable alertepollens
sudo systemctl start alertepollensAjoutez 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-outlineUtilisez le plugin MQTT pour créer des équipements avec les topics ci-dessus.
- Téléchargement : Récupération des images PNG depuis pollens.fr
- Redimensionnement : Réduction à 470x470 pixels pour optimisation
- Analyse : Lecture de la couleur RGB du pixel aux coordonnées configurées
- Classification :
- RGB(0-60, 128+, 0-60) → Vert/FAIBLE
- RGB(200+, 200+, 0-60) → Jaune/MOYEN
- RGB(200+, 0-60, 0-60) → Rouge/ÉLEVÉ
- Publication : Envoi des données vers le broker MQTT
- Les images sont sauvegardées localement (
vigilance_map.png,cypres.png) - Le script tourne en boucle infinie
- Les messages MQTT avec
retain=Truesont conservés par le broker - Le signal mathématique sinusoïdal (
AP/math) peut servir de test de connectivité
Les contributions sont les bienvenues ! N'hésitez pas à :
- 🐛 Signaler des bugs
- 💡 Proposer de nouvelles fonctionnalités
- 🔧 Soumettre des pull requests
Ce projet personnel est distribué sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- pollens.fr pour les données polliniques
- RNSA (Réseau National de Surveillance Aérobiologique)
Pour toute question ou suggestion, n'hésitez pas à ouvrir une issue sur GitHub.

