2012年12月10日月曜日

タイ携帯キャリアAISのSIMカードのオンラインチャージ

タイ携帯キャリアAISのSIMカードのオンラインチャージ

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

タイの携帯キャリアで一番つながりやすいのは、まだ3G回線が今程発達していなかった10年以上前から、AISでした。1-2-CALLという方が耳になじんでいるひとが多いかもしれないですね。

AISでもプリペイドでなく固定番号のつく期間契約サービスもあると思いますが、そのためにはタイの銀行口座が必要でしょうし、駐在等していなければ通常はプリペイドの電話番号(以下、携帯番号)を運用することになるでしょう。

プリペイドの番号には有効期限があって、毎月タイに出張するようなひとならいいですが、1年に一度や、数年に一度タイを訪れるひとだと、携帯番号がころころ変わるのでいろいろ不便になります。

実際私の場合は私自身のだけでなくタイの友人の携帯番号が変わってしまい(タイ人も期間契約ではなくプリペイドのひとも多い?)、互いに携帯番号がわからず、困った経験があります。

それ以来、メールアドレスを交換するか、自分の携帯番号の有効期限をできるだけ延長するように心がけてきました。

有効期限ですが、昔はスタートアップのSIMでも300Baht位チャージしておけば一年程度延長できたのですが、今はどうなんでしょう。100Bahtだと3ヶ月だったかな。

有効期限を延長させるためのチャージ方法の紹介です。

帰国前に(リチャージ用の)top-upカードを購入するのを忘れてしまった


つい先日9ヶ月振りにタイに行く機会があり、今回はAIS, i-Kool, i-Mobile-3GX, Truemoveを使ってみました。前回はTruemoveを除く3種のキャリアを使ってみましたが、AIS以外はバンコクのしかも空港近くのホテルで接続実験する程度で終わっておりました。

前回できなかった実験のひとつが、パタヤでの接続実験でしたが、すべて快適に接続できました。AIS, Truemoveは通話に、 i-Kool, i-Mobile-3GX, Truemoveは通信にそれぞれ使ってみましたが、非常に快適に通信できてホテルの無線LAN代(無線LANのために部屋をアップグレードする必要があり300Baht/dayかかった)を浮かすことができました。特に、 i-Mobile-3GXはコンビニでチャージすることができて便利この上ない存在でした。

そんなことをやっていたため、top-upカード(リチャージのためのカード)を帰国するまで忘れておりました。そして今になって、
「あれ、有効期限どうなってたっけ?」
ということになり、SIMフリーの携帯にAISのSIMを刺してNTT-Docomo経由で *121# に発信して調べてみると、有効期限は12/15、でした。やばい!

従来は帰国する前に何枚かtop-upカードを購入しておいて、日本国内において、有効期限寸前になってからSIMフリーの携帯にAISのSIMを刺してNTT-Docomo経由でチャージコードを発信してリチャージしてました(*1)が、今回は購入してませんでしたのでその手が使えません。

*1: 日本の携帯が使えるかは不明です。少なくともSMSが受けられる必要がありますね

AISのSIMが日本でも使えることがあまり知られていない?

AISはNTT-Docomoとローミングしているのか、日本に居ながらAISのプリペイドSIMの残高や有効期限を調べたり、リチャージしたりすることができます。

私には常識でしたが、ネットを見ると「現地で操作するしかない」という書き込みがあり、「あれ!」と感じました。

私の常識では、リチャージするにはtop-upカードの購入が前提で、無い場合は秋葉に行って買うかAmazonなどの通信販売に頼るかでした。

ただ、今回ネットで調べてみると、「あれ!」と感じたと同時に「そうか!オンラインチャージというものがあるのか!」というAha体験がありました。

実際にオンラインチャージができるのか?有効期限はどう変わるのか?






こちらにアクセスしてtop-upしてみました。正規のところではありませんが、
  • AIS、DTAC、TRUEMOVEをカバー、
  • タイ国外からチャージしたい、
  • セブンイレブンが近くにないけどチャージしたい、
  • 他の携帯番号にチャージしたい、
といった利用者向けのサービスのようです。標準言語が英語のようなので
正規のところとは異なりサポートが英語で受けられるのかも知れません。

結論からいうと、オンラインチャージできましたが有効期限は期待どうりではありませんでした。

100bahtのチャージ代行にかかる費用が5.99ドル、有効期限は15日延長だけ。
支払い方式は今回PayPal(その他の方法あり)。

100bahtを超えるチャージには何かの手続きが費用らしく今回は試していませんが、もしかすると300bahtとかチャージすれば、3ヶ月や1年の有効期限延長ができるのかも知れません。


あとで、ここが見つかりましたが、正規の場所はここのようです。おそらく上記のように高くはないでしょう(たぶん為替差額のみ)。ただし有効期限がどれくらい延長されるのかは不明です。

[追記 2012-12-14]

AISの公式ページにtopup金額と有効期限延長期間の関係について多少推測できるものがありました。それによると、500bahtで50日、800bahtで100日延びるようです。上の実験では100bahtで15日延びたようなので100bahtを5回に分けてtopupする方がよいような気もするのですが、どうなるのか不明です。

[追記 2013-01-06]

2枚のSIMカードで一方からもう一方へ有効期限と残額(バランス)を移行できるようですね。有効期限日数の方は、*140*2*携帯番号*日数#、のコマンドで処理できるようです。実際今回試してみましたが、日数は可能でした。バランスの方は条件に合わないとかではねられました。

以上


2012年12月3日月曜日

脱獄SIMフリーiPhone3GSが奇跡の復活を!

脱獄SIMフリーiPhone3GSが奇跡の復活を!

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

[追加:2012-12-19]ここから
私はSHSHが取得できたことに関して「凄い勘違い」をしていたようです。

iPhone 3GS SHSH取得してない方のiOS ダウングレード手順

ここにこんな記述がありました。

「何故iPhone 3GSだけかと言うとiPhone 3GSのiOS 4.1 SHSHだけAppleが提供しているみたい、何故かは知らん。」

真相は確認できていませんが、以下の記事にあるように、実際 iOS 4.1のSHSHが取得できています。

[追加:2012-12-19]ここまで


前の書き込みで、タイで買ったSIMフリーiPhone3GSが実は脱獄SIMフリー機だった話を書きましたが、後日談があります。

iOSを6.0.1から4.1にダウングレードできたばかりか、自力でSIMロックまで外せてしまったのです。以下その顛末。

何気なく起動してみた脱獄ソフトで奇跡の発端が


古い世代のipod以下に成り果てたiPhone3GS(紐あり脱獄済)を未練たらしく弄りながら、ネットで調べものをしていました。iTunesが「アップデートしてもいいですか」のメッセージを出したとき、ふと将来の紐なし脱獄のためにSHSHという認証ファイルを保存しておこうと思いました。

SHSHはデバイス個体毎、iOSの版数毎に準備されるもので、iTunes上でiPhoneやiPadなどのデバイスの復元の際にアップルへの認証に必要だそうです。そしてiOSの版数が上がってしまうと、予め保存しておかない限り、ユーザ側では2度と作成できないものになります。

