NMEAデータを送信する¶
付属デバイスコネクターdevice-connector-intdashを使用してNMEAデータを取得し、リアルタイム送信するための設定例です。
アップストリームの設定¶
以下のコマンドを実行して、 recoverable
というIDを持つアップストリームを作成します。
指定しているのはIDのみのため、他の設定値はデフォルトのとおりになります。
$ intdash-agentctl config up --create '
id: recoverable
'
デバイスコネクターの設定¶
intdash Edge Agent 2にデバイスコネクターを追加します。以下のコマンドを実行して設定を行ってください。
$ intdash-agentctl config device-connector up --create '
id: up-nmea
data_name_prefix: nmea
dest_ids:
- recoverable
format: iscp-v2-compat
ipc:
type: fifo
path: /var/run/intdash/nmea.fifo
launch:
cmd: device-connector-intdash
args:
- --config
- /etc/dc_conf/nmea-up.yml
environment:
- DC_NMEA_PACKET_SRC_CONF_PATH=/dev/ttyTHS1
- DC_NMEA_PACKET_SRC_CONF_BAUDRATE=57600
- DC_PRINT_LOG_FILTER_CONF_TAG=nmea
- DC_FILE_SINK_CONF_PATH=/var/run/intdash/nmea.fifo
'
launch
で、device-connector-intdashを起動するように設定しています。device-connector-intdashを実行するための設定は、パイプライン設定ファイル
/etc/dc_conf/nmea-up.yml
として与えています(このファイルは次の手順で作成します)。 また、パイプライン設定ファイルで使用するための環境変数を与えています(environment
) 。特に、
DC_NMEA_PACKET_SRC_CONF_PATH
はGPSデバイスのデバイスパス、DC_NMEA_PACKET_SRC_CONF_BAUDRATE
は使用されるボーレートです。使用するデバイスに合った値を設定してください。device-connector-intdashから
/var/run/intdash/nmea.fifo
を介して得られたデータは、nmea
というデータ名称プリフィックスを与えられて、recoverable
というIDを持つアップストリームに送信されます。
device-connector-intdashのパイプライン設定¶
次にdevice-connector-intdashのパイプライン設定ファイルを /etc/dc_conf/nmea-up.yml
として作成します。
tasks:
- id: 1
element: nmea-packet-src
conf:
path: $(DC_NMEA_PACKET_SRC_CONF_PATH)
baudrate: $(DC_NMEA_PACKET_SRC_CONF_BAUDRATE)
- id: 2
element: iscp-v2-compat-filter
from: [ [1] ]
conf:
timestamp:
stamp:
clock_id: CLOCK_MONOTONIC
convert_rule: nmea
- id: 3
element: print-log-filter
from: [ [2] ]
conf:
interval_ms: 10000
tag: $(DC_PRINT_LOG_FILTER_CONF_TAG)
output: stderr
- id: 4
element: file-sink
from: [ [3] ]
conf:
path: $(DC_FILE_SINK_CONF_PATH)
nmea-packet-srcエレメントでは、環境変数として与えられた値を使ってNMEAメッセージを取得します。(参考: nmea-packet-src )
iscp-v2-compat-filterではそれをFIFO用データフォーマットに変換するとともに、タイムスタンプを与えます。(参考: iscp-v2-compat-filter )
print-log-filterでは標準エラー出力にログを出力します。(参考: print-log-filter )
file-sinkでは、$(DC_FILE_SINK_CONF_PATH)にFIFO用データフォーマットのデータが書き出されます。これをintdash Edge Agent 2が読み取ります。(参考: file-sink )
注釈
nmea-packet-srcはGPSデバイスの初期化は行いません。詳細については、 nmea-packet-src の注釈を参照してください。