NMEA型向け 信号定義サンプル¶
このサンプルでは、NMEA形式のデータを物理値に変換する信号定義を登録します。
以下のような、アドレスフィールドが GPRMC
であるサンプルデータを例にします:
$GPRMC,085120.307,A,3541.1493,N,13945.3994,E,000.0,240.3,181211,,,A*6A
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 |
チェックサム |
以下では、上記の形式のデータから緯度と経度を取得するための信号定義を登録します。
信号定義の概要¶
項目 |
設定内容 |
---|---|
変換対象とする時系列データのタイプ |
|
適用する変換 |
信号定義の登録¶
信号定義のアクセスオブジェクトを生成します。
import intdash
client = intdash.Client(
url = "https://example.intdash.jp",
edge_token = "your_token",
)
sig = client.signals
以下のように、信号定義をそれぞれ登録します。
緯度 ( index=2 )
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 )
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',
),
)