Débit de données adaptatif (ADR) avec AWS IoT Core for LoRaWAN - AWS IoT Wireless

Débit de données adaptatif (ADR) avec AWS IoT Core for LoRaWAN

Pour optimiser la consommation d'énergie de transmission des appareils tout en s'assurant que les messages des appareils finaux sont reçus par les passerelles, AWS IoT Core for LoRaWAN utilise un débit de données adaptatif. Le débit de données adaptatif indique aux appareils finaux d'optimiser le débit de données, la puissance de transmission et le nombre de retransmissions tout en essayant de réduire le taux d'erreur des paquets reçus sur les passerelles. Par exemple, si votre terminal est situé à proximité des passerelles, le débit de données adaptatif réduit la puissance de transmission et augmente le débit de données.

Comment fonctionne le débit de données adaptatif (ADR)

Pour activer l'ADR, votre appareil doit définir le bit ADR dans l'en-tête du cadre. Une fois le bit ADR défini, AWS IoT Core for LoRaWAN envoie la commande LinkADRReq MAC et vos appareils répondent avec la commande LinkADRAns qui inclut le statut ACK de la commande ADR. Une fois que votre appareil aura activé la commande ADR, il suivra les instructions ADR AWS IoT Core for LoRaWAN et ajustera les valeurs des paramètres de transmission pour un débit de données optimal.

L'algorithme AWS IoT Core for LoRaWAN ADR utilise les informations SINR contenues dans l'historique des métadonnées de la liaison montante pour déterminer la puissance de transmission et le débit de données optimaux à utiliser pour les appareils. L'algorithme utilise les 20 messages de liaison montante les plus récents qui démarrent une fois que le bit ADR est défini dans l'en-tête de la trame. Pour déterminer le nombre de retransmissions, il utilise le taux d'erreur de paquets (PER), qui est un pourcentage du nombre total de paquets perdus. Lorsque vous utilisez cet algorithme, vous ne pouvez contrôler que la plage de débits de données, c'est-à-dire les limites minimale et maximale des débits de données.

Configuration des limites de débit de données (CLI)

Par défaut, AWS IoT Core for LoRaWAN exécutera l'ADR lorsque vous définissez le bit ADR dans l'en-tête du cadre de votre appareil LoRaWAN. Vous pouvez contrôler les limites minimale et maximale du débit de données lors de la création d'un profil de service pour vos appareils LoRaWAN à l'aide de l'opération AWS IoT Wireless API CreateServiceProfile, ou de la commande AWS CLI, create-service-profile.

Note

Vous ne pouvez pas spécifier les limites de débit de données maximum et minimum lors de la création d'un profil de service à partir duAWS Management Console. Il ne peut être spécifié qu'à l'aide de l'API AWS IoT Wireless ou du AWS CLI.

Pour définir les limites minimale et maximale du débit de données, utilisez les DrMin et les paramètres DrMax dans le cadre de l'opération CreateServiceProfile d'API. Les limites de débit de données minimum et maximum par défaut sont 0 et 15. Par exemple, la commande CLI suivante définit une limite de débit de données minimale de 3 et une limite maximale de 12.

aws iotwireless create-service-profile \ --lorawan DrMin=3,DrMax=12

L'exécution de cette commande génère un ID et un Amazon Resource Name (ARN) pour le profil de service.

{ "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d" }

Vous pouvez obtenir les valeurs des paramètres spécifiés à l'aide de l'opération AWS IoT Wireless API GetServiceProfile, ou de la commande AWS CLI, get-service-profile.

aws iotwireless get-service-profile --id "12345678-a1b2-3c45-67d8-e90fa1b2c34d"

L'exécution de cette commande génère les valeurs des paramètres du profil de service.

{ "Arn": "arn:aws:iotwireless:us-east-1:651419225604:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d", "LoRaWAN": { "UlRate": 60, "UlBucketSize": 4096, "DlRate": 60, "DlBucketSize": 4096, "AddGwMetadata": false, "DevStatusReqFreq": 24, "ReportDevStatusBattery": false, "ReportDevStatusMargin": false, "DrMin": 3, "DrMax": 12, "PrAllowed": false, "HrAllowed": false, "RaAllowed": false, "NwkGeoLoc": false, "TargetPer": 5, "MinGwDiversity": 1 } }

Si vous avez créé plusieurs profils, vous pouvez utiliser l'opération API, ListServiceProfiles, ou la commande AWS CLI, list-service-profiles pour répertorier les profils de service dans votre Compte AWS, puis utiliser l'API GetServiceProfile ou la commande get-service-profile CLI pour récupérer le profil de service pour lequel vous avez personnalisé les limites de débit de données.