ZED-F9P RTKシステム開発用モジュール M5F9P 使用説明書

M5F9Pはu-bloxの2周波RTK受信用IC「ZED-F9P」を搭載していて、基準局や移動局等、RTKのシステムを開発するのに便利なモジュールです。
次の画像はその外観ですが、GNSSアンテナ接続用のMCXコネクタと、JST-PH3ピンコネクタ、およびマイクロUSBコネクタが付いています。

このMCXコネクタにアンテナを接続し、USBケーブルをパソコンに接続すると、u-centerというWindowsのアプリでZED-F9Pからの測位データを取得する事が可能です。
また、M5F9PはM5Stackという積み重ねができるマイコンシステムに準拠していますので、簡単にボタンとディスプレイ付きのデバイスとする事ができます。
M5StackはArduino IDEの開発環境が利用でき、弊社のM5F9P用プログラムを改変するなどして、お客様独自のRTK受信機やシステムが開発できます。

[ファームウェアのバージョン]
この使用説明書はファームウェアのバージョン1.0.24に関するものです。
その他のバージョンの使用説明書はサポートページをご覧ください。

目次

  1. 1.M5Stackについて
  2. 2.アンテナ
  3. 3.取り付け
  4. 4.制御プログラムの書き込み
    1. 1) USBドライバのインストール
    2. 2) 制御プログラムの書き込み
  5. 5.動作確認
  6. 6.マイクロSDカードの準備
  7. 7.設定用INIファイル
  8. 8.無線リンク
    1. 8.1 無線の種類
    2. 8.2 プロトコル、認証
    3. 8.3 サーバ、接続先
  9. 9.電源オンオフ、リセット
  10. 10.画面の回転
  11. 11.マイクロSDカードの容量確認
  12. 12.Wifi接続
    1. 12.1 クライアントモード
    2. 12.2 SoftAPモード
  13. 13.3Gモデム接続
  14. 14.920MHzモデム接続
  15. 15.接続台数の確認
  16. 16.動作モードの選択
  17. 17.移動局
    1. 17.1 現在位置の取得
    2. 17.2 基準局への接続
    3. 17.3 データ保存フォーマットの選択
    4. 17.4 移動局動作画面
    5. 17.5 地図画面
    6. 17.6 設定情報画面
    7. 17.7 起動情報画面
    8. 17.8 測位データの配信
  18. 18.基準局
    1. 18.1 INIファイルの設定
    2. 18.2 位置座標の取得
    3. 18.3 位置座標の設定
    4. 18.4 Survey-in機能による位置座標の設定
    5. 18.5 NTRIPキャスタへの接続
    6. 18.6 基準局動作画面
    7. 18.7 基準局データの配信
  19. 19.Moving Base
    1. 19.1 現在位置の取得 (共通)
    2. 19.2 Moving Base動作画面 (基準局と移動局が一体)
    3. 19.3 Moving Base動作画面 (基準局と移動局が別)
    4. 19.4 Moving BaseでのTCPサーバ動作
  20. 20.ブラウザからの操作
    1. 20.1 接続
    2. 20.2 INIファイルの編集
    3. 20.3 ログファイルのダウンロード
    4. 20.4 地図表示
  21. 21.その他
    1. 21.1 ソースコード
    2. 21.2 JST-PHコネクタ
    3. 21.3 M5F9PモジュールのLED
    4. 21.4 3Gモデム使用上の注意
    5. 21.5 複数モジュールの取り付け
    6. 21.6 Bluetooth対応版
    7. 21.7 リセット原因
    8. 21.8 電源について
    9. 21.9 相対座標を表すNMEAセンテンス
  22. 22.動作保証について

1.M5Stackについて

次の画像はM5StackのCoreと呼ばれるモジュール、M5F9P、Core Bottomと呼ばれるモジュールです。



この3つのモジュールは積み重ねる事ができ、次のように一つの装置になります。

M5StackはこのようにCoreとBottomの間に色々な機能のモジュールを挿入し、積み重ねていく事で欲しい装置を作る事ができます。

M5CoreモジュールにはESP32というマイコンが搭載されていて、WifiやBluetoothの通信を使ったプログラミングが可能です。



スピーカもあるので、Fixしなくなった時やデータの保存ができていない時など警告音を出す事ができ、ZED-F9P用として最適です。
M5 Bottomのモジュールには150mAhの電池が搭載されていて、短時間であれば外部電源無しで動作可能です。

M5Stackの詳細はM5StackのHPをご覧ください。
M5Stackの製品は M5Stackの販売サイト マルツ スイッチサイエンス等で購入可能です。

M5F9PにはM5StackのCoreモジュールやGNSSアンテナは付属していませんので、別途ご購入下さい。
M5StackのCoreモジュールにはBASICとGRAYの2種類あります。

違いは、GRAYには3軸のジャイロセンサと加速度センサ、磁気センサが搭載されています。
トンネルなどでGNSSからの電波が受信できない場合、位置を推定するのにこれらのセンサにより可能となります。
BASICとGRAYの価格差は700円程度ですので、GRAYモデルがお勧めです。
なお、現在(2020年5月)、弊社のソフトウェアはこの位置推定に対応していませんので、すぐに位置推定機能が必要な場合はご自身で実装して頂く必要があります。

2.アンテナ

RTKはセンチメータ(cm)精度の測位ができる技術ですが、アンテナにより精度が出ない場合があります。
そのため、利用環境に合わせてアンテナを選択する必要があります。

cmの精度が出るためには、RTK受信機での測位演算でFix解が得られなければなりません。
このFix解が得られるかどうか、またどの程度早く得られるかは、GNSS衛星からの電波の数、受信強度、受信した電波の安定性など、アンテナの性能により変わってきます。

弊社のWEBショップではRTK用のアンテナを販売していますが、価格は千円台から2万円程度まで幅があります。
基本的にはアンテナの大きさが大きいほど受信感度が良くFix解が得られやすくなります。
しかし、移動局としては小型のアンテナの方がいいので、用途や予算により選択する必要があります。

下記のテスト結果も参考にして頂いて、M5F9Pで使用するアンテナをご購入下さい。
ZED-F9PのRTK初期化時間 TTFF
アンテナ別 ZED-F9Pの受信強度

3.取り付け

M5F9P

M5F9PはM5StackのCore(ディスプレイのある本体部分)とBottom(底面)の間に取り付けます。
取り付ける際は黒の30(15pin x 2列)ピンのコネクタを合わせます。
コネクタの高さを低くするため通常のコネクタよりピンの長さが短くなっていて、コネクタをしっかり接続しないと接触不良になります。
次の画像のようにディスプレイの端とコネクタ部分を指で挟み、力を入れて押し込みます。
この際、ディスプレイのガラス部分には力がかからないように気をつけます。

正常に取り付けた場合は次の画像のようにモジュール間に隙間がありません。

しっかりコネクタが結合していると通常の使用では抜けてくる事はありませんが、振動の多い所等では緩んでくる心配があります。
ケースの裏側には2本の穴が開いていて、3mmx18mmのネジで締める事ができます。


M5F9Pを取り外す場合は、次の画像のようにマイナスドライバーを差し込み、ドライバを回転させてこじ開けます。
マイナスドライバーを差し込む場所は本体の右側で、丁度ドライバーが入る隙間がありますので、そこに差し込んで下さい。

アンテナ

M5F9PのGNSSアンテナのコネクタはMCXのメスです。

RTK用のアンテナのコネクタはSMAオスが多く、接続するためにはSMAメス-MCXオス変換コネクタが必要です。

