위치 솔버 및 디바이스 페이로드 - AWS IoT Core

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

위치 솔버 및 디바이스 페이로드

위치 해결기는 IoT 장치의 위치를 확인하는 데 사용할 수 있는 알고리즘입니다. AWS IoT Core 기기 위치는 다음과 같은 위치 해결기를 지원합니다. 여기서는 이러한 측정 유형에 대한 JSON 페이로드 형식의 예, 솔버에서 지원하는 디바이스 및 위치 확인 방법을 보여줍니다.

디바이스 위치를 확인하려면 이러한 측정 데이터 유형 중 하나 이상을 지정합니다. 결합된 모든 측정 데이터에 대해 확인된 위치 하나가 반환됩니다.

Wi-Fi 기반 솔버

Wi-Fi 액세스 포인트의 스캔 정보를 사용하여 위치를 확인하려면 Wi-Fi 기반 솔버를 사용합니다. 솔버는 WLAN 기술을 지원하며, 이를 사용하여 일반 IoT 장치 및 LoRa WAN 무선 장치의 장치 위치를 계산할 수 있습니다.

LoRaWAN 장치에는 들어오는 Wi-Fi 스캔 정보를 디코딩할 수 있는 LoRa Edge 칩셋이 있어야 합니다. LoRa Edge는 장거리 LoRa 트랜시버, 다중 별자리 GNSS 스캐너 및 지리적 위치 애플리케이션을 대상으로 하는 패시브 Wi-Fi MAC 스캐너를 통합하는 초저전력 플랫폼입니다. 디바이스로부터 업링크 메시지를 수신하면 Wi-Fi 스캔 데이터가 AWS IoT Core 디바이스 위치로 전송되고 Wi-Fi 스캔 결과를 기반으로 위치가 추정됩니다. 그런 다음 디코딩된 정보가 Wi-Fi 기반 솔버로 전달되어 위치 정보가 검색됩니다.

다음 코드는 측정 데이터가 포함된 디바이스의 JSON 페이로드에 대한 예를 보여줍니다. AWS IoT Core 기기 위치가 이 데이터를 입력으로 수신하면 위치 정보를 확인하기 위해 솔버 제공자에게 HTTP 요청을 보냅니다. 정보를 검색하려면 MAC 주소와 수신 신호 강도(RSS) 값을 지정합니다. 이렇게 하려면 이 형식을 사용하여 JSON 페이로드를 제공하거나 API 작업의 WiFiAccessPoints객체 매개변수를 사용하십시오. GetPositionEstimate

