Una vez que un dispositivo se conecta a IoT Platform, este envía datos a la plataforma. Posteriormente, dichos datos pueden reenviarse a su servidor mediante Advanced Message Queuing Protocol (AMQP). Este tema describe cómo configurar una suscripción del lado del servidor con AMQP para que su servidor reciba datos de una farola mediante un cliente AMQP.
Contexto
La siguiente figura muestra cómo configurar una suscripción del lado del servidor con AMQP para obtener mensajes de dispositivos. Para más información, consulte Configure AMQP server-side subscription y Connect an AMQP client. 
Procedimiento
Inicie sesión en la consola de IoT Platform.
En la pestaña Overview, haga clic en Public Instance.
-
Configure un grupo de consumidores para procesar mensajes. Su servidor puede escuchar este grupo para obtener los mensajes del dispositivo.
En el panel de navegación izquierdo, seleccione . En la página Server-side Subscription, haga clic en Consumer Groups.
En la pestaña Consumer Groups, haga clic en Create Consumer Group.
En el cuadro de diálogo Create Consumer Group, establezca el parámetro Consumer Group Name como StreetLampConsumerGroup y haga clic en OK.
-
Configure una suscripción del lado del servidor para el producto al que pertenece el dispositivo de farola. De este modo, su servidor podrá suscribirse a diversos tipos de mensajes del producto.
En el panel de navegación izquierdo, seleccione .
En la pestaña Subscriptions de la página Server-side Subscription, haga clic en Create Subscription.
-
En el cuadro de diálogo Create Subscription, configure los parámetros y haga clic en OK. La siguiente tabla describe los parámetros.
Parámetro
Descripción
Product
Seleccione StreetLamp.
Subscription Type
Seleccione AMQP.
Consumer Group
Seleccione el grupo de consumidores StreetLampConsumerGroup creado en el paso anterior.
Message Type
Seleccione Device Upstream Notification.
-
Conecte el cliente AMQP a IoT Platform.
En este ejemplo se utiliza Java para el desarrollo. Se recomienda usar el cliente Apache Qpid JMS. Para descargar el cliente y consultar las instrucciones, visite Qpid JMS 0.57.0.
El entorno de desarrollo de este ejemplo incluye los siguientes componentes:
Sistema operativo: Windows 10 (64 bits)
Java Development Kit (JDK): JDK 8
Entorno de desarrollo integrado (IDE): IntelliJ IDEA Community Edition
Para conectar el cliente AMQP a IoT Platform, realice los siguientes pasos:
-
Descargue el paquete de código de demostración y descomprímalo.
Abra IntelliJ IDEA e importe el proyecto de ejemplo amqp-demo incluido en el paquete de demostración.
-
En el archivo AmqpClient.java, ubicado en el directorio src/main/java/com.aliyun.iotx.demo, configure los parámetros necesarios para conectar el cliente JMS a IoT Platform. La siguiente tabla describe estos parámetros.
Parámetro
Ejemplo
Descripción
accessKey
LTAI
Inicie sesión en la consola de IoT Platform, pase el puntero sobre la imagen de perfil y haga clic en AccessKey Management para obtener el AccessKey ID y el AccessKey secret.
NotaSi utiliza un usuario RAM, debe adjuntar la directiva de permisos AliyunIOTFullAccess a dicho usuario. Esta directiva permite gestionar los recursos de IoT Platform. Si no adjunta la directiva, la conexión a IoT Platform fallará. Para más información sobre cómo otorgar permisos a un usuario RAM, consulte RAM user access.
accessSecret
yourAccessKeySecret
consumerGroupId
VWhGZ2QnP7kxWpeSSjt
El ID del grupo de consumidores creado en el paso 3. Para obtener el ID, siga estos pasos: Vaya a la página Public Instance de la consola de IoT Platform. Seleccione . En la página Server-side Subscription, haga clic en Consumer Groups. El ID se muestra en la pestaña Consumer Groups.
iotInstanceId
Instancia pública de la nueva versión: iot-w3***
Instancia pública de la versión anterior: ""
El ID de la instancia.
Si utiliza una instancia pública de la nueva versión, puede obtener el ID de la instancia en la página Overview. Busque la public instance y consulte el ID.
Si utiliza una instancia pública de la versión anterior, deje este parámetro vacío.
Para más información, consulte Instance overview.
clientId
12345
El ID del cliente. Debe definir este ID, el cual puede tener hasta 64 caracteres de longitud. Se recomienda utilizar un identificador único, como el UUID, la dirección MAC o la dirección IP del servidor donde se encuentra su cliente AMQP.
Una vez que el cliente AMQP esté conectado y en ejecución, inicie sesión en la consola de IoT Platform. En la pestaña Consumer Groups de la página correspondiente a la instancia, haga clic en View junto al grupo de consumidores. La página Consumer Group Details muestra este parámetro, lo que facilita la identificación de los distintos clientes.
connectionCount
4
El número de conexiones para el cliente AMQP. El valor máximo es 128. Este parámetro se utiliza para escalar horizontalmente el envío de mensajes en tiempo real.
En la página Consumer Group Details, los clientes conectados se muestran con el formato
${clientId}+"-"+number. El valor mínimo para number es 0.host
Instancia pública de la nueva versión: iot-***.amqp.iothub.aliyuncs.com
Instancia pública de la versión anterior: 198426864.iot-amqp.cn-shanghai.aliyuncs.com
El endpoint AMQP.
Si utiliza un cliente de Java, .NET, Python 2.7, Node.js o Go, el número de puerto es 5671.
Si utiliza un cliente de Python 3 o PHP, el número de puerto es 61614.
Para más información, consulte View the endpoint of an instance.
-
Al ejecutar el código de ejemplo, se devuelven los siguientes datos de registro. Estos indican que el cliente AMQP está conectado a IoT Platform y puede recibir mensajes.
NotaEn este ejemplo, se agregó el fragmento de código
Thread.sleep(60 * 1000);para finalizar el programa 1 minuto después de su inicio. Puede ajustar el tiempo de ejecución según sus necesidades empresariales.