XBee型GPS基板の組み立てを行い、正しく動作することが確認できたので、噂のublox NEO-M8Nによる生データ取得を試してみました。
手始めに行ったのはTRK-SFRBX(0x030F)ページの解析です。
少なくともGPSの航法メッセージが正しいことはNEO-7Pとの比較で確認できています。
左からNEO-7P, NEO-M8N, NEO-6M |
手始めに行ったのはTRK-SFRBX(0x030F)ページの解析です。
解析の結果は以下の通りになります。
Byte Offset | Number Format |
Scaling | Name | Unit | Description |
0 | U1 | - | reserved1 | - | Reserved |
1 | U1 | - | gnssId | - | GNSS identifier (see Satellite Numbering) 0: GPS, 1: SBAS, 2: Galileo, 3: BeiDou, 5: QZSS, 6: GLONASS |
2 | U1 | - | svid | - | ID of Satellite transmitting navigation message |
3 | U1 | - | reserved2 | - | Reserved |
4 | U1 | - | prn | - | PRN |
5 | X4 | - | flags? | - | flags? |
9 | U4 | ? | time? | ? | time? |
13 | X4[N] | - | dwrd | - | Words of Data navigation message (長さはGNSSにより可変 GPSの航法メッセージの格納法はRXM-SFRBと2ビットずれがあり) |
少なくともGPSの航法メッセージが正しいことはNEO-7Pとの比較で確認できています。
航法メッセージが取得できたので、擬似距離・搬送波位相・ドップラーシフト等のデータがあれば測位が可能になります。
これらのデータはTRK-MEASメッセージから出力されるようなので、こちらの解析も進めたいと思います。
非常に参考になります!ちょうどM8Nのモジュールが手に入ったので試してみました.(2ビットずれの情報がなければ相当ハマっていたと思います,ありがとうございます)無事,GPSはメッセージが一致することを確認できました.
返信削除上記の表ですが,バイトオフセットに関してgnssID以降はすべて+2ではないでしょうか?
メッセージの長さに関して,ヘッダーの4バイト(0xB5,0x62,0x03,0x0f)込みでGPS=61,QZS=61,BDS=61,GLO=53,SBS=37でした.デコーダをRTKLIBに組み込むところがちょっとめんどくさいかもしれません.
ロシアのコミュニティでusm78-gisさんがTRK-MEASのデコーダ公開していたので,M8NでRTKもなんとかなっちゃいそうですね.また情報がありましたらぜひ教えて下さい!
Taro
コメントありがとうございます。
削除また、返信が遅くなってしまい申し訳ありません。
バイトオフセットの件ですが、モジュール生出力は、
b562 030f 3500 01 00 02 00 01 0100ff57 10890100 3605c322a88aaf8b53383f0b362eac0c39aa0b8aa7c151bfacdb7c3d7f683f0675574103131fca88 a9d4
等になっていますので、表のバイトオフセットは少なくとも私のモジュール出力とは合致しています。
ファームのバージョンによって異なるということはないと思いますが、念のためバージョンの確認をお願いできないでしょうか?
こちらのものはSoftware Version: 2.00 (74182), Hardware Version: 00080000でした。
メッセージ長さについての情報ありがとうございます。こちらは私のモジュールでも同じ長さになることが確認できました。
M8NでマルチGNSSのRTKができるととても楽しそうです。ロシアのコミュニティの様子を見つつ、hackを進めていこうと思っています。