Beyond your wall with Drogger

ドロガーで壁を越えよう

DG-PRO1RW NMEAをシリアル出力する

f:id:bizstation:20191004133959p:plain

今回は、DG-PRO1RWの移動局でRTK測位した結果のNMEAデータをシリアル出力する方法です。 レガシーな機器ではGPSレシーバのNMEAデータをシリアルで受け取って動作するものが多数あるようで、お客様のご要望でアプリにて対応いたしました。 この機能は、Drogger-GPS Version 2.2.68から可能になっています。

DG-PRO1RWS | ZED-F9P搭載 | 2周波 RTK-GNSS | Bluetooth5.0
¥59,800 (税別 BizStationサイト)
u-blox ZED-F9P GNSSモジュール搭載 2周波 RTK-GNSSレシーバ 。受信チャンネル数184 GPS みちびき(4機フル対応) GLONASS BeiDou Galileo 同時受 ...
詳細・購入 問い合わせ 会社情報
DG-PRO1RWS | ZED-F9P | 2周波 RTK
¥59,800
(税別 BizStationサイト)
u-blox ZED-F9P GNSSモジュール搭載 2周波 RTK-GNSSレシーバ ...

しくみ

DG-PRO1RWの専用アプリDrogger-GPSは従来からNMEA出力が可能でしたが、TCPによる出力で他の機器にシリアル出力するには一度PCなどを介す必要がありました。 今回ご案内するシリアル出力は、Android端末のUSBポートからNMEAを出力します。

市販のUSBシリアルケーブルを使用することでPCを使用せずにDrogger-GPSから直接機器にNMEAデータを送信できます。

必要なもの

必要なものはトップの写真の通りですが、機器の選定にはいくつか注意点があります。ただ、さほど特殊なものではなく容易に入手可能なものです。

OTG microB Type-A変換ケーブル

USBケーブルにはUSBから電源をもらうのか、または供給するのかを判定するための機能が含まれています。通常Androidに使用されるMicroBケーブルは相手が電源でAndroidが電気を受け取るタイプです。

これですと、USBシリアル変換ケーブルの搭載基板に電源を供給することができないので、Android側が電源となる必要があります。Android側が電源となることを示すことが出来るのがOTGケーブルです。同時にUSBシリアルケーブルは一般的にType-Aですのでそれへ変換されたものを選びます。

f:id:bizstation:20191004143033p:plain
今回使用したOTGケーブル

USBシリアルケーブル

USBシリアルケーブルは、USBからの電源で変換回路にて信号の変換を行います。変換回路にはUSBのベンダー名やプロダクト名といった情報が書き込まれており、接続した際にどうのような機器か判別出来るようになっています。Windowsなどではこの情報を元に対応するドライバーを検索して無ければインストールするように求められます。

しかしAndroidにはそういったドライバー機能はないため各アプリで対応することになります。今回Drogger-GPSで対応したのはUSBシリアル変換では最も一般的なFTDI社のチップです。USBシリアルケーブルをご用意される際はFTDI社のチップであるかご確認ください。

f:id:bizstation:20191004145134j:plain
今回使用した Arvel SRC06-USB

Android USB HOST機能

Android から電源を供給できる機能をUSB HOST機能と呼びますが、この機能のある機種が必須です。

USB HOST機能はAndroid 3.1からサポートされました。現在最新のAndroidは10で3.1以下の機種はほとんどありません。しかしAndroidはHOST機能を必須としていないため機種によってはHOST機能がないものもあります。例えば手持ちのKYOSERA DIGNO EやFではサポートされていませんでした。同じKYOSERAでもAndroid ONEのモデルではサポートされています。

判定はDrogger-GPSの設定画面で確認することができます。NMEAの出力先の指定画面でHOST機能がサポートされない場合はUSBシリアルの選択肢がグレーアウトされ選択できません。

f:id:bizstation:20191008195522p:plain:w300

あと、一般的にUSB HOST機能を使用している際はUSBポートが使用中のため充電することができません。なるべくバッテリー容量の大きな機種が望ましいです。

NMEAデータの利用方法によりますが、Androidの画面が必要でなければ画面はOFFにしておくことでバッテリーの消費を減らし利用時間を延ばすことができます。Drogger-GPSはバックグラウンドで動作しますので画面を点灯しておく必要はありません。

使い方

事前にDG-PRO1RWの説明書に従ってDrogger-GPSを設定し利用できるようになっていることを前提とします。NMEA出力は、USBシリアルに限らずTCPによる方法でも、単独測位またはRTK移動局で利用できます。(基準局では出力できません)

  1. Drogger-GPSを起動しアクションバーのギアマークをタップし設定を開きます。
  2. [NMEA出力]-[NMEA出力方法]をタップします。
  3. USBシリアルをONにします。
  4. [USBシリアル設定]をタップし、相手先機器にあわせて通信レートなどを設定します。
  5. 設定を終了します。
  6. OTGケーブル、USBシリアルケーブルを端末と機器にそれぞれ接続します。 接続すると以下のような画面が表示されます。
    f:id:bizstation:20191004163741j:plain:w300
    [...常にDrogger-GPSを起動する]を選択し[OK]をタップします。これで今後USBシリアルケーブルを接続すると自動でDrogger-GPSが起動します。
  7. [Start]をタップします。

Bluetoothの接続が完了し衛星の捕捉が始まるとNMEAデータが連続的に出力されます。尚、NMEAデータの種類は[設定]-[NMEA出力]-[NMEA Message Type]で選択可能です。

実際に出力している様子を動画にしてみました。相手機器は、純粋なシリアルポートの付いた古いPCを使用し、データが見えるようにターミナルソフトで表示しています。 USBケーブルの抜き差しにも自動で対応するようにしてあります。実際に抜き差していますのでご覧ください。

youtu.be

振動対策

このUSBシリアルを車輌で使う場合は、コネクターの振動対策を十分過ぎるほどに行ってください。特にAndtoid端末のUSBコネクター部が重要です。

レース用のロガーではこの問題でケーブル接続からBluetoothに変更した経緯があります。 ケーブル側のコネクターとスマホが一体化している位に動かないように工夫が必要です。

OTG充電ケーブルの実験

通常のOTGケーブルとUSB HOST機能を使用するとAndroidを充電することができません。このため長時間の連続使用ではAndroidの電池次第ということになってしまいます。

そこでOTG充電ケーブルというものを試してみました。通常のOTDケーブルはコネクターが2つですがこのケーブルは3つ付いています。3つ目は5VUSB電源に接続するためのものです。このケーブルの口コミを見ますと機種によって充電できない場合もあるようです。 f:id:bizstation:20191004174114j:plain

今回KYOSERAのAndroid ONEで試してみました。この機種でも充電ランプは付きませんでした。ですが数時間経ってもスマホの電池残量が減りません。充電はされないものの、スマホの消費する電力はこのケーブルからの電力で賄っているようです。電池が減らなければ長時間の連続使用も可能で有用なものでした。

f:id:bizstation:20191004165859j:plain
OTG充電ケーブルを使った実験

もう一台、HUAWEI MediaPad M3 Liteというタブレットでためしたところこちらは充電ランプも点灯いたしました。

参考にしていただけたらと思います。

Enjoy with Drogger

Droggerの詳細・ご購入は https://www.bizstation.jp/ja/drogger/