ラップタイマーあれこれ その10 スマホ向け外部GPSの作り方

Instructions in English is here

Androidのラップタイマーアプリ向けに、自作GPS機器の作り方について説明します。

これは第二作目。これから作るのであればこっちをオススメ。見た目もすっきりしてるし、精度もいいです。マイコン業界ではこのような小さなデバイスはフリスクのケースに入れるのが定番だそうで、この白いのもフリスクのケースです。配線の厚みがあるので蓋はキチンとしまりませんが、皆さん使うだけあって収まりはいい感じです☆

必要最低限の部品代だと5,000円弱ですが、設定用に必要な部品とか、配線とか、半田ごてとかまで全部揃えると7,000円くらいでしょうか。


部品(情報はすべて2020年11月時点)
物品 リンク お店 税込価格
GPS(アンテナタイプ) GPS/GLONASS受信機(Galileo/BeiDou可)u‐blox M8搭載 みちびき3機受信対応 秋月電子 2,480円
Bluetooth通信デバイス RN-42使用 Bluetooth無線モジュール評価キット 秋月電子 2,400円
USB-シリアル変換(デバイス設定に必要) FT-232RQ USBシリアル変換モジュール 秋月電子 980円
ジャンパーワイヤー(結線に必要) ブレッドボード・ジャンパーワイヤ(オス-オス)セット 各種 合計60本以上 秋月電子 220円
GPS部品とBluetooth部品をつなぐ 分割ロングピンソケット 1×42 (42P) 秋月電子 80円
そのほか 古くて良いのでWindows PCが必要(デバイスの設定:GPSを5Hzに変更したり)
そのほか Tera Term (デバイス設定に使用するソフト)
そのほか 半田ごて、ラジオペンチ、ビニールテープ、熱収縮チューブ、Micro USBケーブル、モバイルバッテリーなど

半田付け作業
  1. GPSのケーブルにジャンパーワイヤーを半田付けします。ジャンパーワイヤー2本使ってそれぞれを2つに切って、GPSのケーブルに付けます。5本出てますが茶色は使いません。ジャンパーワイヤーの色はお好みのもので!私は赤(VCC)とオレンジ(TxD)を赤色のワイヤーで、黒(GND)と緑(RxD)を黒にしました。半田付けしたところをビニテで撒いたり、収縮チューブ等で束ねてショートしないようにします。ジャンパーワイヤー使わずに基板直結でもいいんですが、なにかと抜き差し出来た方が便利かなと思って。
  2. Bluetooth通信デバイスにピンソケットを半田付けします。全部付けても良いのですが使うのは一部なので、このようにロングピンソケットを2本が2つ出来るようにニッパーで切ります。そしてそれを下図の位置に半田付けします。そしてショートと書いてあるところはショートします(ジャンパーワイヤーのさきっぽをニッパーで切って橋渡しして、半田付けします)。半田付け作業は以上で終了☆


デバイスの設定
  1. ここからはパソコン使って設定作業です。まずパソコンにソフトを2つインストールします。インストール手順は省略します。ネット上にいっぱいありますのでそれを見てみて下さい。
    1. USB-シリアル変換用のデバイスドライバ(Windows 10の32bit, 64bitどちらでもいいと思います)
    2. GPSの設定を行うソフト u-center
  2. まずBluetooth通信デバイスの設定をします。Bluetooth通信デバイスとPCをUSBケーブルでつなげてパソコンのTera Termを起動します。そして「新しい接続」画面でシリアルを選んで、COMポートを選んで下さい。私の場合はCOM5ですが、お使いの環境でここは異なってきます。
  3. 接続したら「設定」-「シリアルポート」を選び、ボー・レートを115200にして下さい。
  4. ここからはコマンド入力作業です。”$$$”と入れてエンターキーを押します。Bluetooth通信デバイスのLEDが短い点滅に変わり、画面にCMDと表示されます。
  5. “SU,57″と入力しエンター(入力した文字は表示されませんが、AOKという表示がでるはず)
  6. “—“(マイナス記号を3つ)と入力しエンター。ENDという文字が表示されるはず。これでBluetooth通信デバイスの設定は完了です☆
  7. 次にGPSの設定変更をします。USBシリアル変換とGPSを下図のようにつないでu-centerを起動します。GPSからのTxD(RxD)をUSBシリアル変換のRxD(TxD)に接続します。
  8. 下記画面を参考に、接続アイコンをクリックし、COMポートを選びます。私の場合はCOM9ですがここは環境によって変わります。次にその横のボーレートボタンを押して115200を選びます。
  9. うまく接続完了すればu-centerの一番下のステータスが緑の点滅に変わります。赤やグレーの場合はうまく接続出来ていないです。うまく行かない場合はボーレートが違う場合がほとんどですので他のボーレートを試してみて下さい。また結線も間違えてないか確認してください。
  10. メニューから「view」-「Configure」を選び、「RATE(Rates)」の「Measurement Frequency」を1000から200に変更します(5Hz設定の場合)。10Hzで更新したい場合は100と設定します。
  11. 「PRT(Ports)」の「Baudrate」を57600に変更します。
  12. これは必要ないかもしれませんが、「NAV5」-「Dynamic Model」を「4 – Automotive」にします。
  13. 画面下「Send」ボタンをクリック
  14. メニューから「Receiver」-「Action」-「Save Config」を選択。これで作業は終了です☆

