Paso 9: El software para el módulo de ESP8266 - parte 3 "comunicación para el aire acondicionado"
Enviar comandos IR para el aire acondicionado se realiza con la ayuda de la biblioteca de IRremoteESP8266 , publicada como software libre. La biblioteca admite ya una amplia gama de protocolos para diferentes aparatos, pero ofrece también para enviar comandos IR "crudos". Lamentablemente ninguno de los protocolos implementados trabajó con mi aircons (incluso durante la grabación que del protocolo fue reconocido como "NEC" para el aire acondicionado de FujiDenzo). Así que tuve que utilizar la función sendRaw().
Los códigos IR
Para ahorrar espacio de memoria he guardado los comandos grabados como matrices de bytes que contienen solamente las marcas (0 o 1) del código, no el encabezado o espacios. Ejemplo:
El comando completo de raw se guarda como:
9000 y 4500 son la cabecera, todos los valores de 450 son los espacios y los ceros están llenos con los valores de la matriz de bytes de comando con las sub rutinas buildBuffer() y getValue().
Enviar el comando de IR
La función sendCmd() analiza el comando solicitado y acumula el sendBuffer correcto llamando buildBuffer con una referencia a la matriz de bytes de comandos. Luego del mando para el aire acondicionado con la sub rutina sendCode(). Como he dicho antes, ninguno de los protocolos disponibles de la biblioteca de IRremote8266 funcionaba con mi aircons, así que necesitaba utilizar la función IRsend::sendRaw().