M5F9Pには次の2種類の変換コネクタが付属していますので、利用シーンに合わせて使い易い方を使って下さい。

MCXコネクタは構造上、性能が保証される脱着の回数は少なくて、500回程度です。
そのため、アンテナの脱着はSMA側で行うようにして下さい。

次の画像のようにヘリカルアンテナを装着すると、手持ちのコンパクトな受信機ができますが、MCXのコネクタ部分には大きな力がかかりやすくなります。MCXコネクタは小さく強度はありませんので、このような使い方をする際は、十分ご注意ください。

4.制御プログラムの書き込み

M5F9PをM5Stackに装着した後、RTK受信機として動作するためには、M5StackにM5F9Pの制御プログラム(ファームウェアとも言います)を書き込む必要があります。
書き込みには、現在Windowsのパソコンが必要ですが、次の手順で書き込みます。
1)USBドライバのインストール
2)制御プログラムの書き込み

1)USBドライバのインストール

M5StackのUSBドライバを M5Stackのダウンロードサイトからダウンロードします。
このサイトにアクセスし、「CP2104 Driver」と書かれている行のDownloadボタンをクリックするとOSの種別が表示されます。
その中から「Win10 X64」をクリックすると「CP210x_VCP_Windows.zip」がダウンロードされます。
このファイルを解凍すると次の実行ファイルが得られます。
CP210xVCPInstaller_x64_v6.7.0.0.exe(64ビットOS用)
CP210xVCPInstaller_x86_v6.7.0.0.exe(32ビットOS用)
お使いのWindowsのビット数に応じた実行ファイルをダブルクリックしてインストールして下さい。

ドライバのインストール後、M5Stackに付属のUSBケーブル(Type-C)をM5Stackとパソコンに接続します。
正常にM5Stackが認識されるとCOMポートとして認識され、デバイスマネージャで確認すると、


のように表示されます。
この表示された「COM8」がCOMポート番号で、プログラムの書き込みの際に必要となるのでメモしておいて下さい。

2)制御プログラムの書き込み

M5F9Pの制御プログラムの最新版は次のURLからダウンロードできます。

m5F9pFW (v1.0.24) 基準局、移動局、MovingBase機能。Bluetoothは使えません。

m5F9p_bt_FW (v1.0.0) Bluetooth対応版。移動局の機能のみ。機能および使用方法に制限がありますので、21.6 Bluetooth対応版をご覧ください。

ダウンロード後、解凍して下さい。
解凍後、コマンドプロンプトを起動します。
コマンドプロンプトの画面で、cd命令により、カレントディレクトリを解凍したフォルダに変更します。
次の例はユーザ名がkobakで、ダウンロードフォルダに保存、解凍した場合です。


次に実際に制御プログラムを書き込みます。
コマンドは writeFW.bat COM8 という文字列で、COM8の番号はUSBケーブルを挿入した時に表示された番号を指定します。


COMポートの指定が正しいと、書き込みが始まり、画面には進行状況が表示されます。
そして正常に終了すると、次の画面のように、最終行が"Hard resetting via RTS pin..."と表示されます。


COMポートの指定が違っていると、"Failed to excute script esptool"など別のメッセージが表示されますので、COMポートの番号を再確認して下さい。

再確認し間違っていない場合で、次の画面が表示される事があります。

パソコンとM5Stackの通信がうまく行かない場合に起こり、この表示が出るときは再度コマンドを実行してみて下さい。
何度か実行しても駄目な場合、ケーブルを交換したり、USBハブを通して接続したりしてみて下さい。
正常に書き込みが終わると次の画面が表示されます。

5.動作確認

書き込みが終わった後、基本的な動作確認を行います。
最初にGNSSアンテナとUSBケーブルを接続して下さい。
パソコン側USBコネクタはパソコンもしくはACアダプタ等のUSB電源に挿入して下さい。
通常は画面に文字が表示されますが、表示されない場合は、本体横の赤いボタンを押して下さい。
室内の場合はアンテナを空が見える窓際に置いて下さい。

最初に表示される画面はディスプレイの表示の向きを設定する画面で、"Ok"ボタンを押します。

次にWifiかModemを使うかの選択画面が表示されますが、"No"ボタンを押します。


M5F9Pが何台接続されているか表示され、数字が1なら"Yes"ボタンを押します。


台数の画面でなく、次の画面が表示された場合、M5F9PとM5Stack本体の間の通信ができない事を示しています。

原因としてはM5F9PのコネクタとM5Stackのコネクタが正常に結合されていないためです。
また、アンテナが接続されていない場合も表示される事があります。
「3.取り付け」に記載されている事を確認して、再度最初から実行して下さい。
USBコネクタの横にある赤のリセットボタンを押すと最初から実行します。
再度実行しても駄目な場合は、コネクタ不良の可能性がありますので、弊社までご連絡下さい。

"Yes"ボタンを押した後、次の、動作モードを選択する画面が表示されます。

"Rover"ボタンを押します。
この後、現在の位置データが得られるかチェックし、その結果を表示します。

次の画面のように、日時と緯度経度が表示されると、アンテナも正常に動作して問題無い事を示しています。
動作確認はこれで終了です。


1分間以内に位置データを取得できなかった時は次の画面が表示されます。
アンテナが接続されていて、GNSS衛星からの電波が届く場所に置かれている事を確認して、"Retry"ボタンを押して下さい。再度1分間の受信テストを行います。

3回以上"Retry"ボタンを押しても受信できない場合、空が見渡せる屋外でテストして下さい。
それでも受信できない場合は弊社にご連絡下さい。

M5F9P受信機

この動作確認が正常に終了すれば、このM5StackにM5F9Pを装着した装置はRTK受信機として色々な使い方ができます。
以降、この装置をM5F9P受信機と呼ぶようにします。

6.マイクロSDカードの準備 (BT非対応)

M5F9P受信機はマイクロSDカードが使用できます。

M5Stack本体の下側にスロットがあり、画像のようにマイクロSDカードの裏面を上に向けて、電極が見える状態で挿入します。

本装置ではマイクロSDカードを次の目的で使用しますのでご準備下さい。
1)INIファイルに記載された設定情報の読み出し
2)測位データの保存
3)WEBサーバのHTMLデータの読み出し
4)地図の表示

必要な容量は測位データの容量で決まりますが、2GBあれば動作には問題ありません。
スピードは測位レートが1Hzであれば通常のものでいいですが、複数の台数で10Hzで保存する場合などでは高速のものをご用意ください。

ダウンロード

用意したマイクロSDカードにM5F9P用フォルダをコピーして下さい。
M5F9P用フォルダは、弊社のWEBサイトにある、m5f9pフォルダをダウンロードして下さい。
ダウンロードしたファイルはZIPファイルですので、マイクロSDカードにコピーした後、解凍して下さい。
解凍後、マイクロSDカードのルートの下にm5f9pというフォルダが存在するのを確認して下さい。

m5f9pフォルダには次のファイルが格納されています。
 m5f9p.ini : 設定用INIファイル。
 html    : HTMLファイル用フォルダ。index.htm等が格納されています。

挿入時の注意

マイクロSDカードを挿入する際、注意しないとマイクロSDカードがスロットから本体の中に入ってしまいます。
挿入する際、次の画像のように、3分の2ほどカードを入れた時にバネで押し戻される事を確認します。

もし、すっと入っていくようでしたら、挿入する口が違っています。
少し上側に挿入するようにして下さい。

