忍者ブログ
[1] [2] [3] [4] [5] [6] [7]

DATE : 2024/04/20 (Sat)
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


DATE : 2007/01/17 (Wed)

前回の記事

進行方向のみをエミュレーションする小技

進行方向のみを扱う場合は、以下のように GPRMC データを作ると簡単に進行方向をエミュレーションできます。(BREW シミュレータ Version 3.1.2.17 で確認しました)

  • GPRMC の進行方向部分を任意の値に書き換える。
  • 緯度・経度のどちらかの値を適当に変化させる。

例えば、10秒後に真東へ、20秒後は真北へ進んだ GPRMC データは次のようになります。(初めのデータは、「NMEA-0183 フォーマット」からの転載です)

$GPRMC,050945.00,A,3504.227794,N,13545.810149,E,000.0,57.1,140302,6.5,W,A*12
$GPRMC,050955.00,A,3504.227795,N,13545.810149,E,000.0,90.0,140302,6.5,W,A*12
$GPRMC,050965.00,A,3504.227794,N,13545.810149,E,000.0,0.0,140302,6.5,W,A*12

緯度・経度のどちらかを適当な値に変えるのがポイントです。緯度・経度の値が変わらない場合、BREW シミュレータの GPS エミュレータは進行方向も変化していないと見なすようです。実際、緯度・経度が変化しない場合は進行方向も変わらないので、そのような動作になっているのだと思います。上の例では、緯度を0.000001分刻みで増減させています。

(了)

PR

DATE : 2007/01/14 (Sun)

GPRMC で取得できる方位は、携帯端末を向けている方向ではなく、進行方向だったことに今日気付きました orz

(;^ω^)つまり、北に携帯端末を向けながら東の方向へ進んだ場合、GPRMC には東の方位が出てきます。

というわけで、これまでの記事を修正しておきました。

ちなみに、電子コンパスを使った、携帯端末を向けている方向を表す方位は IPOSDET_GetOrientation 関数を使うと取得できます。

(;´Д`) ただし、電子コンパスのエミュレーションはできないようです。BREW シミュレータでは、IPOSDET_GetOrientation 関数が有効な値を返すのですが、電子コンパスのデータを表す HCHDG データを入力しても値に変化はありませんでした。

参考文献


DATE : 2007/01/12 (Fri)

前回の記事

緯度・経度・進行方向のみを扱う場合の小技

緯度・経度・進行方向のみを扱い高度を扱わない場合は、GPRMC データのみの BGP ファイルでもエミュレーションできます。(BREW シミュレータ Version 3.1.2.17 で確認しました)

例えば、前回の記事の例で、BREW アプレット内では緯度・経度・進行方向のみを扱う場合は、GPGGA データを削除できます。

BGP の例

$GPRMC,050945.00,A,3504.227794,N,13545.810149,E,000.0,57.1,140302,6.5,W,A*12
$GPGGA,050945.00,3504.227794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A
$GPRMC,050946.00,A,3504.327794,N,13545.810149,E,000.0,0.0,140302,6.5,W,A*12
$GPGGA,050946.00,3504.327794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A
$GPRMC,050947.00,A,3504.327794,N,13545.910149,E,000.0,90.0,140302,6.5,W,A*12
$GPGGA,050947.00,3504.327794,N,13545.910149,E,1,06,1.4,151.00,M,34.53,M,,*6A

緯度・経度・進行方向のみを扱う場合の例

$GPRMC,050945.00,A,3504.227794,N,13545.810149,E,000.0,57.1,140302,6.5,W,A*12
$GPRMC,050946.00,A,3504.327794,N,13545.810149,E,000.0,0.0,140302,6.5,W,A*12
$GPRMC,050947.00,A,3504.327794,N,13545.910149,E,000.0,90.0,140302,6.5,W,A*12

( ^ω^)GPGGA データを作る手間が省けるので、とても楽です

ただし、本来の BGP ファイルでは GPRMC, GPGGA 両方のデータが必要です。そのため、BREW シミュレータのバージョンによっては正しく動作しない場合があります。

つづきます


DATE : 2007/01/08 (Mon)

前回の記事

BGP ファイルの作成

位置情報として GPRMC GPGGA データを並べて BGP ファイルを作成します。ここでは、以下の点に注意が必要です。

  • 1つ分の位置情報は、GPRMC と GPGGA の組です。
  • GPRMC が先で GPGGA が後です。
  • GPRMC もしくは GPGGA データを1つ入力したら、改行(CR+LF)します。

(;^ω^)1, 2番目は見事にはまりました。

例えば、1秒後に真北へ0.1分、2秒後に真東へ0.1分進んだ場合の BGP ファイルの内容は次のようになります。(初めの GPRMC, GPGGA データは、 「NMEA-0183 フォーマット」の出力例からの転載です)

$GPRMC,050945.00,A,3504.227794,N,13545.810149,E,000.0,57.1,140302,6.5,W,A*12
$GPGGA,050945.00,3504.227794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A
$GPRMC,050946.00,A,3504.327794,N,13545.810149,E,000.0,0.0,140302,6.5,W,A*12
$GPGGA,050946.00,3504.327794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A
$GPRMC,050947.00,A,3504.327794,N,13545.910149,E,000.0,90.0,140302,6.5,W,A*12
$GPGGA,050947.00,3504.327794,N,13545.910149,E,1,06,1.4,151.00,M,34.53,M,,*6A

つづきます

参考文献


DATE : 2007/01/07 (Sun)

前回の記事

GPGGA

手入力用の雛形として、まず GPGGA の例をひとつコピーしてきます。(以下の例は、「NMEA-0183 フォーマット」からの転載です)

$GPGGA,050945.00,3504.227794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A

このデータの中で重要な部分を示します。

$GPGGA,050945.00,3504.227794,N,13545.810149,E,1,06,1.4,151.00,M,34.53,M,,*6A
050945.00
GPRMC の現在時刻と同じ値に設定します。
3504.227794,N
GPRMC の緯度と同じ値に設定します。
13545.810149,E
GPRMC の経度と同じ値に設定します。
151.00
海抜です。単位はメートルです。

高度を変えることで、任意の高度で GPS エミュレーションを行えます。

つづきます

参考文献

忍者ブログ [PR]
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック
ブログ内検索
最近の状況
リンク
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
使用許諾
最新コメント
(08/15)
(05/04)
(03/06)
(03/04)
(09/25)
最新トラックバック