結線
  1. GPSとBluetooth通信デバイスを下記の図のように結線します
  2. モバイルバッテリーでBluetooth通信デバイスに給電して出来上がり~~☆あとはラップタイマーあれこれ その6 スマホ+外部GPSを自作! 準備編☆のとおりに進めて、計測しまくってください!!

こんな感じの動作になれば正常動作中です☆ 右側のアプリはRaceChronoですが、どのアプリ使っても同様に緑は点灯、赤は点滅になります。


補足

今回は5Hz更新、ボーレートは57,600としました。10Hz更新にしたり、ボーレートをもっと上げたり(下げたり)は自由に出来ますので、やってみたい方はチャレンジしてみてください。

ボーレートは57,600でなくてもいいと思いますが、なんとなくこの値にしています。115,200でもいけると思います。ただし9600等低い値にするとGPSからのデータ転送が追いつかなくなるので、38,400-115,200あたりがいいと思います。変更する際は手順5と手順11の値を変更して下さい。

あとGPSから返されるには不要なメッセージもあり、それを返さないようにしたいという方もいらっしゃると思うので、その際は「View」-「Message View」-「NMEA」で「GxGGA」と「GxRMC」のみ有効として下さい。最低限これだけあれば動作します。


シェアする

11件のフィードバック

  1. 初めまして
    記事通りに部品を組み立て・設定を行い、u-centerで衛星捕捉まで確認したのですが、スマホに繋いだところ衛星が反応しません。
    何か考えられる原因及び対策がありましたらご教示いただけると幸いです。

    • RN-42とスマホのペアリングは正常ということですよね? その前提で、たいていの場合はRN-42との結線が間違っている、ボーレートが合っていないのどちらかだと思います。結線を確認いただき、またDコマンドで現在のボーレートを確認し、u-centerで接続したボーレートと合わせてください。私は57,600bpsで使ってます。

  2. テリーさん

    相波@その4です。
    誠にお恥ずかしいのですが、GPSの設定がu-centerで出来てません。
    ドライバー、結線、設定も間違えないと思います。
    ちなみにTxDとRxDを入れ替えると赤く点滅しますが、正規の結線では緑にならずグレーのままです。
    GPSユニット、変換モジュールを買い足しましたが同じでした。

    7. 次にGPSの設定変更をします。USBシリアル変換とBluetooth通信デバイスを下図のようにつないでu-centerを起動します。
    は、GPSユニットを単味で変換ユニットに接続してu-centerを起動させると言う事ですよね?

    根本的にどこかが間違っているのでしょう・・・
    お心当たりがございましたら、ご教示頂けると幸いです。

  3. 自己解決しました!
    お恥ずかしい、「通信」でしたね。
    アナログ無線爺さんの盲点でした。
    お騒がせしました。

    • 相波さん、

      おー、解決よかったです。
      あとご指摘のように7は「USBシリアル変換とBluetooth通信デバイス」ではなく、「USBシリアル変換とGPS」の誤りですね。記事も修正しました。ありがとうございました。ぜひぜひこれで走行ログ取得をお楽しみください!

  4. テリーさん

    度々本当に申し訳ありません・・・
    その後、無事にバラックではBluetoothGPSで測位確認出来ました。
    が、いざ実装したところ、スマホとペアリングはするものの接続できなくなりました。
    GPSユニットは1PPS出力にぶらさげたLEDが点滅するので、測位していると思われます。
    Dコマンドで確認してますのでボーレートは合ってます。
    結線も今回は間違えてませんw
    ファクトリーリセットしてから再設定しても変わらずです。
    別のBuluetooth基板でも同じでした。
    スマホ側の設定等、原因としてお気づきの点はございますでしょうか。
    お忙しいところ申し訳ありませんがご教示頂ければ幸甚です。

    相波

  5. テリーさん

    この度は本当にお世話になりました。
    ペアリングが出来れば、android との接続は見に行かなくても良かったのですね💦
    Bluetooth GPS ,RaceChronoとはガンガンに繋がってました。
    Bluetooth の振る舞いが分から無くてハマってしまい、危なくジャンク箱行きになる所でした。
    一言一句、テリーさんの指示通りに作業すれば遠回りをしないで済んだと(涙)
    素晴らしいブログに出会えました❗️
    28日のもてぎが終わったら、もう1セットはダッシュボード内に通線して、自車専用ロガーとしようと思っています。
    本当に丁寧なご指導ご鞭撻ありがとうございました。
    末筆になりますが㊗️鎖骨完治と、タイムアップをお祈り致します。
    それとお祓いはした方が良いかと(笑)

    相波

    • お~ついに!おめでとうございます!!BluetoothやらUARTやらGPSやらいろいろ出てくるので難しいですよね。ブログでは結果しか書いてませんが、私も当時相当もがきました(笑) とにかくお役に立ててなによりです。

      ご自身で組み立てたデバイスで記録されるとまた感動もひとしおですよ!すげ~正確~と感動のはずです。相波さんのタイムアップもお祈りいたしております。お祓いか~やっぱ行こうかな。

コメントを残す

メールアドレスが公開されることはありません。

コメントする