MQTT utiliza un modelo de mensajería pub/sub asíncrono que no admite la comunicación síncrona del servidor al dispositivo. IoT Platform ofrece Revert-RPC (RRPC) sobre MQTT para permitir que su servidor envíe una solicitud a un dispositivo y espere una respuesta síncrona.
Glosario
|
Término |
Descripción |
|
RRPC |
Revert-RPC. RPC (Remote Procedure Call) emplea un modelo cliente/servidor para solicitar servicios de forma remota sin necesidad de conocer el protocolo subyacente. RRPC extiende este modelo para habilitar la comunicación síncrona de solicitud-respuesta entre un servidor y un dispositivo. |
|
Tema de suscripción RRPC |
El tema al que se suscribe un dispositivo para recibir mensajes RRPC. Contiene un carácter comodín. |
|
Mensaje de solicitud RRPC |
Un mensaje que IoT Platform envía a un dispositivo. |
|
Mensaje de respuesta RRPC |
Un mensaje que un dispositivo devuelve a IoT Platform. |
|
ID de mensaje RRPC |
Un identificador único que genera IoT Platform para cada llamada RRPC con el fin de distinguir los mensajes RRPC. |
Funcionamiento de RRPC

El proceso es el siguiente:
-
(Opcional) El dispositivo se suscribe al tema RRPC correspondiente.
IoT Platform proporciona un mecanismo personalizado de solicitud-respuesta RRPC basado en MQTT. Para recibir mensajes RRPC, el dispositivo debe suscribirse al tema y usted debe implementar la lógica de procesamiento de datos en el dispositivo.
Un dispositivo envía una instrucción SUB para suscribirse a un tema y recibir mensajes de IoT Platform. Link SDK incluye un ejemplo de código de suscripción.
Para implementar el procesamiento de mensajes RRPC en el dispositivo, siga el RRPC función development example.
Su servidor invoca la API RRpc de IoT Platform.
IoT Platform recibe la solicitud y envía un mensaje de solicitud RRPC al dispositivo. El cuerpo del mensaje contiene los datos de la solicitud del servidor y se dirige a un tema definido por IoT Platform que incluye el ID de mensaje RRPC.
Una vez que el dispositivo recibe el mensaje terminado en móvil, envía una respuesta RRPC a IoT Platform. Esta respuesta se publica en un tema con un formato específico que incluye el ID de mensaje RRPC de la solicitud original.
IoT Platform extrae el ID de mensaje RRPC y lo asocia con la solicitud original.
IoT Platform devuelve la respuesta a su servidor.
(Opcional) El dispositivo procesa el mensaje del tema suscrito.
Al invocar la API RRpc:
Si el dispositivo está desconectado, IoT Platform devuelve un error de dispositivo desconectado.
Si el dispositivo no responde en un plazo de 8 segundos, IoT Platform devuelve un error de tiempo de espera agotado.
Tipos de temas
Hay dos formatos de temas disponibles:
Call a custom topic (Recommended): Combina RRPC con temas personalizados para admitir diversos escenarios.
Call an RRPC communication topic: Utiliza el tema de comunicación predeterminado. Tiene aplicabilidad limitada y no se recomienda.
El tema Remotely control a Raspberry Pi servidor muestra una implementación práctica de RRPC.