Étape 9: Le logiciel pour le module ESP8266 - partie 3 « communication à la climatisation »
Envoyer les commandes IR la clim est fait avec l’aide de la bibliothèque de IRremoteESP8266 publiée en open source. La bibliothèque prend en charge déjà un large éventail de protocoles pour les différents appareils, mais offre également d’envoyer des commandes infrarouges « bruts ». Malheureusement, aucun des protocoles mis en œuvre a travaillé avec mon aircons (même pendant l’enregistrement, que le protocole a été reconnu comme « NEC » pour la climatisation de FujiDenzo). J’ai donc dû utiliser la fonction sendRaw().
Les codes IR
Pour économiser de l’espace de mémoire, j’ai sauvé les commandes enregistrées sous forme de tableaux de Byte contenant uniquement les marques (0 ou 1) du code, pas l’en-tête ou les espaces. Exemple :
La commande brute complète est enregistrée comme :
9000 et 4500 sont l’en-tête, toutes les valeurs de 450 sont les espaces et les zéros sont remplis par les valeurs dans le tableau d’octets de commande avec le sub routines buildBuffer() et GetValue.
Envoi de la commande IR
La fonction sendCmd() analyse la commande demandée et s’accumule le sendBuffer correct en appelant buildBuffer avec une référence au tableau d’octets commandes. Ensuite, la commande est envoyée à la climatisation avec la sendCode() de routine void. Comme j’ai dit précédemment, aucun des protocoles disponibles de la bibliothèque de IRremote8266 ne fonctionnait avec mon aircons, alors j’ai besoin d’utiliser la fonction IRsend::sendRaw().