대기열에 LoRaWAN 장치로 전송할 다운링크 메시지 추가 - AWS IoT Wireless

대기열에 LoRaWAN 장치로 전송할 다운링크 메시지 추가

클라우드 호스팅 애플리케이션 및 기타 AWS 서비스는 무선 디바이스로 다운링크 메시지를 전송할 수 있습니다. 다운링크 메시지는 AWS IoT Core for LoRaWAN에서 무선 디바이스로 전송한 메시지입니다. AWS IoT Core for LoRaWAN에 온보딩한 각 디바이스에 대해 다운링크 메시지를 예약하고 전송할 수 있습니다.

다운링크 메시지를 전송하려는 디바이스가 여러 개인 경우 멀티캐스트 그룹을 사용할 수 있습니다. 멀티캐스트 그룹의 디바이스는 동일한 멀티캐스트 주소를 공유하며, 이 주소는 전체 수신자 디바이스 그룹에 배포됩니다. 자세한 내용은 멀티캐스트 그룹을 생성하여 여러 디바이스로 다운링크 페이로드를 전송합니다. 단원을 참조하십시오.

LoRaWAN 디바이스의 디바이스 클래스에 따라 대기열에 있는 메시지가 디바이스로 전송되는 방식이 결정됩니다. 클래스 A 디바이스는 AWS IoT Core for LoRaWAN에 업링크 메시지를 전송하여 디바이스가 다운링크 메시지를 수신할 수 있음을 나타냅니다. 클래스 B 디바이스는 일반 다운링크 슬롯에서 메시지를 수신할 수 있습니다. 클래스 C 디바이스는 언제라도 다운링크 메시지를 수신할 수 있습니다. 디바이스 클래스에 대한 자세한 내용은 디바이스 클래스 섹션을 참조하세요.

다음은 메시지가 대기열에 추가되고 클래스 A 디바이스로 전송되는 방법을 보여줍니다.

  1. AWS IoT Core for LoRaWAN은 대기열에 추가된 다운링크 메시지를 AWS IoT 콘솔 또는AWS IoT Wireless API를 사용하여 지정한 프레임 포트, 페이로드 데이터 및 승인 모드 파라미터와 함께 버퍼링합니다.

  2. LoRaWAN 디바이스는 업링크 메시지를 전송하여 현재 온라인 상태이고 다운링크 메시지 수신을 시작할 수 있음을 나타냅니다.

  3. 대기열에 다운링크 메시지를 두 개 이상 추가한 경우 AWS IoT Core for LoRaWAN은 승인(ACK) 플래그가 설정된 상태로 대기열의 첫 번째 다운링크 메시지를 디바이스로 전송합니다.

  4. 디바이스는 업링크 메시지를 즉시 AWS IoT Core for LoRaWAN으로 전송하거나 다음 업링크 메시지가 나타날 때까지 대기하며, 메시지에 ACK 플래그를 포함시킵니다.

  5. AWS IoT Core for LoRaWAN에서 ACK 플래그가 있는 업링크 메시지를 수신하면 대기열에서 다운링크 메시지를 삭제하여 디바이스가 다운링크 메시지를 성공적으로 수신했음을 나타냅니다. 세 번 확인한 후에도 업링크 메시지에 ACK 플래그가 없다면 메시지가 폐기됩니다.

AWS Management Console을 사용하여 다운링크 메시지를 대기열에 추가하고 필요에 따라 개별 메시지 또는 전체 대기열을 지울 수 있습니다. 클래스 A 디바이스의 경우 디바이스에서 업링크를 수신하여 온라인 상태임을 나타내면 대기열에 있는 메시지가 해당 디바이스로 전송됩니다. 메시지가 전송되면 대기열에서 자동으로 지워집니다.

대기열에 다운링크 메시지 추가

