Protocolos para la Internet de las cosas

¿Qué significa la frase Internet de las cosas? Depende mucho de su ubicación en la cadena de suministro. Muchas personas han tratado de definirla y las definiciones, a menudo, están matizadas por las necesidades de sus propios sectores y sus propias agendas. Pero como ingeniero de hardware o software, usted ya comprende el elemento esencial: crear productos que estén interconectados. Los sistemas integrados tendrán (y tienen) un papel fundamental en el desarrollo de la IoT. En este artículo, examinaremos Internet y sus protocolos existentes y nuevos que apoyan las iniciativas de IoT. Antes de analizar estos protocolos, definamos qué son, porque las tareas del dispositivo final dictarán la mayoría de los requisitos para los protocolos que se deben usar.

IoT industrial y para consumidores


Los requisitos de software para los dispositivos de IoT industrial y para consumidores pueden ser bastante distintos. Aunque podrían compartir un kernel común y servicios de bajo nivel, el middleware requerido por sus aplicaciones puede ser fundamentalmente diferente. 

La IoT industrial, a saber, un nodo WSN representa una pila de software para un dispositivo de IoT industrial, como un nodo de sensor inalámbrico (WSN). Este dispositivo de baja potencia y de bajo costo puede funcionar completamente con una batería. Este tipo de dispositivo podría usar normalmente un

procesador de 32 bits. También podría usar un procesador de 8 o 16 bits, pero si la pila de comunicaciones se ejecuta en módulos complementarios. Usaría un protocolo de red muy eficiente, como 6LoWPAN, para reducir el tiempo de transmisión y ahorrar energía. También podría comunicarse de forma inalámbrica en distancias cortas mediante Bluetooth. Al ser un nodo periférico, debemos transferir los datos desde una red inalámbrica a una red basada en IP (Internet local o pública) y usaría Wi-Fi o Ethernet de baja potencia. 

Está claro, que los requisitos de software de este dispositivo son mucho mayores. Podría necesitar una Java VM. También podría utilizar un protocolo de mercado vertical. Lamentablemente, la IoT para consumidores está muy fragmentada en términos de protocolo de mercado vertical (protocolo de aplicación). Muchas compañías están proponiendo soluciones patentadas. Por ejemplo, en el mercado del consumidor de bienes para el hogar:

  •   Apple tiene MFI (Made For Idevices)

  •   Google (Nest) anunció Thread

  •   Samsung, Intel, Dell, Atmel y Broadcom se unieron para lanzar Open Interconnect Consortium (OIC)

  •   The AllSeen Alliance (anteriormente AllJoyn) ha estado proponiendo un estándar durante muchos años. Los principales miembros son Haier, LG, Microsoft, Panasonic, Qualcomm, Sharp, Silicon Image, Technicolor y TP-Link.  

Hay otros ejemplos, como la comunicación por línea de alimentación: HomePlug y HomeGrid.

En el mercado vertical médico, organizaciones como Continua Alliance, IHE (Integrating the HealthCare Enterprise) o IEEE también están desarrollando y proponiendo estándares.

Micrium no ofrece estos protocolos. Un fabricante de equipos que necesite que sus productos sean compatibles con uno de estos protocolos de IoT para consumidores debe registrarse con estas organizaciones y, luego, integrar estos protocolos como parte de la aplicación de su producto.

En la IoT industrial, esta iniciativa impulsada por el mercado no está tan presente. Existe una actividad principal denominada Industrial Internet Consortium (IIC), cuyos miembros fundadores son AT&T, Cisco, GE, Intel e IBM. Sin embargo, aparte del IIC, el desarrollo de dispositivos y sistemas de IoT es más bien privado. Esta es la razón por la cual el conocimiento de Internet y de los Protocolos de Internet (IP) es tan importante actualmente para los desarrolladores de sistemas integrados.

Protocolo de Internet (IP)

El uso de la tecnología de IP es fundamental para la IoT. El IP permite la interoperabilidad de los sistemas. Es posible que esta característica no parezca importante hoy, pero a medida que la IoT evolucione, la interoperabilidad de los sistemas se convertirá en una competencia importante para generar ingresos. Ethernet/Wi-Fi y 6LoWPAN dependen en gran medida de IPv4 e IPv6.

