« 2008年11月 | トップページ | 2009年1月 »

2008年12月28日 (日)

TOUCH DIAMOND用クレードルが届いた

PDA秘宝館で注文した、TOUCH DIAMOND用クレードルと予備バッテリーが届きました。クレードルの写真はこちら(となりはサイズ比較用のiPodTouch/2nd)。クレードル手前にはLEDがあり、充電中は赤、完了時は青に光ります。

P1000046

クレードルの後ろ部分には、予備バッテリーが単体で充電できるスロットがあります。端末の後ろ側にフタがあり、ちょっとスライドさせると開きます。

P1000045

ちなみにこのセットしているバッテリーは、互換バッテリー(MUGEN)です。これ、純正よりほんの少しばかり大きいようで、DIAMOND本体やクレードルに入れるとき、ちょっと渋い(固め)になってました。

P1000044

これがクレードルの裏側。左から充電用DC入力、USB/イヤホンマイク接続用端子、そしてオーディオ出力端子になっています。真ん中のUSB/イヤホンマイク接続用端子は本体と同じ形状ですね(これって普通のミニUSBとはちょっと違うんですね)。DC入力には本体付属のACアダプタをつけてます。

オーディオ端子、まだ使ったことがないんですが、インターネットラジオとかに良いかも。

電池も2つになったので、ますますルーターとして(?!)使いこなせそうですw

| | コメント (0) | トラックバック (0)

2008年12月25日 (木)

クリスマスプレゼント...

といっても自分から自分にですがw

PDA秘宝館で、TouchDiamond対応のMugenPowerバッテリーと、クレードルをポチっと注文しちゃいました。

MugenPowerバッテリーは、純正より1割ぐらい容量(公称値)が大きい互換のバッテリーです(純正は900mAh,Mugenのは1000mAh)。

クレードルは、こちらもサードパーティー品ですが、本体が直接充電/シンクできる以外に、オーディオ出力端子と、予備バッテリーの充電が出来る機能がついていて、純正より良いかも。普通のケータイと同じくスタンドに置くだけですぐに充電できるのが良さげですね。予備バッテリーが単体で充電できるのもかなりポイント高いです。

21HTのバッテリーが思った以上にすぐ減るので、出先での交換用にバッテリーはほしかったんです。もともとS21HTはUSBで簡単に充電はできますが、時間がかかるので予備バッテリーはほしかったです。でも純正はバッテリーもクレードルもemobileのオンラインショップはずっと売り切れが続いていたので....

年内には届きそうなので楽しみですね。

| | コメント (0) | トラックバック (0)

2008年12月24日 (水)

引き続きS21HTをいじってます

引き続き、S21HTをいじってます。

前回「無線LANがつながりにくい」と書いたのですが、どうもWMWifiRouterの「Configration」で「Force ad-hoc only」にチェックが入ってるとうまくAPにつながらないようです。ただ、チェックを入れないと外部のAPにつなげに行くだけ(他の機器から見つけられない)になってしまうので、面倒ですがルーターにするときだけチェック入れてます。今は、通話キー長押しでWMWifiRouterを起動、切断キー長押しでデータ通信切断するように割り当ててます。

あとは、SkypeとAGEphone Mobile、BatteryMonitorを入れ、TouchFLOはオフにしました。

Skypeはまだ試していないのですが、スマートフォン版では起動できず、PocketPC版を入れて起動だけ確認です。

AGEphoneはIP電話(SIPソフトフォン)で、有償ですがレジストしなくても通話3分という制限付きで利用できます。3G回線でもかなりクリアーに通話できましたが、数回に1回程度、通話中に無音になってしまう現象(Asterisk側でCLIでモニタしていると、SIP関連でワーニングが出ている模様)があり、現在調査中です。うまく使えると、定額データ料金のみで、自宅や事務所とは定額料金で通話でき、電話回線経由で発信すれば固定回線料金でかけられますね。

あと実験として、プリペイドで購入したアウトレットのD01NXとSIMカードを入れ替えてみました。D01NXでは接続ソフトでAPNを取り込み、ケータイプランのSIMでemb.ne.jpでうまく接続できました。逆にS21HTでプリペイドのSIMでは認識しませんでした(HSDPAではなくGSMとして認識しまう)。もちろんドコモのFOMAカードもダメでした(周波数帯域が違うから?電話番号は出た)。