다운링크 메시지 대기열을 생성하려면

  1. AWS IoT 콘솔의 디바이스 허브로 이동하여 다운링크 메시지를 대기열에 추가할 디바이스를 선택합니다.

  2. 디바이스 세부 정보 페이지의 다운링크 메시지(Downlink messages) 섹션에서 대기열에 다운링크 메시지 추가(Queue downlink messages)를 선택합니다.

  3. 다음과 같은 파라미터를 지정하여 다운링크 메시지를 구성합니다.

    • FPort: 디바이스가 AWS IoT Core for LoRaWAN과 통신할 프레임 포트를 선택합니다.

    • 페이로드(Payload): 디바이스로 전송하려는 페이로드 메시지를 지정합니다. 최대 페이로드 크기는 242바이트입니다. 적응형 데이터 속도(ADR)를 활성화한 경우 AWS IoT Core for LoRaWAN은 이 기능을 사용하여 페이로드 크기에 맞는 최적의 데이터 속도를 선택합니다. 필요에 따라 데이터 속도를 추가로 최적화할 수 있습니다.

    • 승인 모드(Acknowledge mode): 디바이스에서 다운링크 메시지를 수신했는지 여부를 확인합니다. 메시지에 이 모드가 필요한 경우 데이터 스트림에 ACK 플래그가 있는 업링크 메시지가 표시되고 메시지가 대기열에서 지워집니다.

  4. 다운링크 메시지를 대기열에 추가하려면 제출(Submit)을 선택합니다.

이제 다운링크 메시지가 대기열에 추가되었습니다. 메시지가 표시되지 않거나 오류가 발생하는 경우 다운링크 메시지 대기열 오류 문제 해결에 설명된 대로 오류를 해결할 수 있습니다.

참고

다운링크 메시지가 대기열에 추가된 후에는 더 이상 FPort, 페이로드(Payload)승인 모드(Acknowledge mode) 파라미터를 편집할 수 없습니다. 이러한 파라미터에 다른 값을 사용하여 다운링크 메시지를 전송하려면 이 메시지를 삭제하고 업데이트된 파라미터 값으로 새 다운링크 메시지를 대기열에 추가할 수 있습니다.

대기열에는 추가한 다운링크 메시지가 나열됩니다. 디바이스와 AWS IoT Core for LoRaWAN 간에 교환되는 업링크 및 다운링크 메시지의 페이로드를 보려면 네트워크 분석기를 사용할 수 있습니다. 자세한 내용은 네트워크 분석기를 사용하여 무선 리소스 플릿 실시간 모니터링 단원을 참조하십시오.

다운링크 메시지 대기열 나열

생성한 다운링크 메시지가 대기열에 추가됩니다. 각 후속 다운링크 메시지는 대기열에서 이 메시지 다음에 추가됩니다. 디바이스 세부 정보 페이지의 다운링크 메시지(Downlink messages) 섹션에서 다운링크 메시지 목록을 볼 수 있습니다. 업링크가 수신되면 메시지가 디바이스로 전송됩니다. 디바이스에서 다운링크 메시지를 수신하면 메시지가 대기열에서 제거됩니다. 이제 다음 번 메시지가 대기열에서 위로 이동하여 디바이스로 전송됩니다.

개별 다운링크 메시지 삭제 또는 전체 대기열 지우기

각 다운링크 메시지는 디바이스로 전송된 후 대기열에서 자동으로 지워집니다. 또한 개별 메시지를 삭제하거나 전체 다운링크 대기열을 지울 수 있습니다. 이러한 작업은 실행 취소할 수 없습니다.

  • 대기열에 전송하지 않으려는 메시지가 있는 경우 메시지를 선택하고 삭제(Delete)를 선택합니다.

  • 대기열에서 디바이스로 메시지를 전송하지 않으려는 경우 다운링크 대기열 지우기(Clear downlink queue)를 선택하여 전체 대기열을 지울 수 있습니다.

AWS IoT Wireless API를 사용하여 다운링크 메시지를 대기열로 전송하고 필요에 따라 개별 메시지 또는 전체 대기열을 지울 수 있습니다.

