SpresenseでGPS(GNSS)


SpresenseでGPSを試す

SonyのSpresenseボードでGPS(GNSS)機能を確認してみた。

ソフト環境

Arduino IDE利用。Spresenseでの同環境利用については、こちらに詳細あり。

サンプルコードなど

Arduino IDEでSpresenseボードをインストールした時にインストールされるGNSSのサンプルコードを用いる。

また、SpresenseのGPSページにも詳細な記載がある。

実験

本ボードに外部アンテナを接続せずテストを行っている。

自宅(マンション)内の窓際にボードを置いた時

4つ以上の衛星を安定的に取得できるようになると、測位されるらしい。以降、右から3番目の数値が取得できた衛生数である(numSat)。

1980/01/06 00:01:57.000604, numSat: 1, No-Fix, No Position
1980/01/06 00:01:58.000630, numSat: 1, No-Fix, No Position
1980/01/06 00:01:59.000618, numSat: 4, No-Fix, No Position
numSatellites: 4
[ 0] Type:GPS, Id: 1, Elv: 0, Azm:  0, CN0:32.200001
[ 1] Type:GPS, Id:11, Elv: 0, Azm:  0, CN0:6.930000
[ 2] Type:GPS, Id:12, Elv: 0, Azm:  0, CN0:13.400000
[ 3] Type:GPS, Id:21, Elv: 0, Azm:  0, CN0:22.709999
1980/01/06 00:02:00.000616, numSat: 4, No-Fix, No Position
1980/01/06 00:02:01.000612, numSat: 4, No-Fix, No Position
1980/01/06 00:02:02.000603, numSat: 4, No-Fix, No Position
1980/01/06 00:02:03.000628, numSat: 4, No-Fix, No Position
1980/01/06 00:02:04.000622, numSat: 4, No-Fix, No Position
1980/01/06 00:02:05.000613, numSat: 2, No-Fix, No Position
1980/01/06 00:02:06.000610, numSat: 2, No-Fix, No Position
1980/01/06 00:02:07.000604, numSat: 3, No-Fix, No Position

何度もトライしたが、安定的に4つ以上の衛星をキャッチすることはできずじまい。上記ログではたまたま4つの衛星を取得できたレベルなのであろう。窓際といっても室内は厳しいようだ(さらには外部アンテナ未接続)。ただし、室内でも、時刻を取得することはできた。下記ログ参照。

1980/01/06 00:02:34.000622, numSat: 2, No-Fix, No Position
1980/01/06 00:02:35.000616, numSat: 2, No-Fix, No Position
1980/01/06 00:02:36.000610, numSat: 2, No-Fix, No Position
numSatellites: 2
[ 0] Type:GPS, Id: 1, Elv: 0, Azm:  0, CN0:33.750000
[ 1] Type:GPS, Id:21, Elv: 0, Azm:  0, CN0:25.820000
2021/07/10 23:15:20.000646, numSat: 2, No-Fix, No Position
2021/07/10 23:15:21.000670, numSat: 3, No-Fix, No Position
2021/07/10 23:15:22.000664, numSat: 3, No-Fix, No Position

測位と整時とは別次元の話なのだろう。

自宅バルコニーにボードを置いた時(外部アンテナ未接続)

1980/01/06 00:00:50.000587, numSat: 4, No-Fix, No Position
1980/01/06 00:00:51.000586, numSat: 4, No-Fix, No Position
1980/01/06 00:00:52.000585, numSat: 5, No-Fix, No Position
1980/01/06 00:00:53.000585, numSat: 6, No-Fix, No Position
numSatellites: 6
[ 0] Type:GPS, Id: 1, Elv: 0, Azm:  0, CN0:27.330000
[ 1] Type:GPS, Id: 3, Elv: 0, Azm:  0, CN0:24.119999
[ 2] Type:GPS, Id: 7, Elv: 0, Azm:  0, CN0:26.760000
[ 3] Type:GPS, Id:19, Elv: 0, Azm:  0, CN0:3.990000
[ 4] Type:GPS, Id:22, Elv: 0, Azm:  0, CN0:31.250000
[ 5] Type:GPS, Id:30, Elv: 0, Azm:  0, CN0:6.930000
2021/07/10 23:46:50.000671, numSat: 6, No-Fix, No Position
2021/07/10 23:46:51.000665, numSat: 4, No-Fix, No Position

このケースでは、起動から1分弱で整時された。さらに続ける。

2021/07/10 23:47:57.000670, numSat: 4, No-Fix, No Position
2021/07/10 23:47:58.000664, numSat: 4, No-Fix, No Position
2021/07/10 23:47:58.770138, numSat: 4, Fix, Lat=xx.x31142, Lon=yy.y92145
2021/07/10 23:47:59.000690, numSat: 4, Fix, Lat=xx.x31142, Lon=yy.y92145
numSatellites: 4
[ 0] Type:GPS, Id: 1, Elv:51, Azm:215, CN0:26.879999
[ 1] Type:GPS, Id: 3, Elv: 4, Azm:175, CN0:0.000000
[ 2] Type:GPS, Id: 7, Elv:42, Azm:257, CN0:31.840000
[ 3] Type:GPS, Id:22, Elv:21, Azm:160, CN0:31.150000
2021/07/10 23:48:00.000685, numSat: 4, No-Fix, Lat=xx.x31142, Lon=yy.y92145
2021/07/10 23:48:01.000678, numSat: 5, No-Fix, Lat=xx.x31142, Lon=yy.y92145

起動から2分強で測位が開始されている。衛星配置なども関係しているため、測位開始されるまでの時間には、ばらつきがある。何度かトライしたが、5分以上かかったケースもある。

最後に

Spresenseボードは、秋月電子やスイッチサイエンスで6000円程度で売られている。他の機能も充実しており、GPSだけではなく他の用途にも有益に使えそう。