Mettre en file d'attente les messages de liaison descendante à envoyer aux appareils LoRaWAN - AWS IoT Wireless

Mettre en file d'attente les messages de liaison descendante à envoyer aux appareils LoRaWAN

Les applications hébergées dans le cloud et autres Service AWS peuvent envoyer des messages en liaison descendante à vos appareils sans fil. Les messages de liaison descendante sont des messages envoyés depuis AWS IoT Core for LoRaWAN vers votre appareil sans fil. Vous pouvez planifier et envoyer des messages par liaison descendante pour chaque appareil que vous avez intégré à AWS IoT Core for LoRaWAN.

Si vous souhaitez envoyer un message en liaison descendante sur plusieurs appareils, vous pouvez utiliser un groupe multicast. Les appareils d'un groupe de multicast partagent la même adresse multicast, qui est ensuite distribuée à un groupe entier d'appareils destinataires. Pour en savoir plus, consultez Créez des groupes multicast pour envoyer une charge utile de liaison descendante à plusieurs appareils.

La classe de votre appareil LoRaWAN détermine la manière dont les messages de votre file d'attente sont envoyés à l'appareil. Les appareils de classe A envoient un message de liaison montante à AWS IoT Core for LoRaWAN pour indiquer qu'ils sont disponibles pour recevoir des messages de liaison descendante. Les appareils de classe B peuvent recevoir des messages sur des emplacements de liaison descendante réguliers. Les appareils de classe C peuvent recevoir des messages descendants à tout moment. Pour plus d'informations sur les classes d'appareils, consultez Classes d'appareils.

Voici comment les messages sont mis en file d'attente et envoyés à vos appareils de classe A.

  1. AWS IoT Core for LoRaWAN met en mémoire tampon le message de liaison descendante que vous avez ajouté à la file d'attente avec le port de trame, les données de charge utile et les paramètres du mode de confirmation que vous avez spécifiés à l'aide de la AWS IoT console ou de l'API AWS IoT Wireless.

  2. Votre appareil LoRaWAN envoie un message de liaison montante pour indiquer qu'il est en ligne et qu'il peut commencer à recevoir des messages de liaison descendante.

  3. Si vous avez ajouté plusieurs messages de liaison descendante à la file d'attente, AWS IoT Core for LoRaWAN envoie le premier message de liaison descendante de la file d'attente à votre appareil avec l'indicateur d'accusé de réception (ACK) activé.

  4. Votre appareil envoie un message de liaison montante à AWS IoT Core for LoRaWAN immédiatement ou il se met en veille jusqu'au message de liaison montante suivant et inclut l'indicateur ACK dans le message.

  5. LorsqueAWS IoT Core for LoRaWAN reçoit le message de liaison montante avec l'indicateur ACK, il efface le message de liaison descendante de la file d'attente, indiquant que votre appareil a bien reçu le message de liaison descendante. Si l'indicateur ACK est absent du message de liaison montante après trois vérifications, le message est supprimé.

Vous pouvez utiliser le AWS Management Console pour mettre en file d'attente les messages de liaison descendante et effacer des messages individuels, ou la totalité de la file d'attente, selon vos besoins. Pour les appareils de classe A, après réception d'un lien montant indiquant qu'il est en ligne, les messages en file d'attente sont envoyés à l'appareil. Une fois le message envoyé, il est automatiquement effacé de la file d'attente.

File d'attente des messages de liaison descendante

Pour créer une file d'attente de messages en liaison descendante

  1. Accédez au hub Appareils de la AWS IoT console et choisissez l'appareil pour lequel vous souhaitez mettre en file d'attente les messages de liaison descendante.

  2. Dans la section Messages de liaison descendante de la page détails de l'appareil, choisissez Mettre en file d'attente les messages de liaison descendante.

  3. Spécifiez les paramètres suivants pour configurer votre message de liaison descendante :

    • fPort : Choisissez le port de trame avec lequel le périphérique doit communiquerAWS IoT Core for LoRaWAN.

    • Payload : Spécifiez le message de charge utile que vous souhaitez envoyer à votre appareil. La taille maximale de la charge utile est de 242 octets. Si le débit de données adaptatif (ADR) est activé, AWS IoT Core for LoRaWAN utilisez-le pour choisir le débit de données optimal pour la taille de votre charge utile. Vous pouvez optimiser davantage le débit de données selon vos besoins.

    • Mode de confirmation : vérifiez si votre appareil a reçu le message de liaison descendante. Si un message nécessite ce mode, vous verrez un message de liaison montante avec l'indicateur ACK dans votre flux de données, et le message sera effacé de la file d'attente.

  4. Pour ajouter votre message de liaison descendante à la file d'attente, choisissez, Soumettre.

Votre message de lien descendant a maintenant été ajouté à la file d'attente. Si votre message ne s'affiche pas ou si vous recevez un message d'erreur, vous pouvez résoudre le problème comme décrit dans Résoudre les erreurs de la file d’attente de messages en liaison descendante.

Note

Une fois que votre message de liaison descendante a été ajouté à la file d'attente, vous ne pouvez plus modifier les paramètres fPort, Payload et mode de confirmation . Pour envoyer un message de liaison descendante avec des valeurs différentes pour ces paramètres, vous pouvez supprimer ce message et mettre en file d'attente un nouveau message de liaison descendante avec les valeurs de paramètres mises à jour.

