AWS IoT Core for LoRaWAN을 사용하여 적응형 데이터 속도(ADR) 수행
엔드 디바이스의 메시지가 게이트웨이에서 수신되도록 하면서 디바이스 전송 전력 소비를 최적화하기 위해 AWS IoT Core for LoRaWAN은 적응형 데이터 속도를 사용합니다. 적응형 데이터 속도는 게이트웨이에서 수신되는 패킷의 오류율을 줄이면서 데이터 속도, 전송 전력 및 재전송 횟수를 최적화하도록 최종 디바이스에 지시합니다. 예를 들어, 엔드 디바이스가 게이트웨이 근처에 있는 경우 적응형 데이터 속도는 전송 전력을 줄이고 데이터 전송 속도를 높입니다.
적응형 데이터 속도(ADR) 작동 방식
ADR을 활성화하려면 디바이스가 프레임 헤더에 ADR 비트를 설정해야 합니다. ADR 비트가 설정되면 AWS IoT Core for LoRaWAN은 LinkADRReq
MAC 명령을 보내고 디바이스는 ADR 명령의 ACK 상태가 포함된 LinkADRAns
명령으로 응답합니다. 디바이스가 ADR 명령을 ACK로 전송하면 AWS IoT Core for LoRaWAN의 ADR 지침에 따라 최적의 데이터 속도를 위해 전송 파라미터 값을 조정합니다.
AWS IoT Core for LoRaWAN ADR 알고리즘은 업링크 메타데이터 기록의 SINR 정보를 사용하여 기기에 사용할 최적의 전송 전력과 데이터 속도를 결정합니다. 알고리즘은 프레임 헤더에 ADR 비트가 설정되면 시작되는 가장 최근의 업링크 메시지 20개를 사용합니다. 재전송 횟수를 결정하기 위해 총 손실된 패킷 수의 백분율인 패킷 오류율(PER)을 사용합니다. 이 알고리즘을 사용하면 데이터 속도 범위, 즉 데이터 속도의 최소 및 최대 제한만 제어할 수 있습니다.
데이터 속도 제한(CLI) 구성
기본적으로 AWS IoT Core for LoRaWAN은 LoRaWAN 디바이스의 프레임 헤더에 ADR 비트를 설정할 때 ADR을 수행합니다. AWS IoT Wireless API 작업 CreateServiceProfile
또는 AWS CLI 명령 create-service-profile
을 사용하여 LoRaWAN 디바이스에 대한 서비스 프로필을 생성할 때 데이터 속도의 최소 및 최대 제한을 제어할 수 있습니다.
참고
AWS Management Console에서 서비스 프로필을 생성할 때는 최대 및 최소 데이터 속도 제한을 지정할 수 없습니다. AWS IoT Wireless API 또는 AWS CLI로만 지정할 수 있습니다.
데이터 속도의 최소 및 최대 제한을 지정하려면 CreateServiceProfile
API 작업과 함께 DrMin
및 DrMax
파라미터를 사용하세요. 기본 최소 및 최대 데이터 속도 제한은 0과 15입니다. 예를 들어, 다음 CLI 명령은 최소 데이터 속도 제한을 3으로 설정하고 최대 제한은 12로 설정합니다.
aws iotwireless create-service-profile \ --lorawan DrMin=
3
,DrMax=12
이 명령을 실행하면 서비스 프로필의 ID와 Amazon 리소스 이름(ARN)이 생성됩니다.
{ "Arn": "arn:aws:iotwireless:us-east-1:123456789012:ServiceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d", "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d" }
AWS IoT Wireless API 작업 GetServiceProfile
또는 AWS CLI 명령 get-service-profile
를 사용하여 지정된 파라미터 값을 가져올 수 있습니다.
aws iotwireless get-service-profile --id
"12345678-a1b2-3c45-67d8-e90fa1b2c34d"
이 명령을 실행하면 서비스 프로필 파라미터의 값이 생성됩니다.
{ "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 } }
프로필을 여러 개 만든 경우 API 작업 ListServiceProfiles
또는 AWS CLI 명령 list-service-profiles
를 사용하여 AWS 계정의 서비스 프로필을 나열한 다음 GetServiceProfile
API 또는 get-service-profile
CLI 명령을 사용하여 데이터 속도 제한을 사용자 지정한 서비스 프로필을 검색할 수 있습니다.