IoT 디바이스의 위치 확인 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

IoT 디바이스의 위치 확인

AWS IoT Core 장치 위치를 사용하여 장치의 측정 데이터를 디코딩하고 타사 솔버를 사용하여 장치 위치를 확인할 수 있습니다. 확인된 위치는 지리 좌표 및 정확도 정보가 포함된 GeoJSON 페이로드로 생성됩니다. AWS IoT 콘솔, AWS IoT Wireless API 또는 에서 기기의 위치를 확인할 수 있습니다. AWS CLI

디바이스 위치 확인(콘솔)

디바이스 위치를 확인하려면(콘솔)

  1. AWS IoT 콘솔의 디바이스 위치 페이지로 이동합니다.

  2. 디바이스 로그 또는 로그에서 페이로드 측정 데이터를 가져와서 CloudWatch 페이로드를 통한 해결 위치에 입력합니다.

    다음 코드는 샘플 JSON 페이로드를 보여줍니다. 페이로드에는 셀룰러 및 Wi-Fi 측정 데이터가 포함됩니다. 페이로드에 추가 유형의 측정 데이터가 포함된 경우 정확도가 가장 높은 솔버가 사용됩니다. 자세한 정보와 페이로드의 예는 위치 솔버 및 디바이스 페이로드 섹션을 참조하세요.

    참고

    JSON 페이로드에는 하나 이상의 측정 데이터 유형이 포함되어야 합니다.

    { "Timestamp": 1664313161, "Ip":{ "IpAddress": "54.240.198.35" }, "WiFiAccessPoints": [{ "MacAddress": "A0:EC:F9:1E:32:C1", "Rss": -77 }], "CellTowers": { "Gsm": [{ "Mcc": 262, "Mnc": 1, "Lac": 5126, "GeranCid": 16504, "GsmLocalId": { "Bsic": 6, "Bcch": 82 }, "GsmTimingAdvance": 1, "RxLevel": -110, "GsmNmr": [{ "Bsic": 7, "Bcch": 85, "RxLevel": -100, "GlobalIdentity": { "Lac": 1, "GeranCid": 1 } }] }], "Wcdma": [{ "Mcc": 262, "Mnc": 7, "Lac": 65535, "UtranCid": 14674663, "WcdmaNmr": [{ "Uarfcndl": 10786, "UtranCid": 14674663, "Psc": 149 }, { "Uarfcndl": 10762, "UtranCid": 14674663, "Psc": 211 } ] }], "Lte": [{ "Mcc": 262, "Mnc": 2, "EutranCid": 2898945, "Rsrp": -50, "Rsrq": -5, "LteNmr": [{ "Earfcn": 6300, "Pci": 237, "Rsrp": -60, "Rsrq": -6, "EutranCid": 2898945 }, { "Earfcn": 6300, "Pci": 442, "Rsrp": -70, "Rsrq": -7, "EutranCid": 2898945 } ] }] } }
  3. 위치 정보를 확인하려면 Resolve(확인)를 선택합니다.

    위치 정보는 blob 유형이며 지리적 데이터 구조를 인코딩하는 데 사용되는 GeoJSON 형식의 페이로드로 반환됩니다. 페이로드에는 다음이 포함됩니다.

    • 위도 및 경도 정보를 포함하는 WGS84 지리 좌표. 고도 정보도 포함될 수 있습니다.

    • 보고된 위치 정보의 유형(예: 포인트). 포인트 위치 유형은 GeoJSON 포인트로 인코딩된 WGS84 위도 및 경도로 위치를 나타냅니다.

    • 해석기에서 추정된 위치 정보와 실제 디바이스 위치 간의 차이를 미터로 나타내는 수평 및 수직 정확도 정보.

    • 위치 추정치 응답의 불확실성을 나타내는 신뢰 수준. 기본값은 0.68이며, 이는 실제 디바이스 위치가 추정된 위치의 불확실성 반경 내에 있을 확률이 68%임을 나타냅니다.

    • 디바이스가 위치한 도시, 주, 국가 및 우편번호. 이 정보는 IP 역방향 조회 해석기를 사용하는 경우에만 보고됩니다.

    • 위치가 확인된 날짜와 시간에 해당하는 타임스탬프 정보. Unix 타임스탬프 형식이 사용됩니다.

    다음 코드는 위치를 확인하여 반환된 샘플 GeoJSON 페이로드를 보여줍니다.

    참고

    위치를 AWS IoT Core 확인하려고 할 때 장치 위치에서 오류가 보고되면 오류 문제를 해결하고 위치를 해결할 수 있습니다. 자세한 정보는 위치를 확인할 때 발생하는 오류 해결을 참조하세요.

    { "coordinates": [ 13.376076698303223, 52.51823043823242 ], "type": "Point", "properties": { "verticalAccuracy": 45, "verticalConfidenceLevel": 0.68, "horizontalAccuracy": 303, "horizontalConfidenceLevel": 0.68, "country": "USA", "state": "CA", "city": "Sunnyvalue", "postalCode": "91234", "timestamp": "2022-11-18T12:23:58.189Z" } }
  4. 리소스 위치 섹션으로 이동하여 장치 위치에서 보고한 AWS IoT Core 지리적 위치 정보를 확인하십시오. 페이로드를 복사하여 다른 애플리케이션 등에 AWS 서비스사용할 수 있습니다. 예를 들어, 위치를 사용하여 지리적 위치 데이터를 Amazon Location Service로 전송할 수 있습니다.

디바이스 위치 확인(API)

