¿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:
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. CoAPAunque 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.
|