Étape 11 : Le logiciel pour le module ESP8266 - partie 4 « fonctions de maîtres »
Comme dit précédemment, il y a 2 versions du logiciel.
La version « maître » lit la consommation d’énergie à partir du panneau solaire, système de surveillance et décide quand allumer ou éteindre l’air conditionné.
La version « esclave » reçoit les commandes de la version « maître ».
Les fonctions de maîtres supplémentaires :
1) la valeur mise à jour de la consommation de la puissance
Pour mettre à jour de la consommation d’énergie un timer est utilisé pour déclencher toutes les 60 secondes une connexion au moniteur panneau solaire dans setup() :
Toutes les 60 secondes ce qui appelle la routine d’interruption triggerGetPower(). Routines d’interruption doivent être court et ne pas différer des autres fonctions, il n’est pas possible de démarrer la mise à jour directement depuis ici. Au lieu de cela, le drapeau powerUpdateTriggered est définie sur true, qui raconte la fonction loop() qu’une mise à jour est nécessaire. Routines d’interruption doivent être court et ne pas différer des autres fonctions, il n’est pas possible de démarrer la mise à jour directement depuis ici. Au lieu de cela
Dans loop()
vérifie cet indicateur et appelle le getPowerVal().
getPowerVal() se connecte via une connexion TCP à l’écran du panneau solaire et reçoit la dernière valeur de consommation de puissance dans un objet JSON. La valeur de l’énergie est stockée dans un tableau d’une capacité de 10 valeurs.
Si 10 valeurs il existe la fonction checkPower() est appelée pour décider s’il est nécessaire de mettre en marche des appareils supplémentaires de consommer une puissance excessive.
Si plus de 10 valeurs sont stockées, la valeur la plus ancienne est ignorée et la nouvelle valeur est stockée.
2) Vérifiez la moyenne de consommation de puissance
Dans checkPower(), la moyenne des valeurs 10 puissance dernières est créée. Pendant les jours venteux et nuageux, la production d’énergie des panneaux solaires peut passer rapidement de quelques Watts à plusieurs 100 Watts. En utilisant la moyenne des 10 dernières valeurs évite d’allumer et éteindre la climatisation chaque minute (ce qui n’est pas bon pour la climatisation).
Selon le résultat et le contrôle actuel boucle statut mesures sont prises :
Cette boucle de contrôle utilise qu’une climatisation de consommer l’énergie excessive. Dans le code source, vous pouvez voir une autre boucle de contrôle qui utilise 2 aircons à consommer une puissance excessive. Je suis toujours tester cette boucle et il n’est pas encore complètement fonctionnel.