La comunicación infrarroja (IR) es de las tecnologías más influyentes y menos llamativas que existen, según un repaso que publicó Hackaday el 26 de octubre. Como el enlace IR suele ser muy direccional y casi siempre de baja velocidad, mucha gente lo desprecia y cree que apenas sirve para que funcionen los controles de la tele, junto con algún equipo industrial poco querido como la interfaz IR de los medidores eléctricos.

Es una lástima. El control de la tele muestra justamente por qué a veces conviene algo direccional, y cualquiera que haya peleado con el emparejamiento Bluetooth sabe lo que vale que las cosas funcionen con solo apuntar al equipo. Los protocolos IR también protegen la privacidad por diseño, porque las paredes y otros obstáculos bloquean la señal. Un dispositivo Bluetooth vulnerable, en cambio, se anuncia sin problema a los vecinos y a cualquiera que pase.

Por razones como esas, y por lo simples y modificables que son, los protocolos IR merecen una mirada a fondo.

Control remoto

Control remoto infrarrojo

Uno de los usos más antiguos de los protocolos IR de consumo es el clásico control remoto. Los primeros televisores usaban controles con cable o ultrasónicos, y estos últimos transmitían cada orden con tonos simples de ultrasonido. Con los protocolos IR y la llegada de microcontroladores baratos se volvió posible crear protocolos de comunicación más completos. Los más conocidos y usados son el de NEC, el de Sony (SIRC) y el de Philips.

Usan una portadora de unos 38 kHz. El protocolo NEC, el más común, codifica por distancia entre pulsos, una forma de modulación por desplazamiento de amplitud, y el RC-5 de Philips usa codificación Manchester. Dentro de esa codificación, estos protocolos definen campos de bits y otros valores con los que el receptor sabe si la orden va dirigida a él y, en ese caso, qué comando quiere ejecutar el usuario.

Los controles baratos que vienen con casi cualquier tira de luces RGB y otros aparatos de hoy suelen usar el mismo protocolo NEC. Hay muchos proyectos con microcontrolador que manejan esos aparatos directamente con un simple LED infrarrojo.

Un ejemplo es este proyecto basado en STM32F0 de eleksaggr en GitHub, pensado para los controles RGB comunes de 24 teclas. Otro es la nota de aplicación Infrared Remote Control Implementation de Texas Instruments para el MSP430, que trae un buen resumen de los esquemas de modulación y codificación y explica cómo implementar un control remoto.

Muchos teléfonos tienen, o tenían, un emisor IR capaz de generar la misma portadora y una serie de protocolos para controlar casi cualquier cosa que funcione con control remoto infrarrojo. En teoría eso significaría que todos llevamos un control universal en el bolsillo, si no fuera porque los emisores IR se volvieron escasos. Si tu teléfono reciente todavía trae uno, lo más probable es que sea de una marca china, y es una pena porque los controles IR se siguen usando para muchísimas cosas.

IrDA

IrDA usado para transferir un archivo entre un Thinkpad T40 y un T42 (crédito nick99nack, Wikimedia)

El control remoto es un caso de uso bastante específico, pero por infrarrojo se puede mandar mucho más que un set básico de órdenes. El estándar más conocido es IrDA, sigla de Infrared Data Association, la asociación que definió las distintas normas.

Los principios de IrDA son en la práctica los mismos de los protocolos de control remoto, pero diseñados para velocidades mucho más altas. Eso se logra con distintos tipos de codificación, modulación y otras técnicas que también se ven en la comunicación inalámbrica por radio. Así se definen varias velocidades:

  • SIR, 115 kbit/s
  • MIR, 1 Mbit/s
  • FIR, 4 Mbit/s
  • VFIR, 16 Mbit/s
  • UFIR, 96 Mbit/s
  • Giga-IR, de 512 Mbit/s a 1 Gbit/s
La pila de protocolos IrDA (crédito Fred derf, Wikimedia)

Además existen protocolos derivados, como IrSimple, que facilita compartir imágenes entre teléfonos, impresoras y pantallas. Todos usan en general la misma pila de software de IrDA, aunque versiones especiales como IrSimple la optimizan para que la transferencia de una foto de 500 kB tome menos de un segundo.