Protocolos IP utilizados en la IoT

Definitivamente, es posible crear un sistema de IoT con las tecnologías Web existentes, aunque no sean tan eficaces como los protocolos más nuevos. HTTP(S) y Websockets son estándares comunes, junto con XML o JavaScript Object Notation (JSON) para la carga útil. Cuando se utiliza un explorador Web estándar (cliente HTTP), JSON proporciona una capa de abstracción para que los desarrolladores Web creen una aplicación para Web con estado con una conexión de dúplex constante a un servidor Web (servidor HTTP) mediante la mantención de dos conexiones HTTP abiertas.

HTTP

HTTP es la base del modelo cliente-servidor usado para la Web. El método más seguro de implementar el HTTP en su dispositivo de IoT es incluir solo un cliente, no un servidor. En otras palabras, es más seguro si el dispositivo de IoT puede iniciar conexiones a un servidor Web, pero no es capaz de recibir solicitudes de conexión. Después de todo, no queremos permitir que máquinas externas tengan acceso a la red local donde se encuentran instalados los dispositivos de IoT.

WebSocket

WebSocket es un protocolo que proporciona comunicación dúplex completa a través de una conexión TCP única por la cual se pueden enviar mensajes entre el cliente y el servidor. Forma parte de la especificación HTML 5. El estándar WebSocket simplifica gran parte de la complejidad que circunda la comunicación Web bidireccional y la administración de la conexión. Usar Websockets junto con HTTP es una solución apropiada para los dispositivos de IoT si los dispositivos pueden soportar las cargas de HTTP.

XMPP

XMPP (Protocolo extensible de mensajería y presencia) es un excelente ejemplo de una tecnología Web existente que encuentra un uso nuevo en el espacio de IoT.

El XMPP tiene sus raíces en la mensajería instantánea y la información de presencia, y se ha ampliado a llamadas de voz y video, colaboración, middleware ligero, redifusión de contenido y enrutamiento generalizado de datos XML. Es un aspirante a administración a escala masiva de electrodomésticos de consumo, como lavadoras, secadoras, refrigeradores, etc.

Las ventajas del XMPP son su direccionamiento, seguridad y escalabilidad. Esto lo hace ideal para aplicaciones de IoT orientada a los consumidores.

HTTP, Websocket y XMPP son solo ejemplos de tecnologías que se han tenido que poner a trabajar para la IoT. Otros grupos también están trabajando intensamente a fin de desarrollar soluciones para los nuevos desafíos que la IoT nos presenta.

Protocolos dedicados de IoT

Muchos expertos de IoT se refieren a los dispositivos de IoT como sistemas limitados, porque creen que estos dispositivos deberían ser lo más baratos posibles y usar los MCU más pequeños disponibles, a la vez, que ejecutan una pila de comunicación. 

Actualmente, adaptar Internet para la IoT es una de las prioridades principales de muchas organizaciones de estandarización global. 

Si su sistema no requiere las características de TCP y puede funcionar con las capacidades de UDP más limitadas, quitar por completo el módulo de TCP ayuda enormemente a reducir el tamaño de la huella de código total de su producto. Esto es lo que 6LoWPAN (para WSN) y CoAP (protocolo de Internet ligero) aportan al universo de la IoT.

CoAP

Aunque la infraestructura Web se encuentra disponible para dispositivos de IoT y estos la pueden usar, es demasiado pesada para la mayoría de las aplicaciones de IoT. En julio de 2013, IETF lanzó el Protocolo de aplicación restringida (CoAP) para usarlo con nodos y redes de baja potencia y con pérdida (restringidos) (LLN). El CoAP, como HTTP, es un protocolo RESTful.

El CoAP está semánticamente alineado con HTTP e, incluso, tiene asignaciones uno a uno hacia y desde HTTP. Los dispositivos de red están restringidos por microcontroladores más pequeños, con pequeñas cantidades de memoria flash y RAM, mientras que las restricciones en las redes locales, como 6LoWPAN, se deben a altas tasas de error de paquete y a un bajo rendimiento (decenas de kilobits por segundo). El CoAP puede ser un protocolo apropiado para dispositivos que operan con batería o mediante extracción de energía.

