位置ソルバーとデバイスペイロード - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

位置ソルバーとデバイスペイロード

ロケーションソルバーは、IoT デバイスの位置を解決するために使用できるアルゴリズムです。 AWS IoT Core Device Location は、次のロケーションソルバーをサポートしています。これらの測定タイプの JSON ペイロード形式の例、ソルバーがサポートするデバイス、および位置の解決方法が表示されます。

デバイスの位置を特定するには、これらの測定データタイプを 1 つ以上指定してください。すべての測定データを組み合わせた単一の解決済み位置が返されます。

Wi-Fi ベースのソルバー

Wi-Fi ベースのソルバーを使用して、Wi-Fi アクセスポイントからのスキャン情報を使用して位置を解決します。ソルバーは テクノロジーをサポートしており、一般的な IoT デバイスと LoRaWAN ワイヤレスデバイスのデバイス位置を計算するために使用できます。

LoRaWAN デバイスには、受信 Wi-Fi スキャン情報をデコードできる LoRa Edge チップセットが必要です。 LoRa Edge は、位置情報アプリケーションを対象とする長距離 LoRa トランシーバー、マルチコンスタレーション GNSS スキャナー、パッシブ Wi-Fi MAC スキャナーを統合する超低電力プラットフォームです。デバイスからアップリンクメッセージを受信すると、Wi-Fi スキャンデータが AWS IoT Core Device Location に送信され、Wi-Fi スキャン結果に基づいてロケーションが推定されます。次に、デコードされた情報は Wi-Fi ベースのソルバーに渡され、位置情報が取得されます。

次のコードは、測定データを含むデバイスからの JSON ペイロードの例を示しています。 AWS IoT Core Device Location はこのデータを入力として受け取ると、ソルバープロバイダーに HTTP リクエストを送信して位置情報を解決します。情報を取得するには、MAC アドレスと RSS (受信信号強度) の値を指定します。これを行うには、この形式を使用して JSON ペイロードを指定するか、 GetPositionEstimate API オペレーションの WiFiAccessPoints オブジェクトパラメータを使用します。

{ "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 ペイロードを指定するか、 GetPositionEstimate API オペレーションの CellTowersパラメータの値を指定します。これらのセルラーテクノロジーのいずれかまたはすべてを使用してパラメータの値を指定することにより、測定データを提供できます。

この測定データを使用するときは、モバイルネットワークのネットワークや国コードなどの情報、およびローカル ID に関する情報を含むオプションの追加パラメータを指定する必要があります。次のコードは、ペイロード形式の例を示しています。これらのパラメータの詳細については、「LTE object」(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 object」(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 object」(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 object」(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 object」(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 ペイロードを指定するか、GetPositionEstimateAPI オペレーションの Ip パラメータの値を指定します。

注記

このソルバーを使用すると、座標に加えてデバイスが配置されている都市、州、国、郵便番号も報告されます。例については、デバイスの位置を解決する (コンソール)を参照してください。

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

GNSS ソルバー

GNSS (グローバルナビゲーションサテライトシステム) ソルバーを使用して、GNSS スキャン結果メッセージまたは NAV メッセージに含まれる情報を使用してデバイスの位置を取得します。オプションで追加の GNSS 支援情報を指定できます。これにより、ソルバーが信号を検索するために使用する必要のある変数の数が減ります。位置、高度、キャプチャ時間、精度情報を含むこの支援情報を提供することで、ソルバーは表示されている衛星を簡単に識別し、デバイスの位置を計算できます。

このソルバーは、 LoRaWAN デバイス、および でプロビジョニングされた他のデバイスで使用できます AWS IoT。一般的な IoT デバイスでは、デバイスが GNSS による位置推定をサポートしている場合、デバイスから GNSS スキャン情報を受信すると、トランシーバーが位置情報を解決します。 LoRaWAN デバイスの場合、デバイスには LoRa Edge チップセットが必要です。デバイスからアップリンクメッセージを受信すると、GNSS スキャンデータが に送信され AWS IoT Core for LoRaWAN、トランシーバーからのスキャン結果に基づいて場所が推定されます。

次のコードは、測定データを含むデバイスからの JSON ペイロードの例を示しています。 AWS IoT Core Device Location は、測定データ内のペイロードを含む GNSS スキャン情報を受信すると、トランシーバーとそれに含まれる追加の支援情報を使用してシグナルを検索し、位置情報を解決します。情報を取得するには、この形式を使用して JSON ペイロードを指定するか、 GetPositionEstimate API オペレーションの Gnss パラメータの値を指定します。

注記

AWS IoT Core Device Location がデバイスの位置を解決する前に、ペイロードから送信先バイトを削除する必要があります。

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