GPS GT720Fの最近のブログ記事

課題6
   $GPGGA,114107.046,

 $GPGGAセンテンスには時刻データが含まれています。このデータからLCDに時刻を表示しましょう。

 一番最初のデータが時刻です。
   114107.046
   11時41分07.046秒
をUTCで示します。JST=日本時間表示にするには9時間加えます。
緯度経度の表示形式
■■60進数形式 緯度経度表示
 GPS GT-720FのGGAデータはNMEA-183と呼ばれるフォーマットです。先頭の$マークに続き、GPGGAなどの種別を表すアルファベット5文字、データがアスキ・コードで送信されます。

$GPGGA,114107.046,3532.25024,N,13751.86820,E,1,04,2.5,0.0,M,38.5,M,,0000*

 GPGGAに緯度・経度のデータが含まれています。
   3532.25024,N 
   13751.86820,E
 
数字列:緯度または経度(分を60進数表記)
   N:北緯、S:南緯
   E:東経、W:西経

 したがって、上のデータは次の緯度経度を示します。
   3532.25024,N ・・・北緯35度32.25024分
   13751.86820,E ・・・東経137度51.86820分
 だいぶGPSらしくなりました。

課題4
 rlockの次のデータには受信している衛星の数が入っています。これを表示するプログラムを作成しましょう。変数はstnを使います。穴埋めではなく、課題1~3を参考にしてプログラムを完成してください。

Publish
 下記URLにてPublishしています。
  http://mbed.org/users/takeuchi/programs/2bk0123_GPS_Test04/llt8rd
 GT-720Fのデータをうまく加工できるようになりましたか?

課題3
 GPGGA行のデータを、変数:time,hokui,ns,tokei,ew,rlockの並びとして取り込みます。rlock=1の時にGT-720Fがロック=測位が完了したと判断し、そのときの北緯=hokui、東経=tokeiを表示します。ロックできない間は、受信データをそのまま表示します。この課題では表示はLCD表示を中心にします。
 課題1で$マークをうまく発見できましたか?

課題2

 $マークに引き続き、文字列GPGGAを発見し、それに続く数値二つをdummy1、dummy2に取り込みましょう。

 sscanf()関数を使います。まず、$マークを見つけます。発見後、行末までgps_data[i]に1文字ずつ取り込みます。sscanf()を使い、gps_dataの先頭にGPGGAがあれば続く二つを実数データとして取り込みます。dummy1には時刻データ、dummy2には緯度データが入ります。

Serial pc(USBTX, USBRX); // tx, rx
Serial gps(p9,p10);

int main() {

      int i;
      char gps_data[256];
      float dummy1,dummy2;
      
      gps.baud(9600);
      lcd.cls();
      lcd.locate(0,0);
      lcd.printf("GPS GT720F Test\n");

    while (1) {
      i=0;
      while( (1) !='$'){
      }
     
      while( ( (2) =gps.getc()) != '\r'){
        i++;
        if(i==255){
           pc.printf("*** Error! ***\n");
           break;
         }
      }
      gps_data[i]='0';
    
      if(sscanf( (3) , " (4) ,%f,%f",&dummy1,&dummy2) >= 1){
        pc.printf("\x0D");
        pc.printf("GPGGA data:\n");
        pc.printf("%s\n\n",gps_data);
      }
     
    }//while
}//main



 GPS GT-720Fより送られてくるデータを受信し、加工する課題を楽しみましょう。最初の課題は先頭にくっついている$マークを見つけます。

1_gps_kadai1.jpg
■ Sky Traqを使いましょう
 GPS GT-720Fが受信 =>シリアル・データ =>mbedがUSBに変換 =>USBシリアル接続 =>パソコンではシリアル・データとして受信
 これはGPS GT-720Fの受信データ =>パソコンへUSBシリアル・データとして転送していることと同じになります。ということは、シリアル接続対応のGPSアプリケーションであれば、この自作システムで動作可能となります。

 GPS受信用アプリケーションとして、秋月電子通商webにSkyTraq(ファイル名:GPS Viewer.exe)があります。GPSデータの受信状況、位置、衛星の状況などを視覚的に楽しむことができます。
 こちらよりダウンロードすることができます。

  http://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-02711


15_gt730_setuzoku.GIF
 GPS GT-720Fの信号を受信できるようにmbedのプログラミングを楽しみます。

mbedのプログラミング準備
 mbedをパソコンに接続します。

12_gt730_setuzoku.jpg
 以前は数万円もしたGPSモジュールが入手しやすい値段になってきました。mbedに接続してGPSを楽しみましょう。

GPS GT-720Fの紹介
 秋月電子通商で入手したGPS GT-720Fです。詳細は下記をご覧ください。
  http://akizukidenshi.com/catalog/g/gM-02711/

1_gt730_setuzoku.jpg





2011年5月: 月別アーカイブ

カテゴリ


Copyright (C) 2006-2015 CQ Publishing Co.,Ltd. All Rights Reserved.