ひとりあそび協会でタグ「携帯電話」が付けられているもの
やっぱり携帯サイトを作るぞ(クレヨンしんちゃん風に)の続き。
とりあえずこのページがそれ。アクセスしたときにPC、iモード、SoftBank、auそれぞれで別のページを表示するようにしてみた。とは言っても作りこみはしてなくて、PCから見たときはiモードに誘導するためのQRコード画像を表示、SoftBankとauではテキストでSoftBank、auという文字を表示しているだけ。たしかこの2つのキャリアはhtmlタグ(のようなもの)が異なるので、後日ちゃんと仕様にあわせなきゃいけない。「ドコモ専用です」と表示させるだけなんだけど。
んでiモードからアクセスするとiモード用のページが表示される。これは前回作って放り出したものを、仕組みを忘れてよくわからないまま使い回している。とりあえずgoogleマップの地図画像を使うと上手く表示されないことがあるので、Yahoo!の同等サービスを使おうとしていたことは覚えている。あとGPSの位置測定基準が2種類あるようなので、その両方に対応できるようにしなければいけない。世界測地系とか何とか。
経度緯度から住所を取り出すapiが頻繁に503エラーになるので、取得できなかったときにはメッセージを表示するようにした。
$url = 'http://nishioka.sakura.ne.jp/google/ws.php?lon='.$lon0.'&lat='.$lat0.'&format=simple';
@$aryaddress = file( $url );
if( $aryaddress == "" ){$err = "住所取得に失敗しました(503)";}
さてさて。次はどうしようかな。
去年秋にGPSを使った携帯サイトを作りかけていた。そのときはまだGPSに連動していなかったgoogleマップのiアプリに所在地を渡して擬似的に連動させるのが目的だったんだけど、やっぱりというか当然というか、いろいろやっているうちにgoogleマップiアプリがGPSに対応するようになったので作るのが面倒になって…飽きちゃった。
けど、そのときについでに作った「現在地をメールで送る機能」は思い起こせばなかなか便利なものだった。携帯で写真を撮りそのままメモとして自分に送ったり、「今ここにいるよ~」と友達に送ったりと、単純ながら使える。
そこで忘れたことを復習しながら、このシンプルな機能に特化した携帯サイトを完成させようと思う。内容はこんな感じ
- トップページにアクセスしたときにPCと携帯に自動的に振り分け
- PCからアクセスしたときはサイトの説明とQRコードを表示
- 携帯(iモード)からアクセスしたときは位置取得ボタンを表示→位置取得→メールリンク表示
- メール内に地図画像へのリンク(phpを挟んでURL短縮化)
とりあえずiモードでメーラーを起動するときはタイトル30バイト、本文500バイト以内でurlエンコードが必要(→iモード対応HTMLタグ一覧 : subject, body属性 | サービス・機能 | NTTドコモ)
インターネットには便利な無料サービスがいろいろあるもので、Priea(プリア) 無料写真プリントサービスもその一つだ。
デジカメで撮影した画像を無料で写真に焼いて送ってくれるというこのサービス。そのうち使ってみようとブックマークに入れただけで利用しないまま今に至るのだが、なんと 1/22 からサービスの制限がきつくなるらしい。
現在の無料プリントサービスは1ヶ月に1回、30枚までだが、これが 1/22 以降は上限が10枚までになる。またサイトに画像をアップロードできるデータ容量も現在の 2GB が 2/1 以降は 200MB までになる。(Prieaサービス内容変更についてのお知らせ)
無料サービスだとはいえ、利用しないうちに縮小してしまうとなぜか損をした気になる。今のところ現像したい写真は特に無いのだが、残り 9日間のうちに携帯電話のカメラを使って何か写真を撮ってやろうという気になった。もちろん上限の30枚。
Windows Live メッセンジャー(MSN メッセンジャー)の i アプリを F904i で使用した感想を書いてみる。結論から書くと、このアプリはお勧めだ。ただし注意点がいくつかある。
- あらかじめメッセンジャーのアカウントを作っておく必要がある。PC でサインインしている最中に携帯から同じアカウントでサインインすると、PC での接続は自動的に切断される。逆に携帯からサインインしている最中に PC でサインインすると、携帯側が自動的に切断される。
- ファイルの送信、受信は出来ない。相手がこちらにファイルを送った場合、こちらの画面には何も表示されない。
- こちらがアプリを終了したりアプリでサインアウト処理をしても相手側にはすぐに反映されず、しばらくの間はサインインしたままの状態に見えるらしい。
- 一定時間メッセージの送信をしないと、自動的にサインアウトする。そしてそこから再サインインすると、サインアウトする直前に送ったメッセージがサイド相手に届くらしい。
このようにファイルのやり取りとサインイン/サインアウト関係に弱さはある。けれど、どこからでもメッセンジャーを利用できるのはそれ以上に便利だ。例えば急に教わりたいことがあって、しかし相手に電話できない状況でも相手とリアルタイムでのやり取りが出来た。そんな追い込まれた状況はあまり無いとしても、ラーメン屋でラーメンを食べながら実況したり、メッセンジャーでリアルタイムで誘導されながら移動して遊んだりといった使い方も楽しかった。
ファイル送受信については、F904iの場合は i アプリを起動しながらメールの送受信をすることでメッセンジャーのファイル送受信の代用とすることが出来る。i アプリを起動したままメールを作成し、その添付ファイルとしてカメラを起動し写真をとる場合、手ぶれ防止機能が使えなくなることに注意。
とりあえず Windows Live メッセンジャー(MSN メッセンジャー)をやっている人はこのアプリを入れておくと、きっと何かの役にたつことだろう。
いよいよ GPS で住所を取得して google マップⅰアプリにコピペで渡せる仕組みを作ってみた。それだけではつまらないので現在地の地図画像を表示し、ついでに現在地をメールで送れるようにした。
地図画像はこちらのブログ( google local の地図画像を抜き出して使う - ZeroMemory )を参考に、Google のサービスを利用した。経度緯度を数字の桁(ドット)を取ってそのまま突っ込んでみたところ、地図がちゃんと表示されなかった。これは小数点以下6桁までに数字を丸めたら上手くいった。
メール送信のリンク部分では、このようにメールタイトルとメール本文を渡している。
<a href="mailto:?subject=~~~&body=~~~">現在地をメールで送る</a>
メール本文中の改行コードは %0D%0A である。
またメール本文中にも Google の地図画像へのリンク URL を記載しているが、文字数を節約するために経度緯度情報のみで一旦自分のサーバに飛ばし、そこから Google のリンク URL にリダイレクトしている。
出来たのがこのページ。すこし使ってみたところ、(1) InvGeoCoder から住所を取得する際に 503 エラーが出ることがある(2) Google の地図が正しく生成されず、黒、青色(海)、ベージュ色(地面)のベタ塗り画像になることがある、という問題が出てきた。
(1)に関してはエラーの表示と表示の更新を促すメッセージを表示するようにし、(2)は Yahoo の地図画像生成サービスがあるようなのでそっちに変更して様子を見るつもり。