プリペイドのチャージがあと2日で期限切れなのですが、S21HTの電池切れとか速度重視(S21HT経由するとどうしても速度が落ちる)の場合に、つかえそうですね。

でも予備電池とクレードルがほしいなぁ。

| | コメント (0) | トラックバック (0)

2008年12月13日 (土)

アプリをいくつか試してみた。

S21HTにいくつかアプリを入れてみた。

WMWifiRouter
今回の本命、WindowsMobile端末にルーター機能を追加し、自前のフリースポットみたいなことができます。adhocモードで動作するため、WEPの暗号化はできますが、一部ゲーム機など利用できない模様。iPodTouchで動作確認しました。情報ではPSPや任天堂DSで利用できない模様(未確認)。
購入はベクターなどからできます。また、試用期間があり事前に動作確認もできます。私の場合は、最初、ストレージ側に入れたのですが文字が全部「??」となってしまい使えませでした。しかも本体メモリに再インストールしたら期限切れ扱いに。購入して動作確認できましたw(動くっていうレポートを見ていたので)

NetFront LocationFree Player for Pocket PC
ロケフリ用クライアントソフト。動作対象外なので人柱として購入したら、S21HTでも動作はするものの、あまり実用的ではありませんでした。一番低画質で画面が小さい(拡大されない)ものの、なんとか動作。1つ画質を上げると全画面になりますが、音とびが結構発生します。なんか開発が収束してそうで、期待薄いかなぁ

Diamond TF3D Config
TouchFLO3Dをカスタマイズするソフト。英語版。ダウンロードには無料の登録が必要。メニューの並びとか非表示設定などのカスタマイズができます。emnet加入していないのでメール(メニューではSMSとして表示)や電話を消して、プログラムや設定を先頭に持ってきています。

Diamond Tweak
TouchDiamondのカスタマイズができます。英語版。キャッシュON/OFFなど細かなシステム設定が可能。まだ調整中ですw

■その他
WindowsMobileはPPTPクライアントが最初から入っているので、自宅のRT58iをPPTPサーバにして接続できるようにしました。そこから自宅内のWindowsMediaエンコーダでラジオやテレビをリアルタイムエンコード、S21HTのWindowsMediaPlayerで再生してみたら、かなり良い感じです。S21HTはBluetoothも内蔵しているので、Bluetoothレシーバーで聞くと良いですね。ちなみに映像は波打った感じになるものの、前述のロケフリクライアントより良い感じです。
あと、あまり使わないので実害はないですが、WifiRouterのせいか、相性の問題かWifiのAPへの接続が殆どできていません。原因は調査中です。
充電はミニUSBでできるので便利ですが、イヤホンマイクはHTC独自のUSB併用タイプで、付属イヤホンマイクか変換ケーブル(ヨドバシなどで購入可)が必要。特にFMラジオを使う場合は、イヤホンマイクをつながないと動作しない。感度は悪くないかも。

| | コメント (0) | トラックバック (0)

S21HTを買ってしまいました

なんとなく衝動買いで、S21HTを買ってしまいましたw(といっても買ったのは1週間前)

S21ht
とりあえず、iPodTouchとならべて撮ってみた。

以前、プリペイド契約でCFタイプのD01NXを購入していましたが、今回はTouch Diamondがほしかったので、通常契約です。

実は分割払い形式で携帯を買うのは初めてなので、どのプランにしようか悩みました。

この電話機の代金は、63,980円です。ちょうど、期間限定でPDA系端末が「ケータイプラン+新にねん+アシスト1600」で「店頭で100円」というのをやっていました。端末代金が月額1600円+データ通信料上限4980円(通常は最低1000円のところ、このキャンペーンで契約した場合のみ0円~)となるプラン。ただし、「Emnet(月額315円)」と「定額プラン24(月額980円、このキャンペーンの場合は最初3ヶ月は無料)」の加入が必須とのこと。

