Sidewalk 디바이스 연결 및 업링크 메타데이터 형식 보기
이 자습서에서는 MQTT 테스트 클라이언트를 사용하여 연결성을 테스트하고 엔드 디바이스와 AWS 클라우드 간에 교환되는 메시지를 확인합니다. 메시지를 수신하려면 MQTT 테스트 클라이언트에서 대상에 대한 IoT 규칙을 생성할 때 지정한 주제를 구독하세요. SendDataToWirelessDevice
API 작업을 사용하여 Amazon Sidewalk용 AWS IoT Core에서 디바이스에 다운링크 메시지를 보낼 수도 있습니다. 메시지 전송 상태 이벤트 알림을 활성화하여 메시지가 전송되었는지 확인할 수 있습니다.
참고
하드웨어 플랫폼 연결 및 설정에 대한 자세한 내용은 Amazon Sidewalk 설명서의 엔드 디바이스 프로비저닝 및 등록
엔드 디바이스로 다운링크 메시지 전송
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
와 같은 무선 디바이스의 ID이며, ABCDEF1234
은 디바이스에서 수신된 업링크 메시지의 유형입니다.messageType
파라미터 | 설명 | 유형 | 필수 |
---|---|---|---|
PayloadData |
무선 디바이스에서 전송되는 메시지 페이로드입니다. |
String | 예 |
WirelessDeviceID |
데이터를 전송하는 무선 디바이스의 식별자입니다. | String | 예 |
Sidewalk.CmdExStatus |
명령 런타임 상태입니다. 응답 유형 메시지는 상태 코드 |
열거 | 아니요 |
Sidewalk.NackExStatus |
응답 nack 상태( |
문자열 배열 | 아니요 |