いよいよ GPS から現在位置情報を取得してみるのだ。技術情報はドコモのサイトにあるにはあるが、簡素すぎてわかり難かった。要するにこういうことだ。
Aタグ
<a href="http://(自分の作った、次に飛ばしたいページ)" lcs>
FORMタグ
<form method="get" action="http://(自分の作った、次に飛ばしたいページ)" lcs>
<input type="submit" name="test" value="検索">
</form>
このように a タグ、form タグの最後に lcs を付ける。そしてそのリンクやボタンをクリックすると携帯の GPS 機能が立ち上がり、位置情報送信の許可をすると以下の URL にジャンプする。
http://(自分の作った、次に飛ばしたいページ)?lat=%2B35.00.35.600&lon=%2B135.41.35.600&geo=wgs84&x-acc=3
で、これら4つの値を拾えばいい。ドコモの説明の例では http://www.docomo.co.jp/gps.cgi?~ と書いてあったから、オープンiエリアの位置情報取得と同様にドコモのサーバにアクセスしないといけないのかと思ったよ。
これで軽度・緯度が取得できたのだが、60進法の度分秒での表記なので10進法表記に変換する。この計算式はこちらのブログを参考にさせて頂いた:経度・緯度を60進法から10進法へ変換 - F.Ko-Jiの「一秒後は未来」
さらに変換した経度・緯度から住所を取得する。これは InvGeoCoder という WebService をそのまま利用させて頂いた。
これで GPS から現在地住所を取得できるようになった。これから何をしたいのかというと、GPS の機能がない Googleマップiアプリに対して手動コピペで現在地住所を渡して、Googleマップiアプリで「今いる場所の航空写真」を見れるようにしたいのだ。

