先ず、前提条件はCGIを使えるISPに加入してる事。
あとは、.htaccessでMIMEタイプを追加できるか、ISPがEZWEB対応のISPと言うのが必須。
テスト環境だけなら、チャレンジCGIを見て、ローカルサーバーを立ち上げてやってみよう。
既存のサービスではお金を払ってまで欲しい壁紙って無い!なんとか自分で自分の好きな
壁紙を設定できないだろうか?っと色々調べてきて判った事をちょっとまとめたのがこの企画
1)送信方法
企業サイトなどで壁紙配信しているサイトのソースを調べました。
結果次のようなものを送信しているようです。
device:data/dnld?url=URL&name=NAME&size=SIZE&disposition=DISPOSITION&title=TITLE
URL :download.cgiの相対パス
NAME :イメージファイルの相対パス
SIZE :イメージファイルのファイルサイズ
DISPOSITION:モノクロBMPファイルはdevwlpを指定
カラーPNGファイルはdev8wlwを指定
TITLE :携帯に保存されるファイル名
2)イメージファイルの作成
送信方法までつきとめて、いざCGIを作ってみても何故か動かない。
悩んでいる間にPhone.comのUP.SDK3.3が公開されdownload.cgiのサンプルが公開されました。
しかし、どうやっても依然エラーは直らず。原因はCRCチェックサムを付加してやらないと行けない
らしい。というところまでつきとめたのだが、CRC? なんでしょう?状態でした。
結局irukaさんが作成した、CRCチェックサム計算ツールによって解決しました。
3)結局?
CGIの流れとしては以下のイメージです。(あくまで、イメージなんで実際は違うと思う^^;)
|
──@─→ |
|
|
←─A── |
──B─→ |
←─C── |
──D─→ |
|
@device:data/dnld? でサーバーへ送信
AサーバーからCGIを呼び出す
B画像をサーバーへ送る
C戻り値が返って来る
D戻り値によってHDMLを返す
|
1)UP.SDK3.3をDL
Phone.comが出しているUP.SDK3.3をココからDL。
ユーザー登録をしないと行けませんが、今後の為にも登録した方が良いね。
2)EZCRCをDL
CRCチェックサム計算ソフト。IrukaさんのWEBページからDL。
計算ロジックが組める人はCGIに埋め込むと便利かも?
3)お好みのバイナリーエディタを用意
CRCチェックサムを付加するのに必要です。
基本的に特にやる事はないです。インストーラの指示通りインストールでOK
シミュレータの設定はDLしたものを見るかPhone.comのマニュアル参照してね
SDK3.3をインストールしたディレクトリに下記のディレクトリが作られます。
examples\scripts
1)download.cgi の114行目の"YourURL" & "YourDir"を自分の環境用に書き換えます。
当然perlのパスも自分の環境用に直してね。
2)イメージタグは不必要なので取り払う。
3)サブルーチン splashScreen 無いの下記の部分をコメントアウト
$digest->addImage("image/png", "?phonecom.png", $image) if ($supportsImages == 1);
(モノクロ端末はPNGを認識できない為)
4)# Download Complete deck の HDML記述部に actionタグでTASK=RETURNを追加。
(こうしないと動かない端末もあるらしい)
5)最後にdownload.dataを修正
image/bmp とか image/png の部分を bmp なら devwlp に、png なら dev8wlw に修正。
自前の画像を追加する場合は 追加する。追加方法はdownload.dataみれば判るでしょ?
MACの人御免なさい。ezcrcはWIN用です。
DOSプロンプトから起動して使用します。引数はファイル名です。
16進で答えが返ってくるので そのままバイナリーエディタを使い
ファイルの最後に付加して保存。
あとはサーバーにアップするだけです。
|