Colocar en cola los mensajes de enlace descendente para enviarlos a dispositivos LoRaWAN
Las aplicaciones alojadas en la nube y otros Servicio de AWS pueden enviar mensajes de enlace descendente a sus dispositivos inalámbricos. Los mensajes de enlace descendente son mensajes que se envían desde AWS IoT Core para LoRaWAN hasta su dispositivo inalámbrico. Puedes programar y enviar mensajes de enlace descendente para cada dispositivo que haya conectado a AWS IoT Core para LoRaWAN.
Si tiene varios dispositivos a los que desea enviar un mensaje de enlace descendente, puede usar un grupo de multidifusión. Los dispositivos de un grupo de multidifusión comparten la misma dirección de multidifusión, que luego se distribuye a todo un grupo de dispositivos receptores. Para obtener más información, consulte Crear grupos de multidifusión para enviar una carga de enlace descendente a varios dispositivos.
Cómo funciona una cola de mensajes de enlace descendente
La clase de dispositivo de su dispositivo LoRaWAN determina cómo se envían los mensajes de la cola al dispositivo. Los dispositivos de clase A envían un mensaje de enlace ascendente a AWS IoT Core para LoRaWAN para indicar que el dispositivo está disponible para recibir mensajes de enlace descendente. Los dispositivos de clase B pueden recibir mensajes en las ranuras de enlace descendente normales. Los dispositivos de clase C pueden recibir mensajes de enlace descendente en cualquier momento. Para obtener más información acerca de las clases de precios, consulte Clases de dispositivos.
A continuación, se muestra cómo se ponen en cola los mensajes y cómo se envían a los dispositivos de clase A.
-
AWS IoT Core para LoRaWAN almacena en búfer el mensaje de enlace descendente que ha agregado a la cola con el puerto de marco, los datos de carga y los parámetros del modo de confirmación que especificó mediante la consola de AWS IoT o la API de AWS IoT Wireless.
-
El dispositivo LoRaWAN envía un mensaje de enlace ascendente para indicar que está en línea y que puede empezar a recibir mensajes de enlace descendente.
-
Si ha agregado más de un mensaje de enlace descendente a la cola, AWS IoT Core para LoRaWAN envía el primer mensaje de enlace descendente de la cola a su dispositivo con el indicador de confirmación (ACK) activado.
-
El dispositivo envía un mensaje de enlace ascendente a AWS IoT Core para LoRaWAN inmediatamente o permanece en reposo hasta el siguiente mensaje de enlace ascendente e incluye el indicador ACK en el mensaje.
-
Cuando AWS IoT Core para LoRaWAN recibe el mensaje de enlace ascendente con el indicador ACK, borra el mensaje de enlace descendente de la cola, lo que indica que el dispositivo ha recibido correctamente el mensaje de enlace descendente. Si el indicador ACK no aparece en el mensaje de enlace ascendente después de comprobarlo tres veces, el mensaje se descarta.
Realizar operaciones de cola de enlace descendente mediante la consola
Puede utilizar AWS Management Console para poner en cola los mensajes de enlace descendente y borrar mensajes individuales o toda la cola, según sea necesario. En el caso de los dispositivos de clase A, después de recibir un enlace ascendente del dispositivo para indicar que está en línea, los mensajes en cola se envían al dispositivo. Una vez enviado el mensaje, se borra automáticamente de la cola.
Poner en cola los mensajes de enlace descendente
Para crear una cola de mensajes de enlace descendente
-
Vaya a la central de dispositivos de la consola de AWS IoT
y elija el dispositivo para el que desea poner en cola los mensajes de enlace descendente. -
En la sección Mensajes de enlace descendente de la página de detalles del dispositivo, seleccione Poner en cola los mensajes de enlace descendente.
-
Especifique los siguientes parámetros para configurar el mensaje de enlace descendente:
-
FPort: elija el puerto de marco para que el dispositivo se comunique con AWS IoT Core para LoRaWAN.
-
Carga: especifique el mensaje de carga que desea enviar al dispositivo. El tamaño de carga máximo es de 242 MB. Si la velocidad de datos adaptativa (ADR) está habilitada, AWS IoT Core para LoRaWAN la usa para elegir la velocidad de datos óptima para el tamaño de la carga. Puede optimizar aún más la velocidad de datos según sea necesario.
-
Modo de reconocimiento: confirme si su dispositivo ha recibido el mensaje de enlace descendente. Si un mensaje requiere este modo, verá un mensaje de enlace ascendente con el indicador ACK en su flujo de datos y el mensaje se borrará de la cola.
-
-
Para agregar su mensaje de enlace descendente a la cola, seleccione Enviar.
El mensaje de enlace descendente ya se ha agregado a la cola. Si no ve el mensaje o recibe un error, puede solucionar el error tal y como se describe en Solucionar los errores de la cola de mensajes del enlace descendente.
nota
Una vez que el mensaje de enlace descendente se haya agregado a la cola, no podrá editar los parámetros FPort, Carga ni Modo de reconocimiento. Para enviar un mensaje de enlace descendente con valores diferentes para estos parámetros, puede eliminar este mensaje y poner en cola un nuevo mensaje de enlace descendente con los valores de los parámetros actualizados.
La cola muestra los mensajes de enlace descendente que ha agregado. Para ver la carga de los mensajes de enlace ascendente y descendente que se intercambian entre sus dispositivos y AWS IoT Core para LoRaWAN, puede utilizar el analizador de redes. Para obtener más información, consulte Supervisión de su flota de recursos inalámbricos en tiempo real mediante un analizador de redes.
Enumerar la cola de mensajes de enlace descendente
El mensaje de enlace descendente que ha creado se agrega a la cola. Cada mensaje de enlace descendente posterior se agrega a la cola después de este mensaje. Puede ver una lista de los mensajes de enlace descendente en la sección Mensajes de enlace descendente de la página de detalles del dispositivo. Tras recibir un enlace ascendente, los mensajes se envían al dispositivo. Una vez que el dispositivo reciba un mensaje de enlace descendente, se eliminará de la cola. A continuación, el siguiente mensaje pasará a una posición superior en la lista para enviarse a su dispositivo.
Eliminar mensajes individuales de enlace descendente o borrar toda la cola
Cada mensaje de enlace descendente se borra automáticamente de la cola después de enviarse a su dispositivo. También puede eliminar mensajes individuales o borrar toda la cola de enlaces descendentes. Estas acciones no se pueden deshacer.
-
Si encuentra mensajes en la cola que no quiere enviar, selecciónelos y elija Eliminar.
-
Si no desea enviar ningún mensaje de la cola a su dispositivo, puede borrar toda la cola seleccionando Borrar cola de enlaces descendentes.
Realizar operaciones de cola de enlace descendente mediante la API
Puede usar la API de AWS IoT Wireless para poner en cola los mensajes de enlace descendente y borrar mensajes individuales o toda la cola, según sea necesario.
Poner en cola los mensajes de enlace descendente
Para crear una cola de mensajes de enlace descendente, utilice la operación de API SendDataToWirelessDevice
o el comando de CLI send-data-to-wireless-device
.
aws iotwireless send-data-to-wireless-device \ --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \ --transmit-mode "1" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata LoRaWAN={FPort=1}
El resultado de la ejecución de este comando genera un MessageId
para el mensaje de enlace descendente. En algunos casos, incluso si recibe el MessageId
, los paquetes pueden descartarse. Para obtener más información acerca de cómo resolver este error, consulte Solucionar los errores de la cola de mensajes del enlace descendente.
{ MessageId: "6011dd36-0043d6eb-0072-0008" }
Enumerar los mensajes de enlace descendente de la cola
Para enumerar todos los mensajes de enlace descendente de la cola, utilice la operación de API ListQueuedMessages
o el comando de CLI list-queued-messages
.
aws iotwireless list-queued-messages
De forma predeterminada, se muestran un máximo de 10 mensajes de enlace descendente al ejecutar este comando.
Eliminar los mensajes de enlace descendente individuales o borrar toda la cola
Para eliminar mensajes individuales de la cola o para borrar toda la cola, utilice la operación de API DeleteQueuedMessages
o el comando de CLI delete-queued-messages
.
-
Para eliminar mensajes individuales, introduzca el
messageID
de los mensajes que desee eliminar de su dispositivo inalámbrico, especificados por elwirelessDeviceId
. -
Para borrar toda la cola de enlaces descendentes, especifique
messageID
como*
para su dispositivo inalámbrico, según elwirelessDeviceId
.
Solucionar los errores de la cola de mensajes del enlace descendente
Estas son algunas cosas que debe comprobar si no ve los resultados esperados:
-
Los mensajes de enlace descendente no aparecen en la consola de AWS IoT
Si el mensaje de enlace descendente no aparece en la cola después de agregarlo tal y como se describe en Realizar operaciones de cola de enlace descendente mediante la consola, es posible que el dispositivo no haya completado un proceso denominado procedimiento de activación o unión. Este procedimiento se completará cuando el dispositivo se incorpore con AWS IoT Core para LoRaWAN. Para obtener más información, consulte Agregar las especificaciones de un dispositivo inalámbrico a AWS IoT Core para LoRaWAN con la consola.
Tras incorporar el dispositivo a AWS IoT Core para LoRaWAN, puede supervisarlo para comprobar si la conexión y la reconexión se han realizado correctamente mediante el analizador de redes o Amazon CloudWatch. Para obtener más información, consulte Herramientas de monitoreo.
-
Faltan paquetes de mensajes de enlace descendente al utilizar la API
Cuando utiliza la operación de API
SendDataToWirelessDevice
, la API devuelve un valorMessageId
único. Sin embargo, no puede confirmar si su dispositivo LoRaWAN ha recibido el mensaje de enlace descendente. Los paquetes de enlace descendente pueden descartarse en casos como cuando el dispositivo no ha completado el procedimiento de unión. Para obtener más información acerca de cómo resolver este error, consulte la sección anterior. -
Falta el error de ARN al enviar un mensaje de enlace descendente
Al enviar un mensaje de enlace descendente a su dispositivo desde la cola, puede recibir un error de que falta el nombre de recurso de Amazon (ARN). Este error puede deberse a que no se especificó correctamente el destino del dispositivo que recibe el mensaje de enlace descendente. Para corregir este error, compruebe los detalles del destino del dispositivo.