Une fois qu'un appareil est connecté à IoT Platform, il y soumet des données. Ces données peuvent ensuite être transférées vers votre serveur via le protocole AMQP (Advanced Message Queuing Protocol). Cette rubrique explique comment configurer un abonnement côté serveur utilisant AMQP. Votre serveur pourra ainsi recevoir les données provenant d'un lampadaire intelligent à l'aide d'un client AMQP.
Informations générales
L'illustration suivante présente le processus de configuration d'un abonnement côté serveur AMQP pour récupérer les messages des appareils. Pour plus d'informations, consultez les rubriques Configurer un abonnement côté serveur AMQP et Connecter un client AMQP. 
Procédure
Accédez à la console IoT Platform.
Sous l'onglet Overview, cliquez sur Public Instance.
-
Configurez un groupe de consommateurs pour traiter les messages. Votre serveur écoutera ce groupe afin de récupérer les messages des appareils.
Dans le volet de navigation de gauche, sélectionnez . Sur la page Server-side Subscription, cliquez sur Consumer Groups.
Sous l'onglet Consumer Groups, cliquez sur Create Consumer Group.
Dans la boîte de dialogue Create Consumer Group , définissez le paramètre Consumer Group Name sur StreetLampConsumerGroup puis cliquez sur OK.
-
Configurez un abonnement côté serveur pour le produit auquel appartient l'appareil lampadaire. Cela permettra à votre serveur de s'abonner aux différents types de messages générés par ce produit.
Dans le volet de navigation de gauche, sélectionnez .
Sous l'onglet Subscriptions de la page Server-side Subscription , cliquez sur Create Subscription.
-
Dans la boîte de dialogue Create Subscription , configurez les paramètres requis puis cliquez sur OK. Le tableau suivant décrit ces paramètres.
Parameter
Description
Product
Sélectionnez StreetLamp.
Subscription Type
Sélectionnez AMQP.
Consumer Group
Sélectionnez le groupe de consommateurs StreetLampConsumerGroup créé à l'étape précédente.
Message Type
Sélectionnez Device Upstream Notification.
-
Connectez le client AMQP à IoT Platform.
Cet exemple utilise Java pour le développement. Nous vous recommandons d'utiliser le client Apache Qpid JMS. Pour télécharger le client et consulter les instructions, rendez-vous sur la page Qpid JMS 0.57.0.
L'environnement de développement utilisé dans cet exemple comprend les composants suivants :
Système d'exploitation : Windows 10 (64 bits)
Kit de développement Java (JDK) : JDK 8
Environnement de développement intégré (IDE) : IntelliJ IDEA Community Edition
Pour connecter le client AMQP à IoT Platform, procédez comme suit :
Téléchargez le package de code de démonstration et décompressez-le.
Ouvrez IntelliJ IDEA et importez l'exemple de projet amqp-demo contenu dans le package de démonstration.
-
Dans le fichier AmqpClient.java situé dans le répertoire src/main/java/com.aliyun.iotx.demo , configurez les paramètres nécessaires pour connecter le client JMS à IoT Platform. Le tableau ci-dessous détaille ces paramètres.
Parameter
Example
Description
accessKey
LTAI
Accédez à la console IoT Platform, placez le curseur sur votre photo de profil, puis cliquez sur AccessKey Management pour obtenir l'ID AccessKey et le secret AccessKey.
RemarqueSi vous utilisez un utilisateur RAM, vous devez lui attribuer la stratégie d'autorisation AliyunIOTFullAccess. Cette stratégie permet à l'utilisateur de gérer les ressources IoT Platform. Sans cette attribution, la connexion à IoT Platform échouera. Pour plus d'informations sur l'attribution des autorisations à un utilisateur RAM, consultez la rubrique Accès des utilisateurs RAM.
accessSecret
yourAccessKeySecret
consumerGroupId
VWhGZ2QnP7kxWpeSSjt
L'ID du groupe de consommateurs créé à l'étape 3. Pour obtenir cet ID, procédez comme suit : Accédez à la page Public Instance de la console IoT Platform. Sélectionnez . Sur la page Server-side Subscription, cliquez sur Consumer Groups. L'ID s'affiche sous l'onglet Consumer Groups.
iotInstanceId
Instance publique nouvelle version : iot-w3***
Instance publique ancienne version : ""
L'ID de l'instance.
Si vous utilisez une instance publique nouvelle version, vous pouvez obtenir l'ID de l'instance sur la page Overview. Localisez l'public instance et consultez l'ID.
Si vous utilisez une instance publique ancienne version, laissez ce paramètre vide.
Pour plus d'informations, consultez la rubrique Présentation des instances.
clientId
12345
L'ID du client. Vous devez définir cet identifiant. Sa longueur maximale est de 64 caractères. Nous vous recommandons d'utiliser un identifiant unique, tel que l'UUID, l'adresse MAC ou l'adresse IP du serveur hébergeant votre client AMQP.
Une fois le client AMQP connecté et démarré, accédez à la console IoT Platform. Sur l'onglet Consumer Groups de la page de l'instance, cliquez sur View à côté du groupe de consommateurs. La page Consumer Group Details affiche ce paramètre, ce qui vous aide à identifier les différents clients.
connectionCount
4
Le nombre de connexions pour le client AMQP. La valeur maximale est 128. Ce paramètre sert à mettre à l'échelle la diffusion des messages en temps réel.
Sur la page Consumer Group Details, les clients connectés s'affichent au format
${clientId}+"-"+number. La valeur minimale pour number est 0.host
Instance publique nouvelle version : iot-***.amqp.iothub.aliyuncs.com
Instance publique ancienne version : 198426864.iot-amqp.cn-shanghai.aliyuncs.com
Le point de terminaison AMQP.
Si vous utilisez un client Java, .NET, Python 2.7, Node.js ou Go, le numéro de port est 5671.
Si vous utilisez un client Python 3 ou PHP, le numéro de port est 61614.
Pour plus d'informations, consultez la rubrique Afficher le point de terminaison d'une instance.
-
Après avoir exécuté l'exemple de code, les données de journal suivantes sont renvoyées. Elles indiquent que le client AMQP est connecté à IoT Platform et peut recevoir des messages.
RemarqueDans cet exemple, l'extrait de code
Thread.sleep(60 * 1000);a été ajouté pour arrêter le programme une minute après son démarrage. Vous pouvez adapter la durée d'exécution selon vos besoins métier.