前回オープンiエリアの位置情報(エリアコード)を取得するところまでいったので、今回はそのエリアコードから詳細情報を取得する部分を付け加えた。といっても特に難しいことはなくて、「iarea00000(エリアコード:5桁の数字).txt」というエリアデータのファイルを読み込むだけ。するとその中にエリア名や沢山の緯度経度情報がコンマ区切りで入っているという訳。
出来たのがこのページ。データを読み込んで表示させるのはすぐに出来たが、悪い予感が的中して文字によるエリア名の表示部分が文字化けしてしまう(「溝の口」の「溝」、「港北ニュータウン」の「港」)。これは php スクリプトとエリアデータの文字コードが shift-jis なのが原因ではないかと思う。shift-jis で php スクリプトを作るのは気持ち悪いけれど、docomo の携帯サイトは shift-jis で作らないといけみたいなので仕方が無い。
いろいろ考えれば対応方法を思いつくかもしれないけれど、とりあえず今回はオープンiエリアを取得する事が目的だったので、深追いせずにこれでよしとする。次はいよいよ GPS に挑戦するのだ。

ネットでいろいろ見ているうちに、iモードの web ページから位置情報を取得できることを知った。ドコモ公式メニューのグルメ・クーポン系サイトでよく見かける手法だが、自分でも簡単に出来るという事には気づかなかった。
現在、ドコモの携帯端末からその位置情報を取得する方法はオープンiエリアと GPS の2通りがあるが、まずは簡単そうなオープンiエリアでチャレンジすることにした。
早速ドコモのサイトでオープンiエリアの説明書に目を通してみたところ、こちら(自分が作成する iモードの web ページ)から A タグか FORM タグでドコモ指定のアドレスにアクセスするとオープンiエリアのエリアコードが返ってくるという仕組みであることがわかった。
久しぶりの php スクリプト作成なのでどうなることかと思っていたら、書き出しから何から忘れていたので大いに焦った。解説書と i モード対応 html タグ一覧 を見ながらどうにかエリアコードを取得することに成功。i モードで同じ URL へ再度アクセスした場合に初回表示時のキャッシュが表示されてしまうという癖があるが、エリアコード取得後に同じ URL へ戻った場合はちゃんと新しいデータを読み直しているようだ。
出来たのがこのページ。ドコモの携帯からアクセスしないと位置情報が取得できずエラーが表示される。これはドコモの仕様だそうです。

