AWS IoT, MQTT, Amazon Location Service를 사용하여 추적 - Amazon Location Service

AWS IoT, MQTT, Amazon Location Service를 사용하여 추적

MQTT는 제한된 디바이스용으로 설계된 경량의 메시징 프로토콜로, 광범위하게 사용되고 있습니다. AWS IoT Core는 MQTT 프로토콜과 MQTT 프로토콜과 MQTT over WebSocket Secure(WSS) 프로토콜을 사용하는 디바이스 연결을 지원합니다.

AWS IoT Core는 디바이스를 AWS에 연결하고 디바이스 간에 메시지를 보내고 받을 수 있도록 지원합니다. AWS IoT Core 규칙 엔진은 디바이스의 메시지 주제에 대한 쿼리를 저장하고, Amazon Location Service와 같은 다른 AWS 서비스에 메시지를 보내기 위한 작업을 정의할 수 있도록 지원합니다. 자신의 위치를 좌표로 인식하는 디바이스는 규칙 엔진을 통해 Amazon Location으로 위치를 전달할 수 있습니다.

참고

예를 들어, 디바이스는 내장된 GPS를 통해 자신의 위치를 알 수 있습니다. 또한 AWS IoT는 타사 디바이스 위치 추적을 지원합니다. 자세한 내용은 AWS IoT 코어 개발자 가이드AWS IoT 코어 디바이스 위치를 참조하세요.

다음 안내에서는 AWS IoT Core 규칙을 사용한 추적에 대해 설명합니다. Amazon Location으로 디바이스 정보를 보내기 전에 처리해야 하는 경우, 디바이스 정보를 자체 AWS Lambda 함수로 전송할 수도 있습니다. Lambda를 사용하여 디바이스 위치를 처리하는 방법에 대한 자세한 내용은 자습서: MQTT와 함께 AWS Lambda 사용 항목을 참조하세요.

사전 조건

추적을 시작하기 전에 다음과 같은 전제 조건을 완료해야 합니다.

  • 디바이스 위치 데이터를 전송할 트래커 리소스를 생성합니다.

  • 트래커에 대한 AWS IoT Core 액세스 권한을 부여하는 IAM 역할을 생성합니다.

    이러한 단계를 따를 때는 다음 정책을 사용하여 트래커에 대한 액세스 권한을 부여하세요.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "WriteDevicePosition", "Effect": "Allow", "Action": "geo:BatchUpdateDevicePosition", "Resource": "arn:aws:geo:*:*:tracker/*" } ] }

AWS IoT Core 규칙 생성

다음으로, 디바이스의 위치 원격 측정을 Amazon Location Service로 전달하는 AWS IoT Core 규칙을 생성합니다. 규칙 생성에 대한 자세한 내용은 AWS IoT Core 개발자 가이드에서 다음을 참조하세요.

자습서: 콘솔에서 AWS IoT Core 규칙 테스트

현재 위치가 포함된 원격 측정을 게시하는 디바이스가 없는 경우 AWS IoT Core 콘솔을 사용하여 규칙을 테스트할 수 있습니다. 콘솔에는 샘플 메시지를 게시하여 솔루션 결과를 확인할 수 있는 테스트 클라이언트가 있습니다.

  1. AWS IoT Core 콘솔(https://console.aws.amazon.com/iot/)에 로그인합니다.

  2. 왼쪽 탐색창에서 테스트를 확장하고 MQTT 테스트 클라이언트를 선택합니다.

  3. 주제 게시에서 주제 이름iot/topic (또는 다른 경우 AWS IoT Core 규칙에 설정한 주제 이름)으로 설정하고, 메시지 페이로드에 다음을 입력합니다.

    { "payload": { "deviceid": "thing123", "timestamp": 1604940328, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } }
  4. 테스트 메시지를 보내려면 주제 게시를 선택합니다.

  5. Amazon Location Service에서 메시지를 수신했는지 확인하려면 다음 AWS CLI 명령을 사용하세요. 설정 중에 수정한 경우, 트래커 이름을 사용한 이름으로 바꿉니다.

    aws location batch-get-device-position --tracker-name MyTracker --device-ids thing123