NMEA型向け 信号定義サンプル =================================== このサンプルでは、NMEA形式のデータを物理値に変換する信号定義を登録します。 以下のような、アドレスフィールドが ``GPRMC`` であるサンプルデータを例にします: .. code-block:: $GPRMC,085120.307,A,3541.1493,N,13945.3994,E,000.0,240.3,181211,,,A*6A .. list-table:: :widths: 10 15 15 :header-rows: 1 * - index - 値の例 - 意味 * - 0 - 085120.307 - 協定世界時(UTC)での時刻 * - 1 - A - ステータス (A = 有効) * - 2 - 3541.1493 - 緯度 * - 3 - N - 北緯 or 南緯 * - 4 - 13945.3994 - 経度 * - 5 - E - 東経 or 西経 * - 6 - 000.0 - 地表における移動の速度 * - 7 - 240.3 - 地表における移動の真方位 * - 8 - 181211 - 協定世界時(UTC)での日付 * - 9 - (blank) - 磁北と真北の間の角度の差。000.0~359.9度 * - 10 - (blank) - 磁北と真北の間の角度の差の方向 * - 11 - A - モード (A = Autonomous) * - 12 - `*6A` - チェックサム 以下では、上記の形式のデータから緯度と経度を取得するための信号定義を登録します。 信号定義の概要 ------------------------------------------------ .. list-table:: :widths: 10 30 :header-rows: 1 * - 項目 - 設定内容 * - 変換対象とする時系列データのタイプ - ``intdash.DataType.nmea`` * - 適用する変換 - `intdash.ConversionCSV <../../signals.html#intdash.ConversionCSV>`_ 信号定義の登録 ------------------------------------------------ 信号定義のアクセスオブジェクトを生成します。 .. code-block:: python import intdash client = intdash.Client( url = "https://example.intdash.jp", edge_token = "your_token", ) sig = client.signals 以下のように、信号定義をそれぞれ登録します。 **緯度 ( index=2 )** .. code-block:: python s = sig.create( label="GNRMC_LAT", data_type=intdash.DataType.nmea, data_id='GNRMC', channel=1, conversion=intdash.ConversionCSV( delimiters=[','], index=2, value_type='str' ), display=intdash.Display( unit='', min=0, max=360, format='%s', ), ) **経度 ( index=4 )** .. code-block:: python s = sig.create( label="GNRMC_LNG", data_type=intdash.DataType.nmea, data_id='GNRMC', channel=1, conversion=intdash.ConversionCSV( delimiters=[','], index=4, value_type='str' ), display=intdash.Display( unit='', min=0, max=360, format='%s', ), )