La boucle principale équilibre l’interrogation des capteurs, le rafraîchissement du LCD et le service HTTP sans bloquer trop longtemps l’une de ces tâches. Une lecture DHT22 prend des centaines de millisecondes ; la gestion Ethernet doit rester assez réactive pour que les requêtes du tableau de bord n’expirent pas.
Structure typique de la boucle
- Vérifier la minuterie : si l’intervalle d’interrogation est écoulé, lire chaque DHT22 avec nouvelles tentatives.
- Mettre à jour le LCD : rafraîchir les lignes de la sonde 0, de la sonde 1 et éventuellement de la moyenne.
- Servir le HTTP : analyser les requêtes clientes entrantes et renvoyer le JSON en cache.
- Watchdog / reconnexion : réinitialiser ou relancer l’Ethernet si la liaison est tombée.
Contraintes de temps
Respectez le minimum de deux secondes entre deux lectures DHT22 pour chaque capteur. Décalez les sondes si nécessaire. La logique de moyenne est documentée dans moyenne à deux sondes. Quand une lecture échoue, ne mettez pas à jour cette clé plutôt que de publier NaN.
Déboguer sur le port série
Journalisez les échecs de lecture et l’état de l’Ethernet pendant le développement. Après le déploiement, fiez-vous au diagnostic des relevés figés côté site. Procédures de récupération : récupération par watchdog du firmware.