これを何に使うのかというと、iOSのダウングレードに使います。iOSの版数が上がればあがる程、脱獄は未完成になるのが普通なので、iOSのダウングレードが必要なのです。つまりスムースに脱獄するには古いiOSに対応した適当なSHSHが保存されていなければなりません。

SHSHの保存にはTinyUmbrellaという脱獄用ツールを使いますが、私もその最新版をダウンロードして起動しました。ネットで出ているやり方を真似て容易にSHSHを保存できました。ついでに他のipodやipadのも保存しておきました。

こうして、iPhoneやらiPodやらiPadのSHSHが母艦であるmac-miniの画面に、版数やデバイスの個体番号とともにリストされるのですが、OS6.0.1のなかに見慣れないOS4.1のものがあります。

これはなんだろうか、と少し考えて、これはCydiaサーバから落ちてきたものだろうと直感しました。Cydiaサーバには保存したSHSHファイルが同時にUPされるのでしょう。そうして過去に保存したSHSHファイルがそこにも保存されているのでしょう。サーバという名前は伊達じゃないのですね。

そしてこのOS4.1のSHSHファイルを見て、かつそのデバイスがiPhone3GSのものであると解ったとき、「これは!」と思いました。

落ちてきた(?)SHSHでダウングレードに挑戦してみた


上に書いたように、ダウングレードするにはSHSHが必要でした。ということはOS4.1のSHSHがあればその版数にダウングレードできるのではないかと。

早速ネットを調べてみると、OS4.1の場合はTinyUmbrellaを使って行うようです。何度かエラーが出ました(*1)が、ページ(*2, *3)を参考にhostsファイルの変更等を行いながら、なんとか成功しました。

*1: 「iPhoneを復元できませんでした。不明なエラーが発生しました(20)。」
*2: 復元(リストア)中にエラーが出る場合の対処法を考えてみる
*3: [iOS] iOS 5をダウングレードする方法 & エラー対処法

前記事のようにアクティベートで困ることもなくすんなりとOS4.1にダウングレードできました。今度は前と違ってWifiでメールもSafariも問題なく動作します。iCloud等はありませんが、カレンダも連絡先もメールもGoogleを使っているので問題ありません。ちなみに2ページ目の画面に、「Cydia」というアイコンができてました。



今度はベースバンドをダウングレードしてSIMロック解除に挑戦した


まだ電話機能が使えません。前記事よりかなり好転しているのに、欲が出てきたようです。古いOSになったのだからSIMロック解除にも挑戦してみようと思いました。

ネットの情報によると、ベースバンド(モデムファームウエア)の版数がipadと同じものになっているようです。OSのダウングレードだけでは駄目なんですね。Limera1nとかいう脱獄ツールでモデムファームウエアを05.13.04にしてみました。これもなぜか不明ですが1度失敗して2度目に成功しました。DFUモードとかのタイミングによるものでしょうか。



あとからわかったことですが、前の版数でもSIMロック解除できるようですが、ultrasn0wとかいうツールを使いました(*4)。これは意外な程あっけなく終了しました。
デバイスをシャットダウンしDocomoSIMをつけたあとで起動してみると、キャリアにDocomoの文字列が。



なにか夢を見ているような気分でした。自分が保存した覚えのないSHSHファイルがCydiaから落ちてきて、それを使ってタイで買った時点のシステムにほぼ復活してしまったのです。もちろんデザリングのメニューも出ており使えそうです。Cydiaから有料ですがMyWiというアプリを買えば3GSでは対応しなかった3GとWifiとの組み合わせによるデザリングもできるようです。


脱獄SIMロック解除のiPhoneを誤ってUPDATEしてしまったひとには同じ奇跡がおこるかも知れません


おそらく、SHSHファイルは、タイの携帯屋に出ていたデバイスを業者か個人がSIMロック解除するときにCydiaに保存したものと思われます。なのでSHSHが偶然落ちてきたのではなくて、落ちるべくして落ちてきたのだと思います。

私のように脱獄SIMロック解除のiPhoneを誤って最新OSにUPDATEしてしまったひとには同じ奇跡がおこるかも知れません。幸運を祈ります。

と書いていましたが、実は、冒頭の追記にもあるように、今なら(脱獄いかんに関わらず)iPhone3GSの人には「もれなく」奇跡が起こるということのようです。

以上





2012年12月2日日曜日

radiko.jp録音環境構築(実験)

GuruPlugServerでradiko.jp録音環境構築(実験)

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

参照リンク(下)を参考に、
rtmpdumpとswftoolsを組み合わせた方法で、radiko.jp録音環境の構築がうまくいった。

<概要>

そこには、swftoolsのswfextractか何かで認証情報を引っ張って
きて、色々とゴニョゴニョやるように書いてあるが、参照リンク先(深謝!)
ちょっとの想像力で、何とか録音できるようになった(実験済み)。
linux系ならば、cronと組みあせれば予約録音も可能になる(実験済み)。

swftoolsの導入時、コンパイル作業が必要になったが、参照リンクの
おかげで、特に問題なく完了した。

<コンパイル時の注意点>
ただ、jpegに関するライブラリを別途用意する必要があって
これも参照リンクを参考にひっぱってくるのだが、版数に6だとか8だとか
があり、結局6で動かした。参照リンクには8版での導入例があったが
6でも動くようだ(もしかするとswfextractだけ使う分には影響ない
のかも知れない)。

ただコンパイル途中でエラーが1つ出る。それをなんとかするため、

lib/jpeg.c

の462行目付近の関数を
[lib/jpeg.c]
------------------------------------------------------------
462 int jpeg_load_from_mem(unsigned char*_data, int size, unsigned
char**dest, int*width, int*height)
463 {
464     fprintf(stderr, "jpeg_load_from_mem: No JPEG support compiled in\n");
465     return 0;
466 }
------------------------------------------------------------

のように変更する(引数の型を正しく設定するだけ!)必要がある


<シェルスクリプト>
参照リンクにあったrec_radiko.shというシェルスクリプトを使わせてもらった。
ただし出力ファイルの名前の付け方をradikoolと合うように変更した。
[~/bin/rec_radiko.sh]
------------------------------------------------------------
#OUTFILENAME=${OUTFILEBASEPATH}/${OUTFILEPREFIX}_`date +%Y-%m-%dJST%H:%M:%S`
OUTFILENAME=${OUTFILEBASEPATH}/${OUTFILEPREFIX}_`date +%Y%m%d%H%M`
------------------------------------------------------------

また、そのまま実行するとなぜかよく失敗する(20回に19回は
失敗した)。メッセージは

------------------------------------------------------------
failed auth1 process
failed auth2 process

------------------------------------------------------------
など。どちらも認証処理時の失敗?

でも、Verboseモードにするか(-qオプションを削除)、retryまでの待ち時間を長めにとれば、
ほぼ100%うまくいくことが分かった。
#何かのタイミングが関係しているのだろうか?