Características del CoAP: el CoAP usa UDP

 Debido a que el CoAP usa UDP, algunas de las funciones de TCP se reproducen directamente en el CoAP. Por ejemplo, el CoAP distingue entre mensajes que se pueden confirmar (que requieren una confirmación) y que no se pueden confirmar.

  •   Las solicitudes y las respuestas se intercambian de forma asincrónica en los mensajes de CoAP (a diferencia del HTTP, donde se utiliza una conexión TCP existente).

  •   Todos los encabezados, métodos y códigos de estado se codifican de forma binaria, lo que reduce la sobrecarga del protocolo. Sin embargo, esto requiere el uso de un analizador de protocolo para solucionar problemas de red.

  •   A diferencia del HTTP, la capacidad de copiar en caché las respuestas de CoAP no depende del método de solicitud, sino del Código de respuesta.

    El CoAP aborda completamente las necesidades de un protocolo extremadamente ligero y con la naturaleza de una conexión permanente. Tiene conocimiento semántico de HTTP y es RESTful (recursos, identificadores de recursos y manipula esos recursos a través de una Interfaz de programación de aplicaciones [API] uniforme). Si tiene un entorno Web, usar CoAP será relativamente fácil.

    MQTT

    El Transporte de telemetría de cola de mensajes (MQTT) es un protocolo de código abierto que se desarrolló y optimizó para dispositivos restringidos y redes de bajo ancho de banda, alta latencia o poco confiables. Es un transporte de mensajería de publicación/suscripción que es extremadamente ligero e ideal para conectar dispositivos pequeños a redes con ancho de banda mínimo. El MQTT es eficiente en términos de ancho de banda, independiente de los datos y tiene reconocimiento de sesión continua, porque usa TCP. Tiene la finalidad de minimizar los requerimientos de recursos del dispositivo y, a la vez, tratar de asegurar la confiabilidad y cierto grado de seguridad de entrega con calidad del servicio.

    El MQTT se orienta a grandes redes de dispositivos pequeños que necesitan la supervisión o el control de un servidor de back-end en Internet. No está diseñado para la transferencia de dispositivo a dispositivo. Tampoco está diseñado para realizar "multidifusión" de datos a muchos receptores. El MQTT es simple y ofrece pocas opciones de control. Las aplicaciones que usan MQTT, por lo general, son lentas en el sentido de que la definición de "tiempo real" en este caso se mide habitualmente en segundos.

    Comparación de los protocolos de IoT potenciales

    Cisco ocupa un lugar central en la Internet; su equipo de IP está en todas partes. En la actualidad, Cisco participa activamente en la evolución de la IoT. Ve el potencial de conectar los objetos físicos y obtener datos de nuestro entorno y procesarlos para mejorar nuestros niveles de vida.

  • Estos protocolos de IoT específicos de Internet se desarrollaron para satisfacer los requisitos de los dispositivos con pequeñas cantidades de memoria y las redes con bajo ancho de banda y alta latencia.
  • El HTTP puede ser un protocolo pesado para un dispositivo de IoT. Tiene mensajes extensos porque se envían en formato legible para el ser humano. En el caso de los dispositivos de IoT, el tamaño de la carga es, a menudo, una limitación. Para una gran familia de dispositivos, informar y aceptar comandos puede realizarse de forma más eficaz con un protocolo mucho más liviano. Se ha propuesto al MQTT como la respuesta a estos problemas. El MQTT no es un estándar IETF y es generado por IBM y la fundación Eclipse.

    Conclusión

    En el término "Internet de las cosas", aparece la palabra Internet. Algunas compañías pueden ofrecer dispositivos clasificados como dispositivos de IoT que no utilizan el Protocolo de Internet. Deberíamos esperar esto. Hoy, la IoT es un término tan sólido (algunos podrían decir que exagerado) que todos los fabricantes quieren aprovechar la enorme cobertura mediática de la IoT.

    El Protocolo de Internet (IP) es un portador; puede encapsular tantos protocolos para la IoT como lo hace hoy para la Web. Muchos especialistas de la industria exigen una estandarización de protocolos. Sin embargo, si existe una cantidad tan grande de protocolos para la Web, ¿por qué no habría la misma cantidad para la IoT? Usted elige los protocolos que satisfacen sus requisitos. La única diferencia es que los protocolos de IoT aún son muy nuevos y deben demostrar su confiabilidad. Recuerde que, cuando Internet se transformó en realidad, la versión 4 del IP fue lo que lo hizo posible. Ahora, estamos implementando masivamente la versión 6 del IP, y la IoT es la aplicación de excelente rendimiento que los portadores de telecomunicaciones han estado esperando para justificar la inversión requerida.

    El posicionamiento de cada uno de los protocolos de IoT requiere un cuestionamiento similar. Salvo el protocolo HTTP, todos estos protocolos están posicionados como protocolos de IoT de publicación-suscripción en tiempo real, compatibles con millones de dispositivos. Según cómo defina "tiempo real" (segundos, milisegundos o microsegundos) y "cosas" (nodo WSN, dispositivo multimedia, dispositivo usable personal, escáner médico, control de motor, etc.), la selección del protocolo para su producto es fundamental. En esencia, estos protocolos son todos muy diferentes.

    Sin embargo, el diseño de los sistemas de datos de IoT se encuentra más allá del diseño de hardware y de software. Necesitamos separar los datos de la aplicación, de manera que podamos hacer cosas nuevas con ellos, cosas que aún no imaginamos. Para el desarrollador de sistemas integrados normal, pensar específicamente en los datos que genera el sistema requiere una nueva mentalidad. Estos datos son valiosos. En el diseño de sistemas integrados, comprendemos muy bien cómo diseñar las "Cosas", la red local e, incluso, la puerta de enlace. El procesador, el sensor, la conectividad inalámbrica, la puerta de enlace, la red IP y la seguridad son todos elementos que el desarrollador integrado conoce bien.

    El nuevo desafío para la comunidad integrada es utilizar algún tipo de sistema de computación en nube para aprovechar el valor inherente de nuestros datos. Para monetizar los datos del sistema integrado, se requiere realmente algún tipo de sistema de computación en nube, ya sea privado, subcontratado o público. Este es un nuevo paradigma para la comunidad integrada.

    La tecnología de hardware, la tecnología de software, la infraestructura y la computación en nube de los sistemas integrados se están probando e implementando activamente, promoviendo la emergente Internet de las cosas. Para tener un éxito real y alcanzar los 50 mil millones de dispositivos que se implementarán para el año 2020, necesitamos los mismos estándares abiertos, desarrollo y cooperación que apoyaron la creación de la Internet de las personas (también conocida como la Web). IPSO Alliance está promocionando los estándares de IP y los utiliza para crear las arquitecturas de referencia que buscan los desarrolladores de productos.

    La IoT para los sistemas integrados es la nueva revolución industrial. El potencial de crecimiento de la industria integrada es enorme. Para alcanzar este potencial, la industria integrada necesita adoptar el nuevo paradigma de IoT. Ahora comprendemos lo que se debe hacer. Es posible que aún no tengamos estándares bien definidos y establecidos para cada elemento estructural de los sistemas de IoT futuros, como la facilidad de configuración o la actualización remota y segura de firmware. No obstante, esto no debería impedirnos crear un sistema que ofrecerá valor a los clientes. 






Últimas noticias

Lo sentimos, pero su selección de filtros no devolvió resultados.

Hemos actualizado nuestra política de privacidad. Por favor tome un momento para revisar estos cambios. Al hacer clic en Acepto, usted está de acuerdo con la Politica de Privacidad de Arrow Electronics y sus condiciones de uso.

Nuestro sitio Web coloca cookies en su dispositivo para mejorar su experiencia y nuestro sitio. Lea más sobre las cookies que utilizamos y cómo desactivarlas aquió. Es posible que se utilicen las cookies y tecnologías de seguimiento con fines de marketing.
Al hacer clic en "Aceptar", usted está consintiendo la colocación de cookies en su dispositivo y el uso de tecnologías de seguimiento. Haga clic en "Leer más" a continuación para obtener más información e instrucciones sobre cómo desactivar las cookies y tecnologías de seguimiento. Si bien la aceptación de cookies y tecnologías de seguimiento es voluntaria, la desactivación de estos puede resultar en que el sitio web no funcione correctamente, y es posible que ciertos anuncios sean menos relevantes para usted.
Respetamos su privacidad. Lea nuestra política de privacidad aquió