一つ前の記事で気になったので、実際に動画を作成してYouTube にアップしてみた。
素材となった元動画は 320x240 サイズで、これを Windows ムービーメーカーで編集後に動画ファイルとして保存する際、(1)「高画質(大)」(60x480)と(2)「高画質(小)」(320x240)で保存する。これを YouTube にアップしたとき、はたして画質に差が出るのだろうか?
(1) 「高画質(大)」(640x480)で保存したもの
(2) 「高画質(小)」(320x240)で保存したもの
どう?(1)「高画質(大)」(640x480)で保存したもののほうが、雲のきめが細かいな。ただし保存にかかる時間が(小)は5分程度なのに対して(大)は5時間以上と、圧倒的に効率が悪いのだ。
携帯電話(F904i)のカメラで日没の動画を撮影。撮影モード「夕景」、品質「XQ(最高品質)」、画像サイズ「QVGA(320x240)」に設定。携帯電話は充電コードを繋げ、ミニ三脚を使って固定した。
そしてデータを MicroSD 経由でパソコンに移し、Windows XP 付属の Windows ムービーメーカーで編集。ビデオ特殊効果の「スピードアップ 2倍」を4つ(2^4=16倍)と「フェードアウト(黒へ)」を設定し、オーディオはミュート(無音)に。さらに BGM のmp3ファイルを突っ込んで、動画のサイズ(時間)に合わせてカット&フェードアウト。最後にタイトルを挿入して編集完了。
これを「ムービーファイルの保存」をする際、プルダウンメニューの「高画質ビデオ(大)」(640x480)で保存。保存までにかかる時間は「高画質ビデオ(小)」(320x240)よりもかなり長くなるが、こうすることで出来上がる動画の画質が劣化しない(気がする)。
めでたく完成した動画を YouTube にアップロードしたのがこれ。
雲というものは遠くから飛んでくるものだと思っていたけれど、こうして見ると目の前で次々に湧き上がり消えていくものなんだなぁ。
自転車で江ノ島に行ってきた。12時半ごろに家を出て、16時前に江ノ島に到着。藤沢からは江ノ電沿いに走ったり、携帯カメラで動画を撮ったりしていたら時間がかかってしまった。
これまで車でしかこれなかった場所に自宅からそのまま走ってきた自転車で来るというのは、本来は正反対であるはずの日常と非日常がひとつにつながる不思議な感覚を味わえて楽しい。
さて。せっかくの江ノ島だったが、到着した時間が遅く日が傾いてしまったで携帯カメラで写真を撮っても逆光になってしまうし思った以上に混雑していて自由に動けないしで、軽くグルッと一回りしただけで後にしてしまった。藤沢側の海岸沿いに戻り太陽の位置を変えて江ノ島の何枚か写真を撮ってみたが、やはり逆光気味で上手くいかなかった。
ついでにメールに添付できるファイル形式で動画を撮り、そのままメールで送信してみた。送信途中にメモリ不足のエラーが出て中断。これは2ちゃんねるでもバグではないかと指摘されていた問題で、あわてずに電源を切ってから入れなおせばOK。今度は送信も上手くいった。
そんなことをしているうちに大分暗くなってしまい、携帯のバッテリー残量も 2/3 になったので帰ることにした。ゼンリンのナビアプリを起動し、最短ルートをチェック。どうも F904i はバッテリー残量 2/3 からの消耗が早いようなので、ナビアプリは要所要所以外では使わないようにした。真っ暗な知らない道を必死にペダルをこぎ続けて、19時過ぎに帰宅。走行距離は82キロちょっと。
F904i のおかげで色々あそべた一日だったが、バッテリーの消耗が早いため予備バッテリーの必要性を感じた。
先日のモブログ失敗はブログ記事作成時のフォーマットを「リッチテキスト」にしていたのが原因かもしれないと考え、フォーマットのデフォルトを「なし」に変更して moblog.uva.ne.jp を利用したメール投稿に再挑戦。しかし結果は失敗。今回もタイトルと添付画像はちゃんと届いているのだが、肝心の本文が書き込まれない。
で、それとは別に前回も気になったのだが、メール投稿を行った後に PC ブラウザから Movable Type 4.01 の管理画面に入って新規投稿や既存記事の更新を行うと次のエラーが出るのは何故だろう。
エラーが発生しました。
close テンプレート「Atom」の再構築中にエラーが発生しました: テンプレートタグMTEntriesでエラーが発生しました: テンプレートタグMTEntryCategoriesでエラーが発生しました: テンプレートタグMTCategoryLabelでエラーが発生しました: <$MTCategoryLabel$>タグを不正なコンテキストで利用しようとしました。
とりあえず PC ブラウザの管理画面からモブログ投稿に失敗した記事を何も手をつけずにそのまま更新することで、このエラーは出なくなることはわかった。
散歩の途中で携帯電話(F904i)から YouTube に、メールで動画を投稿してみた。
F904i はメールに添付できる動画ファイルに制限があるので、動画撮影前に MENU>[8]動画/録音詳細設定からサイズ制限を メール添付用(大)or(小) に、品質(動画撮影)を HQ(高画質) かそれ以下(つまりXQ(最高品質)以外)に設定を変更しておかなければいけない。
動画を撮影後、YouTube であらかじめ登録・作成しておいた動画の送信先メールアドレスへ動画を添付したメールを送信。このときメールアドレスとメール本文を記入すると投稿した YouTube 動画のタイトルと内容説明になり、動画添付のみの空白メールの場合は YouTube 管理画面であらかじめ設定しておいたタイトルと説明がつくようだ。
いざ送信しようとすると、メモリ不足というエラー表示が出た。これは一度携帯の電源を切ってから入れなおすことでクリア。その後も送信中に画面が真っ白になるという謎のエラーも起きたが、どうにか YouTube にアップできたのが次の動画。
動画送信後は携帯のバッテリー残量表示が 1/3 になってしまった。
動画撮影のほかに GPS を利用するアプリやワンセグなども多少使用したが、多分動画送信に成功するまでに2~3回失敗をしたのがバッテリー消耗の原因ではないかと思う。こういう予備バッテリー を用意しようかな。
Movable Type 4.01 で moblog.uva.ne.jp のモブログ機能を利用しようと四苦八苦。
最初につまづいたのは、moblog.uva.ne,jp のアカウント作成時に表示されるエラーだった。Movable Type 側でモブログ用のアカウントを作り、その ID と Pass を正しく入力したのに「Your account and/or XMLRPC API is not available. Please check at the previous page」というエラーが表示されてしまう。
どうしたものかと検索していたら、こちらのブログで解決法が判明。moblog.uva.ne,jp アカウント作成時に入力する Pass は、MT のログインPassではなくモブログ専用の Pass が別にあったのだ。で、それを確認するためにはモブログ用のアカウントで MT にログインし、プロフィールページで「APIパスワード」ってのをチェックすればよい。
改めて moblog.uva.ne.jp でモブログ用アカウントを作成したら、今度はあっさり完了。それと同時に携帯電話にモブログ投稿用メールアドレスを知らせるメールが到着。早速メールに画像を添付し文章を書いて送信。そしてパソコンからブログをチェックすると、ちゃんと投稿されている!…けれど、タイトルだけで本文が無い。 FTP でサーバを見ると、画像は指定したディレクトリへアップされている(画像1、画像2)。
せっかく moblog.uva.ne.jp が使えるのに困ったと思いながら検索したところ、どうやら MT4 ではまだモブログが出来ないようだ。それなら仕方が無いか。
とりあえず安直に試した2通りはどちらも失敗。モブログ専用のサービスを利用すべきか。
F904i のフルブラウザ
MT の管理画面(ダッシュボード)にログインできるが、ページ最大サイズオーバーのエラー表示が出る。
新規投稿画面では記事タイトルやタグは入力できるのだが、肝心の記事を入力するフォームにカーソルが合わない。
i mode
サインインのボタンが表示されないため、MT の管理画面にログインできず。
9月初めになるが、発売初日に購入して以来これまで騙し騙し使っていた SH-505i が完全に故障してしまったため、新しい携帯電話に買い換えたのだ。
新しく買う携帯電話の条件は
- 動画をちゃんと録画できること(SH-505i は動画形式が特殊で専用ソフトでないと再生できなかった)
- テレビが見れること(便利そうだから)
- ナビのアプリが使えること(自転車で当ても無く遠出するときに地図を持たずに済みそうだから)
- フルブラウザが使えること(外出中にインターネットで調べ物をしたくて不便を感じることが多かったから)
という 4点だったと思う。それで最新モデル 904i シリーズの中で該当するのが F904i だったのだ。
で、白を購入し、パケホーダイ・フルを契約して iMona(2ちゃんねるブラウザのアプリ)をダウンロード。これで携帯 1台でインターネット、テレビ、ナビ、2ちゃんねるをチェックできる環境が整って満足。PC よりも圧倒的に起動が早いので、サブ PC 代わりとしてネットをチェックするのにも使える。
さらに MicroSD は上限の 2GB のものを装着。これで 320*240 サイズで高画質の動画が 4時間~録画保存できる(ようだが、実際には試していない)。
まだ全ての機能を把握しきっていないが、今のところは満足している。特にゼンリンのナビ・アプリが秀逸で、これは車を運転するときのカーナビ代わりとしても十分実用に耐える。

