Home > PHP > au携帯をGPS-CS1Kにする!

au携帯をGPS-CS1Kにする!

元ネタ;au携帯でハンディGPS (モイモラ)

ほほー!と思い、自分でもやってみたくなって色々調べてみました。
ちなみにタイトルのGPS-CS1KとはソニーがだしたGPSユニットです。ニッチな市場(笑)に大人気ぽくてamazonでも在庫切れのようです。

au携帯GPSで位置情報を連続取得する (20:09) – いしなお! (2005-06-03)

こちらに載ってるPHPソースをそのまま使えばできるなあと思い、早速設置してみたのですがうちの携帯W21CAIIではスクリプトの自動リロード(60秒毎に設定)後、GPS情報取得が連続でおこってしまい、携帯の電源を切るまで止まってくれません・・・。

crawler.jp::blog – au携帯GPSで位置情報を連続取得する(W41CA)

以前、W32SAを借りて実験したときにはこの方法で動いていました。しかし、先日購入したW41CAでは、で指定する待ち時間が短い場合、スクリプトのリロード後、なぜか位置情報の問い合わせをノーウェイトで実行し、問い合わせが終わる前に、その問い合わせを中断して次の問い合わせを始めてしまいます。これを繰り返してしまい、結果位置情報が取れません。。。待ち時間を10分くらいにしないとこの現象が起こってしまうので、これでは使い物になりません。

スクリプトをリロードしたときに待ち時間の値がリセットされていんじゃないかという疑惑にたどり着きました。そこで、待ち時間が切れたときに同じスクリプトを呼び出すのではなくて、別のスクリプトを用意して、交互に呼び合うようにしたところ、うまく動きました。

W41CAですが、同じカシオの携帯で同様の状態になっている人を発見しました。この人はスクリプトを2つに分けて、それぞれを交互に読み込むようにすることで、この問題を回避していましたが、いまいちスマートではないような気がします・・・。
モイモラではそんな回りくどいやり方はしてなかったように感じたのですが・・・。

はっ!と気がつきました。
モイモラでのリロード時間は1分(60秒)ではなくもっと短い時間でリロードしていました。
ものは試しとリロード時間を30秒に設定して動かしてみると・・・見事成功しました!
どうやらカシオ携帯はezwebのリロード設定にバグ(?)があるようですね。

ソース
(といっても上記サイトにあるもののリロード時間を変えただけ)

<?php
  $interval = 30 * 10;  //refresh interval(sec)
  $scriptUrl = 'hogehoge.cgi';  //this script url
  $subscriberId = NULL; //your subscriber id or NULL

  if (isset($subscriberId) && $subscriberId != $_SERVER['HTTP_X_UP_SUBNO']) {
    die('invalid subscriber-id');
  }

  $now = time();
  if (isset($_GET['lat'])) {
    $lat = $_GET['lat'];
    $lon = $_GET['lon'];

    // メールで送るなりファイルやDBに保存するなり
  }
  $time_echo = date('Y-m-d H:i:s', $now);
  $lat_echo = isset($lat) ? $lat : 'UNKNOWN';
  $lon_echo = isset($lon) ? $lon : 'UNKNOWN';

  header('content-type: text/x-hdml;charset=shift_jis');
  print <<< DOC_END
<HDML VERSION=3.1 TTL=0>
 <DISPLAY TIMERDEFAULT=$interval>
 <ACTION TYPE=ONTIMER TASK=GO DEST="device:gpsone?url=$scriptUrl&ver=1&datum=0&unit=1">
   GPS位置計測! (1分ごと)<BR>
   NOW: $time_echo<BR>
   LAT: $lat_echo<BR>
   LON: $lon_echo<BR>
   <a href="device:gpsone?url=$scriptUrl&ver=1&datum=0&unit=1">REFRESH!</a>
 </DISPLAY>
</HDML>
DOC_END;
?>

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.planet-ape.net/blog/archives/383/trackback
Listed below are links to weblogs that reference
au携帯をGPS-CS1Kにする! from planet-ape|blog

Home > PHP > au携帯をGPS-CS1Kにする!

Search
Feeds
Meta

Return to page top