[~/bin/rec_radiko.sh]
------------------------------------------------------------
#
# access auth1_fms
#
#wget -q \
#     --header="pragma: no-cache" \
#     --header="X-Radiko-App: pc_1" \
#     --header="X-Radiko-App-Version: 2.0.1" \
#     --header="X-Radiko-User: test-stream" \
#     --header="X-Radiko-Device: pc" \
#     --post-data='\r\n' \
#     --no-check-certificate \
#     --save-headers \
#     --tries=5 \
#     --timeout=5 \
#     -O auth1_fms_${OUTFILEPREFIX}_${CHANNEL} \
#    
https://radiko.jp/v2/api/auth1_fms
wget -q \
    --header="pragma: no-cache" \
    --header="X-Radiko-App: pc_1" \
    --header="X-Radiko-App-Version: 2.0.1" \
    --header="X-Radiko-User: test-stream" \
    --header="X-Radiko-Device: pc" \
    --post-data='\r\n' \
    --no-check-certificate \
    --save-headers \
    --tries=5 \
    --timeout=10 \
    -O auth1_fms_${OUTFILEPREFIX}_${CHANNEL} \
   
https://radiko.jp/v2/api/auth1_fms
------------------------------------------------------------


ここでは-timeoutを変更しているが、-qを取ってしまっても、いろいろ
文字列がでるが失敗せず録音(実際はその前の認証処理)できる。

<環境その他>

Linux種類:Debian Lenny
(Linux guruplug 2.6.32-00007-g56678ec #1 PREEMPT Mon Feb 8 03:49:55
PST 2010 armv5tel GNU/Linux)
装置名:GuruPlugServer

<アーカイブファイル名>
rtmpdump-2.3.tgz
swftools-0.9.1 ( swftools-0.9.1.tar.gz )
#0.9.0はNG
freetype-2.4.4 ( freetype-2.4.4.tar.gz )
jpeg-6b ( libjpeg6b_6b.orig.tar.gz )
jpeg-8c ( jpegsrc.v8c.tar.gz )

<参照リンク>
個人的自由帳 ≫ とあるサイトの録音手段 (シェルスクリプト)
http://blog.half-moon.org/archives/963

SWFTools導入 電話会議システムを導入 @OpenMeetings - 禿散らかしてごめんなさいhttp://d.hatena.ne.jp/machua/20101106/1289031103

CentOS安装Swftools FRONT-END STUDIO
http://www.wwswf.com/?p=1444

以上

2012年12月1日土曜日

タイで買ったSIMフリーiPhoneがxxだったお話

タイで買ったSIMフリーiPhoneがxxだったお話

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

タイという国には工業製品を新規に立ち上げる技術もなくその意思もないが、他国が作った工業製品を利用して生活を楽しんだり生活の糧にするような技術と意気込みは素晴らしい、と私は思っています。



今流行りのSIMフリーiPhoneについても、キャリアが扱う正規品からMBK(日本でいう携帯屋が100件以上集まっているモール)で扱う改造品や輸入品まで、消費者にとっていろいろな選択枝を用意してくれています。

今回タイのパタヤにあるITセンタで手に入れたSIMフリーiPhone3GSについて、いろいろ情報を得たり、悪戦苦闘したりしました。その顛末を書いてみたいと思います。

現地で実物を見るまで買う気は毛頭なかったが。。。

iPodを3台、iPadを5台持っていていろいろ活用させてもらっていますが、iPhoneは1台もない。電話機能は必要ないと思っていたからです。

そういうわけで、タイの携帯売り場では、娘のiPad用のカバーなどを物色しながら、iPhoneやiPad、 iPad-miniの値段をチェックしたりしていました。

iPhoneの値段は日本が(恐らく)世界一安いので、わざわざ外国で買うつもりなどなかったのです。実際、タイのキャリアが扱う正規品(SIMロック、デバイスロック)だと

  • iPhone5:28900Baht(78030円)、(16G、以下すべて同じ)
  • iPhone4s:18900Baht(51030円)
  • iPad-mini:13900Baht(37530円)
  • iPad4:16500Baht(44550円)


していました。ほかにも、香港から輸入したSIMフリーのものが売られていますが上記のものより値が張ります。Amazonなどでも実際そうした値段で出ています。iPhoneはどの世代であっても出てすぐにはどれも10万円以上してたように記憶しています。

そうこうしているうちに目に止まったのが、「iPhone3GS(8G)」とパッケージに油性マジックで書かれた黒モデル。帰国するまで日本でも売られていることを知らなかったですが、8GBモデルというのがあり、「それなら多少は安いんだろうな」と思いました。それが悪夢の序章。

「これSIMフリーですか」
「そうです」
「いくらですか?」
「7000B(18900円)です」
「高いね。もっと安くできない?」
「いくらにしたいの?」
「5000B!」
「それは無理。6500BならOK」
「わかった。ありがとう」

そう答えて、一階のスタバで頭を冷やしてから戻り、

「6500Bでいいや。白モデルある?」
「ありますよ」
「それ頂戴」
「毎度あり~」

とは言いませんでしたが、自分が持っていた現地SIMを使ってアクティベートしてもらい、ホテルの部屋に帰って、持っていた現地SIM 3種で通話チェックしてみました。すべてOKで、インタネット接続もできます。テザリングもできそうです。

「SIMフリーのiPhoneが手に入った」

その時は、こんなに安いSIMフリー機が手に入るとはなんとラッキーなことだろうと思ってました。

帰国早々OSアップデートしてしまい、それから悪夢が始まった

iPhoneはiPodやiPadと一卵性双生児のように中身はほぼ同じだが、致命的な違いがあります。SIMがないとOSをUPDATEできないということ。

実際、私が持っている初代iPadでは3G対応で解約するときUPDATEできない旨説明されたのでそれは認識していました。

ですが、実は微妙に違っていたのです。SIMがないとOSアップデートできないのではなく、SIMがなくてもOSのUPDATEはできるがアクティベートができないのでした。しかもアクティベートできないからといってUPDATE前のOSに戻すこともできず、それこそにっちもさっちもいかなくなるのでした。

帰国してから電波のいいDocomoSIMを刺して快適に使えていたiPhone3GSは、OSのUPDATE前後で豹変しました。「SIMフリーなのでDocomoSIMがあればなんの問題もない」と考えていた私にはそれこそ晴天の霹靂でした。

アクティベートできないのです。初期化モードにして何度やってもアクティベートできない。工場出荷状態から何度始めても「アクティベートできませんでした」のメッセージ。サーバがBusyだとか、どこに原因があるのか全く不明なメッセージが出てきます。


こういうときは、何はともあれ、グーグル先生に相談する

今回のこの状況をネットで検索してみると、いろいろ出てきます。
  • DocomoSIMでもSIMフリーに対応しているものとそうでないものがある
  • SIMフリーのものを買ってきてOSアップデートしたら動かなくなった。実は改造版(脱獄したもの)をつかまされたとわかった
  • OSのバグで「サーバがBusyでアクティベートできませんでした」が出る
  • SIMフリー機のアクティベートには日本のキャリアのSIMは必要ないが、iPhoneサポートキャリアのSIMでないとできない。
  • SIMフリー機が動かないのでアップルストアに相談したら交換してもらえた