7.設定用INIファイル (BT非対応)

m5f9pフォルダに格納されているm5f9p.iniというファイルはM5F9P受信機の動作の設定を行うためのファイルです。
現在、次の項目の設定ができます。
1)識別名称
2)Wifiで接続するアクセスポイント
3)TCP Serverのポート番号
4)JST-PHコネクタのUARTボーレート
5)Google mapのAPIキー
6)基準局データの取得先
7)測位データの送信先(TCP Client)
8)NTRIPデータの送信先
9)基準局の固定座標
このファイルはWindowsのメモ帳やエディタソフトで編集ができますので、必要な項目を設定して下さい。
設定方法は各項目に関連する動作説明の中で解説します。

書式

INIファイルは、セクション、Key-Valueペア、コメントの各行から構成されます。
1)セクション
角カッコ[ ]で囲まれた名称はセクション名と呼ばれ、いくつかのKey-Valueペアのグループの名称です。
2)Key-Valueペア
keyname = value の形式で、keynameの変数の値をvalueに設定するという意味となります。
3)コメント
セミコロン;の文字から行末まではコメントで設定には影響を与えません。

設定例

例として、Wifiを使用してNTRIPキャスタに接続する設定は次のように記述します。

[wifi1]
ssid = accessPoint ←アクセスポイントのSSIDを指定
password = myPassword ←パスワード

[source1]
address = rtk2go.com ←基準局データの取得先
mount = geosense_f9p ←マウントポイント

8.無線リンク

RTK測位を行うには基準局からの搬送波位相データを取得する必要があります。
通常、基準局と移動局は離れていますので、データの取得には無線が必要です。
また、基準局からのデータの配信プロトコルやサーバの形式により、様々な接続形態が考えられます。

8.1 無線の種類

基準局からのデータは10kbps程度の通信速度が得られれば問題ありません。
その程度の通信速度が得られ、技適が取れているモジュールが簡単に入手できる方式として次の種類があります。
1)Wifi
  (1)直接接続 通信距離は数10m程度。
  (2)インターネット経由
2)3Gモデム
  インターネット経由
3)920MHzモデム
  直接接続 通信距離は1.2km~80m程度。見通しやアンテナ高により変わります。
これらの他にBluetoothもありますが、通信距離が短いのと、M5F9P受信機のメモリの関係で現在サポートできてないので省略します。

8.2 プロトコル、認証

基準局データを取得する際、最初に一定の手順(プロトコル)に従って接続する場合と特に手順が無い場合があります。
接続する手順として良く使われるのはNTRIPと呼ばれる手順です。
NTRIPの場合、移動局の位置を送らないと、基準局からデータが送られてこない事がありますので、接続先に応じた対応が必要です。
また、特定のユーザのみが利用できるサービスではユーザ名とパスワードによる認証手続きが必要です。

基準局データの形式は通常RTCMという形式が使われますが、u-bloxのRAW形式で配信される場合もあります。どちらの形式でもZED-F9Pは対応していますので通常は問題ありません。但し、RTCMにはバージョン2とバージョン3があり、M5F9Pはどちらのバージョンも入力可能ですが、どちらを使うか設定する必要があります。

8.3 サーバ、接続先

基準局データを取得するためのサーバもしくは接続先としては次の種類があります。

1)自前のサーバ
M5F9P受信機を基準局として動作させ直接接続する場合や、その基準局データをレンタルサーバ等に送りこみ、そのサーバに接続する場合などがあります。
基準局とサーバを用意しないといけないですが、一定のエリア内で多くのユーザがいる場合、コストと安定性の面で一番の選択肢となります。

2)無料のサービス
善意の基準局掲示板には無料で公開されている基準局のリストがあります。
現在80局程度登録されていて、利用エリアに近い基準局があれば、すぐにRTK測位が可能です。
この善意の基準局の半数以上はrtk2go.comというサーバを利用しています。
rtk2go.comは海外のサイトですが、無料で利用できるNTRIPキャスタで、善意の基準局のリストには無い国内の基準局も登録されています。但し、データが突然、数分~数時間ストップする事もあり、安定性に欠けます。

3)有料のサービス
有料のサービスとしては次のようなものがあります。
ソフトバンク/ALES センチメートル級測位サービス「ichimill」 3,000円台/月
docomo IoT 高精度 GNSS 位置情報サービス 3,000円/月
日本GPSデータサービス(株) リアルタイムサービス(Ntrip方式) 21,000円/月
(株)ジェノバ ネットワーク型GNSSサービス 24,000円/月
日本テラサット(株) リアルタイムデータ配信 21,000円/月
このうち、M5F9P受信機では現在、ichimill、ドコモ、日本GPSデータサービスとの接続を確認しています。
これらのサービスを利用にはユーザ様での事前の契約が必要です。

9.電源オンオフ、リセット、初期画面

M5F9P受信機の電源はUSBケーブルから供給されますが、電源スイッチはありません。
電源を切る場合はUSBケーブルを抜いて下さい。
USBケーブルを抜いても電源が完全には切れず、再起動を繰り返す場合があります。内蔵したバッテリから電源が供給されているためで、その場合は赤のリセットスイッチを2回押して下さい。電源が切れます。

動作中に動作モードを変更したい場合や画面の表示が異常になった場合などにはリセットスイッチを押して下さい。
初期画面に戻ります。
但し、マイクロSDカードに保存中の場合は保存を停止した後でリセットして下さい。

電源を入れた後、またはリセットスイッチを押した後は次の初期画面が表示されます。

この画面に表示される項目は次のとおりです。

Version
このM5F9P受信機の制御プログラム(ファームウェア)のバージョンです。

Reset
この初期画面が表示されるようになった理由で、通常は"cpu0=1 cpu1=14"と表示されます。
この値と違う場合は通常でない理由で初期画面に戻った事になります。
表示された数字の意味は「21.7 リセット原因」をご覧ください。

上記のデータに続いて、次項の画面の回転に関するメッセージが表示されます。

10.画面の回転

M5F9P受信機のアンテナコネクタは下側に付いていますが、場合によっては本体を回転させて上側に持っていきたい時があります。
そのような場合は、電源を入れた直後に表示される、次の画面で"Rotate"ボタンを押して下さい。


次のように表示方向が回転します。この表示で良ければ"Ok"ボタンを押して下さい。

11.マイクロSDカードの容量確認 (BT非対応)

次にマイクロSDカードの容量確認を行います。
確認された容量がゼロの場合、次の画面が表示されます。

マイクロSDカードが挿入されているのにこの画面が表示される場合は、"Yes"ボタンを押して、再チェックを行って下さい。
"Yes"ボタンを押すと、再チェックのためデバイスは再起動されます。

容量がゼロでない事が確認されると、INIファイルを読み込み、各種の設定を行います。
その後、次のWifi接続画面となります。

12.Wifi接続

M5F9P受信機のWifiにはクライアントモードとSoftAPモードがあります。
クライアントモードはルータやスマホなどに接続し、インターネット経由で基準局データを受信するなど通常の使い方です。
SoftAPモードはM5F9P受信機がアクセスポイントとなり、他のM5F9P受信機やスマホから接続して、M5F9P受信機の基準局データなどを取得する使い方です。

12.1 クライアントモード

M5F9P受信機をWifiでスマホやモバイルルータなどのアクセスポイントに接続する場合は次の手順で行って下さい。

1)INIファイルでの設定
INIファイルの[wifi1]の項目にアクセスポイントのSSIDとパスワードを設定して下さい。
 [wifi1]
 ssid = accessPoint ←アクセスポイントのSSIDを指定
 password = myPassword ←パスワード
