今、フィールドセンシングという授業に出てます。
おととい作ったGPS接続用クラス for C#.NETが、SFCで測地しても小田原沖に飛ばされる件だけど、やっぱり測地系が世界と日本で違うらしい。日本は50何番らしくて、補正しないといけないらしい。
というわけで修正までちょっとお待ち…
今、フィールドセンシングという授業に出てます。
おととい作ったGPS接続用クラス for C#.NETが、SFCで測地しても小田原沖に飛ばされる件だけど、やっぱり測地系が世界と日本で違うらしい。日本は50何番らしくて、補正しないといけないらしい。
というわけで修正までちょっとお待ち…
GPS BC-337と同じ挙動をする偽GPSをArduinoで作った。
なんでかというと、GPSの位置取得に時間がかかってしょうがないから。
曇っていたり屋内だと位置を取れないし、調子が悪いと屋外でも位置取得に1~5分ぐらいかかる事がある。しかもBC-337は仮想シリアルポートとして認識されるけどCFカード式なので、仮想シリアルポートに接続している間しか給電されない。
つまり、デバッグするたびに1~5分ぐらい待たされる
2回目で嫌になったのでArduinoで同じ挙動を再現した。
・SourceCode(Arduino 0005 Alpha)
大したモノでもなく、4800bpsでGPSと同じプロトコルで文字列を垂れ流すだけの偽GPS
前のGpsConnectorの記事のサンプルプロジェクトのGpsTestの方は、偽GPSを使用して作った。
奥出研の地獄合宿のワークショップで解説されてたBC-337 SiRF StarIIIを使うために、GPSをC#から扱うためのクラス「GpsConnector」を作ってみた。
ただし、Arduinoで作った偽GPSを使ったので、実機ではまだ試していない。
・sample project(VS2005)
・GpsConnectorLib.cs(for C#)
GPSで取得した座標に、Yahoo!Mapで移動するサンプルプロジェクト(GpsConnectorTestの方)
DNPで取った座標なのに小田原沖に飛ばされた
■使い方
GPSはシリアル接続なので、ポートとボーレートを指定して
GpsConnectorgps=newGpsConnector();
gps.PortName=”COM1″;
gps.BaudRate=4800;
gps.connect();
接続。