などなど。

最初は「また海外にいったときにでもクレームを付けるか。でも先方は覚えてないだろうな。レシートも貰ってないし」と半分諦めていました。でもネットの情報で、アップルサポートは全世界で使えるのだと思い出しました。

アップルサポートで聞いてみる

アップルサポートに電話すると20分ほど待たされてやっとつながりました。「海外で買ってきたSIMフリー機にいろいろなSIMを刺してつかっているがアクティベートできない」旨伝えると丁寧な対応で好感が持てました。でも、いろいろやってもらっている最後の方で、「3GSは発売から2年経っておりすでにサポートを終了している。本来この電話もサポート対象外です」と告げられました。8GBのものは現在でも生産?して発売しているので厳密に言えば正しくないけれど、そのときは日本では8GBのモデルを扱っていないのだろうと納得しました。

次に、アップルサポートからアップルストアを紹介してもらい翌日電話してみました。丁寧な応対で驚きました。ipad,ipod,mac等10台近くもっているのにこれまでアップルサポートもアップルストアも使ったことがなかったのです。

アップルストアでジーニアスに聞いてみる

渋谷店でジーニアスに予約して翌日行ってみました。

「このモデルは日本では稀少なので在庫があるかどうか。これから確認してみます」
「了解しました。よろしくおねがいします」
「やはり日本にはないですね。そうなるとオークション等でこれと同じモデルを手に入れるかする位しか方法はないと思いますよ」
「そうですか(これって、同じモデルを買えということなの?だったらわざわざ相談しないのに。。。)」

そうこうしているうちに、店舗用iphone?を忙しく操作しながら対応してくれていたジーニアスが、

「同じモデルが国内にありそうです。ちょっと詳しく探してみます」

とのこと。このとき、ジーニアスが天使に見えました。

「交換可能になるまで少しお待ちいただけますか?」
「交換までざっくりとどれくらいかかりまでしょうか?」
「ちょっとわかりません」
「ざっくりでいいです。1年なのか、半年なのか、3か月なのか、1か月なのか
でいいです」
「3ヶ月はかからないと思います」
「そうですか」
「もう少し詳細を確認してみます」

このとき私は「すばらしい!」と感動していました。ネットで調べた通り、

  • SIMフリー機が動かないのでアップルストアに相談したら交換してもらえた

が本当だったから。

でも、このあと1つ目のどんでん返しが。

しばらくしてジーニアスが戻ってきて、

「実は大変なことが分かりました。このiPhoneはSIMフリーではなくAT&TのSIMロックがかかったものだったようです」
「そうですか」
「なので日本では紐付できないので何もできないことになります」
「分かりました。いろいろ調べていただいてありがとうございます」

そうなんです。本物のSIMフリーではなかったのです。正規?のSIMフリーではなく脱獄したSIMフリーだったようなのです。


AT&T機とわかってほっとした

買った当日、なんとなく、「SIMフリーではなく、SIMロックされたモデルを脱獄したものではないか」と感じていたのです。それは何故か。買ってすぐアクティベートしてもらったときのアイコンの中に、「Cydia」があったのです。それを見たときなにかおかしい感じがしました。また、「Cydia」の隣に中国語らしき文字のアイコンが最後に置かれていました。(以下は脱獄後にやっと取り出せた買った直後の画面スナップ)


「香港版なのかな」

そのときはそう考えました。パッケージも破く必要がありましたし、本体に貼られている粘着テープのようなものも、iPodやiPadで見覚えのあるものでした。

だから、「ひょっとしたら改造版でないか」という確証がいろいろ出てきていたにもかかわらず、そうは思いませんでした。(自分にとって)都合のいい方向に解釈していたようです。

でも、このときひとつ、大変な情報を得ていたのです(2つ目のどんでん返し)。

それは、AT&TにSIMロックされたiPhoneであること、です。これであとで一喜一憂することになります。

ネットを調べると、他キャリアのはできないが唯一AT&TのiPhoneはファクトリで(正規に)SIMロックを外すことができるとあったからです。

AT&TにSIMロックを外してとWEBで申請する

そうなんです。AT&Tは1、2年前から宗旨替えして、SIMロック(デバイスロックともいう)を外すサービスを行っていたのです。いろいろ条件はありますが。タイで買ってきたものですから条件を満たすかどうかは不明です。とりあえずWEBにアクセスしてSIMロックを外してもらえるように情報を出しました。

情報を出してから1週間たった位のときに、ネットで「回答が来るまで6日から2、3週間かかるらしい」という情報を入手していたので、

「そのまま待つしかないか。もしダメでも有料でSIMロックを外してもらえる業者もあるらしいのでなんとかなりそう」

と気長に待っていました。

AT&TのSIMカードでアクティベートさせてみる

でも、

「待てよ。AT&TのSIMロックということはAT&TのSIMさえあればアクティベートはできるんだよな」

と考えてAmazonでSIMを取り寄せました。

特急で取り寄せたSIMカードでしたが、結構苦労してSIMカード自体のアクティベートが成功しましたが、結局3GS本体はアクティベートできませんでした。「SIMカードがインストールされていません」と出てきます。

SIMカードのトレイが機械的に壊れているのかと、ネットの情報を頼りに開けてみましたが、ここで大変なことが分かりました(3つ目のどんでん返し)。新品とは真っ赤なうそで、内部の金属部分には指紋というか手の油がびっしりで、一見して改造したものと分かりました。


分解方法についてはこちらを参考にしました。

AT&TからSIMロック解除に関する回答が来るまで脱獄してみる

ハード的に改造されているとわかったとなると、すべての前提が崩れます。ソフト的な改造だけだとネットで調べられる範囲で8、9割は想像がつくのですが、ハード改造だと「何が起こるかわからない」ことになります。

こうなるとあと残されているのは、脱獄しかありません。今回私が3GSに対してUPDATEした最新OSの6.0.1で「紐なし脱獄」ができるのは旧ブートROMの3GSだけだそうですが、私のは新ブートROMでした。

結構時間を掛けて脱獄に成功しました(なにをもって成功というのかわかりませんが)が、アクティベートが必要ない代わりに電話機能は使えずSafariも使えません。音楽を聴いたりビデオを見たり等には使えます。今もっているipodと同じ、というかそれ以下のものに変身してしまいました。

というわけで、AT&Tからの回答をしばらく気長に待つしかありません。

[追記:2012-12-14]

ATTからの回答が来ました。やはり正規店での購入の確証がないとの理由で、デバイスロックの解除を断られました;


Thank you for contacting AT&T Customer Care about unlocking your iPhone.
We are unable to complete your request at this time due to the following reason:
  • Faxed documentation is ineligible or not received.
You may also check the status of your unlock request by clicking the link for AT&T's Device Unlock Status Portal.

