無題 @ はてな このページをアンテナに追加 RSSフィード

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |

2008-05-03

GPSリアルタイムトラッキングしてみた

パソコンを持って、外に出よう!!

秋月のGPSレシーバが使える事が分かったので、1秒ごとに取得できるGPSからの情報をGoogle Maps APIを使ってマップに表示してみました。

まずは、GPSレシーバが裸だったのでケースを作りました。

ケース作りました

ジャストサイズです。

そして、GPSリアルタイムトラッキングシステムの概要↓

リアルタイムマップ表示アプリ

USB(仮想シリアルポート)からデータを受け取り、FlexにGPS情報を渡すサーバpythonで書かれています。XMLで受け渡すのもなんなので、pyAMFを使ってみました。RemoteObjectでウハウハです。pyAMFは、Google App Engineでも使えるので勉強しておくと良いかもしれない!no title

表示部は、この前作ったBlazeDSの習作をそのまま流用しています。

見た目はこんな感じ。

GPSレシーバを持って歩いてみた

よくあるカーナビっぽい見た目です。

で、実際に動いているところもがんばって撮ってみました。

D

無線LANの範囲でしか動けないので、建物の周りをうろうろしています。誤差はほぼない感じです。レスポンスが遅い気がしますが、GPS自体使った事がないのでよくわかりません。なによりも、パソコンを持って歩くのでモバイルどころではありません!

しかし手は打っています。無線インターネットはe-mobileで大丈夫です。PCとGPSはUSB接続なのでどっかのCPUlinuxのっけたら動くかなと思っています。

あんまり関係ありませんが、よくよく考えると、リアルタイムで位置情報を公開したい!というのは技術が創りだした欲望ですね。

追記

ソースはこちらです。

参考

python
pyAMF
Flex
Google Maps API
回路

関西人関西人 2008/05/12 12:23 すごいですね!!!これって、Windowsでも可能ですか?

hidep22hidep22 2008/05/12 12:36 >関西人さん
ありがとうございます。
上のはMacで動いていますが、Windowsでも動作可能だと思います。
GPSデータサーバはpythonで書かれており、コード内のシリアルポート名を変更すればWindowsでも動きます。(python, pySerial, PyAMFが必要です)
また、表示部はswf+jsなので、これもwindows上で動きます。

関西人関西人 2008/05/12 13:16 早速のご返答ありがとうございます!
しかし、何度見ても感動します!!
私のノートPC(VISTA)にはApach+PHPが入っておりますが、本気でこれと同様なものを作ろうとすると、Pythonが動く環境(pySerial, PyAMF含む)とハード類とそろえるとできてしまうのでしょうか??
同じような質問ですみません(o_ _)o))ペコ

hidep22hidep22 2008/05/12 16:32 先ほど確認しました。ちゃんとwindowsでも使えます。
http://www.flickr.com/photos/7499670@N08/2485986910/sizes/l/
外に出ていないのでinvalid(赤マーク)のままですが、GPSモジュール→GPSサーバ→Flashのデータの受け渡しはちゃんと行われています。
Apacheも必要なく、python(2.5で確認、pySerial PyAMFをそれぞれインストール)とハード(秋月GPSとUSB-シリアル変換モジュール)を揃えたら使えるようになります。ただ、windowsでCOMポートを使うためにWin32 Extensions for Python(http://starship.python.net/crew/mhammond/win32/Downloads.html)をインストールする必要があります。

関西人関西人 2008/05/12 18:57 おおっ!!!なんと、詳しい説明有難うございます!!
そうですか!Apacheも必要なくていいんですね。
まだ、何もそろっていないですが、ドキドキ楽しみです。
ハードからそろえていきたいと思います(*゜∀゜)
動いたら報告しますね☆

hidep22hidep22 2008/05/12 19:12 がんばってください!
困ったことがあればお気軽にコメントしてくださいね。私もいっしょに考えますので^^
近々これをさらにバージョンアップさせたものを公開する予定ですので、それも合わせてお楽しみに。

sebassebas 2008/08/15 13:16 初めまして。ネットでまさにこの方法を探していた者でして、
たどり着いてyoutubeの動画を拝見したときはこれだ!と感動しました。
大変すばらしいものを公開ありがとうございました。

私も早速関西人さんのようにハードをそろえて実験したいと思います。
森林での利用を考えているので、進展ありましたらご報告しますー!

hidep22hidep22 2008/09/04 04:45 >sebas様
リプライ遅れてすみません。
森林での利用はおもしろそうですね。
報告お待ちしております!

sebassebas 2008/09/15 07:23 コメントレスどうもです!私事ですみませんが先日emobileに加入、
Eeepc901とダウンスキャンコンバータ、i-beanというHMDを購入しまして
手ぶらでも位置確認できるようにできないかなーとたくらんでおります。
肝心の秋月のGPSが(電子工作がはじめてなもので)なかなか前に進んで
おりませんが…
ところで、同一マップ上に他人の位置情報も表示できたら面白いなあ、
と思いました。
ハイキングでの安全性を高めたり、サバイバルゲームでレーダーっぽく扱った
り… 携帯+GPSのみの構成で、(先生だけモニタリングして)小学生の遠足で迷子の予防につかったり。

なまえなまえ 2008/10/05 03:04 すげええええええええええええ!!!!!!!
GoogleAPIとGPSモジュールを組み合わせるなんて
考えもしなかったです。
動画の矢印が動いている様子が見事で驚愕しました

hidep22hidep22 2008/11/16 07:36 レスが遅れてしまい申し訳ございません;;

☆sebasさん
>Eeepc901とダウンスキャンコンバータ、i-beanというHMDを購入しまして
>手ぶらでも位置確認できるようにできないかなーとたくらんでおります。
なるほど。eeepcですか。おもしろそうですね。

>ところで、同一マップ上に他人の位置情報も表示できたら面白いなあ、
そういうのはiphoneとかでやると面白そうですね。RoRやBlazeDSで座標の共有は簡単にできると思います。コンテンツを工夫すればもっと面白くなりそうですね。以前からドラコンレーダーみたいなものを考えておりました。PCと接続しないといけないのがめんどくさいので、今度は組み込みLinuxとe-mobileとGPSを繋げたものを作ろうかなと思っています。

製作頑張って下さい!

☆なまえさん
もっとおもしろいものが作りたいですね!

kimitoshiiekimitoshiie 2009/08/26 14:18 ガーミン社のGPSではできるのでしょうか?
私も作ってみたいと思います。
あと、初歩的なことですが、JAVAではなくpythonでないといけないのでしょうか?

hidep22hidep22 2009/09/21 02:52 返事が遅れまして申し訳ございません!

最近GPSの情報を見ていないので、申し訳ないのですが、ガーミン社はわからないですね。。
使えるGPSモジュールは、GPSの生情報を仮想シリアルポートからリアルタイムに取得できるタイプのみです。
pythonでやっていることは、仮想シリアルポートからのGPS情報をflashに渡すだけのプロキシ的な役割をしているので、Javaでも実装は可能です。
この製作記事自体があまり丁寧なものではないので、今月中にわかりやすい組み立て資料を作ってみようかなと思っています。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
Connection: close