確かに初期投資は安いけど月額が結構かかるなぁ、と思って他のプランを調べたら月2000円ずつ2年分割(合計48000円)の「新にねん+アシスト1000」と、月1000円ずつ2年分割(合計24000円)の「新にねん」も選べるそうです。新にねんだと、1000円~4980円上限で、最初の1000円に端末代金1000円分と無料パケット通信料1000円分が含まれています(アシスト1000併用の場合は+1000円で2000~5980円)

で、結局一番月額の負担が少ない「新にねん」にしました。もし使わなくなっても、ちょっとだけつかったぐらいなら1000円に収まるかもしれないし。支払い端末代金は39980円。端末代金はヨドバシポイントがつきます。また、PDAタイプは料金支払がクレジットカード限定だったので、ドコモのDCMXにしました。なんと、イーモバイルの利用料金(端末の分割代金含む)でドコモのポイントがつきますw

で、なぜTouchDiamondを買ったかというと、WMWifiRouterというシェアソフトを使って、iPodTouch用の自前フリースポットを作りたかったのです。一番小さかったのがDiamond(キーボードなどいらない)で興味もあったこと、S21HTで動作実績の報告が複数あったこと、また他社(ドコモやソフトバンク)でも出していますが、接続機器での利用が制限されているため、イーモバイルでの購入となりました。

長くなっちゃったので、入れたアプリとかは別記事で。

| | コメント (0) | トラックバック (0)

2008年12月 4日 (木)

HUB買った

良く行くハードオフをぶらついていたら、ジャンクコーナーで、コレガの100M16ポートのスイッチハブ「FSW-16A」(本体のみ、説明書・電源コード他一切なし)が、525円で売られていたので、即ゲットしましたw

とりあえず通電はしました。いくつかのポートに他のHUBをつないで見たらリンクも正常にするみたい。いまどきギガではないけど、低トラフィックなものをつないでみるのが良さげですね。電源内蔵で、しかもファンレスなのがとっても良い!

しかし、ハードオフのジャンク値付け基準がよくわかりません。メルコの100Mの8ポート(こっちも電源内蔵タイプだけど、電源ケーブル付き)が1050円。ブロードバンドルーター系はマニュアルがみんなマニュアルとACアダプタが付いてるけど、箱の有無関係なく2010円ぐらい。

そーいえば、ギガで思い出したんですが、auのひかりoneの新サービス「ギガ得プラン」、1Gbpsの光ファイバを共有しているのはBフレッツハイパーファミリーと同じですが、フレッツが宅内(ONUのLAN端子)は100Mbpsなのに対し、ギガ得は1000Mbpsになっているのが特徴。なぜか関東と北海道からスタートですが、CMではやたらと「ギガ」と強調してます。

恐らく北海道限定のラジオCMだと思うのですが、

「なぁ、ザンギって北海道だけらしいぞ」「え?ザンギが?ザンギが?ギが?ギガ・・ギガ・・(エコー)」

ってのがずーっと頭から離れません。あ、ちなみにザンギとは北海道独特のから揚げです。多分北海道民の多くはザンギは全国区だと思ってます。逆に道外の人には、よく某格闘ゲームのキャラと勘違いされます。

| | コメント (0) | トラックバック (0)

2008年12月 2日 (火)

ひかり電話のFAXお知らせページから自動で受信画像を持ってくるスクリプト

以前の記事、ひかり電話の「FAXお知らせメール」の中に書いた、「FAXの受信お知らせメールが届いたら、それをトリガーにして外のサーバへデータを引っこ抜く」プログラムに興味がある方がいらっしゃったので、公開してみます(/ω\)ハズカシーィ

ちなみに、記事に書いていた「受信したFAXをほかに転送する」部分はまだ作ってません((・(ェ)・;))

動作確認環境は、さくらのレンタルサーバ(FreeBSD)です。本体はPerlで、中からwgetとImageMagick(PerlMagick)を使っているので、これらが動作すればLinuxなんかでも動くでしょう。ただし、FAX受信通知メールをトリガーに起動しているので、メールサーバが同居していないといけなけないかもしれません。受信したTIFFは、PDFに変換します。

受信したデータを転送したい場合は、FAXデータを受信して保存した後にBASE64とかでエンコードして、MTA呼び出して添付メールの形式で送るなんてのが比較的簡単かと。