Sincerely, 
The AT&T Customer Care Team 

今回の教訓は?

今回の教訓は、ちょっとでも変だと勘が働いたら徹底して調べるべき、ということ。「変だな」と感じたら大きな行動を起こす前に調べろということです。

今回のことは信用や人命に関わるような重要なことではないのでよかったのですが、自分の勘やら直感を鍛えることの重要性を再認識することになりました。

以上です。長い話を最後までありがとうございました。


[追記:2012-12-28]


本投稿から特にリンクを張っていませんが、この話には後日談があり、ATTのデバイスロックせずとも、脱獄iPhone3GSが奇跡の復活を果たしました。詳細は別投稿にあります。

[追記:2013-01-06]


 
現在またパタヤ滞在中ですが、脱獄iPhoneをSIMフリー機と称して売っているTUK-COMの携帯屋をたずねてみました。並んでいるiPhoneはどれもキレイにWRAPされていて一見新品のように見えます。
でも今回のことを経験した私からみると、「恐らくこのあたりの携帯屋の売ってるのはすべて改造品だろう」と思いました。「新品か中古か、どちらがほしい?」と聞かれるけれども、真意は「新品に見えるものと中古に見えるもの、どちらがほしい?」と聞いてるのだと。よく見るとやはり細かいところが新品とはいえないように見えなくもないです。
「これは中古でなく新品か」と店員に聞く私の隣で、ファラン達がそれらの値段を聞いてます。ちょっと可哀想。
私の想像ですが、そこで売っている人も実は改造品かどうかのところはよく知らないのでしょう。日本の量販店もそうですが、店員総体でなく店員個人で見ると持っている製品知識のばらつきが著しいので、コレも仕方のないことかと。
あと、WRAPしたiPhoneに「新品」ではなく「オリジナル」と書いてあるのは、どういう意味なんでしょうね。

2012年8月12日日曜日

Dropboxのちょっと変わった使い方(メール取得)

Dropboxのちょっと変わった使い方(メール取得)

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。

HDDドライブの使用量をモニタする方法を例として、Dropboxを利用したリモートPCの操作について示したが、ここでは、リモートPCでメールサーバ(受信)にアクセスしてタイトルをリストアップしておき、(手元にある)ローカルPC(またはモバイルデバイス)でその内容を確認する方法について具体例を示す。
準備するものは3つ。
  1. Dropbox内のファイル群
  2. メール取得スクリプト(PHP)。PHP環境のインストールがインストールされていることを前提としている
  3. タスク登録

メールタイトル等を取得するPHPスクリプト例

----
<?php
/* subchk.php : a PHP script for checking subject from an email account
PHPの版数は5.2.5以上を想定
*/
//------------------------------------------------------------------------------
// 初期設定
 mb_internal_encoding("SJIS");
//------------------------------------------------------------------------------
/* POP3 サーバと接続 */
 $mbox = @imap_open("{"."POP3サーバアドレス".":110/pop3}INBOX","POP3アカウント名","POP3パスワード");

 if ($mbox) {
 /* 新着確認 */
 $mboxes = imap_check($mbox);
 $mail_cnt = $mboxes->Nmsgs;
 echo "$mail_cnt 件あります\n";
 /* 1通以上あれば */
 if ($mail_cnt > 0){
   /* 各メールのリストを作成 */
   for ($i = $mail_cnt; $i > 0; $i--){ echo "$i]";
    $head = imap_header($mbox, $i);
    echo mb_decode_mimeheader($head->subject)."\n";
    echo $head->date."\n";
    echo mb_decode_mimeheader($head->fromaddress)."\n\n";
   }
 }
 imap_close($mbox); exit(0);
 }else{ /* 認証の失敗 */
  print("Unable to validate username/password.\n"); exit(1); } ?>
----

メール取得スクリプト(PHP)の更新と保存場所

上記スクリプトをエディタに取り込んでPOP3サーバアドレス、POP3アカウント名、POP3パスワードを自分のメール環境に合わせて変更する。 変更後のスクリプトファイルを例えばsubchk.phpというファイル名にして、Dropbox外の適当な場所に保存する。処理内容(スクリプトコード)を固定して使うこと、アカウント名やパスワードを入れていることからDropboxフォルダの外に保存すべきだ。ここでは、Cドライブ直下に"Bin"というフォルダを作成してその下に保存する。 PHPはリモートPCのみにインストールすればよい。ここではCドライブの直下に”Php”というフォルダを作成してそこにインストールした。環境変数(PATH)は設定してもしなくてもよい。

Dropbox内のファイル群の構成例

管理しやすくするため、リモート操作専用のフォルダ(例えば”CmdViaDropbox”)を作成しDropbox直下に置き、そこに
  • Batchファイル(bat\subchk.bat)。Batchファイルはそうたびたび更新することがないだろうから”bat”フォルダに集めておく。iPad等からの操作時にlockファイルを削除することがあるが、間違えてBatchファイルを消さないようにする対策にもなる
  • 結果出力ファイル(rep_subchk.txt)
  • Lockファイル(subchk.lck)
等を入れておく。

Batchフォルダ内のファイル構成例

Windowsタスクから直接起動されるBatchファイル(Main.bat)の作成例

----
@echo off
REM call bat\RemotePC.bat
call bat\Subchk.bat
REM call bat\Subedit.bat
REM pause
exit
----

メール取得Batchファイル(Subchk.bat)の作成例

----
@echo off
if exist Subchk.lck goto END
echo "CmdViaDropbox" > Subchk.lck
cd c:\bin
C:\php\php.exe -f subchk.php > "C:\Documents and Settings\user\My Documents\Dropbox\CmdViaDropbox\rep_subchk.txt"
REM pause
REM exit
:END
----
これはBatchファイル(MAIN)から起動されるメール取得Batchファイル(Subchk.bat)の作成例である。

起動方法と結果例

手元のデバイス(ローカルPCやiPad、iPhoneなど)のDropboxフォルダを開き(iPadならDropboxアプリを起動)、 CmdViaDropbox\subchk.lck というLockファイルを削除する(iPadのDropboxはファイル編集はできないがファイル削除はできる)。 するとLockファイル削除からタスクの設定時間(ここでは5分毎にMain.batが処理されるようタスク登録されたと仮定)が経過したところで、Main.batを経由してSubchk.batが呼ばれる。Lockファイルが存在しないのでPHPスクリプトのコードが処理されてメールサーバ(POP3)から抽出したタイトルリストが結果ファイル(rep_subchk.txt)に出力される。 タイトルリストの数にもよるが1分から長くて数分で処理が完了するだろうから、上の仮定でいけば6分から8分後には最新のタイトルリストが手元のデバイスで参照できる。なお、Dropboxの同期時間は0として計算していることに注意。回線が細いと当然無視できない時間がかかるだろう 以下は結果ファイルの例
----
65 件あります
65]グーグル参入で活気づく「クラウドストレージ」市場
Tue, 08 May 2012 15:36:36 +0900
ccc@dddddd.com
64]4つの実践演習でチームをまとめるスキルを体得●【リーダー養成プログラム】
Tue, 08 May 2012 15:32:02 +0900
ccc@dddddd.com
63]月間トップはスルガ銀と「SEは正しい」/ITproスマホサイト刷新
Tue, 08 May 2012 15:24:02 +0900
ccc@dddddd.com
----