La comunicación casi siempre es semidúplex, porque el lado que transmite genera demasiada interferencia para que el receptor del mismo transceptor reciba datos de forma confiable. Los dos extremos pueden estar hasta a 2 metros, aunque en las versiones de bajo consumo esa distancia baja a unos 20 cm.

Dentro de ese rango de velocidades se elige la que el equipo necesite. Los medidores eléctricos, por ejemplo, funcionan muy bien con IrDA-SIR, que consume poco y es lo bastante rápido como para implementarlo por software (bit-banging) incluso en el microcontrolador básico de un medidor, con solo un transceptor IR conectado a sus pines.

Medidores eléctricos

El modesto medidor eléctrico que vive en el armario de servicios, o donde sea que esté instalado, tiene que quedar protegido del entorno, así que necesita algún tipo de interfaz inalámbrica de bajo consumo y baja velocidad. Basta con una ventana transparente al infrarrojo en la carcasa para que un lector se apoye contra ella y consulte rápido la información necesaria.

Esa misma función aparece en medidores de calor y otros equipos que necesitan una lectura básica. La seguridad no depende solo de la corta distancia y de la línea de vista que exige el enlace IR. También hay un inicio de sesión con intercambio de contraseña cifrada.

Aunque antes se usaba mucho IrDA-SIR, hoy es bastante más común DLMS/COSEM, también conocido como IEC 62056. También se usan formas de lectura automática de medidores por radio (AMR), pero los protocolos de corto alcance como este tienen una ventaja clara en privacidad. Por la línea de vista, el lector tiene que estar literalmente frente al medidor para funcionar, algo que no ocurre con los enlaces de radio.

Que la privacidad importe o no depende del caso. Lo que cuesta discutir es el bajo consumo frente a la alternativa de meter un módulo Bluetooth o WiFi en el medidor y lidiar con todo lo que eso implica.

Consolas de videojuegos

Nintendo 3DS con el accesorio Circle Pad Pro instalado (crédito Umweltschützen, Wikimedia)

Puede parecer que las consolas portátiles saltaron directo del cable de enlace del Game Boy a las transferencias por WiFi, pero la Nintendo 3DS traía un puerto de comunicación IR. Estaba pensado para periféricos como el Circle Pad Pro y el lector y grabador de Amiibo para la 3DS original, que no tenía el lector NFC de la New Nintendo 3DS.

Resulta que la 3DS usa IrDA-SIR para esa expansión. El Circle Pad Pro, por ejemplo, trabaja a 96.000 baudios. Como ese periférico solo agrega un segundo stick analógico que acompaña al izquierdo integrado, no necesita mucho ancho de banda.

El lector NFC externo era una aplicación parecida, de bajo ancho de banda. Tenía mucho sentido usar el mismo puerto IR para llevar esa función a las 3DS más antiguas en lugar de dejarla como exclusiva de la New 3DS. Se podría haber usado Bluetooth incluso en esa época, pero la 3DS no lo traía, y basta mirar los Joy-Con de la Nintendo Switch para ver que consumen bastante más y que su circuitería es más compleja.

Cuando el bajo consumo y la línea de vista son una ventaja, y no una fuente de confusión sobre qué periférico se está emparejando, el infrarrojo tiene mucho sentido.

Arma tu propio transceptor IR

Si quieres construir tu propio receptor, emisor o transceptor, hay muchas opciones. Lo más interesante es que incluso para IrDA la función suele venir dentro del UART de muchos microcontroladores. En los ESP32 de Espressif, por ejemplo, la lista de modos posibles del UART incluye IrDA y RS485 además del UART simple.

También hay circuitos integrados dedicados a codificar y decodificar IrDA, como el MCP2120, que agrega IrDA-SIR a cualquier interfaz UART que no implemente el protocolo de forma directa. Otra opción es el transceptor IrDA TFDU4101 de Vishay, que integra todo, incluidos los elementos infrarrojos, en un solo encapsulado.

Si lo tuyo son los protocolos de control remoto de NEC, Sony y Philips, un componente común como el VS1838b cumple un papel parecido al de la pieza de Vishay para aplicaciones de 38 kHz. Este receptor IR se encarga de recibir, demodular y amplificar la señal, y deja al microcontrolador solo la tarea de interpretar los datos recibidos.