複数のアクセスポイントの中から選択する場合は[wifi2]~[wifi9]の項目に設定すれば、実行時にボタンで選択できます。

2)接続
INIファイルが格納されたマイクロSDカードを本体にセットした後、電源を入れて下さい。
「9.画面の回転」の選択後、次の画面が表示されます。

"Wifi"ボタンを押します。
確認の画面が表示されますので"Yes"ボタンを押します。

複数の接続先がINIファイルに記載されている場合は、次の画面で選択できます。
表示されている名称はSSIDで、選択行は緑色で表示されます。

"Next"ボタンを押すと緑色の行が移動します。
SSIDの選択が終わった後、"Ok"ボタンを押します。

接続が完了すると次の画面が表示されます。

いずれかのボタンを押すと次に進みます。

10秒間経過しても接続できない場合は次の画面が表示されます。

接続を再度試みる時は"Yes"ボタンを押して下さい。
"No"ボタンを押すとアクセスポイントの選択画面に戻ります。

12.2 SoftAPモード

M5F9P受信機にWifiで他のM5F9P受信機やスマホから接続する場合は次の手順で行って下さい。

1)INIファイルでの設定
アクセスポイントのSSIDは既定値で"m5f9p"になっています。
INIファイルの[Receiver]の項目のnameに名前を設定すると、その名前がアクセスポイントのSSIDになります。
 [receiver]
 name = m5f9p_base ←ここにSSIDとして設定したい名前を指定。大文字小文字は区別されます。
パスワードは"m5f9p123"でこれは変更できません。

2)接続
M5F9P受信機から接続する場合は12.1クライアントモードをご覧ください。
スマホ等から接続する場合はネットワーク名のリストに"m5f9p"かINIファイルで設定した名称が表示されますので、その名称をクリックします。
パスワードを聞かれますので、"m5f9p123"を入力して下さい。
以上の操作の後、必要なデータに応じて、M5F9P受信機のIPアドレス(192.168.4.1)とポートを指定して、実際のデータを取得して下さい。

13.3Gモデム接続 (BT非対応)

SORACOM/スイッチサイエンスの3Gモデムモジュールを使う場合は、最初に3GモデムモジュールをM5Stackに装着した後、次の手順で接続して下さい。

電源On後、画面の方向を選択した後、次の画面が表示されます。

"Modem"ボタンを押します。

次の画面では"3G"ボタンを押します。


モデムの初期化の後、Soracomのネットワークに接続を開始します。
途中結果が次のように表示されます。
countの値は経過秒数で、通常、接続には50秒程度かかります。


正常に接続されると次の画面が表示されます。

確認後、何れかのボタンを押して下さい。

この3Gモデムはコンパクトにインターネット接続ができて便利ですが、使用上注意が必要な場合があります。
巻末の「21.4 3Gモデム使用上の注意」をご覧ください。

14.920MHzモデム接続

双葉電子の920MHzモデムモジュールを使う場合は、最初に920MHzモデムモジュールをM5Stackに装着した後、次の手順で接続して下さい。

電源On後、画面の方向を選択した後、次の画面が表示されます。

"Modem"ボタンを押します。

次の画面では"920MHz"ボタンを押します。


正常に920MHzモデムの初期化ができると次の画面が表示されます。


確認後、いずれかのボタンを押して下さい。
 
[メモ]
920MHzの無線は送信時の条件が色々あって、転送容量やリアルタイム性が限られます。そのため、Moving Baseでの使用はできません。
無線でMoving Baseを使用する際はWifiのSoftAPモードで接続して下さい。

15.接続台数の確認

Wifi、モデムとの接続が完了すると、M5F9P受信機は接続されているM5F9Pモジュールの台数を数え上げます。
次の画面はその結果で、台数が合っていれば"Yes"ボタンを押して下さい。

違う場合は"No"ボタンを押して下さい。再度数え上げを行います。

もし、"Check ZED-F9P UART. M5F9P does not respond."と表示される場合は、u-centerによりZED-F9Pを工場出荷時の設定に戻した後、再度起動してみて下さい。

16.動作モードの選択

モジュールの台数確認の後、画面は動作モードの選択画面となります。

各ボタンと動作内容は次のとおりです。
"Rover"ボタン: 移動局として動作
"Base"ボタン: 基準局として動作
"MovBase"ボタン: Moving Baseとして動作

移動局として動作
移動局として動作する場合は、基準局からのデータを取得し、RTK測位演算を行い、その結果を表示、配信、保存等を行います。

基準局として動作 (BT非対応)
基準局として動作する場合は、搬送波位相データ等の補正用データを色々な形態、フォーマットで配信します。

Moving Baseとして動作 (BT非対応)
通常、基準局は静止していますが、動いていても補正用データを配信し、移動局ではRTK測位が可能です。
ただ、RTK測位で得られる位置データは動いている基準局との相対的な位置となります。
M5F9Pモジュールを2台装着している場合、1台をMoving Baseとし、もう1台を移動局として動作させる事により、GPSコンパスの機能を実現できます。
また3台装着すれば、移動体の姿勢を高精度で知る事ができます。
M5F9Pが1台だけの場合、Moving Base機能を選択すると基準局として補正用データを配信します。
そのデータを通常の移動局として受信すると高精度な相対的な位置が得られます。

17.移動局

動作モードの選択で移動局を選択した場合、操作の流れは次のようになります。

17.1 現在位置の取得

最初に現在の位置データが得られるかチェックし、その結果を表示します。
位置データの取得中、次の画面が表示されます。countの値は経過秒数です。

"Cancel"ボタンを押すと位置取得を中止します。

正常に位置が取得できると、日時と緯度経度が表示されます。


1分間以内に位置データを取得できなかった時は次の画面が表示されます。
アンテナが接続されていて、GNSS衛星からの電波が届く場所に置かれている事を確認して、"Retry"ボタンを押して下さい。再度1分間の受信テストを行います。


この段階で現在位置を取得するのは基準局との接続の際に必要になる場合があるためです。

17.2 基準局への接続

現在位置の取得が終わると次は基準局へ接続します。
接続する基準局のアドレスやマウントポイント等の接続情報は事前にINIファイルに書き込んでおきます。

1)INIファイルでの設定
INIファイルの[source1]の項目に基準局のデータを設定します。
下記の例では = の後の名称は一例ですので実際の値を指定して下さい。

NTRIPの場合はサーバのアドレスとマウントポイント、および認証する場合はユーザ名とパスワードを設定して下さい。
[source1]
address = rtk2go.com ←基準局データの取得先
mount = geosense_f9p ←マウントポイント
user = myName     ←認証する場合はユーザ名
password = myPassword ← 〃 パスワード
protocol = ntrip     ←プロトコル"ntrip"を指定
gga = 1       ←GGAセンテンスを送る必要がある時は1を指定。ドコモの場合は必ず指定。
サーバのアドレスにrtk2goまたはalesが含まれる場合、プロトコルはNTRIPですので、省略できます。

無手順の場合はサーバのアドレスとポート番号、および認証する場合はユーザ名とパスワードを設定して下さい。
[source1]
address = server.jp ←基準局データの取得先
port = 10000    ←ポート番号
user = myName     ←認証する場合はユーザ名
password = myPassword ← 〃 パスワード
protocol =        ←プロトコルは空欄か項目を無しにする

複数の基準局の中から選択する場合は[source2]~[source9]の項目に設定すれば、実行時にボタンで選択できます。