대기열에 다운링크 메시지 추가

다운링크 메시지 대기열을 생성하려면 SendDataToWirelessDevice API 작업 또는send-data-to-wireless-device CLI 명령을 사용합니다.

aws iotwireless send-data-to-wireless-device \ --id "11aa5eae-2f56-4b8e-a023-b28d98494e49" \ --transmit-mode "1" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata LoRaWAN={FPort=1}

이 명령을 실행하면 출력에 다운링크 메시지의 MessageId가 생성됩니다. 경우에 따라, MessageId를 수신하더라도 패킷이 삭제될 수 있습니다. 이 오류를 해결하는 방법에 대한 자세한 내용은 다운링크 메시지 대기열 오류 문제 해결 섹션을 참조하세요.

{ MessageId: "6011dd36-0043d6eb-0072-0008" }
대기열에 있는 다운링크 메시지 나열

대기열에 있는 모든 다운링크 메시지를 나열하려면 ListQueuedMessages API 작업 또는list-queued-messages CLI 명령을 사용합니다.

aws iotwireless list-queued-messages

기본적으로 이 명령을 실행하면 최대 10개의 다운링크 메시지가 표시됩니다.

개별 다운링크 메시지 제거 또는 전체 대기열 지우기

대기열에서 개별 메시지를 제거하거나 전체 대기열을 지우려면 DeleteQueuedMessages API 작업 또는 delete-queued-messages CLI 명령을 사용합니다.

  • 개별 메시지를 제거하려면 wirelessDeviceId로 지정된 무선 디바이스에서 제거하려는 메시지의 messageID를 제공합니다.

  • 전체 다운링크 대기열을 지우려면 wirelessDeviceId로 지정된 무선 디바이스에 대해 messageID*로 지정합니다.

다음은 예상한 결과가 표시되지 않는 경우에 확인해야 할 몇 가지 사항입니다.

  • AWS IoT 콘솔에 다운링크 메시지가 표시되지 않음

    콘솔을 사용하여 다운링크 대기열 작업 수행에 설명된 대로 메시지를 추가했지만 대기열에 다운링크 메시지가 표시되지 않는 경우 사용 중인 디바이스가 활성화 또는 조인 절차라는 프로세스를 완료하지 않았기 때문일 수 있습니다. 이 절차는 디바이스가 AWS IoT Core for LoRaWAN에 온보딩할 때 완료됩니다. 자세한 내용은 콘솔을 사용하여 AWS IoT Core for LoRaWAN에 무선 디바이스 사양 추가 단원을 참조하십시오.

    디바이스를 AWS IoT Core for LoRaWAN에 온보딩한 후 네트워크 분석기나 Amazon CloudWatch를 통해 디바이스를 모니터링하여 조인 및 리조인이 성공했는지 여부를 확인할 수 있습니다. 자세한 내용은 모니터링 도구 단원을 참조하십시오.

  • API 사용 시 다운링크 메시지 패킷이 누락됨

    SendDataToWirelessDevice API 작업을 사용할 때 API는 고유한 MessageId를 반환합니다. 그러나 이것만으로는 LoRaWAN 디바이스가 다운링크 메시지를 수신했는지 여부는 확인할 수 없습니다. 예를 들어, 디바이스가 조인 절차를 완료하지 않은 경우 다운링크 패킷이 삭제될 수 있습니다. 이 오류를 해결하는 방법에 대한 자세한 내용은 이전 섹션을 참조하세요.

  • 다운링크 메시지를 전송할 때 ARN 누락 오류

    대기열에서 디바이스로 다운링크 메시지를 전송할 때 Amazon 리소스 이름(ARN) 누락 오류가 나타날 수 있습니다. 이 오류는 다운링크 메시지를 수신하는 디바이스에 대해 대상이 올바르게 지정되지 않았기 때문에 발생할 수 있습니다. 이 오류를 해결하려면 디바이스에 대한 대상 세부 정보를 확인합니다.