概要
最近出た u-blox ZED-F9P と Raspberry Pi Zero W を組み合わせて GNSS 受信機を作っているのだが、AgriBus-NAVI に WiFi 経由で NMEA を送れるようになったのでメモ。
確認環境
GNSS 受信機
- u-blox ZED-F9P
- Raspberry Pi zero W
- str2str (RTKLIB 2.4.3 b31 のユーティリティ)
AgriBus-NAVI 実行環境
- AgriBus-NAVI Version 3.6.2
- Amazon Fire HD 8(第8世代)
手順
-
GNSS 受信機と AgriBus-NAVI を同じ WiFi ネットワークに接続
-
AgriBus-NAVI 設定
- [GNSS位置情報取得元]で[内部ポート通信]を選択し[OK]を押す
- [TCPホスト&ポート設定]で[TCPホスト(IP)]に '0.0.0.0' を入力。ポート番号は任意(ただし、1025 未満を入力すると、強制的に 1025 にされてしまう)。 -
GNSS 受信機側設定
- F9P の UART1 を RaspPiZeroW のシリアルポートに接続
- F9P の UART1 の出力を NMEA だけに設定
- RaspPiZero のターミナルを開いて、コマンドラインから以下のコマンドを実行
str2str -in serial://[F9PをつないだUART]:[UARTの転送速度] -out tcpcli://[AgriBus-NAVIの動くスマホのアドレス]:[上で設定したポート番号]
これで AgriBus-NAVI 右上のインジケータが反応するはず。
反応しないときは[GNSS位置情報取得元]で一度[Bluetooth接続型GNSSを使用]を選択して[OK]を押した後、再度[内部ポート通信]を選択し[OK]を押すと使えるようになることあり。
追記
ちなみに Amazon Fire(第7世代)では、同様の設定で割と頻繁に[NO GNSS]になったが、Fire HD 8(第8世代)では、ほとんど[NO GNSS]にならない。CPU の処理能力の差か?(Fire(第7世代)は Cortex-A7、Fire HD 8(第8世代)は Cortex-A53)