W-SIM を使って PC から位置情報を取得できないのか?

| コメント(0) | トラックバック(0)

IMG_1200 

ロボカップジュニアの帰り、アドエスを手から滑らせてしまい、結構傷がついて悲しんでいる今日この頃・・・。

そんな中、ひとつの発想が頭をよぎる。

W-ZERO3 シリーズや、その他の WILLCOM 端末に使われている通信ユニット "W-SIM" というのは意外と高機能だ。(上図参照)

小さいくせに、これだけで通信できるし、基地局情報を使って位置情報まで取得できる。

実際、W-SIM から取得できる位置情報を活用したソフトがいくつかある。

ただ、この類のソフト、なぜかみんな Windows Mobile 用のソフトばかり。

確かに、携帯で GPS 代わりになるのは便利だ。

しかし、ノート PC でモバイルしながら、周辺の地図とかも検索したい。

位置情報を、PC からでも取得できないのか?

なんて発想が。

さっそく行動に移してみる。

 

IMG_1205 

まあ、条件としては、Advanced/W-ZERO3[es] を USB で PC に接続して、そこから位置情報が取得できればいい。

要するに、W-ZERO3 を GPS 代わり (?) に使うと。

とにかく、位置情報が PC で見れればいいのだ!!

 

そのためには、まず位置情報を取得する方法を知らなければいけない。

前述した、Windows Mobile 上で位置情報を取得するソフトたち。

これ、どうやって取得してるんだろう?

携帯端末上では簡単に取得できたとしても、意外と PC 上からは難しそうか?

軽く、Google で調べてみる。

 

と、結果はすぐに出てきた。

どうも、"ATコマンド" を叩いて、取得しているらしい。

しかし、PC 側から AT コマンドを叩くには、どうすればいいだろうか・・・。

アドエスの USB 接続モードには、Active Sync モードとモデムモード 2 種類あるが。

Active Sync モードでは無理そうなので、モデムモードから探ってみる。

 

image04 

思いついたことが一つある。

モデムモードでつなぐと、COM ポートができる。

ということは、この COM ポートに対して、ハイパーターミナルなり、TeraTerm なりでコマンドを叩けばいけるのではないかと。

やってみた。

 

image05 

予想通り、成功。

ちなみに、位置情報を取得する際の AT コマンドはこちら。

AT@LBC1 - 位置情報取得 ON

AT@LBC? - 位置情報を取得

一度、ON にしてあげれば、あとは連続で取得できる。

取得できる情報は、郵便番号と緯度・経度。

AT@LBC1
OK
AT@LBC?
3100852
N36:20:45
E140:27:16

OK

上の画像のように、こんな感じで帰ってくる。

GPS 代わりにするには十分な情報だ。

 

ちなみに、位置情報以外の AT コマンドももちろん OK。

上述したサイト に、いろいろな AT コマンドが記載されているので試してみるといい。

だけど、結構ヤバそうなコマンドもあるので、自己責任で。

壊れても知らない・・・。

電波状況の取得とかは、結構使えそう。

 

だけど、ひとつだけ問題が。

Google マップに使えねぇ~。

調べてみたところ、W-SIM から取得できる位置情報は "日本測地系" のものらしい。

Google マップに使われているのは "世界測地系" というもの。

どうも、若干違うらしい。

さらに、W-SIM は "度:分:秒" で取得してくるのに対して、Google マップは "度.少数" でアクセスしなければならない。

こりゃめんどくせぇ。

後者は、関数電卓で簡単に変換できるんだけど。

 

例えば・・・

W-SIM からの情報
N36:20:45
E140:27:16

小数点表示へ変換
N36.34583333
E140.4544444

世界測地系へ変換
N36.3490007428761
E140.451147396539

といった具合。

こちらのサイトを参考にした。

最初、関数電卓で小数点表示へ変換して、Google マップにアクセスして、変な所に移動するからおかしいなぁと思ってたんだけど。

こういった、規格の違いというか、乱立するのも良くないです。

これからは、世界標準の時代ですよ。

あ~ちなみに、Mapion とかは日本測地系の "度:分:秒" 表示なので、とっても簡単にアクセスできます。

 

というわけで、近々これに関連したプログラムでも作ってみようかと。

いや、もう作ったんですがwww

久しぶりに、まともなソフトウェア作りました。

でも、組み込み開発ばかりやってると、どうしても Windows アプリでも、同じような組かたしたくなるというか。

while(1) で break; を使った脱出を、使いたくなるというか。

while(1)
    if(PADR != 0x00) break;

みたいなね。

マイコンならいいですが、PC だと if に入るまで CPU 使用率がね。

いや、これは組み込みといっても、センサー関係扱ってる場合しか使わないか。

まあ、この話題は後で・・・。

 

追記:

これを利用して、軽いプログラムを作りました

 

余談...

image06

それと、これつないでる間は、電話かかってきても話し中になります。

(正確に言うと、5秒ぐらい通話になった後、勝手に切れる)

で、相手の電話番号がターミナルに表示されますw

いろいろいじってる途中に、担任から電話かかってきて気づきました。

なんか、W-SIM の仕組みがわかったような気がします・・・。

ちなみに、上の画像は電話を 2 回かけてみました。

1回目が家の電話から。2回目が非通知で。

非通知でも、これだと電話番号見えないか?って思ったけど。

ダメっぽいです。

トラックバック(0)

トラックバックURL: http://techno-st.net/mt/mt-tb.cgi/560

コメントする

2009年6月

  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        

最近のブログ記事

再度、また回線が...
なんでこうなるの~!! と、叫んでもし…
Skype ボタンの Messenger 版のようなものを作りました。
見てもらえばわかります、タイトルそ…
つくらぐ 勉強会 #2 が開催されて一週間も経ってしまいました...
あー、書こう、と思っていつのまにか…

for mobile

Ads

 - trial and error



track feed trial and error