応用

PhpスクリプトやWindowsアプリを用意してそれらを呼び出すBatchファイルをMain.batに追加するとリモートPCにやらせたいことを拡張できる。 上の例では(ここではコメント(REM)になっているが)
  • リモートPC側からVNCを呼び出す(RemotePC.bat)。VNCアプリと組み合わせて処理する
  • メールの本文をリストアップする(subedit.bat)。Phpスクリプトと組み合わせて処理する
などが実装できる。 以上

「暗記の井戸HD」世界初!?クラウド連動型WEBアプリ 使い方

使い方■

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there
  • Inbox
  • ダウンロード
  • 共有
  • プライベート共有
  • 縦横切り替え
  • 隠す/詳細
  • シャッフル
  • ボックス削除
  • 削除
  • 一括追加
  • 移送
  • その他(オプション)











使い方(Inbox)■

ステップ1起動画面から、右上にある「縦横画面切り替え」ボタンをタッチする
ステップ2左上にある「ボックス」ボタンをタッチする
ステップ3「Inbox」右にあるカウンタバブル(最初は0)をタッチする

カウンタバブルが小さくて、手の大きな人には操作が多少難しいかも知れません

ステップ4「Inbox」にダウンロードするサンプルクイズの属性を指定し「更新」ボタンをタッチします(最初のうちは属性にはなにも指定しなくても構いません)
ステップ5「Inbox」をタッチします
ステップ6気に入ったクイズサンプルがあれば各項目の左の画像(ダウンロードの積もり)をタッチします
ステップ7「Inbox」のクイズボックスリストに戻りダウンロードしたクイズを楽しみます

c2011 KrasavKana


■使い方(ダウンロード)■

ステップ1起動画面から、右上にある「縦横画面切り替え」ボタンをタッチする
ステップ2左上にある「ボックス」ボタンをタッチする
ステップ3「Inbox」右にあるカウンタバブル(最初は0)をタッチする

カウンタバブルが小さくて、手の大きな人には操作が多少難しいかも知れません

「Inbox」にダウンロードするサンプルクイズの属性を指定し「更新」ボタンをタッチします(最初のうちは属性にはなにも指定しなくても構いません)
ステップ5「Inbox」をタッチします
ステップ6気に入ったクイズサンプルがあれば各項目の左の画像(ダウンロードの積もり)をタッチします
ステップ7「Inbox」のクイズボックスリストに戻りダウンロードしたクイズを楽しみます


c2011 KrasavKana



■使い方(共有)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3(必要なら)「共有者」「カテゴリ」「タグ」「出典」を記載して「共有」をタッチする

「プライベート」を指定しないと誰からでも見られてしまうので注意

ステップ4ダイアログで「共有」または「キャンセル」をタッチする

c2011 KrasavKana


■使い方(プライベート共有)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「プライベート」を記載して「共有」をタッチする
「プライベート」を含め全ての属性は日本語が使えます

「プライベート」に記載の文字列を忘れてしまうと再度ダウンロードできなくなります



ステップ4ダイアログで「共有」または「キャンセル」をタッチする

c2011 KrasavKana

■使い方(縦横切り替え)■

ステップ1右上ボタン(3個)の右端にある「縦横切り替え」をタッチする

トグルになっています。ボタンの色は変化しません

縦画面(Portraitモード)のときは画面右下に前後に移動するボタンが現れます

c2011 KrasavKana


■使い方(隠す/詳細)■

ステップ1画面右上辺りにある薄い青の「隠す」ボタンをタッチする

ボタン表示が「隠す」から「詳細」に変わります

アンサー(解答)部分が隠れます。「詳細」ボタンをタッチすると再度現れます

c2011 KrasavKana


■使い方(シャッフル)■

ステップ1クイズボックスをリストから選びタッチする

「Inbox」クイズボックスはシャッフルに対応していません

ステップ2右上ボタン(3個)の左端にある「シャッフル」ボタンをタッチする

「Inbox」の項目を選択しているときは、左右に「いやいや」します

ステップ3クイズの順序がシャッフルされると「シャッフル」ボタンが青く変わります


前と同じ順序にシャッフルすることはできません


ステップ4再度「シャッフル」をタッチすると、ボタンの色が元に戻り、クイズの順序も作成時のそれに戻ります

©2011 KrasavKana

■使い方(ボックス削除)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「ボックス削除」をタッチする
ステップ4ダイアログで「削除」または「キャンセル」をタッチする



この状態では内部DBから完全削除されていませんので復旧が可能です。復旧したい場合は、「使い方(その他)」を参照してください

ステップ5「完了」をタッチする

©2011 KrasavKana

■使い方(削除)■

ステップ1右上ボタン(3個)の真ん中にある「ゴミ箱」ボタンをタッチする

この状態では内部DBから完全削除されてはいませんので復旧が可能です。復旧したい場合は「使い方(その他)」を参照してください

©2011 KrasavKana

■使い方(一括追加)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「一括追加」をタッチする
ステップ4下記テキスト形式のテキストデータを貼り付け、「更新」をタッチする

☆テキスト形式

奇数行目に「クイズ(問題)」を、偶数行に「アンサー(解答)」を、それぞれ記述して、2行で1つの「クイズ・アンサー(問題・解答)」を構成します。ただし空行(改行文字のみの行)は読み飛ばします

 (例の始まり)
1 Even how much I love somebody, I'm never try to act in front of him. To let him know what I am is what the relationship is all about. クイズ
2 Paris Hilton アンサー(上の行がクイズとして)
3          ←空行[blank line]
4 But, I don't want easy. Easy doesn't make you glow. クイズ 
5 Madonnnaアンサー(上の行がクイズとして)
(例の終わり)

c2011 KrasavKana

■使い方(移送)■

ステップ1クイズボックスの「編集」をタッチする
ステップ2クイズボックスをリストから選びタッチする
ステップ3「移送」をタッチする
ステップ4ダイアログに出てきたデータ(Json形式)を他で使う、または他からGETしたデータでダイアログのデータを書き換えるなどする

Json形式はそれなりに厳密なのでうまく編集しないと受付られなくなります

ステップ5ダイアログの「更新」または「キャンセル」をタッチする

「他で使う」場合はここでは「キャンセル」をタッチ、「他からGETしたデータを使う」場合はここでは「更新」をタッチします


c2011 KrasavKana


■使い方(その他)■


[日本語表示にする] urlに http://krapsiup.com/anh/?lang=ja と入れて起動する

langオプションの省略時は英語表示になっています


[ゴミ箱を空にする] urlに http://krapsiup.com/anh/?empty と入れて起動する

