Raspberry Pi[57] gpsfake

Raspberry Pi上で、本物のGPSを接続せずに、
自作のNMEAファイルを使って gpsd をテスト・デバッグするためのツール。


✅ gpsfakeとは?

  • gpsd公式のテスト用ツール
  • 自作のNMEAログファイルを仮想GPSデバイスとして再生
  • gpsd を自動的に起動し、送信を行う
  • クライアントツール(cgps, gpspipe など)で 実GPSと同様に確認可能

✅ 基本の使い方(1秒ごとに再生)

gpsfake -c 1 -n gps.txt
オプション説明
-c 11Hz(1秒ごとに1行送信)
-n起動直後に再生開始(待機なし)

✅ 送信するNMEA文をコンソールに表示したいとき

gpsfake -c 1 -l -n gps.txt

| -l | ログ表示:送っているNMEA文を標準出力に表示する |


✅ デバッグレベルを追加したいとき(詳細ログが見える)

gpsfake -c 1 -l -D 5 -n gps.txt

✅ 使用前の注意点(衝突防止)

本物のGPSがつながっている場合は…

sudo systemctl stop gpsd
sudo systemctl stop gpsd.socket

✅ これで gpsd が勝手に復活しないようにする
gpsfake が起動する gpsd と衝突しない!


✅ 終了後に本物のGPS運用に戻す場合

sudo systemctl start gpsd.socket
sudo systemctl start gpsd

(必要なら sudo systemctl enable gpsd.socket も)


✅ gpsfake 終了方法

  • Ctrl + C でいつでも中断
  • 自動で gpsd も終了する

🧪 確認

別端末で:

cgps -s

✅ 緯度・経度・速度などが gps.txt のNMEAデータに応じて表示される!

gpsfakeは整合性もチェックするので、チェックサムが合わないとか、他のNMEAと整合していないとデータをはじくこともあるので、NMEAを自分で作る場合はちゃんと作らないとだめなようです。また、NMEAに含まれているからと言って、gpsd からとれるとも限らない(GGAにはHDOPが含まれるけど、GGAからHDOPは取得しない)など、少し癖があります。