たーさまの現在地はココ・・・・リアルタイムブログは復活です♪

一度は諦めかけていた北海道ツーリング中の位置通報・リアルタイムブログ
去年まで使っていたGoogle Latitude機能が廃止されてしまったためなのですが、なんとなんと、コメントでシロマさまから情報を頂きました! ありがとうございます。


さて、その機能は『今ココなう』。
スマフォやPCに専用のクライアントソフトをインストールすれば、GPS座標をサーバーに通知し続け、サーバー側でGoogle Maps上に位置をプロットしてくれる無料サービスです。

http://imakoko-gps.appspot.com/ 今ココなう!(β)

さっそくアカウント登録をして、クライアントソフトをスマフォにインストールして・・・・
さらにはAPIその他が公開されているので、私の現在位置だけを表示するようにしたら・・・・

f:id:vfr750f2:20130901181937j:plain
・【テスト中】運用テスト中のイメージ画像です

ばっちりプロットされました。


さらにいろいろ特性をつかむために実験すると、サーバー側で『位置通報は5分間しか保持されない』ので、クライアントソフトを停止させると5分後には現在位置不明』となってしまいます。
Google Latitudeでは、『位置通報は最終場所をずーっと保持』という仕様だったので、例えばツーリング中にキャンプで一泊する時、バイクから降りるときにスマフォを止めれば『そのキャンプ場に居るという情報で固定』されたのですが、これが出来ないということに。


ということは、(バイクキャンプ旅での電力供給という制約から)動いている時しか場所を伝えられないのか・・・・


しかし、APIは公開されていて、現在位置の取得やら現在位置の登録すらできる・・・・


というわけで、『現在位置をホールドする』プログラムを書きました。

仕様
  1. 1分に一度動作する。次の毎00秒までスリープして、2項以降を呼び出す。
  2. サーバーから、たーさまの現在位置(GPS座標)を取得して、記録しておく
  3. 次のルールに従い、現在位置の再登録が必要か判定する
    1. 2項でGPS座標が取得できないとき(5分ルールで現在位置が不明となった場合を想定)
    2. 2項で取得したGPS座標が4分間変化しない時(座標が1秒も変化しないということは、通信が途絶えていると考えられる)
  4. 現在位置の登録が必要と判定された場合、2項で最後に取得したGPS座標をサーバーに再登録する。
f:id:vfr750f2:20130901181938j:plain
・まったく手抜きのC言語プログラム ユーザー名&パスワードもハードコーディング!

これにより、4分間座標が全く変化しない場合は、そもそもクライアント側から位置通報がされていないだろうと判断して、同じ座標を上書き登録することで、サーバーのタイマーをリセットしてしまうのです。これなら、スマフォの位置通報を止めても、最終位置がホールドされるはずです。


このプログラムを、自宅のノートPCでずーっと動かしっぱなしにします。
副作用として、私の北海道ツーリング中のGPS座標が、1分間隔でPCに保存されるというメリットも。手持ちのGPSロガーの信頼性がいまいち低い状況でこれは非常に助かります。

https://…/2013/07/19/ 北海道ツー2013準備 ★ GPSロガーが限界なんです

f:id:vfr750f2:20130728150418j:plain
・非常に調子が悪い・・・・GPSロガー M-241c

そして本日、運動を兼ねて自転車で12kmほど移動しながら色々実証実験してきました(爆)
うんうんバッチリ! これなら北海道ツーリングでの使用になんにも問題なし!


来週末に『現在位置』ページをオープンしますね!