기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS IoT Core Device Location을 사용하여 디바이스에서 측정 데이터를 디코딩하고 서드 파티 솔버를 사용하여 디바이스 위치를 확인합니다. 확인된 위치는 지리 좌표 및 정확도 정보가 포함된 GeoJSON 페이로드로 생성됩니다. AWS IoT 콘솔, AWS IoT 무선 API 또는 AWS CLI에서 디바이스 위치를 확인할 수 있습니다.
디바이스 위치 확인(콘솔)
디바이스 위치를 확인하려면(콘솔)
-
AWS IoT 콘솔의 Device Location
(디바이스 위치) 페이지로 이동합니다. -
디바이스 로그 또는 CloudWatch Logs에서 페이로드 측정 데이터를 가져와서 페이로드를 통한 위치 해석 섹션에 입력합니다.
다음 코드는 샘플 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
} ] }] } } -
위치 정보를 확인하려면 Resolve(확인)를 선택합니다.
위치 정보는 blob 유형이며 지리적 데이터 구조를 인코딩하는 데 사용되는 GeoJSON 형식의 페이로드로 반환됩니다. 페이로드에는 다음이 포함됩니다.
-
위도 및 경도 정보를 포함하는 WGS84 지리 좌표. 고도 정보도 포함될 수 있습니다.
-
보고된 위치 정보의 유형(예: 포인트). 포인트 위치 유형은 GeoJSON 포인트
로 인코딩된 WGS84 위도 및 경도로 위치를 나타냅니다. -
해석기에서 추정된 위치 정보와 실제 디바이스 위치 간의 차이를 미터로 나타내는 수평 및 수직 정확도 정보.
-
위치 추정치 응답의 불확실성을 나타내는 신뢰 수준. 기본값은 0.68이며, 이는 실제 디바이스 위치가 추정된 위치의 불확실성 반경 내에 있을 확률이 68%임을 나타냅니다.
-
디바이스가 위치한 도시, 주, 국가 및 우편번호. 이 정보는 IP 역방향 조회 해석기를 사용하는 경우에만 보고됩니다.
-
위치가 확인된 날짜와 시간에 해당하는 타임스탬프 정보. Unix 타임스탬프 형식이 사용됩니다.
다음 코드는 위치를 확인하여 반환된 샘플 GeoJSON 페이로드를 보여줍니다.
참고
위치 확인을 시도할 때 AWS IoT Core Device Location에서 오류가 보고되는 경우 오류를 해결한 후 위치를 확인할 수 있습니다. 자세한 내용은 위치를 확인할 때 발생하는 오류 해결 단원을 참조하십시오.
{ "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" } }
-
-
Resource location(리소스 위치) 섹션으로 이동하여 AWS IoT Core Device Location에서 보고된 지리적 위치 정보를 확인합니다. 페이로드를 복사하여 다른 애플리케이션 및 AWS 서비스에 사용할 수 있습니다. 예를 들어, 위치를 사용하여 지리적 위치 데이터를 Amazon Location Service로 전송할 수 있습니다.
디바이스 위치 확인(API)
AWS IoT 무선 API를 사용하여 디바이스 위치를 확인하려면 GetPositionEstimate API 작업 또는 get-position-estimate CLI 명령을 사용합니다. 페이로드 측정 데이터를 입력으로 지정하고 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 Device Location은 GetPositionEstimate
API 작업을 사용할 때 오류를 생성하거나 AWS IoT 콘솔에서 오류에 해당하는 줄 번호를 참조할 수 있습니다.
-
400 오류
이 오류는 AWS IoT Core Device Location에서 디바이스 페이로드 JSON의 형식을 확인할 수 없음을 나타냅니다. 다음과 같은 이유로 오류가 발생할 수 있습니다.
-
JSON 측정 데이터의 형식이 잘못되었습니다.
-
페이로드에 타임스탬프 정보만 포함되어 있습니다.
-
IP 주소와 같은 측정 데이터 파라미터가 유효하지 않습니다.
이 오류를 해결하려면 JSON 형식이 올바른지, 하나 이상의 측정 유형의 데이터가 입력으로 포함되어 있는지 확인합니다. IP 주소가 잘못된 경우 오류를 해결하기 위해 유효한 IP 주소를 제공하는 방법에 대한 자세한 내용은 IP 역방향 조회 솔버 섹션을 참조하세요.
-
-
403 오류
이 오류는 API 작업을 수행하거나 AWS IoT 콘솔을 사용하여 디바이스 위치를 검색할 수 있는 권한이 없음을 나타냅니다. 이 오류를 해결하려면 이 작업을 수행하는 데 필요한 권한이 있는지 확인합니다. AWS Management Console 세션 또는 AWS CLI 세션 토큰이 만료된 경우 이 오류가 발생할 수 있습니다. 이 오류를 해결하려면 AWS CLI를 사용하도록 세션 토큰을 새로 고치거나 AWS Management Console에서 로그아웃한 다음 보안 인증 정보를 사용하여 로그인합니다.
-
404 오류
이 오류는 AWS IoT Core Device Location에서 위치 정보를 찾거나 확인하지 못했음을 나타냅니다. 측정 데이터 입력에 데이터가 충분하지 않은 경우 등으로 인해 오류가 발생할 수 있습니다. 예:
-
MAC 주소 또는 셀룰러 타워 정보가 충분하지 않습니다.
-
위치 조회 및 검색에 IP 주소를 사용할 수 없습니다.
-
GNSS 페이로드가 충분하지 않습니다.
이러한 경우 오류를 해결하려면 측정 데이터에 디바이스 위치 확인에 필요한 충분한 정보가 포함되어 있는지 확인합니다.
-
-
500 오류
이 오류는 AWS IoT Core Device Location에서 위치 확인을 시도할 때 내부 서버 예외가 발생했음을 나타냅니다. 이 오류를 해결하려면 세션을 새로 고치고 확인할 측정 데이터를 다시 전송해 봅니다.