M5StackでNTRIPサーバーからのRTCM3データを受信してF9Pへ転送する処理はスカスカですがその隙間に、F9PのフルログをBluetooth送信させようとしたら、プログラムメモリーオーバーエラーになってしまいました。一方で、WIFIを使って一方でBTを使うのは無理ではないかと思います。そこで、M5STACKの機能は、NTRIP転送だけにしました。F9PのログはF9PのUART2からBluetoothでスマホに送ってログする方法を実験しました。なぜBluetoothかというと、Xbeeは115200bpsが限界ですがBluetoothのSPPは、230400bpsでも転送できるからです。スキー用で1-2mの近距離なのでBTでOKです。
●Bluetooth モジュール
BTボードはいろいろあるのですが、技適とマニュアルが整備されて実績がある秋月のRN42の評価ボードを使いました。
RN-42使用 Bluetooth無線モジュール評価キット
基本的な使い方は、以前記事を参考にしました。
●接続確認とボーレート設定変更
今回の変更点は、ボーレートを230400bpsに変更することだけです。RN42のコマンドマニュアルもダウンロードしておきます。
①USB接続したら、teratermで、デフォルトの115200bps接続します。
➁androidスマホでBlueTermというアプリをインストールして
受信ログします。簡単でシンプルなアプリです、上記記事に説明あります。
③BlueTermでconnectできたらTeratermでキーインすればスマホの画面にキーイン文字が出れば接続OKです。
④ボーレートを115200bpsから230400bpsに変更します。
⑤$$$と3回キーインするとRN42の設定モードにうつります。
⑥ su,230 とキーインすれば230400bpsになります。
⑦D をキーインすると現在の設定が表示されます。
⑧ Q キーインで設定モードを終了して、通常モードにもどります。
●230400bpsでの受信テスト
①F9PのUART2も230400bpsでOUTのデータを
0+1+5 UBX+NMEA+RTCM3 としてsendします。
➁配線はブレッドボードで3本だけです。GNDと3.3VとTXです。
SimpleRTK2liteのXbeeコネクタUART2を使います。
3.3V=1番ピン 送信=3番ピン(XbeeからみるとRXです) GND=10番ピン
RN-42ボードのピン配置は、秋月の取説にあります。
3.3V=J1no11番ピン GND=J1の12番ピン 受信=J2の7番ピンRXD
③F9PにUSB給電すると、RN42も点滅しますので、スマホのBlueTermでコネクトします。
④ログファイルをPCへ送ってUCENTERで再生して確認
スマホのSTORAGEに
_storage_emulated_0_blueTerm_20191227_004238 などの名前であります。
私の場合はONE DRIVE経由でPCへ送りました。
UCENTERでOPEN して再生すると、動いたので、ログOKでした。
●以後
左右2Chなので、2CH分のBTをスマホで2個Bluetermで受信できるか確認します。データ落ちがないかの確認方法も考えます。