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 1 | 1Hz(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は取得しない)など、少し癖があります。