View a markdown version of this page

Sidewalk 디바이스 연결 및 업링크 메타데이터 형식 보기 - AWS IoT Wireless

Sidewalk 디바이스 연결 및 업링크 메타데이터 형식 보기

이 자습서에서는 MQTT 테스트 클라이언트를 사용하여 연결성을 테스트하고 엔드 디바이스와 AWS 클라우드 간에 교환되는 메시지를 확인합니다. 메시지를 수신하려면 MQTT 테스트 클라이언트에서 대상에 대한 IoT 규칙을 생성할 때 지정한 주제를 구독하세요. SendDataToWirelessDevice API 작업을 사용하여 Amazon Sidewalk용 AWS IoT Core에서 디바이스에 다운링크 메시지를 보낼 수도 있습니다. 메시지 전송 상태 이벤트 알림을 활성화하여 메시지가 전송되었는지 확인할 수 있습니다.

참고

하드웨어 플랫폼 연결 및 설정에 대한 자세한 내용은 Amazon Sidewalk 설명서의 엔드 디바이스 프로비저닝 및 등록 및 Hardware Development Kit(HDK) 설정을 참조하세요.

SendDataToWirelessDevice API 작업 또는 send-data-to-wireless-device CLI 명령을 사용하여 Amazon Sidewalk용 AWS IoT Core에서 Sidewalk 엔드 디바이스로 다운링크 메시지를 보냅니다. 다음은 이 명령을 실행하는 방법의 예시를 보여줍니다. 페이로드 데이터는 base64로 인코딩된, 전송할 바이너리입니다.

aws iotwireless send-data-to-wireless-device \ --id "<Wireless_Device_ID>" \ --payload-data "SGVsbG8gVG8gRGV2c2lt" \ --wireless-metadata Sidewalk={Seq=1,AckModeRetryDurationSecs=10}

다음은 디바이스로 전송된 다운링크 메시지의 ID인 이 명령 실행의 샘플 출력입니다.

{ MessageId: "6011dd36-0043d6eb-0072-0008" }
참고

SendDataToWirelessDevice API는 메시지 ID를 반환할 수 있지만 메시지가 성공적으로 전송되지 않을 수 있습니다. 디바이스로 전송된 메시지의 상태를 확인하려면 Sidewalk 계정 및 디바이스에 대한 메시지 전송 상태 이벤트를 활성화할 수 있습니다. 이러한 이벤트를 활성화하는 방법에 대한 자세한 내용은 Sidewalk 리소스에 대한 이벤트 알림 섹션을 참조하세요. 이 이벤트 유형에 대한 자세한 내용은 메시지 전송 이벤트를 참조하세요.

디바이스를 연결한 후 대상 규칙을 생성할 때 지정한 주제(예: project/sensor/observed)를 구독하고 디바이스의 업링크 메시지를 관찰할 수 있습니다.

대상을 만들 때 주제 이름을 지정한 경우 주제를 구독하여 엔드 디바이스의 업링크 메시지를 모니터링할 수 있습니다. AWS IoT 콘솔의 테스트 페이지에 있는 MQTT 테스트 클라이언트로 이동하여 주제 이름(예: project/sensor/observed)을 입력한 다음 구독을 선택합니다.

다음 예에서는 Sidewalk 디바이스에서 AWS IoT로 전송한 업링크 메시지의 형식을 보여줍니다. WirelessMetadata에는 메시지 요청에 대한 메타데이터가 포함되어 있습니다.

{ "PayloadData":"ZjRlNjY1ZWNlNw==", "WirelessDeviceId":"wireless_device_id", "WirelessMetadata":{ "Sidewalk":{ "CmdExStatus":"Cmd", "SidewalkId":"device_id", "Seq":0, "MessageType":"messageType" } } }

다음 표에서는 업링크 메타데이터의 여러 파라미터에 대한 정의를 보여 줍니다. 이 device-id는 ABCDEF1234와 같은 무선 디바이스의 ID이며, messageType은 디바이스에서 수신된 업링크 메시지의 유형입니다.

업링크 메타데이터 파라미터
파라미터 설명 유형 필수
PayloadData

무선 디바이스에서 전송되는 메시지 페이로드입니다.

String 예
WirelessDeviceID 데이터를 전송하는 무선 디바이스의 식별자입니다. String 예
Sidewalk.CmdExStatus

명령 런타임 상태입니다. 응답 유형 메시지는 상태 코드 COMMAND_EXEC_STATUS_SUCCESS를 포함해야 합니다. 그러나 알림은 상태 코드를 포함하지 않을 수 있습니다.

열거 아니요
Sidewalk.NackExStatus

응답 nack 상태(RADIO_TX_ERROR 또는 MEMORY_ERROR)입니다.

문자열 배열 아니요