Aquí hay un resumen rápido de los flujos de trabajo típicos adecuados para un protocolo en particular, y algunas razones.
- MQTT:
- Además de ser liviano, MQTT ofrece semántica de publicación / suscripción (en el mismo zócalo) que facilita la programación en el lado del dispositivo IoT . Los proveedores de servicios en la nube de IoT como AWS IoT y Evrythng y otros ofrecen conectividad de dispositivos basada en MQTT.
- Requiere un intermediario de mensajes (servidor) para su funcionamiento. Esto lo convierte en una buena opción para la comunicación remota / en la nube , ya que el servidor en la nube actúa como intermediario de mensajes entre el dispositivo IoT y otras aplicaciones / servicios.
- Esto también hace que NO sea una gran opción para la comunicación de red local entre dispositivos, ya que requiere que el usuario final implemente un agente adicional en su sistema.
- API REST sobre HTTP / HTTPS / Websockets:
- Como ya se sabe, esta es una gran opción para aplicaciones comunicación en la nube . Hay abundante soporte y marcos disponibles para manejar todos los casos de uso comunes.
- Esta también es una buena opción para la comunicación del dispositivo IoT (servidor) aplicación (cliente) en la red local . Una vez más, la razón es que este modelo es ampliamente compatible con el ecosistema de aplicaciones. Y la mayoría de los dispositivos IoT con Wi-Fi ya admiten un servidor web.
- Esto puede (y es) también usarse para la comunicación en la nube del dispositivo . Entonces, esencialmente el dispositivo IoT actúa como un cliente web. El único problema que debe solucionar es que HTTP es un protocolo de desafío-respuesta. Por lo tanto, el dispositivo tendrá que seguir sondeando el servidor para obtener nuevas actualizaciones, o usar sondeos largos o usar websocket.
- CoAP:
- CoAP se ejecuta en UDP y, por lo tanto, se puede ejecutar en entornos con recursos extremadamente limitados . Ofrece semántica paralela a HTTP en su mayor parte.
- Es un buen mecanismo para la comunicación de la red local, particularmente cuando es un ecosistema de otros dispositivos CoAP.