2011年01月31日
iPhoneでリアルタイムGPSロガー! Perl Script(その3) ZIP編!
昨年12月の那覇マラソンに参加した僕は、実際のレース中に、iPhoneからの位置情報を、このブログ上にリアルタイムで表示していました。
→ GPS那覇マラソン作戦! (iPhoneからリアルタイムで更新中)
途中、ハッシュタグ付きで、ツイートなども‥。
今回は、当時使用した、一連のPerlスクリプトのZIPと、設定方法を公開しちゃいます。
注:オリジナルのスクリプトは以下。 Keiyaさんのサイトで配布されているものです。。
→ 【GPSロガー】iPhoneのGPSをJavaScriptから使って自分の居場所をログる
僕がやったように、iPhoneを使って、誰でも位置情報を公開する事は簡単です。
以下、実際のスクリプト、利用方法等を、ざっと解説していきます。
今回のスクリプトは、WEBサーバ上で動く仕組みなので、まずはレンタルサーバが必要ですね。
最近はレンタルサーバも安くなりました。
月額105円で容量2GB (ロリポップ!)とか‥。
それと、グーグルマップの利用には、APIキーの取得も必要。
それぞれ、申し込み・設定方法等を説明すると長くなりますが、共に解説ページが充実しているので、迷う事は少ないでしょう。
サーバは適当なサービスなら、どれでも構いません。(多分、ロリポップならスクリプトが無改造で動くとは思います)
パソコン上のファイルをサーバに転送したり、設定するにはFTPソフトを使います。
FFFTPが使いやすいです(1.97b版以降推奨)。
スクリプトのZIPを置いておきます。
→ ダウンロード
内容:
オリジナルのKeiyaさんの内容と、かなり変更があります。
本体はiPhone用と、WEBページへの表示用の2つに分けました。
実際に使っていた物なので、動くと思いますが、特に動作保証等はありません。
また、個別の問い合わせはご勘弁願います。(このサイトは、「作る人」向けなので‥)
まずはiPhone用「loc1.cgi」。
特にパスワード等はありません。万が一、他の人がアクセスすると(データが)混乱するので、適当に名称を変えてください。
その際、ファイル内の8行目「my $script = 'loc1.cgi';」の部分も、変更した名称に修正しておきます。
表示用のスクリプトは、「km_1205.cgi」
こちらは、9行目にGoogle APIキーを入力します。
設定ができたら、ファイル一式をサーバに転送します。
パーミッションは、サーバの仕様に従います。
ロリポップだと、CGIファイルは700。ログ用のTXTファイルは600でいいでしょう。
まずは、iPhoneのSafariから、loc1.cgiを開きます。
レンタルサーバの場合は、
http://提供されたURL/loc1.cgi
と、ブラウザーに打ち込みます。
ちゃんと動いていれば、以下のような表示になると思います。
左:設定画面。
上側でインターバル(間隔)を秒数で指定。
下側で位置情報の精度を指定。
右:送信画面。
現在の緯度経度、誤差情報、送信回数、最後に送信した時間。等を表示します。
下部の「nau.cgi」は、ツイート用です。
ある程度、位置情報を送ったら、今度はマップを見てみましょう。
同じく、
http://提供されたURL/km_1205.cgi
を、PCのブラウザーで開きます。
なお、位置の精度が悪い場合は、バックグラウンドで他のGPSソフトを動かしておくと、数メートル以内の数値を得られます。
マラソン前日、ついでに作ったスクリプト。
「nau.cgi」(名前は、考える暇が無かったので‥そのまま 笑)
走りながらiPhoneでツイートするのは辛いので、簡単にできるように作ってみました。
前回紹介した位置計測のスクリプトに、逆ジオコーディングの仕組みをくっ付けたもの
逆ジオコーディングは、以下のサイトを参考にしています。
→ iPhoneのGPSを使用して現在位置の住所を表示する方法
位置と距離情報を保持して、ツイッターの自分のページに飛ばす事ができます(アカウント必要)。
後は、ツイートボタンを押せば、投稿完了。
走りながらは無理だけど、時々歩きながら、iPhoneから2ステップでツイートできました。
というわけで、駆け足の3回シリーズで、iPhoneのGPSネタを書いてみました。
この仕組を応用すると、他にもいろいろ遊ぶ事ができます。
以下の記事も、それぞれ今回のスクリプトの、別バージョンです。
iPhoneって、とっても楽しい「おもちゃ」ですね。
▲左:Wi-Fi(無線LAN)の電波到達距離を、iPhoneで計測してみた! / 右:高速モバイルインターネット「WiMAX」実測データ。沖縄・北谷編
関連記事:
iPhoneでリアルタイムGPSロガー! Perl Script(その1)
iPhoneでリアルタイムGPSロガー! Perl Script(その2)
→ GPS那覇マラソン作戦! (iPhoneからリアルタイムで更新中)
途中、ハッシュタグ付きで、ツイートなども‥。
今回は、当時使用した、一連のPerlスクリプトのZIPと、設定方法を公開しちゃいます。
注:オリジナルのスクリプトは以下。 Keiyaさんのサイトで配布されているものです。。
→ 【GPSロガー】iPhoneのGPSをJavaScriptから使って自分の居場所をログる
必要な物:レンタルサーバとAPIキー、FTPソフト
僕がやったように、iPhoneを使って、誰でも位置情報を公開する事は簡単です。
以下、実際のスクリプト、利用方法等を、ざっと解説していきます。
今回のスクリプトは、WEBサーバ上で動く仕組みなので、まずはレンタルサーバが必要ですね。
最近はレンタルサーバも安くなりました。
月額105円で容量2GB (ロリポップ!)とか‥。
それと、グーグルマップの利用には、APIキーの取得も必要。
それぞれ、申し込み・設定方法等を説明すると長くなりますが、共に解説ページが充実しているので、迷う事は少ないでしょう。
サーバは適当なサービスなら、どれでも構いません。(多分、ロリポップならスクリプトが無改造で動くとは思います)
パソコン上のファイルをサーバに転送したり、設定するにはFTPソフトを使います。
FFFTPが使いやすいです(1.97b版以降推奨)。
スクリプト本体
スクリプトのZIPを置いておきます。
→ ダウンロード
内容:
loc1.cgi | iPhoneの位置情報を送るスクリプト → 解説ページ |
log.txt | ログファイル (中身は空です) |
km_1205.cgi | マップを表示するスクリプト → 解説ページ |
nau.cgi | ツイッター投稿用スクリプト |
オリジナルのKeiyaさんの内容と、かなり変更があります。
本体はiPhone用と、WEBページへの表示用の2つに分けました。
実際に使っていた物なので、動くと思いますが、特に動作保証等はありません。
また、個別の問い合わせはご勘弁願います。(このサイトは、「作る人」向けなので‥)
設定方法
まずはiPhone用「loc1.cgi」。
特にパスワード等はありません。万が一、他の人がアクセスすると(データが)混乱するので、適当に名称を変えてください。
その際、ファイル内の8行目「my $script = 'loc1.cgi';」の部分も、変更した名称に修正しておきます。
表示用のスクリプトは、「km_1205.cgi」
こちらは、9行目にGoogle APIキーを入力します。
設定ができたら、ファイル一式をサーバに転送します。
パーミッションは、サーバの仕様に従います。
ロリポップだと、CGIファイルは700。ログ用のTXTファイルは600でいいでしょう。
使用方法
まずは、iPhoneのSafariから、loc1.cgiを開きます。
レンタルサーバの場合は、
http://提供されたURL/loc1.cgi
と、ブラウザーに打ち込みます。
ちゃんと動いていれば、以下のような表示になると思います。
左:設定画面。
上側でインターバル(間隔)を秒数で指定。
下側で位置情報の精度を指定。
右:送信画面。
現在の緯度経度、誤差情報、送信回数、最後に送信した時間。等を表示します。
下部の「nau.cgi」は、ツイート用です。
ある程度、位置情報を送ったら、今度はマップを見てみましょう。
同じく、
http://提供されたURL/km_1205.cgi
を、PCのブラウザーで開きます。
なお、位置の精度が悪い場合は、バックグラウンドで他のGPSソフトを動かしておくと、数メートル以内の数値を得られます。
おまけ。位置情報をツイート!
マラソン前日、ついでに作ったスクリプト。
「nau.cgi」(名前は、考える暇が無かったので‥そのまま 笑)
走りながらiPhoneでツイートするのは辛いので、簡単にできるように作ってみました。
前回紹介した位置計測のスクリプトに、逆ジオコーディングの仕組みをくっ付けたもの
逆ジオコーディングは、以下のサイトを参考にしています。
→ iPhoneのGPSを使用して現在位置の住所を表示する方法
位置と距離情報を保持して、ツイッターの自分のページに飛ばす事ができます(アカウント必要)。
後は、ツイートボタンを押せば、投稿完了。
走りながらは無理だけど、時々歩きながら、iPhoneから2ステップでツイートできました。
というわけで、駆け足の3回シリーズで、iPhoneのGPSネタを書いてみました。
この仕組を応用すると、他にもいろいろ遊ぶ事ができます。
以下の記事も、それぞれ今回のスクリプトの、別バージョンです。
iPhoneって、とっても楽しい「おもちゃ」ですね。
▲左:Wi-Fi(無線LAN)の電波到達距離を、iPhoneで計測してみた! / 右:高速モバイルインターネット「WiMAX」実測データ。沖縄・北谷編
関連記事:
iPhoneでリアルタイムGPSロガー! Perl Script(その1)
iPhoneでリアルタイムGPSロガー! Perl Script(その2)
Posted by IGU at 20:39│Comments(3)
│iPhone
この記事へのコメント
素晴らしいスクリプトをありがとうございます。
さっそく試してみたのですが、iPhone上からloc1.cgiを開き、
設定画面、送信画面までは進んだのですが、
km_1205.cgiをPCから開いても何も表示されず困っております。
また、送信画面も緯度軽度・誤差情報については更新されていくのですが、
送信回数、最後に送信した時間については一切表示(更新)されません。
log.txtファイルも空のままで、どうやらiPhoneからの位置情報が
サーバー側で保存されていないようです。
(パーミッションはフルコントロールで試してみたのですが・・・)
スクリプトファイルをのぞいてみて、xmlhttp.jsの記載があったため、
こちらもダウンロードしてスクリプトと同一箇所に保存してみたのですが、
やっぱり表示されませんでした。
あまりスクリプト関連について詳しくなく、大変恐縮ですが
何かヒントになるようなご助言をいただければ幸いです。
さっそく試してみたのですが、iPhone上からloc1.cgiを開き、
設定画面、送信画面までは進んだのですが、
km_1205.cgiをPCから開いても何も表示されず困っております。
また、送信画面も緯度軽度・誤差情報については更新されていくのですが、
送信回数、最後に送信した時間については一切表示(更新)されません。
log.txtファイルも空のままで、どうやらiPhoneからの位置情報が
サーバー側で保存されていないようです。
(パーミッションはフルコントロールで試してみたのですが・・・)
スクリプトファイルをのぞいてみて、xmlhttp.jsの記載があったため、
こちらもダウンロードしてスクリプトと同一箇所に保存してみたのですが、
やっぱり表示されませんでした。
あまりスクリプト関連について詳しくなく、大変恐縮ですが
何かヒントになるようなご助言をいただければ幸いです。
Posted by cobber at 2011年02月13日 18:24
送信画面も緯度軽度・誤差情報が表示されているなら、一応動いていますね。
ただ、設定した誤差以下の数値で無いと、送信しない仕様になっています。
Tolerance:の数値は、どのくらいですか?
accuracy:は、初期設定で31にしていますが、もしTolerance: がそれ以上だと、送信されません。
試しに、Tolerance:に2000等の数字を入れてみて下さい。
それでダメなら、メッセージを‥。
ただ、設定した誤差以下の数値で無いと、送信しない仕様になっています。
Tolerance:の数値は、どのくらいですか?
accuracy:は、初期設定で31にしていますが、もしTolerance: がそれ以上だと、送信されません。
試しに、Tolerance:に2000等の数字を入れてみて下さい。
それでダメなら、メッセージを‥。
Posted by IGU at 2011年02月13日 23:09
スクリプトの提供、ありがとうございます!!
レーシングカートの周回ラップなど、自分で色々できないかと模索していたところ、本Webページを発見しました!
色々スクリプトを変えて試したいと思います!!
うまく行った際には、報告できればと思います。
お礼まで。
レーシングカートの周回ラップなど、自分で色々できないかと模索していたところ、本Webページを発見しました!
色々スクリプトを変えて試したいと思います!!
うまく行った際には、報告できればと思います。
お礼まで。
Posted by kaji at 2011年12月07日 01:42
※このブログではブログの持ち主が承認した後、コメントが反映される設定です。