2)接続
現在位置の取得終了後、基準局に接続するかどうかの選択画面が表示されます。

RTK測位を行うためには基準局への接続が必要ですので、通常は"Yes"ボタンを押します。

複数の接続先がINIファイルに記載されている場合は、次の画面で選択できます。
表示されている名称はアドレスとマウントポイントで、選択行は緑色で表示されます。

"Next"ボタンを押すと緑色の行が移動します。
アドレスの選択が終わった後、"Ok"ボタンを押します。

指定されたアドレスに接続を試みて、正常に接続できると、確認画面は表示されず、データ保存フォーマットの選択画面が表示されます。

接続できない時は次の画面が表示されます。

再度接続を試みる時は"Yes"ボタンを押して下さい。
"No"ボタンを押すと基準局の選択画面に戻ります。

17.3 データ保存フォーマットの選択

基準局への接続後、データ保存フォーマットの選択画面が表示されます。


フォーマットの種類は次の3種類です。
1) NMEA
測位した緯度経度等をNMEA形式で保存します。センテンスはGGAとRMCです。
2) RAW
基準局に接続できない場合、後処理解析という手法により、測定が終わった後で別途基準局データをダウンロードして、センチメータレベルで測位する事ができます。
Raw形式はこの後処理を行うためのフォーマットで、u-bloxの独自のフォーマットです。
3) RTCM
後処理解析のための標準的なフォーマットです。

通常は"NMEA"ボタンを押して下さい。

17.4 移動局動作画面

データ保存フォーマットの選択後、移動局として測位を開始し、次の画面が表示されます。
左はM5F9Pモジュールが1台の場合、右は3台の場合です。

各項目の内容は次のとおりです。
LAT: 緯度(度単位)
LON: 経度(度単位)
ALT: 高さ(楕円体高、m単位)
FIX: RTKのFix状態(1:Float 2:Fix)
SPS: 測位レート(Hz単位)
FILE: SDカード保存状態(save=1 保存中、Saved=保存回数)
NTRIP: 基準局データ取得レート(bps単位)

各ボタンの機能は次のとおりです。

Saveボタン
"Save"ボタンを押すとマイクロSDカードに測位データを保存します。
保存を開始すると、表示項目の"File save:"の数字が1になり、保存する度にSaved=の数字が増加します。
ボタンはトグル動作になっていて、再度押すと保存を中止します。
保存したデータはマイクロSDカードの次のフォルダに格納され、保存フォーマットに応じた拡張子が付きます。
格納フォルダ: \m5f9p\gpslog\yyyymmdd (年月日別フォルダ)
ファイル名: gps_rn_yyyymmdd_hhmmss.log(rn:モジュール番号 yyyymmdd_hhmmss:年月日と時刻)
拡張子: .log(NMEA形式) .ubx(Raw形式) .rtcm3 (RTCM形式)
なお、現在のところ、ファイルに作成、更新日時が付与されませんのでご了承ください。

Rateボタン
"Rate"ボタンを押すと、測位レートを変更できます。短く押すと1Hz、長く押すと5Hzずつ増加します。
最大は20Hzで、20Hzの次は1Hzに戻ります。
現在の測位レートは表示項目の"SPS="に示されます。
10Hzまではほぼレートどおりにデータが更新されますが、10Hzを超えるとレートどおりに表示されない場合があります。それはZED-F9Pからのデータが来ないためで、仕様上、衛星の種類を限定しないとレートどおりに更新されません。
現在、衛星の種類を限定するにはu-bloxのu-centerアプリで行う必要があります。

NextPageボタン
"NextPage"ボタンを押すと画面が変わり、地図や設定情報および起動情報を表示できます。
但し、データ保存中は地図画面は表示されません。

17.5 地図画面 (BT非対応)

GoogleのAPIキーが必要ですが、現在地の地図画面や航空写真を表示する事ができます。
APIキーが無い場合は画面には何も表示されませんので、NextPageボタンを押して下さい。

1)INIファイルでの設定
INIファイルの[google]の項目にAPIキーを設定します。
 [google]
 key = ←ここにAPIキーを指定して下さい

2)地図表示
緯度経度データが表示されている時に"NextPage"ボタンを押すと現在地の地図画面が表示されます。

"ZoomOut"ボタンを押すと地図が縮小し、"ZoomIn"ボタンを押すと地図が拡大します。

"ZoomOut"ボタンを長押しすると航空写真が表示されます。

再度長押しすると地図画面に戻ります。

地図または航空写真が表示されている時に、"NextPage"ボタンを押すと設定情報画面が表示されます。

17.6 設定情報画面

次の画面は設定情報の画面です。


表示内容は次のとおりです。
項目 内容
Version 制御プログラムのバージョン
OpeMode 動作モード
MAC addr MAC アドレス
IP addr Wifiのステーションモードで接続している先から付与されたIPアドレス
AP IP addr Wifiのアクセスポイントモードでの自分のIPアドレス
Server Port TCPサーバとして動作しているポート番号
AP ssid アクセスポイントとしてのSSID
AP password アクセスポイントとして接続する際のパスワード
Heap 利用可能なメモリ。20KB以下になると動作が不安定になります。
SD card 挿入されているマイクロSDカードの容量
RTCM error RTCMデータのCRCエラー率。直近30センテンスの平均。

設定情報の画面で"NextPage"ボタンを押すと起動情報画面が表示されます。

17.7 起動情報画面

次の画面は起動情報の画面です。



この画面には起動時に選択した内容が表示されます。
表示項目のうち、Boot modeおよびSave to fileの内容はボタンで変更できます。

"BootMode"ボタンを押すとBoot modeの表示が"step by step"と"nonstop"に交互に変わります。
"step by step"の場合は、起動時に段階毎にボタンを押して設定を変更しながら起動するモードです。
"nonstop"の場合は、現在表示されている内容で起動し、ボタン操作はありません。

"Save"ボタンを押すと、Save to fileの表示が"Off"と"On"に交互に変わります。
"On"の場合は、Save formatの形式でデータをマイクロSDカードに保存します。

変更した後、リセットボタンを押すか、電源を入れなおすと、設定したモードで起動します。

表示内容は次のとおりです。
項目 内容
Lcd rotation 画面の回転角度
Net access インターネット接続方法
Ssid Wifiの接続先
Operation mode 動作モード
Base source 基準局データ取得先
Save format マイクロSDカードに保存する際のデータフォーマット
Solution rate 測位レート
Boot mode 起動モード。step by step=段階毎にボタン選択。 nonstop=自動起動
Save to file マイクロSDカードに保存するかどうかの設定

[ご注意]
自動起動に設定されていると、前回と違う環境で動作させた場合にどうしても通常の動作状態にならない場合があります。
その際はマイクロSDカードのm5f9pというフォルダに格納されているm5f9p.runというファイルを削除して下さい。
削除すると、段階毎にボタン選択を行うモードで起動します。

17.8 測位データの配信

測位した位置データは次の形式で他のデバイスやアプリに配信できます。
配信するデータはNMEA形式のテキストデータです。
センテンスはGGAとRMCです。

1)JST-PHコネクタ
M5F9Pモジュールに付いているJST製3ピンPHコネクタからUARTで送信します。
ボーレートはINIファイルで設定可能ですが、既定値は115200bpsで、電圧はTTLレベルです。