クイズ単体やクイズボックスの削除のとき、内部DB(sqlite3)上では実際削除しているわけではなく、削除のフラグを立てて処理しています。本オプションは、内部DB内で削除フラグのたつデータを(物理的に?)削除します。このとき、ゴミ箱から元に戻すという芸当はできなくなります
[縦長モードで起動する] urlに http://krapsiup.com/anh/?portrait と入れて起動する

iPhoneおよびiPod-touch向けの起動URLにはこのオプションがあらかじめ指定してあります


[アプリケーションキャッシュの強制チェック] urlに http://krapsiup.com/anh/?updatecache と入れて起動する

起動時更新があれば更新するかどうか問い合わせますが、そこで「いいえ」「キャンセル」を選択してしまうと以降新たな更新があるまで問い合わせされなくなることがあるそうです。そうしたときに強制的に更新チェックする場合に本オプションを使用します


[ローカルストレージを削除する] urlに http://krapsiup.com/anh/?c と入れて起動する

Inboxのダウンロード情報等はローカルストレージに保存しています。前回使用時の設定も同時に保存しています。保存したこれらの設定に矛盾があるときなどに本オプションを実施します。通常の使用では必要ありません


[ゴミ箱から復旧する] urlに http://krapsiup.com/anh/?trashon と入れて起動する

本オプションでの起動時、削除された項目は「クイズボックス」のリストおよび「クイズ単体」のリスト上薄い表示で出現します。再度「ボックス削除」「削除」の手順を踏めば「削除」と「復旧」をトグルすることができるようにしています。ただし、「ゴミ箱を空にする」を実行してしまった場合は復旧できません

©2011 KrasavKana

「暗記の井戸HD」世界初!?クラウド連動型WEBアプリ 概要

■「暗記の井戸HD」アプリの簡単な紹介

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

※本WEBアプリは、準ローカルWEBアプリ(一部ネットワークと通信する機能が含まれます)です。本アプリに入力したデータはデバイス内部のDBに格納され(使用者の同意なく自動で)インタネット上に送信される心配はありません。実行コード(HTML、JS、CSS)自体も、初回起動時にWEBページとして取得したあとは個々のデバイスにキャッシュされ、次回以降元のコードに更新がない限り再読込みする必要はありません(更新がなければ再読み込みしてもダウンロードされません)。

バージョンアップの自動チェックは行っておりません。バージョンアップチェックを行いたい場合には、再読込みをお願いします。












暗記の井戸HDは、Android端末向けにリリースしている無料アプリ「暗記の井戸(Ankinoid)」およびiPad,iPhone向けにリリースしているHTML5版無料WEBクリップ「暗記の井戸(Ankinoid)」のHD版です。基本的に1カラムデザインのモバイル向けアプリに比べ、HD版ということで高解像度の画面をフルに活用できるよう工夫しています。HTMLエディタを使って作成すれば文字色やフォントの大きさ等自在なデザインのクイズ(問題)が作成可能です。本マニュアルもそのようにして作成しています。

さらに、本アプリではクラウド上にクイズデータを公開できるようにしました(クイズクラウド)。お友達と試験予想問題を共有したり、世界にひとつしかないクイズを発信したり、できます。自分だけがアクセス可能なようにプライベート公開(クラウド上に公開するが自分しか参照もダウンロードもできないこと)することも可能です。自分や少数の仲間しか知らないプライベートコードを設定しておけば、他からは参照もダウンロードもできなくなります。

国旗の画像は「外務省 国旗」
http://www.mofa.go.jp/mofaj/world/kokki/index.html
を参考にさせていただきました

©2012 KrasavKana


■本アプリの特長

◆特長① スマートフォン用アプリ(Android版「暗記の井戸」、HTML5版「暗記の井戸」)をiPadやPCの大画面を活用できるようにユーザインタフェースを大幅変更しました


・HTML5版にある暗記レベル機能やAndroid版にあるスライドショー機能、およびキーワード検索機能等は実装していません。

・一括追加機能や移送機能(HTML5版のみ)はほぼそのままの形で実装しています。

・デバイス内部のDBはHTML5のものを流用しており、HTML5版をご使用の方は既存のデータをそのまま引き継げます

◆特長② クイズクラウドが利用できます

「クイズクラウド」とは、クラウド上に設置した専用一時保存領域のことです。本アプリでは問題・解答(クイズ)の集合体を「クイズボックス」と呼びます(メールアプリでいうところのメールボックス)。そのひとつとして、「Inbox」というクイズボックスをあらかじめ組み込んでおり、そこからクイズクラウドへアクセスします

クイズクラウドには、クイズボックス単位で、アクセスします。本アプリからは専用apiを通して

[share] 本アプリで作成したクイズボックスの一時保存(プライベート設定が必要)または共有(プライベート設定は不要)。カテゴリやタグの設定も可能

[inbox] 「Inbox」クイズボックスへの「クイズサンプル(後述)」のダウンロード

[dl] 「クイズサンプル」から選択したクイズボックスのダウンロード


が可能です


◆特長③ クイズサンプルが利用できます

クイズサンプルは、クイズクラウド上に共有された複数のクイズボックスからそれぞれランダムに1問ずつ抽出して作ったクイズボックスのことです。カテゴリ名やタグ名などの属性を指定して対象を絞ることもできます。クイズサンプルは本アプリの「Inbox」へダウンロードされます。1問1答のサンプルから気に入った(共有された)クイズボックスがあれば(サンプルではなく全問が入った)クイズボックスを好きなだけダウンロードできます。

◆特長④ 縦長モード(Portrait mode)が利用できます

ワンタッチ(ワンクリック)で切り替えができ、デバイスの画面の大きさや形(横長(Landscape)か)によって使いわけることができます(自動切り替えは実装していません)

©2011 KrasavKana


OS版数、動作確認端末など

版数 20120808JST1818

対象端末 iPhone, iPad, 
iPod-touch, Android等、HTML5対応のsafari系ブラウザ

検査端末 iPod-touch 4G, new iPad, Xperia SO01B (OS 2.1)、Sony Tablet S(OS3.1 16GB)

改版履歴■

版数 20120808JST1818(初版)

■参考にしたページなど

国旗の画像は「外務省 国旗」
http://www.mofa.go.jp/mofaj/world/kokki/index.html
を参考にさせていただきました

©2011 KrasavKana


2012年5月7日月曜日

Dropboxのちょっと変わった使い方(基本編)

Dropboxのちょっと変わった使い方(基本編)

※本ブログは6月末で他サイトに移設する予定です。これまで閲覧ありがとうございました。
[note] this blog is planed to be moved to other site until end of June. See you in there

DropboxとはWindowsのファイルやフォルダでありながら、他デバイス(PCやタブレット、スマホなど)とリアルタイム同期できる高機能ファイルシステムのこと。

これは非常に便利で、例えばiCloudを使ったiOSデバイスのフォトストリームのように、あるデバイスで作成更新したデータが即座に他のデバイスで使えるようになる。FTPなどの転送ソフトを利用するなどの手間が一切なく、ネット共有フォルダ+αのような便利さがある。

