今週放送予定の資料をアップしておきます。

毎週土曜21:00~24:00位まで?週刊Android
Android、Arduino ソフト~ハードまで、IT関連情報、スポーツ(モトクロス等)、海外ドラマ(洋限定)など、
すき放題、やっちゃいますw

twitter:@weeklyandroidjp
USTREAM:http://www.ustream.tv/channel/dylanmacky

ニュース(10月):http://p.tl/Aey6

月刊Android SNS: http://p.tl/4HTR
↑↑↑↑↑↑↑↑↑↑↑↑↑↑
このアタリのURLは毎週変更になる意可能性があります。

今週は、「夜はハードに」Vol10です。

・ロギングできるように、microSDカードシールドを作成

・電池を使った電源回路を修正し、イヨイヨ外で、GPS座標をロギングできるか!?

1.GT-723(GPSモジュール)とPC(GPS Viewer)接続ケーブル

その辺りにいくらでも転がっていますが、回路図?です。

NEMA - National Electrical Manufacturers Association

NMEA 0813:GPS受信(他にも多数)規格をあらわしています。アメリカの規格です。

AN0003:SkyTraq Venus 6 GPS Receiver用のコマンドです。

しかし、GPS Viewerをつなげないと、AN0003のコマンドをうけつけてくれないんです。
しかも、NMEAのテキスト受信をとめないと、AN0003のバイナリコマンドを

受け付けないようです。
でも、そのコマンドは非公開なのか?いくら検索しても出てこない。
自分で調べるしかないのかぁー。
とりあえず、設定を変えるだけなら、以下の配線してUSB-RS232C変換ケーブルでつなげれば、
設定変更はできます。


WeeklyAndroidJpのブログ

2.GT-723F(要確認GT-720F)バグ?

えー誰も何も書いてないなんて!

Webで検索すると、デフォルトの設定のままで接続して使用している方が多いようです。

しかし!NMEAの出力を必用なものだけにして、電力消費を抑えるとか、

日付が欲しくて、ZDAフォーマットが欲しい!とか思った方は少ないようですorz


結構Webで検索したが、結局なんだかんだと、GPS Viewerで設定を行い

設定済みのモジュールをH8、Arduino、PICでつなげるやり方を殆どの方が

行っているようですorz


ここでは、GT-723F(多分GT-720Fも含む)の設定で、必要だと思われる

バイナリコマンド(AN0003 Venus5、6)において、仕様書通りにコマンドを送っても

反応しなかったコマンドをGPS Viewerのコンソールからコマンドボタンが

クリックされたときに送られるバイナリコマンドをそのまま記載してきます。


結構長くはまったw

コマンドフォーマットの説明をします。マニュアルマンマですw

ココを見れば分りますが、分らない方は番組見てください。説明します。

URL:http://www.sparkfun.com/datasheets/GPS/Modules/AN0003_v1.4.8.pdf

| 1' |

| 2' | 3' |

| 1 | 2 |3 |4 |5 | 6 |

A0 A1 00 02 09 01 08 0D 0A


1’:Checksum range

2’:Payload Length

3’:Payload


1:Start of Sequence

2:Payload Length

3:Message ID

4:Message Body

5:Checksum

6:End of Sequence


1.「NMEA0183」ボタン(このフォーマットでの受信開始)

A0 A1 00 02 09 01 08 0D 0A

2.「No Output」ボタン(GPSモジュールからの出力を停止)

A0 A1 00 02 09 00 09 0D 0A

面倒臭いと思って、チップの初期化でGPSモジュールの設定も

しちゃえ!って方は気付いたのかなぁ?

コマンドは09でマニュアルには、

MessageID:1Byte

Type:1Byte

Attributes:1Byte

となっているが、どうもAttributesが存在しないようだ。

なのでPayload Lengthも32Bytesではなく2Bytesになるわけです。

当然、フォーマットが異なる以上受け付けないんでしょうね。


何で上記のコマンドが必要か?

NMEAの受信中はNMEAの受信フォーマット08コマンドで

変更できないみたいなので、やる前から何と無く、、、

どうやってACK、NACK返すんだと思ってはいたのですが、

やっぱり無理でwwwだって、NMEAも混ざってくるんでしょ?

ムリムリwww


で、NMEAの受信を停止できないのかな?

と思ってマニュアルを見たわけです。案の定ありました。


しかーし、チェックサムも手計算して、

おかしな値を送っていないかをLCDに表示したり、

イロイロやってけど、ムリクリ送ってくるので、

RS232Cモニターを作ってやろうと思ったら

(部品発注してしまったorz)モニタソフトがあったので

開いてるポートのバッファの横取りってできるのか?

とか思いながら、インストールしたら取れたので、OK!

その結果をあげておきました。

ちなみに、まだ、試してませんよーw

なぜだか、同じコマンドをArduinoから

送っても反応しないorz





3.ソース
少々、おまちをぉー