2)TCPサーバ
WifiのステーションモードまたはアクセスポイントモードでのIPアドレスとポート番号でアクセスすれば測位データを取得できます。
ポート番号は既定値は10000ですがINIファイルで設定できます。
このTCPサーバにRTKLIBのrtkplotで接続する事で、rtkplotの解析機能を利用する事ができます。

3)TCPクライアント
トラクタの運転支援アプリAgriBus-NAVIではTCPサーバが稼働していて、位置データをTCPクライアントから受信するようになっています。
そのTCPサーバに位置データを送信するにはINIファイルで次の設定を行います。
 [client]
 ip =  ←サーバのIPアドレス
 port = ←    ポート番号

この設定がされていると、実行時に、接続するかどうか選択画面が表示されますので、接続する場合は"Yes"ボタンを押して下さい。

18.基準局 (BT非対応)

動作モードの選択で基準局を選択した場合、操作の流れは次のようになります。

18.1 INIファイルの設定

基準局として、事前に次の項目を設定して下さい。

1)位置座標
基準局の位置は数値で指定する場合とSurvey-in機能でその場で測定する場合があります。
数値で指定する場合、INIファイルの [base1]の項目で次のように記載して下さい。
 [base1]
 name = rooftop      ←位置の名称
 lat = 34.78542084     ←緯度(度単位)
 lon = 135.0092526     ←経度(度単位)
 height = 165.3236536   ←楕円体高(m単位)

この位置座標は複数登録できます。
例えば三角点の位置を登録しておいて、アンテナをその三角点に設置して基準局とする場合などです。
複数登録する場合は[base2]~[base9]の項目に記載して下さい。

基準局の位置をSurvey-in機能を使って取得する場合、INIファイルの[surveyin]の項目で次のように記載して下さい。
 [surveyin]
 period = 100      ←測定時間(秒)
 accuracy = 1.4     ←精度(m)
この例では、100秒間の位置データを平均しその標準偏差が1.4m以内に入ればSurvey-inを終了します。1.4m以内に入っていない場合は入るまで位置データ取得を続けます。
この指定が無い場合の既定値はperiod:60秒 accuracy:2mです。

2)NTRIPキャスタ
基準局データをNTRIPキャスタに送信する場合は項目[caster]に次の内容を記載して下さい。
 [caster]
 address = rtk2go.com     ←キャスタのアドレス
 mount = geosense_zedf9p   ←マウントポイント
 password = mypassword    ←パスワード
NTRIPキャスタに送信する場合は、事前に申請して、マウントポインとパスワードを取得する必要があります。

18.2 現在位置の取得

動作モードで基準局を選択した後、おおまかな現在位置を取得できるかテストします。
このテストに関しては「17.1 現在位置の取得」をご覧ください。

18.3 位置座標の設定

現在位置の取得テスト後、基準局としての位置座標を設定します。
INIファイルの項目[base1]~[base9]に記載がある場合は、どの位置座標を使用するかの選択画面が表示されます。

選択行は緑色で表示されます。 "Next"ボタンを押すと緑色の行が移動します。
位置座標の選択が終わった後、"Ok"ボタンを押します。
"SurveyIn"ボタンを押すと、Survey-in機能による位置座標の設定を行います。

18.4 Survey-in機能による位置座標の設定

Survey-in機能は基準局の位置座標を測定により求める機能です。
現在位置を1秒毎に測定して平均と標準偏差を求め、事前に設定された測定時間と精度が満たされた時に終了します。
既定の測定時間は60秒、精度は2mですが、この値はINIファイルにより変更できます。
測定中、次の画面が表示されます。


1秒毎に測定時間と精度が更新されますが、精度がなかなか上がらない時があります。
その場合、"Cancel"ボタンを押すと中断し、それまでの平均値が表示されます。

この表示された座標値で良ければ"Yes"ボタンを押して下さい。
"No"ボタンを押すとSurvey-inでの測定を続行します。

Survey-inの測定条件が満たされると次の画面が表示されます。

確認後、何れかのボタンを押して下さい。

18.5 NTRIPキャスタへの接続

INIファイルでNTRIPキャスタの設定がある場合は次の画面が表示されます。

表示されたNTRIPキャスタに接続するには"Yes"ボタンを押して下さい。
NTRIPキャスタに送信しない場合は"No"ボタンを押して下さい。

"Yes"ボタンを押すとNTRIPキャスタに接続します。
正常に接続できると次の画面が表示されます。

18.6 基準局動作画面

基準局の位置座標設定およびNTRIPキャスタへの接続後、基準局として動作を開始し、次の画面が表示されます。

各項目の内容とボタン動作は次のとおりです。
name: 固定座標の場合はINIファイルで設定した名称。Survey-in機能で測定した場合は"survey-in"。
lat: 緯度(度単位)
lon: 経度(度単位)
height: 高さ(楕円体高、m単位)
count: 動作開始からの秒数。括弧内に数字が表示される時はNTRIP CASTERに送信した回数
AP IP address: アクセスポイントモードとして動作している本装置のIPアドレス
port:           〃 ポート番号
IP address: クライアントとして他のアクセスポイントに接続している本装置のIPアドレス
NTRIP: 基準局データの送信先NTRIPキャスタ
mntpnt:    〃    マウントポイント

各ボタンの機能は次のとおりです。

NextPageボタン
"NextPage"ボタンを押すと画面が変わり、地図や設定情報を表示できます。
地図画面については「17.5 地図画面」
設定情報については「17.6 設定情報画面」
をご覧ください。

18.7 基準局データの配信

測定した搬送波位相データなどの基準局データは次の形式で他のデバイスやアプリに配信できます。
配信するデータはRTCM3形式のバイナリデータです。

1)JST-PHコネクタ
M5F9Pモジュールに付いているJST製3ピンPHコネクタからUARTで送信します。
ボーレートはINIファイルで設定可能ですが、既定値は115200bpsで、電圧はTTLレベルです。

2)TCPサーバ
WifiのステーションモードまたはアクセスポイントモードでのIPアドレスとポート番号でアクセスすれば基準局データを取得できます。
ポート番号は既定値は10000ですがINIファイルで設定できます。

3)NTRIPサーバ
NTRIPサーバとして、NTRIPキャスタに基準局データを送信します。
送信先はINIファイルで設定して下さい。

19.Moving Base (BT非対応)

Moving Baseモードでは、基準局と移動局が同じM5Stack本体に装着されている場合と別々のM5Stackに装着されている場合があります。
別々の場合、無線リンクはWifiのSoftAPモードで接続して下さい。920MHzモデムは利用できません。
動作モードの選択でMoving Baseを選択した場合、装着方法により、操作の流れは次のようになります。

19.1 現在位置の取得 (共通)

最初におおまかな現在位置を取得できるかテストします。
このテストに関しては「17.1 現在位置の取得」をご覧ください。

19.2 Moving Base動作画面 (基準局と移動局が一体)

基準局と移動局が同じM5Stackに装着されている時は、現在位置の取得後、Moving Baseとして測位を開始し、次の画面が表示されます。

各項目の内容は次のとおりです。
LAT: 基準アンテナの緯度(度単位)
LON:    〃   経度(度単位)
ALT:    〃   高さ(楕円体高、m単位)
LENGTH: 2、3台目アンテナとの距離(cm)
HEADING:   〃      の方位角(度)
ELEVATION:    〃    の高度(度)
FIX: RTKのFix状態(1:Float 2:Fix)
SPS: 測位レート(Hz単位)
FILE: SDカード保存状態(save=1 保存中、Saved=保存回数)

各ボタンの動作は 17.4 移動局動作画面 をご覧ください。

