L’appel de procédure distante inversé (RRPC) permet d’utiliser des topics personnalisés pour communiquer avec IoT Platform. Les topics RRPC intègrent vos topics personnalisés afin de prendre en charge la communication dans divers scénarios.
Prérequis
Pour développer un appareil communiquant avec IoT Platform via des topics personnalisés, utilisez l’un des SDK Link suivants : C Link SDK.
Topics personnalisés
| Topic | Format | Description |
| Abonnement RRPC | /ext/rrpc/+/${topic} |
Abonnez-vous au topic personnalisé dans le message de requête RRPC envoyé par IoT Platform. |
| Message de requête RRPC | /ext/rrpc/${messageId}/${topic} |
Message de requête RRPC envoyé par IoT Platform. |
| Message de réponse RRPC | /ext/rrpc/${messageId}/${topic} |
Message de réponse RRPC envoyé par l’appareil. |
Le format du topic utilise les variables suivantes :
-
${topic} : Topic personnalisé complet dans IoT Platform. Le format est
/${productKey}/${deviceName}/user/${TopicShortName}.${TopicShortName}correspond au suffixe du topic personnalisé et spécifie sa catégorie. Pour plus d’informations, consultez la rubrique Utilisation de topics personnalisés pour la communication. ${messageId} : ID unique du message RRPC généré par IoT Platform lorsque le serveur appelle l’opération API RRpc pour envoyer un message à l’appareil. Utilisez cet ID pour distinguer les différents messages RRPC.
Par exemple, si le topic personnalisé de l’appareil device1 est a18wP***/device1/user/get, le topic permettant d’envoyer un message RRPC est /ext/rrpc/121307410***/a18wP***/device1/user/get.
Connexion avec RRPC
-
Envoyez un message RRPC depuis IoT Platform.
Le serveur appelle l’API RRpc de IoT Platform pour envoyer un message à l’appareil. Pour plus d’informations, consultez la rubrique RRpc.
L’exemple suivant montre comment appeler l’API à l’aide du SDK Java pour IoT Platform.
Si vous utilisez le format de topic personnalisé, assurez-vous que le SDK Java IoT Platform pour le cloud (aliyun-java-sdk-iot) est en version 6.0.0 ou ultérieure.
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-iot</artifactId> <version>6.0.0</version> </dependency>Exemple d’appel de l’API RRpc :
RRpcRequest request = new RRpcRequest(); request.setProductKey("testProductKey"); request.setDeviceName("testDeviceName"); request.setRequestBase64Byte(Base64.getEncoder().encodeToString("hello world")); request.setTopic("/testProductKey/testDeviceName/user/get");// If you use a custom topic, pass the custom topic here. request.setTimeout(3000); RRpcResponse response = client.getAcsResponse(request);RemarqueVous pouvez également vous connecter au
pour appeler l’API
RRpc
en ligne et consulter des exemples d’appels pour les SDK cloud IoT Platform dans différents langages.
-
Configurez l’appareil.
Aucune configuration spéciale n’est requise pour les appareils utilisant le C Link SDK.
-
L’appareil envoie une réponse RRPC.
Le topic de requête et le topic de réponse pour un appel RRPC sont identiques. L’appareil envoie la réponse au même topic que celui depuis lequel il a reçu la requête.
RemarqueLes appareils ne peuvent envoyer des messages de réponse RRPC qu’avec un niveau de qualité de service (QoS) de 0.