{ "Timestamp": 1664313161, // optional "WiFiAccessPoints": [ { "MacAddress": "A0:EC:F9:1E:32:C1", // required "Rss": -75 // required } ] }

셀룰러 기반 솔버

셀룰러 기반 솔버를 사용하면 셀룰러 라디오 타워에서 얻은 측정 데이터를 통해 위치를 확인할 수 있습니다. 이 솔버는 다음 기술을 지원합니다. 이러한 기술 중 일부 또는 전부의 측정 데이터를 포함하더라도 하나의 확인된 위치 정보를 얻을 수 있습니다.

  • GSM

  • CDMA

  • WCDMA

  • TD-SCDMA

  • LTE

셀룰러 기반 솔버 페이로드 예시

다음 코드는 셀룰러 측정 데이터가 포함된 디바이스의 JSON 페이로드에 대한 예를 보여줍니다. AWS IoT Core Device Location은 이 데이터를 입력으로 수신하면 위치 정보를 확인하기 위해 솔버 제공자에게 HTTP 요청을 보냅니다. 정보를 검색하려면 콘솔에서 이 형식을 사용하여 JSON 페이로드를 제공하거나 API 작업의 CellTowers파라미터 값을 지정하십시오. GetPositionEstimate 이러한 셀룰러 기술 중 일부 또는 전부를 사용해 파라미터 값을 지정하여 측정 데이터를 제공할 수 있습니다.

이 측정 데이터를 사용할 때는 모바일 네트워크의 네트워크 및 국가 코드, 선택적 추가 파라미터(로컬 ID 관련 정보 등)와 같은 정보를 지정해야 합니다. 다음 코드는 페이로드 형식의 예를 보여줍니다. 이러한 파라미터에 대한 자세한 내용은 LTE 객체를 참조하세요.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Lte": [ { "Mcc": int, // required "Mnc": int, // required "EutranCid": int, // required. Make sure that you use int for EutranCid. "Tac": int, // optional "LteLocalId": { // optional "Pci": int, // required "Earfcn": int, // required }, "LteTimingAdvance": int, // optional "Rsrp": int, // optional "Rsrq": float, // optional "NrCapable": boolean, // optional "LteNmr": [ // optional { "Pci": int, // required "Earfcn": int, // required "EutranCid": int, // required "Rsrp": int, // optional "Rsrq": float // optional } ] } ] } }

이 측정 데이터를 사용할 때는 모바일 네트워크의 네트워크 및 국가 코드, 기지국 정보, 선택적 추가 파라미터와 같은 정보를 지정해야 합니다. 다음 코드는 페이로드 형식의 예를 보여줍니다. 이러한 파라미터에 대한 자세한 내용은 GSM 객체를 참조하세요.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Gsm": [ { "Mcc": int, // required "Mnc": int, // required "Lac": int, // required "GeranCid": int, // required "GsmLocalId": { // optional "Bsic": int, // required "Bcch": int, // required }, "GsmTimingAdvance": int, // optional "RxLevel": int, // optional "GsmNmr": [ // optional { "Bsic": int, // required "Bcch": int, // required "RxLevel": int, // optional "GlobalIdentity": { "Lac": int, // required "GeranCid": int // required } } ] } ] }

이 측정 데이터를 사용할 때는 신호 강도 및 식별 정보, 기지국 정보, 선택적 추가 파라미터와 같은 정보를 지정해야 합니다. 다음 코드는 페이로드 형식의 예를 보여줍니다. 이러한 파라미터에 대한 자세한 내용은 CDMA 객체를 참조하세요.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Cdma": [ { "SystemId": int, // required "NetworkId": int, // required "BaseStationId": int, // required "RegistrationZone": int, // optional "CdmaLocalId": { // optional "PnOffset": int, // required "CdmaChannel": int, // required }, "PilotPower": int, // optional "BaseLat": float, // optional "BaseLng": float, // optional "CdmaNmr": [ // optional { "PnOffset": int, // required "CdmaChannel": int, // required "PilotPower": int, // optional "BaseStationId": int // optional } ] } ] } }

이 측정 데이터를 사용할 때는 네트워크 및 국가 코드, 신호 강도 및 식별 정보, 기지국 정보, 선택적 추가 파라미터와 같은 정보를 지정해야 합니다. 다음 코드는 페이로드 형식의 예를 보여줍니다. 이러한 파라미터에 대한 자세한 내용은 CDMA 객체를 참조하세요.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Wcdma": [ { "Mcc": int, // required "Mnc": int, // required "UtranCid": int, // required "Lac": int, // optional "WcdmaLocalId": { // optional "Uarfcndl": int, // required "Psc": int, // required }, "Rscp": int, // optional "Pathloss": int, // optional "WcdmaNmr": [ // optional { "Uarfcndl": int, // required "Psc": int, // required "UtranCid": int, // required "Rscp": int, // optional "Pathloss": int, // optional } ] } ] } }

이 측정 데이터를 사용할 때는 네트워크 및 국가 코드, 신호 강도 및 식별 정보, 기지국 정보, 선택적 추가 파라미터와 같은 정보를 지정해야 합니다. 다음 코드는 페이로드 형식의 예를 보여줍니다. 이러한 파라미터에 대한 자세한 내용은 CDMA 객체를 참조하세요.

{ "Timestamp": 1664313161, // optional "CellTowers": { "Tdscdma": [ { "Mcc": int, // required "Mnc": int, // required "UtranCid": int, // required "Lac": int, // optional "TdscdmaLocalId": { // optional "Uarfcn": int, // required "CellParams": int, // required }, "TdscdmaTimingAdvance": int, // optional "Rscp": int, // optional "Pathloss": int, // optional "TdscdmaNmr": [ // optional { "Uarfcn": int, // required "CellParams": int, // required "UtranCid": int, // optional "Rscp": int, // optional "Pathloss": int, // optional } ] } ] } }

IP 역방향 조회 솔버

IP 역방향 조회 솔버를 통해 IP 주소를 입력으로 사용하여 위치를 확인할 수 있습니다. 솔버는 에서 프로비전된 기기에서 위치 정보를 얻을 수 있습니다. AWS IoT IPv4 또는 IPv6 표준 패턴이나 IPv6 16진수 압축 패턴의 형식을 사용하여 IP 주소 정보를 지정합니다. 그런 다음 디바이스가 위치한 도시 및 국가와 같은 추가 정보를 포함하여 확인된 위치 추정치를 얻습니다.

참고

IP 역방향 조회를 사용할 경우 특정 집 주소 또는 도로명 주소를 식별하거나 찾기 위한 목적으로 이를 사용하지 않는다는 데 동의하는 것으로 간주됩니다.

다음 코드는 측정 데이터가 포함된 디바이스의 JSON 페이로드에 대한 예를 보여줍니다. AWS IoT Core Device Location은 측정 데이터에서 IP 주소 정보를 수신하면 솔버 제공자의 데이터베이스에서 이 정보를 찾아 위치 정보를 확인하는 데 사용됩니다. 정보를 검색하려면 이 형식을 사용하여 JSON 페이로드를 제공하거나 API 작업의 Ip 매개변수 값을 지정하십시오. GetPositionEstimate

참고

이 해석기를 사용하면 디바이스가 위치한 도시, 주, 국가 및 우편번호가 좌표와 함께 보고됩니다. 예시는 디바이스 위치 확인(콘솔)을 확인하세요.

{ "Timestamp": 1664313161, "Ip":{ "IpAddress":"54.240.198.35" } }

GNSS 솔버

GNSS 스캔 결과 메시지 또는 NAV 메시지에 포함된 정보를 사용하여 디바이스 위치를 검색하려면 GNSS(Global Navigation Satellite System) 솔버를 사용합니다. 선택적으로 추가 GNSS 지원 정보를 제공하여 솔버가 신호를 검색하는 데 사용해야 하는 변수 수를 줄일 수 있습니다. 위치, 고도, 캡처 시간 및 정확도 정보가 포함된 이 지원 정보를 제공하면 솔버가 시야 내 위성을 쉽게 식별하고 디바이스 위치를 계산할 수 있습니다.

이 솔버는 LoRa WAN 장치 및 함께 프로비전된 다른 장치와 함께 사용할 수 있습니다. AWS IoT일반 IoT 디바이스의 경우, 디바이스가 GNSS를 이용한 위치 추정을 지원하면 해당 디바이스에서 GNSS 스캔 정보가 수신될 때 송수신장치가 위치 정보를 확인합니다. LoRaWAN 장치의 경우 장치에 Edge 칩셋이 있어야 합니다. LoRa 디바이스로부터 업링크 메시지를 수신하면 GNSS 스캔 데이터가 로 AWS IoT Core for LoRaWAN전송되고 트랜시버의 스캔 결과를 기반으로 위치가 추정됩니다.

다음 코드는 측정 데이터가 포함된 디바이스의 JSON 페이로드에 대한 예를 보여줍니다. AWS IoT Core Device Location은 측정 데이터에 페이로드가 포함된 GNSS 스캔 정보를 수신하면 트랜시버 및 포함된 추가 지원 정보를 사용하여 신호를 검색하고 위치 정보를 확인합니다. 정보를 검색하려면 이 형식을 사용하여 JSON 페이로드를 제공하거나 API 작업의 Gnss 매개변수 값을 지정하십시오. GetPositionEstimate

참고

AWS IoT Core 장치 위치에서 장치 위치를 확인할 수 있으려면 먼저 페이로드에서 대상 바이트를 제거해야 합니다.

{ "Timestamp": 1664313161, // optional "Gnss": { "AssistAltitude": number, // optional "AssistPosition": [ number ], // optional "CaptureTime": number, // optional "CaptureTimeAccuracy": number, // optional "Payload": "string", // required "Use2DSolver": boolean // optional } }