Rateボタンで更新頻度を変更できますが、最大はZED-F9Pのファームウェアのバージョンにより違ってきます。
ファームウェアがHPG1.12では5Hz、HPG1.13では8Hzが上限です。
ボタンを押すと10Hz、20Hzに変更できますが、Moving Baseのモードではその上限までとなります。

Saveボタンを押すと位置データがNMEA形式で保存されます。
Moving baseの基準局の絶対座標はRMC,GGAセンテンスで格納され、移動局の相対座標は21.9 相対座標を表すNMEAセンテンス で格納されます。

19.3 Moving Base動作画面 (基準局と移動局が別)

基準局と移動局がそれぞれ別のM5Stackに装着されている時は、Moving Baseを選択すると基準局として次の画面が表示されます。


移動局の場合は機能選択の際、Roverを選択します。
画面は次の画面となります。

画面に表示されるデータおよびボタンの説明は一体の場合の説明をご覧ください。
Rateボタンを押すと更新頻度が変更できますが、基準局と移動局は同じRateでないとFixしません。
Wifiで接続している場合は更新頻度は4Hzが限度で、基準局と移動局が離れると更に悪くなります。

19.4 Moving BaseでのTCPサーバ動作

Moving Baseで動作している時、通常、TCPサーバとしてはRTCMデータを配信しています。
RTCMデータでなく、測位データ(絶対位置および相対位置)をNMEA形式で配信する事もできます。
その場合、INIファイルの [movingbase]の項目で次のように記載して下さい。
[movingbase]
tcpformat=1   ; 0:RTCM 1:NMEA

20.ブラウザからの操作 (BT非対応)

M5F9P受信機はブラウザを使っての操作が可能で、現在次の事ができます。
1)INIファイルの編集
2)ログファイルのダウンロード
3)地図表示

20.1 接続

ブラウザでアクセスするためのURLはIPアドレスで指定します。
そのIPアドレスは17.6 設定情報画面で表示されます。

この設定情報画面には2つのIPアドレスが表示されています。
1)"IP addr"
  モバイルルータやテザリング先から与えられたIPアドレス。
2)"AP IP address"
  M5F9P受信機がアクセスポイントとして動作している時のIPアドレス。

このうち、最初に"IP addr"に表示されたIPアドレスをブラウザのURL欄に指定します。
それでM5F9P受信機のホームページが表示されない場合、M5F9P受信機とブラウザのデバイス(スマホ等)が違うLANに接続されていると考えられます。
同じLANに接続できない場合はブラウザデバイスのWifiの接続先をM5F9Pのアクセスポイントに変更して下さい。
アクセスポイント名とパスワードは同じ設定情報画面に記載されています。
M5F9P受信機のアクセスポイントに接続できたら、ブラウザのURL欄には"AP IP address"のIPアドレスを指定して下さい。

正常に接続できると次のホームページが表示されます。

20.2 INIファイルの編集

"Edit Ini file"をクリックするとINIファイルが表示され、ブラウザ上で編集ができます。

編集終了後、一番下にある"Send"ボタンを押すと編集内容がM5F9P受信機のマイクロSDカードに保存されます。

20.3 ログファイルのダウンロード

"Download file"をクリックするとログファイルをダウンロードできます。
最初にマイクロSDカードの/m5f9pフォルダの中身が表示されます。
その中のgpslogフォルダをクリックすると年月日別のフォルダが表示されます。
ダウンロードしたい日付のフォルダをクリックするとその日に保存したファイルの一覧が表示されます。
希望のファイルをクリックするとダウンロードできます。

20.4 地図表示

"Disp Map"をクリックすると地図が表示する事ができます。
但し、GoogleのAPIキーが必要で、事前に取得して、INIファイルに書き込んでおく必要があります。
表示される地図はM5F9P受信機のアンテナ位置が中心で、移動局の場合は過去100点の軌跡も表示されます。

21.その他

21.1 ソースコード

ソースコードは下記よりダウンロード可能です。
M5F9P Source code(v1.0.24)
M5F9P Source code (v1.0.0)(Bluetooth対応版)
Github gps2map/mtf9p

ソースコードはArduino IDEで読み込み、コンパイル可能です。

「初心者向けM5Stackの始め方」等を参考にしてArduino IDE及び必要なライブラリをインストールして下さい。
この他に、TinyGsmというライブラリも必要です。

[Bluetooth対応版]
Bluetooth関連のライブラリのバージョンによっては、通信が途絶えた後、再開しないバグがあります。
最初は正常に接続できるのですが、距離が離れるなどして通信が一旦切れた後、距離が近くなれば再度通信を開始しないといけないのですが、その再開がされません。
そのような場合は、Fix deadlock in BTSerial if connection is closed during congestionを参照して、BluetoothSerialのソースコードを修正して下さい。

21.2 JST-PHコネクタ

M5F9PモジュールにはJST製3ピンPHコネクタが付いていて、通常はUARTとして使用します。
電圧はTTLレベルで、ピン配置は次のとおりです。

ボーレートの既定値は115200bpsですが、INIファイルで変更できます。

21.3 M5F9PモジュールのLED

m5f9pモジュールにはLEDが4個取り付けてあり、次の状況を表しています。
1)電源On
  モジュールに電源が供給されている時に点灯します。
2)1秒毎パルス
  GNSSの電波が受信できている時に1秒毎に点滅します。
3)RTKの状態
  FIX:消灯
  補正データは受信しているがFixしていない:点滅
  その他:点灯
4)ジオフェンス
  設定した円の範囲に入った時に点灯もしくは消灯します。どちらにするかはユーザが定義できます。
  このジオフェンスの機能はM5F9Pのファームウェアでは現在サポートしていませんが、u-centerで設定は可能です。


21.4 3Gモデム使用上の注意

SORACOM/スイッチサイエンスの3Gモデムモジュールを使う場合、使用条件により注意が必要です。

このモジュールはM5Stackのバッテリから電源供給する場合にできるだけ長く使えるようにするため、モジュールの電源をM5Stackのバッテリ端子から取っています。
そのため、モデムの通信量が多い状態で長く使うと消費電流が増え、その結果としてバッテリ電圧が下がり、M5Stackがリブートします。このリブートはM5StackにUSBから電源が供給されている場合でも起こります。

もし、3Gモデムを使用している時に、数分~数時間するとリブートするという現象が起きた時には次の対策を取って下さい。
1)大容量の電池モジュールを使用する。
  M5Stack用電池モジュールの電池容量はM5Stack Bottomの5倍ほどありますので、長時間使用できます。
2)基準局を変える。
  特に基準局のデータがu-bloxのRawデータの場合は通信量が多くなりますので、できればRTCMの基準局に変更して下さい。
3)基板のパターン修正
  どうしてもリブートする場合、3Gモジュールの基板修正を行う方法があります。
  次の画像はその修正箇所です。

但し、この修正は危険を伴います。
コネクタの右上の端子にはリポバッテリが接続され、右端から2番目の端子は5Vです。もし何らかの修正ミスにより5V端子とバッテリ端子がショートすると、リポバッテリが発熱し、発火する危険があります。
そのため、この修正を行うのは電子回路に経験のある方のみ行うようにして下さい。

21.5 複数モジュールの取り付け

1)DIPSWの変更
2台以上M5F9Pモジュールを装着する場合、2台目以降のモジュールのDIPSWを変更します。
モジュールの基板上に次の画像のDIPSWがあります。

次の画像のように、このDIPSWの1番をONにして下さい。


