BeagleBoneGreenでGPSを受信する03


前回
BeagleBoneGreenでGPSを受信する02

GPSの位置情報を記録するのにgpxloggerを使います。gpsd-clientsに含まれています。
コマンドオプション等は以下で確認できます。
https://manpages.debian.org/jessie/gpsd-clients/gpxlogger.1.en.html

電源を入れたら自動的に記録を開始するようにしたいのでサービスとして起動するようにします。
参考:Raspberry PiでGPS位置情報を記録

1.ログの出力先ディレクトリの作成

$ mkdir gpslog

2.サービス起動スクリプトの作成
BeagleBoneGreenのGPIO端子の設定で作成したスクリプトと同じディレクトリにしています。参考元とディレクトリが異なります。

$ sudo nano /lib/systemd/system/gpxlogger.service
gpxlogger.service
[Unit]
Description=gpxlogger service
After=gpsd.socket

[Service]
ExecStart=/bin/bash -c '/usr/bin/gpxlogger -f /home/debian/gpslog/gps_$$(date +%%Y%%m%%d%%H%%M%%S).gpx'
ExecStop=/bin/kill ${MAINPID}
Restart=always
Type=simple
User=debian
Group=debian

[Install]
WantedBy=multi-user.target

出力を全て記録したいため-mオプションは無しです。

3.サービスの登録

sudo systemctl daemon-reload
sudo systemctl enable gpxlogger.service

4.再起動後サービス起動の確認

sudo systemctl status gpxlogger.service

サービスの起動とファイルの作成を確認

gpxファイルで記録されるのでGoogle Earthで読み込むことができる。