Executar a taxa de dados adaptativa (ADR) com o AWS IoT Core for LoRaWAN - AWS IoT Wireless

Executar a taxa de dados adaptativa (ADR) com o AWS IoT Core for LoRaWAN

Para otimizar o consumo de energia de transmissão do dispositivo e, ao mesmo tempo, garantir que as mensagens dos dispositivos finais sejam recebidas nos gateways, o AWS IoT Core for LoRaWAN utiliza a taxa de dados adaptativa. A taxa de dados adaptativa instrui os dispositivos finais a otimizarem a taxa de dados, a potência de transmissão e o número de retransmissões enquanto tentam reduzir a taxa de erros dos pacotes recebidos nos gateways. Por exemplo, se o dispositivo final estiver localizado próximo aos gateways, a taxa de dados adaptativa reduzirá a potência de transmissão e aumentará a taxa de dados.

Como funciona a taxa de dados adaptativa (ADR)

Para habilitar a ADR, o dispositivo deve definir o bit ADR no cabeçalho do quadro. Depois que o bit ADR é definido, o AWS IoT Core for LoRaWAN envia o comando LinkADRReq do MAC e os dispositivos respondem com o comando LinkADRAns, que inclui o status de ACK do comando ADR. Depois que os dispositivos aceitarem (ACK) o comando ADR, ele seguirá as instruções da ADR do AWS IoT Core for LoRaWAN e ajustará os valores dos parâmetros de transmissão para obter a taxa de dados ideal.

O algoritmo ADR do AWS IoT Core for LoRaWAN utiliza as informações de SINR no histórico de metadados de uplink para determinar a potência de transmissão e a taxa de dados ideais a serem utilizadas pelos dispositivos. O algoritmo utiliza as vinte mensagens de uplink mais recentes que se iniciam quando o bit ADR é definido no cabeçalho do quadro. Para determinar o número de retransmissões, ele usa a taxa de erro de pacote (PER), que é uma porcentagem do número total de pacotes perdidos. Ao utilizar esse algoritmo, você só pode controlar o intervalo de taxas de dados, ou seja, os limites mínimo e máximo das taxas de dados.

Configurar limites de taxa de dados (CLI)

Por padrão, o AWS IoT Core for LoRaWAN executará a ADR quando você definir o bit ADR no cabeçalho do quadro do dispositivo LoRaWAN. É possível controlar os limites mínimo e máximo da taxa de dados ao criar um perfil de serviço para os dispositivos LoRaWAN utilizando a operação de API CreateServiceProfile do AWS IoT Wireless ou o comando create-service-profile da AWS CLI.

nota

Não é possível especificar os limites mínimo e máximo da taxa de dados ao criar um perfil de serviço no AWS Management Console. Só é possível especificá-los utilizando a API do AWS IoT Wireless ou a AWS CLI.

Para especificar os limites mínimo e máximo da taxa de dados, utilize os parâmetros CreateServiceProfile e DrMax com a operação de API DrMin. Os limites mínimo e máximo padrão da taxa de dados são 0 e 15. Por exemplo, o comando da CLI a seguir define um limite mínimo de 3 para a taxa de dados e um limite máximo de 12.

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

A execução desse comando gera um ID e um nome do recurso da Amazon (ARN) para o perfil de serviço.

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

É possível obter os valores dos parâmetros especificados utilizando a operação de API GetServiceProfile do AWS IoT Wireless ou o comando get-service-profile da CLI.

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

A execução desse comando gera os valores para os parâmetros do perfil de serviço.

{ "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 } }

Se você criou vários perfis, poderá utilizar a operação de API ListServiceProfiles ou o comando list-service-profiles da AWS CLI para listar os perfis de serviço na Conta da AWS e utilizar a API GetServiceProfile ou o comando get-service-profile da CLI para recuperar o perfil de serviço para o qual você personalizou os limites da taxa de dados.