カテゴリ:仕事
Bluetooth接続できるGPSロガーは大きくわけて、 2種類あります。 1つはSPP方式、もう一つはLNSプロファイル方式。 SPP方式はBluetooth接続を仮想COMポートとして扱う方式で、 自由度が高い分、ハンドリングは機器固有になってしまいます。 アプリで実装するときは、機器固有のロジックが必要。 もう一つは、LNSプロファイルという規格を使う方式。 規格に沿って通信さえすれば、アプリ側は同じ実装でよいです。 ハードとソフトを合わせれ売る場合はSPP方式、 LNSプロファイル方式は、ソフトはご自由にというパターン。 LNSプロファイル方式のGPSロガーには、 致命的な欠点があって、 LNSプロファイルでインタフェースできる時間単位が秒であること。 ●実際の通信データ① C5 00 1B 00 2A 7B B5 14 94 B4 C5 50 E5 07 08 1A 08 00 2C ●通信データ上のフラグ部 C5 00 Flags 16bit 00 C5 = 0000000011000101 0:Instantaneous Speed Present 2:Location Present 6:UTC Time Present 7:Position Status(1:Position Ok) ●通信データ上のデータ部 1B 00 Instantaneous Speed uint16(decimal -2) 001B=33(0.33km/h) 2A 7B B5 14 Location - Latitude sint32(decimal -7) 14B57B2A=347437866(34.7437866) 94 B4 C5 50 Location - Longitude sint32(decimal -7) 50C5B494=1355134100(135.5134100) E5 07 YYYY uint16 07E5=2021 08 MM uint8 08 1A DD uint8 1A=26 08 HH uint8 08 00 MM uint8 00 2C SS uint8 44 UTC:2021/8/26 8:00:44(JPN:2021/8/26 17:00:44) ●実際の通信データ② BA 00 00 00 00 46 5F 00 00 00 8D ●通信データ上のフラグ部 BA 00 Flags 16bit 00 BA = 0000000010111010 1:Total Distance Present 3:Elevation Present 4:Heading Present 5:Rolling Time Present ●通信データ上のデータ部 00 00 00 Total Distance uint24(decimal -1) 46 5F 00 Elevation uint24(decimal -2) 5F46=24390(243.9m) 00 00 Heading uint16(decimal -2) 8D Rolling Time uint8 (decimal 0) 8D=141 GL-770からは、GPSデータは1秒間に1回送られてくるわけではなく、 概ね1秒間に5回送られてきます。 GPSロガー位置情報中継アプリ(MLS)では、 スマホの内蔵GPSの位置情報を上書きするときに、 スマホ本体のクロック(ミリ秒)を使用しています。 GL-770から送られてくるGPSデータを受信する度に、 スマホの内蔵GPSの位置情報を上書きしているので、 アプリ側の処理遅延もありますが、 更新レート=GPSロガーの性能というわけです。 スマホの内蔵GPSの位置情報を上書きするタイミングを GL-770から送られてくるGPSデータの受信と非同期にすれば、 更新レートを自由に操作できますが、、、 RaceChronoで更新レートを確認。 更新レートが4.2Hzになっているので、 GL-770のGPS情報に置き換わっていることがわかります。 LNSプロファイルのGPSロガーで確認できているのは、 GL-770(5Hz)とデジスパイスⅢ(10Hz)ですかね。 おそらく、 デジスパイスⅣ(20Hz)もLNSプロファイルだと思われます。 デジスパイスⅢ+MLSでRaceChronoを使用している方も いらっしゃるようです。 詳しい内容は、こちらです。 にほんブログ村 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2022.03.11 16:21:05
コメント(0) | コメントを書く
[仕事] カテゴリの最新記事
|