お約束ですが、正常に動作しなかったり、このプログラムでなんらかのトラブルがあってもサポートもできませんし、責任も取れませんので、予めご了承ください。何かあったら即効消します。特にNTT東日本の管理画面で、画面の文言やパラメータが変わってしまったら受信できなくなる可能性が大です。

#!/usr/bin/perl
use Image::Magick;

#↓環境に合わせて適当にいじってください
$telno   = "011xxxxxxx";			#-- FAX番号
$passwd  = "xxxxxxxxxx";			#-- ログインパスワード
$urlbase = "https://www.hikari.ntt-east.co.jp/";#-- 通知サービスURL
$dirbase = "/home/hogehoge/fax/";		#-- データ保存先ディレクトリ
$dirinf  = $dirbase."inf/";			#-- 受信情報保存ディレクトリ
$dirtif  = $dirbase."tif/";			#-- 受信画像保存ディレクトリ(TIFF形式)
$dirpdf  = $dirbase."pdf/";			#-- 受信画像保存ディレクトリ(PDF形式)

#-- サービス選択(着信お知らせ/FAX)
%values = (
            'func_id','SelSrv',
            'submit_fax','FAXお知らせメール',
          );

$html = &gethtml($urlbase."servlet/utils/as_mcas.cgi",%values);

$auth_id  = &getprm($html,"auth_id");
$FUNC_ID  = &getprm($html,"FUNC_ID");
$stype    = &getprm($html,"stype");
$errorcnt = &getprm($html,"errorcnt");
$AGENT    = &getprm($html,"AGENT");

#-- ログイン
%values = (
            'auth_id'    ,$auth_id,
            'FUNC_ID'    ,$FUNC_ID,
            'stype'      ,$stype,
            'errorcnt'   ,$errorcnt,
            'AGENT'      ,$AGENT,
            'tel_no'     ,$telno,
            'password'   ,$passwd,
            'next_button','次へ',
          );

$html = &gethtml($urlbase."servlet/utils/as_mcas.cgi",%values);

$AUTH_ID    = &getprm($html,"AUTH_ID");
$type       = &getprm($html,"type");
$SESSION_ID = &getprm($html,"SESSION_ID");
$USER_ID    = &getprm($html,"USER_ID");
$AGENT      = &getprm($html,"AGENT");
$SERVICE    = &getprm($html,"ASERVICEGENT");
$E164NUM    = &getprm($html,"E164NUM");
$PAGE_ID    = &getprm($html,"PAGE_ID");

#-- 受信済FAX一覧取得

%values = (
            'AUTH_ID'    ,$AUTH_ID,
            'type'       ,$type,
            'faxtomail_view','受信FAXの内容確認',
            'SESSION_ID' ,$SESSION_ID,
            'USER_ID'    ,$USER_ID,
            'AGENT'      ,$AGENT,
            'PAGE_ID'    ,$PAGE_ID,
            'E164NUM'    ,$E164NUM,
          );

$html = &gethtml($urlbase."servlet/utils/SendPage",%values);

#-- テーブルを分解して受信FAX一覧を取得

$tbl = $html;
$tbl =~ s/(\<[\/]*table)[^\>]*(\>)/\xff/gi;
$tbl =~ s/^[^\xff]+\xff([^\xff]+)\xff[^\x00]*/$1/;
$tbl =~ s/(\]*(\>)/$1$2/gi;
$tbl =~ s/[\x20\r\n]//g;
$tbl =~ s/\//gi;
$tbl =~ s/\<\/tr\>/\n/gi;
$tbl =~ s/\<\/t[hd]\>/\t/gi;
$tbl =~ s/\<\/tr\>/\n/gi;


$AUTH_ID        = &getprm($html,"AUTH_ID");
$SESSION_ID     = &getprm($html,"SESSION_ID");
$USER_ID        = &getprm($html,"USER_ID");
$AGENT          = &getprm($html,"AGENT");
$page_num       = &getprm($html,"page_num");
$total_page_num = &getprm($html,"total_page_num");
$E164NUM        = &getprm($html,"E164NUM");