API를 사용하여 디바이스 위치를 확인하려면 AWS IoT Wireless GetPositionEstimateAPI 작업 또는 get-position-estimateCLI 명령을 사용합니다. 페이로드 측정 데이터를 입력으로 지정하고 API 작업을 실행하여 디바이스 위치를 확인합니다.

참고

GetPositionEstimate API 작업은 디바이스 또는 상태 정보를 저장하지 않으며 과거 위치 데이터를 검색하는 데 사용할 수 없습니다. 측정 데이터를 확인하고 추정된 위치를 산출하는 일회성 작업을 수행합니다. 위치 정보를 검색하려면 이 API 작업을 수행할 때마다 페이로드 정보를 지정해야 합니다.

다음 명령은 이 API 작업을 사용하여 위치를 확인하는 방법의 예를 보여줍니다.

참고

get-position-estimate CLI 명령을 실행할 때 출력 JSON 파일을 첫 번째 입력으로 지정해야 합니다. 이 JSON 파일은 CLI에서 응답으로 얻은 예상 위치 정보를 GeoJSON 형식으로 저장합니다. 예를 들어 다음 명령은 위치 정보를 locationout.json 파일에 저장합니다.

aws iotwireless get-position-estimate locationout.json \ --ip IpAddress=""54.240.198.35"" \ --wi-fi-access-points \ MacAddress="A0:EC:F9:1E:32:C1",Rss=-75 \ MacAddress="A0:EC:F9:15:72:5E",Rss=-67

이 예에는 Wi-Fi 액세스 포인트와 IP 주소가 모두 측정 유형으로 포함됩니다. AWS IoT Core 기기 위치는 Wi-Fi 솔버와 IP 역방향 조회 솔버 중 하나를 선택하고 정확도가 더 높은 솔버를 선택합니다.

확인돈 위치는 지리적 데이터 구조를 인코딩하는 데 사용되는 GeoJSON 형식의 페이로드로 반환됩니다. 그런 다음 이 정보는 locationout.json 파일에 저장됩니다. 페이로드에는 WGS84 위도 및 경도 좌표, 정확도 및 신뢰 수준 정보, 위치 데이터 유형, 위치가 확인된 타임스탬프가 포함됩니다.

{ "coordinates": [ 13.37704086303711, 52.51865005493164 ], "type": "Point", "properties": { "verticalAccuracy": 707, "verticalConfidenceLevel": 0.68, "horizontalAccuracy": 389, "horizontalConfidenceLevel": 0.68, "country": "USA", "state": "CA", "city": "Sunnyvalue", "postalCode": "91234", "timestamp": "2022-11-18T14:03:57.391Z" } }

위치를 확인할 때 발생하는 오류 해결

위치를 확인하려고 하면 다음과 같은 오류 코드가 표시될 수 있습니다. AWS IoT Core GetPositionEstimateAPI 작업을 사용할 때 기기 위치에서 오류가 발생할 수 있습니다. 그렇지 않으면 AWS IoT 콘솔의 오류에 해당하는 회선 번호를 참조할 수 있습니다.

  • 400 오류

    이 오류는 기기 위치에서 기기 페이로드 JSON의 형식을 검증할 수 없음을 나타냅니다. AWS IoT Core 다음과 같은 이유로 오류가 발생할 수 있습니다.

    • JSON 측정 데이터의 형식이 잘못되었습니다.

    • 페이로드에 타임스탬프 정보만 포함되어 있습니다.

    • IP 주소와 같은 측정 데이터 파라미터가 유효하지 않습니다.

    이 오류를 해결하려면 JSON 형식이 올바른지, 하나 이상의 측정 유형의 데이터가 입력으로 포함되어 있는지 확인합니다. IP 주소가 잘못된 경우 오류를 해결하기 위해 유효한 IP 주소를 제공하는 방법에 대한 자세한 내용은 IP 역방향 조회 솔버 섹션을 참조하세요.

  • 403 오류

    이 오류는 API 작업을 수행하거나 AWS IoT 콘솔을 사용하여 기기 위치를 검색할 권한이 없음을 나타냅니다. 이 오류를 해결하려면 이 작업을 수행하는 데 필요한 권한이 있는지 확인합니다. 이 오류는 AWS Management Console 세션 또는 AWS CLI 세션 토큰이 만료된 경우 발생할 수 있습니다. 이 오류를 해결하려면 를 사용하도록 세션 토큰을 새로 고치거나 에서 로그아웃한 다음 자격 증명을 사용하여 로그인하십시오. AWS CLI AWS Management Console

  • 404 오류

    이 오류는 AWS IoT Core 장치 위치에서 위치 정보를 찾거나 해결하지 못했음을 나타냅니다. 측정 데이터 입력에 데이터가 충분하지 않은 경우 등으로 인해 오류가 발생할 수 있습니다. 예:

    • MAC 주소 또는 셀룰러 타워 정보가 충분하지 않습니다.

    • 위치 조회 및 검색에 IP 주소를 사용할 수 없습니다.

    • GNSS 페이로드가 충분하지 않습니다.

    이러한 경우 오류를 해결하려면 측정 데이터에 디바이스 위치 확인에 필요한 충분한 정보가 포함되어 있는지 확인합니다.

  • 500 오류

    이 오류는 AWS IoT Core Device Location에서 위치 확인을 시도할 때 내부 서버 예외가 발생했음을 나타냅니다. 이 오류를 해결하려면 세션을 새로 고치고 확인할 측정 데이터를 다시 전송해 봅니다.