2)I2Cアドレスの変更
M5F9PモジュールについているマイクロUSBコネクタとWindowsパソコンをUSBケーブルで接続します。
次にu-bloxのu-centerアプリを起動し、M5F9Pモジュールと接続して下さい。
u-centerのメニュで View > Configuration Viewとクリックします。
設定項目の一覧が表示されますので、PRT(Ports)をクリックします。
TargetのプルダウンメニュからI2Cをクリックします。
Slave Addressの値を2台目は0x43,3台目は0x44に変更します。
変更後、Sendボタンを押して下さい。
最後に、設定項目の一覧のCFG(Configuration)をクリックした後、再度Sendボタンを押して下さい。

3)取り付け
2台以上M5F9Pモジュールを取り付ける際、重ねて装着するとアンテナコネクタの部分が干渉して、重ねて装着できません。
アンテナコネクタ部分にスペースを確保するため、次のM5Stack用プロトモジュールが必要です。

このプロトモジュールをM5F9Pモジュールの間に重ねて装着します。
次の画像はM5F9Pモジュールを3台、その間にプロとモジュールを2台装着したものです。

21.6 Bluetooth対応版

Bluetooth対応版では次の制約があります。
1)マイクロSDカードが使えません。
2)基準局及びMoving Baseの機能が使えません。
3)Wifiの接続先等の設定はM5StackのUSB接続でのみ可能です。
4)M5F9Pモジュールは1台のみ接続できます。
5)スイッチサイエンス製の3Gモデムは使用できません。

Bluetooth対応版はBluetooth経由で測位データをNMEAセンテンスで送信しています。
Bluetoothに対応しているタブレットのアプリで使う事ができます。

現在、次のアプリで動作確認ができています。いずれもAndroidタブレットです。
1)Agribus-Navi
2)SW Maps
3)Bluetooth GPSのMock location機能使用
 QField
 Geopaparazzi

設定
Wifiの接続先等の設定はUSBケーブルをパソコンに接続して行います。

パソコンに接続するとM5StackはCOMポートとして認識されますので、デバイスマネージャでCOMポート番号を確認します。
パソコンのターミナルソフト(Teraterm等)を起動し、M5StackのCOMポートを指定して接続します。
ボーレートは115200bps、改行コードはCR+LFに設定して下さい。

M5Stackの初期画面で画面の方向を指定した後、次の画面が表示されます。

この画面が表示されている時はパソコンから設定データを送信できます。

設定データのフォーマットは次のとおりです。
set key=valueCRLF
項目 key value
WifiのSSID wifi/ssid APのSSIDを指定します
Wifiのパスワード wifi/password APのパスワードを指定します
基準局データの取得先 source/addr NTRIPキャスタのアドレスを指定します
マウントポイント source/mount NTRIPキャスタのマウントポイントを指定します

例えば、アクセスポイントのSSIDが"AP123"の場合は
set wifi/ssid=AP123
と入力しEnterキーを押して下さい。
入力後、
Preference |wifi/ssid| = |AP123|
と表示されれば正常に設定されました。

上記のテーブルの4項目について設定が完了しましたら、M5Stackの任意のボタンを押して下さい。
設定された内容に従い、12.Wifi接続が実行されます。Wifi接続およびその後の移動局の操作は本文をご覧ください。

タブレット等との接続
Bluetoothに対応しているタブレット等との接続(ペアリング)の際は本装置は"m5f9p"の名称で表示されます。
PINコードは設定されていませんので入力する必要はありません。

21.7 リセット原因

正常に動作しているM5F9P受信機が突然リセットする事があります。
リセットすると画面は初期画面に戻ります。
そのリセットした原因は初期画面の "Reset"の行に数字で表示されます。
M5Stackに使われているマイコンESP32には2つのCPUがあり、PRO_CPUとAPP_CPUと呼ばれています。
cpu0の値はPRO_CPU、cpu1の値はAPP_CPUに関するリセット原因です。
値とその内容は次のとおりです。
略称 内容
1 POWERON_RESET Vbat power on reset
電源オンによるリセット
3 SW_RESET Software reset digital core
ソフトウェアによるリセット
4 OWDT_RESET Legacy watch dog reset digital core
5 DEEPSLEEP_RESET Deep Sleep reset digital core
6 SDIO_RESET Reset by SLC module, reset digital core
7 TG0WDT_SYS_RESET Timer Group0 Watch dog reset digital core
8 TG1WDT_SYS_RESET Timer Group1 Watch dog reset digital core
9 RTCWDT_SYS_RESET RTC Watch dog Reset digital core
10 INTRUSION_RESET Instrusion tested to reset CPU
11 TGWDT_CPU_RESET Time Group reset CPU
12 SW_CPU_RESET Software reset CPU
13 RTCWDT_CPU_RESET RTC Watch dog Reset CPU
14 EXT_CPU_RESET for APP CPU, reseted by PRO CPU
15 RTCWDT_BROWN_OUT_RESET Reset when the vdd voltage is not stable
電源が不安定
16 RTCWDT_RTC_RESET RTC Watch dog reset digital core and rtc module


21.8 電源について

M5F9P受信機の電源電流は平均すると300mA程度ですが、ピーク値は500mA以上になります。
電流がパルス的に大きく変動するため、USBからの電源によってはピーク時に電圧降下が大きくなり、リセットしてしまう事があります。
この電源によるリセットが起きると、初期画面に表示される"Reset"の数字が15となります。
このReset原因が15の場合、USBからの電源をより安定した電源に変更して下さい。
パソコンのUSB端子を使用している場合はリセットしやすいので、スマホの充電用の電源などに変更して下さい。

21.9 相対座標を表すNMEAセンテンス

NMEAの規格には相対座標を表すセンテンスがありませんので、次の弊社のプライベートセンテンスで表示、保存します。
$PGEO,NED,receiverNum,time,north,east,down,length,heading,elevation,quality*checksum
項目 内容
$PGEO 弊社のプライベートセンテンス識別符号
NED NED座標を表す符号
receiverNum 受信機番号。1:受信機(I2c=0x43) 2:受信機(I2c=0x44)
time HHMMSS.SSS(UTC)
north 北方向の座標(m)
east 東方向の座標(m)
down 下方向の座標(m)
length 距離(m)
heading 方位角(度)
elevation 高度(度)
quality Fix状態( 1:Single 4:Fix 5:Float )

(例) $PGEO,NED,1,080625.000,2.303,-3.433,-0.659,4.211,303.667,9.009,4*4e

22.動作保証について

「ZED-F9P RTKシステム開発用モジュール M5F9P」はプリント基板とM5Stack用ケースから構成されるハードウェア製品です。
M5F9Pは単独でも動作しますが、M5Stack本体に装着し、ソフトウェア(ファームウェア)を書き込む事で、色々な機能が利用できるようになります。
M5F9Pの価格はハードウェアに対する価格であり、この使用説明書にある様々な機能を実現するソフトウェアの価格は含まれていません。
このソフトウェアはオープンソースであり、無料で誰でも自由に使用し、自らの用途に応じて改変もできます。
M5Stackと組み合わせて動作させた時に正常に動作しない事があります。
M5Stack本体の問題、ソフトウェアの問題等色々な場合があります。
その正常に動作しない場合に、弊社としましては、動作を完全にする保証は致しません。
M5F9Pの故障が疑われる場合は弊社においてM5Stack本体とテストプログラムによりM5F9Pが故障かどうか判断し、故障であれば修理、交換等を行います。故障に関する保証期間は1年です。

戻る