普通の使い方は、自宅(自宅PC)や会社(会社PC)や出先(モバイルデバイス等)で、いつでもどこでも最新の作業状態を(一切の手間なく)手に入れて作業を再開することである。

ここでは、Dropboxの最大の特長であるところのリアルタイム更新機能を用いて、ちょっと変わった使い方を提案してみたい。



タスク機能と組み合わせてリモートPCを操作する

タスク機能とはWindowsのコントロールパネルにある「タスク」のこと。Linux系ではcronと書いた方が分かり易いかも知れない。

Dropboxの中にバッチファイルを置いておき、タスクでそのバッチファイルをある決まった時刻に実行するように設定しておけば、自宅や出先や会社などそのPCから遠い場所から、そのデバイス(普通はPC)に何でもさせることができる。例えば、
  • ハードディスクの使用量をモニタする[Batchファイルをタスクに登録]
  • 再起動させる[Batchファイルをタスクに登録 ]。再起動ではなくシャットダウンも可能だが、その時点でリモート操作は終了してしまう
  • メールのsubjectsを100件リストアップする[Php実行を含むBatchファイルをタスクに登録 ]
  • 自宅のモニタカメラを使う。子供やペットの様子をモニタする[未実装]
  • 自宅のエアコンを帰る30分前にONしておく[未実装]
  • 会社PCをリモート接続する[VNCアプリを含むBatch ファイルをタスクに登録]。通常自宅PCから会社PCへは簡単には接続できないが、その逆(コールバックというのかな)は可能な場合が多いことを利用する。前に「Emailリモートコマンドが5分で構築できる時代」という記事を書いたが、Dropboxでさらに簡単になった
等ができる。

最後にあげたリモート接続は別として、GUIで操作するわけではないので、バッチファイルやPHPスクリプト等を作成しなければならないが、そこを突破できれば何でもできるようになる。

例えば、1番目の、(リモートPCの)ハードディスクの使用量をモニタする、を実際にやってみよう。

Dropboxさえ使えればリモートPCがぶら下がるネットワークにポートに穴を開けたり特別なサーバを用意したりする必要はない。対象ドライブ上で(リモートPCで)DIRコマンドした結果をDropbox内に定期的に保存するだけでいいのだ。

これは従来やっていたやり方と比べて格段に敷居が低くなった。従来のやり方の例としては、DIRコマンドした結果をEmailで飛ばすなりTweetするなりする必要がありこれが結構知識と手間が要ったのだ。

Dropboxを利用する場合は準備することは2つ。1つ目はBatchファイルを作成すること。例えば、
-------
@echo off
d:
DIR/W > "C:\Documents and Settings\user\My Documents\Dropbox\DIR_out.txt"
-------
というBATファイルをDIR.batという名前にしてDropboxのフォルダに置く。

2つ目は、そのBatchファイルをリモートPCにタスク登録すること。リモートPCの「コントロールパネル」「タスク」でそのBATファイルを登録しておく(毎日1時間おきに実行するなど)

これらが準備できれば、(ローカルPCの)DropboxにあるDIR_out.txtを開けばリモートPCのDドライブの使用量を確認できる。その内容は1時間毎に更新される(上のタスク設定にした場合)。タスクの設定を変えれば1時間毎を5分毎にすることもできる。

iphone/ipad/ipod-touchなどのiOSデバイスでもDropboxをインストールして使用することができる。ファイルの更新はできないが、ファイル参照、フォルダ作成、ファイル削除が可能だ。これは、どこにいてもリモートPCの状態をモニタできることを意味する。ドライブ容量がパンクする前に
不要ファイルを消すなり移動するなりのアクションが取りやすくなる。


繰り返し処理とイベント処理を使い分ける

DropboxによるリモートPC操作における「繰り返し処理」とは、タスクで設定した時間毎に何度でも繰り返し処理を実行すること。例えば上の例にあった「ハードディスク容量をモニタする」のように、1時間毎にモニタ内容を更新する。

DropboxによるリモートPC操作における「イベント処理」とは、タスクで設定した時間に係わらず、ローカルPCからの操作で1度だけ実行すること。ローカルPCから何か合図をしたらその後一度だけリモートPCで処理を実行する。上の例にあった「メールのSubjectsを100件リストアップする」「エアコンをONにする」「モニタカメラを使い始める」の場合のように、何度も繰り返すより、手元のデバイス(PCやスマホなど)からの操作で1度だけ処理したい場合がある。

こういう使い分けは、Dropboxを利用する場合、どのようにすればいいだろう。

1つの例としては、下記のように、Batchファイル内でlockファイルの有無により処理を分ける方法がある。

----
@echo off
if exist Dir.lck goto END
echo "CmdViaDropbox" > Dir.lck

d:

DIR/W > "C:\Documents and Settings\user\My Documents\Dropbox\DIR_out.txt"


:END
----

このBatchファイルでは、「Dir.lck」というlockファイルがあると処理を飛ばす。lockファイルがないとlockファイルを作成した上で処理する。

こうしておけば、ローカルPCやiPhoneのDropboxフォルダでlockファイルが削除されるまで、いくら5分毎にBatchファイルが呼ばれても、処理されないようになる。


実際に使ってみると「イベント処理」の方が有効だった。いくら暇でも1時間や5分毎に更新内容をチェックするような事態はあまりない。メールのSubjectsを100件5分毎に取得しても5分前との差異は数件も無いだろう。それよりも必要なときにローカルデバイスからlockファイルを削除しさえすれば暫くすれば情報が取得できるのであるから、「イベント処理」で十分なのだ。

lockファイルを使う方法はPCだけ使う用途だけで考えるとなにかもったりしているが、Dropbox内のファイルにフルアクセスできないipad,iphone,ipod-touchのようなモバイルデバイスを使うとき、真価を発揮する。


リモートPCを操作するためのパラメータ

リモートPCで実行させたい処理に引数等のパラメータを渡したい場合がある。例えばメールのSubjectsをデフォルト (なにも指定のないときの意) で100件リストアップする処理の場合に、
  • 100件を50件に変更する
  • 差し出し人を特定のメールアドレスでフィルタする
  • Subjectだけではなく本文もリストする
等、いろいろ考えられる。

[オンとオフ]

上のlockファイルの有無で処理を分けることができるように、モバイルデバイス上のDropboxからでも調整しやすいパラメータである。ファイルの有無やフォルダの有無などいろいろ試すことができそうである。

[文字列]

モバイルデバイス上のDropboxからだと厳しいが、フォルダが自由に作成できるのでフォルダ名にパラメータを埋め込んでそれをリモートPC側で認識させる方法が考えられるだろう。


終わりに

iOS系モバイルデバイスのDropboxアプリの仕様が制限されているのは何故だろうか。ソフトキーボードがあるのだからテキストファイルが編集できてもよい気がするのだが。

テキストファイルが編集できるようになれば、リモートPCと同じ自由が手に入るだろう。


参考情報


DropboxのURL
https://www.dropbox.com/

以上