GPSデータをRaspberry Piで解析する(Parse GPS data at Raspberry Pi)

GPSモジュールから受信するNMEA0813データをRaspberry Piで解析してSD Cardに保存してみようと思います。
(We tried to parse NMEA0813 data from GPS module at Raspberry Pi.)

NMEA0813を直接シリアル通信で受信し解析するプログラムを組んでもよいのですが、めんどいのでGPSDというサービスデーモンを使ってみます。GPSDについては下記を参照。
(Instead of making parse program directly, we chose to use GPSD which is daemon service to parse NMEA0813 data. The detail is below.)
(Reference: http://catb.org/gpsd/)

GPSDについて(About GPSD)

GPSDはデーモンになっており、GPSモジュールからのNMEA0813データを受信して解析・保持してくれます。GPSDは2947ポートを開いており、クライアントAPからここにアクセスすることで、緯度や経度のGPS情報を取得することができます。
GPSDと通信するためのライブラリがCやPythonで用意されているため、これを使ってGPSDクライアントAPを開発することができます。また、cgpsやgpsmonといった標準のクライアントコマンド等も用意されています。
(GPSD is a daemon and parse NMEA0813 data. GPSD opens 2947 poart and client AP can get altitude, latitude and etc… from GPSD. There are some libraries communicating with GPSD, and we can easily develop client AP. And there are some default client command like “cgps”, “gpsmon”)

gpsd_image

今回はGPSDのクライアントAPで緯度や経度の情報をSD Cardに保存したいので、下記のようなイメージとなります。
(At this time, we would like to save some GPS data to SD Card, so the image is like below.)

gps_parse

GPSDの準備(Preparing GPSD)

まず、GPSDとGPSDクライアントをインストールします。
(At first, install GPSD and GPSD clients.)

$ apt-get install gpsd gpsd-clients

インストールが完了したら、GPSDを起動します。(GPSはuartでRaspberry PIと接続し、/dev/ttyAMA0にマウントされている前提)
(After install, we can start GPSD.)

$ gpsd /dev/ttyAMA0

これでGPSDが起動して、GPSからのデータの受信が始まります。
(GPSD start watching GPS data.)

動作確認(checking of operation)

動作確認するために、gps-clientsに入っているgpsmonやcgpsを使えます。
下記コマンドを実行するだけで、gpsdと通信し、緯度や経度を表示してくれます。
(For checke operation, we cans use commands like gpsmon, cgps and so on including gps-clients. These command get GPS information from GPSD and monitor it.)

$ cgps
$ gpsmon

ただ、自分の環境ではcgpsを起動すると「cgps: GPS timeout」となり、異常終了してしまいました。
gpsmonは正常に動いています。
次はPython使ってGPSDのクライアントAP作っていきたいと思います。
(However, when I start cgps, A error occured like “cgps: GPS timeout” and not work. gpsmon works correctly. Next we will make gpsd client AP.)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s