%values = (
            'AUTH_ID'        ,$AUTH_ID,
            'delete_button'  ,'削除',
            'SESSION_ID'     ,$SESSION_ID,
            'USER_ID'        ,$USER_ID,
            'AGENT'          ,$AGENT,
            'page_num'       ,$page_num,
            'total_page_num' ,$total_page_num,
            'E164NUM'        ,$E164NUM,
          );

$cnt = 0;

foreach $lists( split(/\n/,$tbl) ) {
  @list = split(/\t/,$lists);
  if ( $list[0] =~ /^([0-9]+)/ ) {
    #-- 受信情報を抽出
    $no = $1;
    $list[2] =~ s/[^0-9]//g;
    $list[3] =~ s/^([0-9]+).*$/$1/;
    $list[4] =~ s/^([0-9]+).*$/$1/;

    if ( $list[7] =~ /AHREF=\"([^\"]+)\"/ ) {

      #-- FAX情報を出力
      $pid = $list[2].sprintf("%02d",$no);
      open(FILE,">".$dirinf.$pid.".txt");
      print FILE $list[1]."\n";
      print FILE $list[3]."\n";
      print FILE $list[4]."\n";
      print FILE $list[5]."\n";
      close(FILE);

      #-- TIFFファイルの受信
      $urlimg = $1;
      $urlimg =~ s/\.\.\///g;

      $cmd = "wget -q -O ".$dirtif.$pid.".tiff --no-check-certificate '".$urlbase.$urlimg."'";
      $result = "";
      open(HTMLWGET,$cmd." 2\>\&1 |");
      while() {
        $result.=$_;
      }
      close(HTMLWGET);

      #-- PDFへ変換
      $img = Image::Magick->new;
      $img->Read($dirtif.$pid.".tiff");
      $img->Negate();
      $img->Write($dirpdf.$pid.".pdf");
      undef $img;
    }

    #-- 削除用パラメータ
    $receiveId       = &getprm($html,"receiveId".sprintf("%d",$no-1));
    $callernotifyno  = &getprm($html,"callernotifyno".sprintf("%d",$no-1));
    $file_path       = &getprm($html,"file_path".sprintf("%d",$no-1));
    $del_check       = &getprm($html,"del_check".sprintf("%d",$no-1));
    $data_size       = &getprm($html,"data_size");

    $values{"receiveId".sprintf("%d",$no-1)}      = $receiveId;
    $values{"callernotifyno".sprintf("%d",$no-1)} = $callernotifyno;
    $values{"file_path".sprintf("%d",$no-1)}      = $file_path;
    $values{"del_check".sprintf("%d",$no-1)}      = $del_check;
    $values{"data_size"}                          = $data_size;
    $cnt++;
  }
}

if ( $cnt ) {
  #-- 受信済みデータの削除(データがある場合のみ)
  $html = &gethtml($urlbase."servlet/fax/FaxtoMailVeiw",%values);
}


sub gethtml {

  #-- wgetで指定URLからのHTMLを受信する
  #-- POSTデータがある場合は、エンコードして送信

  my ( $url , %prm ) = @_ ;
  my $prmlist = "" , $key = "" , $value = "" , $cmd = "" , $result = "";
  while ( ( $key, $value ) = each ( %prm ) ) {
    $value =~ s/([^\w\x20])/'%'.unpack('H2', $1)/eg;
    $value =~ tr/\x20/+/;
    $prmlist .= "&" if ( $prmlist ne '' );
    $prmlist .= $key."=".$value;
  }

  $cmd = "wget '".$url."' -q -O /dev/stdout --no-check-certificate";
  $cmd.= " --post-data '".$prmlist."'" if ( $prmlist ne '' );

  open(HTMLWGET,$cmd." 2\>\&1 |");
  while() {
    $result.=$_;
  }
  close(HTMLWGET);

  return $result;
}

sub getprm {

  #-- HTML内のフォームからSUBMIT用データを抽出する

  my ( $htmldata , $prmname ) = @_ ;
  my $result = "";

  $result = $1 if ( $htmldata =~ /name[\x20]*\=[\x20]*[\"\']$prmname[\"\'][\x20\,]+value[\x20]*\=[\x20]*[\"\']([^\"\']+)[\"\']/ );

  return $result;
}

| | コメント (1) | トラックバック (0)

« 2008年11月 | トップページ | 2009年1月 »