La file d'attente répertorie les messages en lien descendant que vous avez ajoutés. Pour connaître la charge utile des messages de liaison montante et descendante échangés entre vos appareils AWS IoT Core for LoRaWAN, vous pouvez utiliser l'analyseur de réseau. Pour en savoir plus, consultez Contrôle de votre flotte de ressources sans fil en temps réel à l’aide d’un analyseur de réseau.

Répertorier la file d'attente de messages de liaison descendante

Le message de liaison descendante que vous avez créé est ajouté à la file d'attente. Chaque message de liaison descendante suivant est ajouté à la file d'attente après ce message. Vous pouvez consulter la liste des messages de liaison descendante dans la section Messages de liaison descendante de la page de détails de l'appareil. Après réception d'une liaison montante, les messages sont envoyés à l'appareil. Une fois qu'un message de liaison descendante a été reçu par votre appareil, il sera retiré de la file d'attente. Le message suivant remonte ensuite dans la file d'attente pour être envoyé à votre appareil.

Supprimer des messages de liaison descendante individuels ou effacer toute la file d'attente

Chaque message de liaison descendante est automatiquement effacé de la file d'attente après son envoi à votre appareil. Vous pouvez également supprimer des messages individuels ou effacer toute la file d'attente de liaison descendante. Ces actions ne peuvent pas être annulées.

  • Si vous trouvez dans la file d'attente des messages que vous ne souhaitez pas envoyer, choisissez les messages, puis Supprimer.

  • Si vous ne souhaitez envoyer aucun message de la file d'attente à votre appareil, vous pouvez effacer toute la file d'attente en choisissant Effacer la file d'attente de liaison descendante.

Vous pouvez utiliser l'API AWS IoT Wireless pour mettre en file d'attente les messages de liaison descendante et effacer des messages individuels, ou la totalité de la file d'attente, selon vos besoins.

File d'attente des messages de liaison descendante

Pour créer une file d'attente de messages en liaison descendante, utilisez l'opération API SendDataToWirelessDevice ou la commande 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}

La sortie de l’exécution de cette commande génère un MessageId pour le message en liaison descendante. Dans certains cas, même si vous les recevez le MessageId, les paquets peuvent être supprimés. Pour plus d'informations sur la façon dont vous pouvez résoudre l'erreur, veuillez consulter Résoudre les erreurs de la file d’attente de messages en liaison descendante.

{ MessageId: "6011dd36-0043d6eb-0072-0008" }
Répertorier les messages de liaison descendante dans la file d'attente

Pour répertorier tous les messages de liaison descendante dans la file d'attente, utilisez l'opération API ListQueuedMessages ou la commande CLI list-queued-messages.

aws iotwireless list-queued-messages

Par défaut, un maximum de 10 messages de liaison descendante sont affichés lors de l'exécution de cette commande.

Supprimez des messages de liaison descendante individuels ou effacez toute la file d'attente

Pour supprimer des messages individuels de la file d'attente ou pour effacer la totalité de la file d'attente, utilisez l'opération API DeleteQueuedMessages ou la commande CLI delete-queued-messages.

  • Pour supprimer des messages individuels, indiquez le messageID des messages que vous souhaitez supprimer pour votre appareil sans fil, spécifiés par le wirelessDeviceId.

  • Pour effacer toute la file d'attente de liaison descendante, spécifiez messageID comme * pour votre périphérique sans fil, spécifié par le wirelessDeviceId.

Voici quelques points à vérifier si vous n'obtenez pas les résultats escomptés :

  • Les messages de liaison descendante n'apparaissent pas dans la console AWS IoT

    Si votre message de liaison descendante ne s'affiche pas dans la file d'attente après l'avoir ajouté comme décrit dans Effectuez des opérations de file d'attente de liaison descendante à l'aide de la console, cela peut être dû au fait que votre appareil n'a pas terminé un processus appelé procédure d'activation ou d'adhésion. Cette procédure est terminée lorsque votre appareil est intégré à AWS IoT Core for LoRaWAN. Pour en savoir plus, consultez Ajoutez les spécifications de votre appareil sans fil à AWS IoT Core for LoRaWAN à l’aide de la console.

    Après avoir intégré votre appareil à AWS IoT Core for LoRaWAN, vous pouvez surveiller votre appareil pour vérifier si les processus d'adhésion et de réinscription ont réussi à l'aide de l'analyseur de réseau ou d'Amazon CloudWatch. Pour en savoir plus, consultez Outils de surveillance.

  • Paquets de messages de liaison descendante manquants lors de l'utilisation de l'API

    Lorsque vous utilisez l'opération SendDataToWirelessDevice d'API, celle-ci renvoie une valeur unique MessageId. Cependant, il ne peut pas confirmer si votre appareil LoRaWAN a reçu le message de liaison descendante. Les paquets de liaison descendante peuvent être supprimés dans des cas tels que lorsque votre appareil n'a pas terminé la procédure de connexion. Pour de plus amples informations sur la résolution de cette erreur, veuillez consulter la section précédente.

  • Erreur ARN manquante lors de l'envoi d'un message de liaison descendante

    Lorsque vous envoyez un message de liaison descendante à votre appareil depuis la file d'attente, vous pouvez recevoir un message d'erreur Amazon Resource Name (ARN) manquant. Cette erreur peut se produire parce que la destination n'a pas été spécifiée correctement pour l'appareil qui reçoit le message de liaison descendante. Pour résoudre cette erreur, vérifiez les informations de destination de votre appareil.