« June 2008 | Main | August 2008 »

2008.07.29

[iPhone]iPhone 3Gの「カメラ」で撮影した画像の位置情報を修正する

iPhone 3Gの「カメラ」で撮影した画像のEXIFには、Core Location(GPS/基地局/WiFi)から取得した緯度経度・位置情報が埋め込むことができる上、加速度センサーから取得した情報を元に割り出した画像の向きをEXIFのOrientationに記録をしていて、とても案配がいいですよね。 これからのデジカメはこうあるべき。

しかし、位置情報がどうもおかしい。

日本で撮影された画像のEXIFに埋め込まれた位置情報は、北太平洋上を指し示すと思います。

経度(Longitude)情報のGPSLongitudeRefがWestになっていますが、これをEastに直してやると、例えば、Picasaなどにアップロードした際の地図上の表示地点が正しくなります。

直す方法はいろいろあるかと思いますが、Exiv2を使ったやり方は以下のようになります。

Exiv2は、Mac OS XならMacPortsからスコっとインストールできます。

$ sudo port install exiv2

各種Linuxでもパッケージ管理ソフトウェア経由でスコっとインスコできるかと思います。

$ sudo apt-get install exiv2

で、以下のようなスクリプトを用意します。

#!/bin/sh
exiv2 -h >/dev/null 2>&1
if [ $? -eq 127 ]; then
    echo "ERROR: exiv2 not found."
    echo "You should install exiv2 from MacPorts or APT or and so on."
    exit
fi
for i in *.[Jj][Pp][Gg]; do
    if [ X`exiv2 -pt "${i}" | grep Exif.GPSInfo.GPSLongitudeRef | awk '{print $4}'` = "XWest" ]; then
        exiv2 -M"set Exif.GPSInfo.GPSLongitudeRef E" "${i}"
        echo "Processed ${i}"
    fi
done

適当な名前(仮にここでは「fix_iphone_photo.sh」)で保存をして、実行権を付けます。

iPhoneから吸い出してきた、おかしな位置情報の入った画像を集めたディレクトリで上記スクリプトを実行すると、そこにある画像のEXIFがいっぺんに修正されます。

一応、バックアップを取ってからやった方がいいかと思います。無保証です。

$ chmod +x fix_iphone_photo.sh
$ sudo cp fix_iphone_photo.sh /usr/local/bin
$ cd ~/Pictures
$ fix_iphone_photo.sh

フォルダが掘られているのであれば、GNU findなどで再帰検索をかけるといいんではないでしょうか。

日本ではこれで大丈夫だと思いますが、自分は実のところ緯度・経度の仕組みがよく分かってないもんで、おかしな結果になったらすいません。

|

2008.07.23

[iPhone]iPhone 3Gのホームボタンのダブルプッシュ操作で「カメラ」を起動する

ホームボタンをダブルプッシュする操作を知ってますか。

iPod touchのときからありましたよね。
「使ってしばらくしてから偶然気づいて、大発見をした気で思わずブログや掲示板に書いてしまう」という行動が散発的に観察されるあれです。

iPhoneではダブルプッシュしたときの動作がカスタマイズできます。
しかし、標準では3種類の中から選ぶことしかできないので不満です。
個人的にはホームボタンのダブルプッシュには「カメラ」を割り当ててみたかったので、やってみました。

危険な操作を含みます。最悪iPhone 3Gが動かなくなるかもしれません。
SoftBank MobileならびにAppleから修理を拒否されるかもしれません。
特に電話は、問い合わせ無しでかけ始めてしまうので注意してください。
何か起きても、私は一切助言できません。
また、私は何の保証もできかねます。
ご自分で試す場合は、すべて自己責任で実行してください。

  • Pwnage2.0.1(2008年7月22日現在最新版)でpwn (jailbreak)
  • CydiaからOpenSSHとErica Utilitiesをインストール&リブート
  • sshでiPhone 3Gにrootログインして、以下のように実行します。パスワードは「alpine」
# sb -s "doubletap://com.apple.mobileslideshow-Camera" SBDoubleTapURL

「sb -l」とすると、アプリケーションのBundle Identifierの一覧が取れますので、別のアプリを起動したいときは、それを元に書き換えてみてください。

元に戻したければ、「設定」から設定すればOKです。

|

[iPhone]一発で指定の人に電話をかけるアイコン、一発で指定の人に送るメールを作成するアイコンをiPhone 3Gのホーム画面に登録する

iPhone 3Gをpwn (Jailbreak)したんで調子が出てきました。

一発で指定の人に電話をかけたり、一発で指定の人に送るメールを作成するアイコンをホーム画面に登録してみました。

危険な操作を含みます。最悪iPhone 3Gが動かなくなるかもしれません。
SoftBank MobileならびにAppleから修理を拒否されるかもしれません。
特に電話は、問い合わせ無しでかけ始めてしまうので注意してください。
何か起きても、私は一切助言できません。
また、私は何の保証もできかねます。
ご自分で試す場合は、すべて自己責任で実行してください。

  • Pwnage2.0.1(2008年7月22日現在最新版)でpwn (jailbreak)
  • CydiaからErica Utilitiesをインストール
  • one_tap_tel_mail_launcher.zipをダウンロードして、解凍。
  • mail01.appないしはtel01.appの中に入っているmailaddr.txt、telnum.txtを編集。好きなメールアドレス、電話番号に書き換えます。
  • scpで/Applications/以下にmail01.app、tel01.appをコピー。パスワードは「alpine」

000.000.000.000は、実際にはiPhoneのIPアドレスを入れます。もちろん、scpに対応したクライアントを使うのでもOKです。Windowsの人は、scpした後でcore.shに実行権を付けてください。
「.app」のファイル名には日本語が使えるようです。UTF-8で大丈夫でした。


$ scp -r mail01.app tel01.app root@000.000.000.000:/Applications

iPhoneの電源を入れ直すか、sshでiPhone 3Gにログインして、restartを実行。
ホーム画面に出現したアイコンをタップすれば、一発で電話をかけ始めるか、メール作成画面になります。

メールアドレスには引数を付けられます。mailaddr.txtを参考にしてもらえれば分かるかと思いますが、以下のような感じです。定型メールが一発で作成できます。

メールアドレス?cc=アドレス&bcc=アドレス&subject=表題&body=本文

アドレスは、カンマ区切りで複数指定できます。
表題、本文には日本語が使えますが、UTF-8で、なおかつURLエンコードしておく必要があります。
URLエンコードには、以下のページを使うと便利です。

TAG <index>: URLエンコード・デコードフォーム

複数登録する場合は、「Info.plist」を書き換えてください。特にCFBundleIdentifierは、それぞれ別のものにしないとだめです。

|

2008.07.22

[iPhone]iPhone 3Gの「カメラ」のシャッター音を消し、あの聞こえづらいメール着信音を変更する

別に盗撮をするってわけじゃありませんが、どうせJailbreakするならということで、iPhone 3Gの「カメラ」のシャッター音を消し、聞こえづらくて不満の残る「メール」の着信音を変更してみました。

危険な操作を含みます。最悪iPhone 3Gが動かなくなるかもしれません。
SoftBank MobileならびにAppleから修理を拒否されるかもしれません。
何か起きても、私は一切助言できません。
また、私は何の保証もできかねます。
ご自分で試す場合は、すべて自己責任で実行してください。

「カメラ」のシャッター音を消す

  • Pwnage2.0.1(2008年7月22日現在最新版)でpwn (jailbreak)
  • CydiaからOpenSSHをインストール&リブート
  • sshで母艦からログイン、もしくはCydiaからインストールしたMobileTerminal上で次なる手順を操作。MobileTerminalの場合はsuしてルートユーザになる。パスワードは「alpine」
# cd /System/Library/Audio/UISounds
# mv photoShutter.caf _photoShutter.caf

シャッター音の音声ファイルをリネームしてしまうわけです。
もちろん、同様の手順をsftpに対応したクライアントで実行するというのでも構いません。

「メール」の着信音を変更する

本来、「メール」の着信音はON/OFFだけできて、音色を変更することができません。
しかし、pwn (jailbreak)してしまえば変え放題です。

「/System/Library/Audio/UISounds」にある「new-mail.caf」が、あのメール着信音なので、同じディレクトリにある「sms-receivedx.caf」辺りを代わりに使うといいかと思います。

「メール」は着信音をファイル名決め打ちで鳴らすので、別のファイルをファイル名「new-mail.caf」としてコピーすれば、それを鳴らしてくれます。

# cd /System/Library/Audio/UISounds
# mv new-mail.caf _new-mail.caf
# cp sms-received2.caf new-mail.caf

拡張子「caf」の実体はAIFFだそうで、自分で作ったものへの差し替えもできそうです。
ただし、あまり巨大なファイルだとiPhone 3Gがハングアップするかもしれないので、注意してください。

|

2008.07.21

[iPhone]iPhone 3GのSafariと「マップ / Googleマップ / GMaps.app」の連携:ぐるなびの地図表示地点を「マップ」で表示

iPhone 3GにはGPSが搭載されており、iPhone SDKからもCore Locationを通して位置情報の取得ができるので、今後面白いソフトウェアが出てくるものと予想されます。

ネイティブアプリに踏み込む前に、Safariでも位置情報関係で面白いことはできんかな、ということで、Safariと「マップ / Googleマップ / GMaps.app」の連携をするブックマークレットを簡単に作ってみました。

今回作ったものは、ぐるなびで店を検索し、地図を表示させてからこのブックマークレットを起動すると「マップ / Googleマップ / GMaps.app」が起動、お店の場所にピンを立てられるというものです。

ピンが立った地点をブックマークすればGPSで現在位置を確認しながら店探しができるので、たどり着くのが簡単になるんじゃないでしょうか。

▼まずぐるなびで地図を表示

Gurunavi_01

▼ブックマークから今回のブックマークレットを起動

Gurunavi_02

▼「マップ」が起動して、地図と同じ地点にピンが立ちます

Gurunavi_03

ブックマークレットの登録

あんまりテストしていないので、無保証です。

javascript:var u,l;var pfx="http://maps.google.com/maps?q=";var dl=document.links;for(var i=0;i<dl.length;i++){u=String(dl[i]);if(u.match(/.+map\.php.+/)){rg=/.+pos=(\d+)\/(\d+)\/([0-9.]+),(\d+)\/(\d+)\/([0-9.]+).+/;l=unescape(u).match(rg);for(var j=1;j<l.length;j++){l[j]=parseFloat(l[j]);};lat=l[1]+(l[2]/60)+(l[3]/60/60);lon=l[4]+(l[5]/60)+(l[6]/60/60);lat=lat-lat*0.00010695+lon*0.000017464+0.0046017;lon=lon-lat*0.000046038-lon*0.000083043+0.010040;window.location=pfx+lat+"+"+lon;break;}}

ブックマークレットは、母艦のIEやSafariなど、iPhone 3Gとブックマークレットの同期をしているブラウザに登録して、iTunes経由で登録すると楽かと思います。

あるいは、この「リンク先」をiPhone 3GのSafariにブックマークします。URLには今回のブックマークレットが丸々付いているので、URLの「javascript:」以前を削除すれば登録できます。
ブックマークのURLは、一度ブックマークしてからでないと編集できないので注意してください。

ぐるなびの使う測地系は日本測地系、マップの使う測地系は世界測地系なので、座標変換をしなければなりません。モロデンスキー変換をしなけりゃならないのか、と憂鬱になりましたが、近似値を出す超簡単な変換式を以下のエントリで発見したので、それで難を逃れました。
この場をお借りしてお礼申し上げます。

oitale blog:ぐるペパ:Google Maps内に全情報を表示する方向へ

|

2008.07.08

[chumby]chumbyにUSBカメラをつないでみた

手近にEyeToyがあったので、chumbyに接続してみました。

果敢にも試してみる

以下のファイルをダウンロードします。
素人の仕事ですので、何が起こるか分かりませんというか、実際動作が不安定です。無保証です。

「chumby_eyetoy_set.tar.gz」をダウンロード

scpでchumbyの/pspに転送した後、sshでchumbyにログインして、解凍すれば準備OK。
「192.168.0.4」は、うちのchumbyのIPです。違う場合は読み替えてください。

$ scp chumby_eyetoy_set.tar.gz root@192.168.0.4:/psp/
$ ssh -lroot 192.168.0.4
# cd /psp
# tar xvzf chumby_eyetoy_set.tar.gz

/pspに以下のファイルが展開されます。
上書きされて困る場合は何も無いディレクトリの中に解凍して、子細検討してください。

rfs1/rcS
cjpeg
drivers/videodev.ko
drivers/ov51x-jpeg.ko
capture-V4L
libjpeg.so.62
cgi-bin/capture

chumbyの電源を落とし、起動し直します。
EyeToyを接続後、Mac/PCのブラウザから以下のようなURLをブラウズします。

http://192.168.0.4/cgi-bin/custom/capture

すると、こんな感じの画質でブラウザに表示されるはずです(chumbyに接続したEyeToyでchumby自身を撮影)。

ただ、自分のやった範囲ではちょっと不安定で、実用にはなりませんね。
しばらく使っているとストールしてしまいます。
きっちり知識のある方がやらないとダメでしょう。
cgiはstdoutに出力した画像を直接表示していますが、一度ファイルとして書き出してからなら、安定するかもです(それはそれでFlashの寿命うんぬんという話になりますが)。

EyeToyは数百円で入手できるそうですが、このために買うほどではないと思います。

やったことなどメモ

自分は素人なので、間違ったことを書いている可能性があります。
何かありましたらご指摘ください。

ドライバはov51x-jpegを使いました。オリジナルのov51xをビルドしてみたのですが、うまく通らなかったからです。

Kernelのビルドの方法はchumby WikiのBuilding and Installing a new chumby kernelに書いてありますが、自分が使っているubuntu 7.1だと失敗しました。

困って一度はあきらめたのですが、ISHさんのchumby関連のエントリがアップされて救われました。
ISHさんは凄いですね。僕も、chumbyはホームオートメーションセンターとして使うべきだと思います。

ISHさんのブログで紹介されているharadatさんのエントリによると、ubuntuにはKernelのビルドに必要なものが入っていないとのこと。以下の追加インストールが必要だそうで、

  • build-essential(これがなくては/usr/includeすらない)
  • kernel-package
  • libncurses5-dev(make menuconfigを行うために必要。本来kernel-packageに入っていると良いような気がする)
  • subversion, subversion-tools(TOMOYOのレポジトリの参照用)
  • quilt(もともとはAndrew Mortonが作成したパッチ管理用ツール。自分で使うことはないだろうけれども一応。依存関係でgawkとdiffstatが導入された)

今回はbuild-essential、libncurses5-devをインストールしました。

今回のものには関係無いですが、USB Serialに関連するモジュールを作っておくと便利なので、ISHさんのサイトにある通り、kernelを展開したディレクトリにある.configに以下を追記しました。
.configからはUSB Serialに関する記述が割愛されているので、USB Serial Converter supportの辺りに追記することになります。USB Serial関係のKernel Moduleは「linux-2.6.16-chumby-1.5.0/drivers/usb/serial」にできます。

#
# USB Serial Converter support
#
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_CONSOLE=m
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ANYDATA is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP2101=m
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_VISOR=m
CONFIG_USB_SERIAL_IPAQ=m
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
CONFIG_USB_SERIAL_PL2303=m
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set

カーネルをビルドしたら、Ov51x JPEG hacked Wikiからソースをもらってきます。

tar xvzf ov51x-jpeg-1.5.8.tar.gz
$ cd ov51x-jpeg-1.5.8
$ vi Makefile

MakefileのKDIRをchumbyのカーネルソースを展開したディレクトリに、CCとLDをそれぞれtoolchainのものを指定します。

CC = /usr/arm-linux/bin/gcc
LD = /usr/arm-linux/bin/ld
KDIR := /path/to/linux-2.6.16-chumby-1.5.0

でもってmake。

$ ARCH=arm CROSS_COMPILE=arm-linux- make

libjpegのソースパッケージをDebianからもらってきます。でもってビルド。.libs/の中に共有ライブラリが出来ます。

$ tar xvzf libjpeg6b_6b.orig.tar.gz
$ gzip -d libjpeg6b_6b-13.diff.gz
$ patch -p0 <libjpeg6b_6b-13.diff
$ cd libjpeg6b-6b
$ CC=/usr/arm-linux/bin/gcc ./configure  --host=arm-linux
$ make

capture-V4Lのソースをもらってきます。Makefileを編集してmake。

$ tar xvzf capture-V4L-v1.2.tgz
$ cd capture-V4L
$ vi Makefile

CCとCFLAGSを編集します。

CC            = /usr/arm-linux/bin/gcc
CFLAGS        = -O4 -Wall -fsigned-char

makeします。

$ make

キャプチャした画像を出力するcgiを書きます。
詳細はchumby_eyetoy_set.tar.gz内のcgi-bin/captureを参照。

|

2008.07.06

[chumby]chumbyを各種インターネット共有/WMWifiRouter経由でネットにつなぐ

2008.07.07: Windows XPのインターネット接続の共有の説明で、ファイアウォールをOFFにすることを説明し忘れていたので追記しました。



chumbyのデモを出先でする場合、無線LANによる通信経路の確保を模索することになりますが、デフォルトでは無線LANのアクセスポイントのみを検索する仕様であることが問題になります。

chumbyからアクセスできる無線LANのアクセスポイントが、必ず存在するとは限らないからです。

かといって、PCやWindows Mobile等のデバイス経由でどうにかしようと思っても、chumbyはAd-Hocモードの相手を見付けてくれないのでつながりません。

Mac OS Xのインターネット共有で「相手のコンピュータが使用するポート」をAirMacにした場合、Macの無線LANはアクセスポイントとしてふるまうのでchumbyから見付けることができるのですが、ネットワークの設定がうまくいかず「unreachable」のエラーで終わるはずです。

現状ではPHS300などを用意しないと、出先では通信経路の確保がままならないということになります。

ググったり何だりした結果、Mac OS Xのインターネット共有をchumbyから使うためのTIPS、chumbyと相手デバイスとを無線LANでAd-Hoc接続しつつ、chumbyが接続相手のDHCPを引く設定が分かりましたので、ここに書いておきます。

紹介している手順全般に言えるのは、セキュリティ無しの内容になっていることです。
まずは接続を確認してからセキュリティをかけてみてください。

西尾さんのChumbyをMacBookのインターネット接続共有で動かす方法に情報があります。

Mac OS X Leopard (10.5.4)のインターネット共有を使う

  • 「システム環境設定>共有>インターネット共有」を選択して、隣のペインにインターネット共有の設定を表示させます。
  • 「共有する接続経路」のドロップダウンリストから、インターネットに接続する経路を選択します。(W-ZERO 3 Modem Port、Bluetooth PANなど)
  • 「相手のコンピュータが使用するポート」の「AirMac」のチェックボックスをONにします。
  • 「AirMac オプション...」ボタンを押し、「ネットワーク名」を「chumby」などに変更します。「チャンネル」は「自動」、「暗号化 (WEPを使用)」のチェックボックスはOFFに設定。セキュリティが気になる向きは後で設定してください。OKボタンで終了。
  • 「インターネット共有」のチェックボックスをONにして、インターネット共有を開始します。
  • 「Terminal.app」を起動し、以下のように操作します。
$ cd /etc
$ sudo cp bootpd.plist _bootpd.plist
$ sudo vi _bootpd.plist
  • viが起動しますので、ファイルの最後の方にあるreply_threshold_secondsを4から0に編集します

オリジナル


<key>reply_threshold_seconds</key>
<integer>4</integer>

変更後


<key>reply_threshold_seconds</key>
<integer>0</integer>

  • 「インターネット共有」のチェックボックスをOFFにして、インターネット共有を停止します。
  • 引き続き以下のように操作します。
$ sudo mv _bootpd.plist bootpd.plist
$ sudo chmod 644 bootpd.plist
$ ls -l bootpd.plist
-rw-r--r--  1 root  wheel  1048  7  6 06:32 bootpd.plist

「インターネット共有」は起動時に/etc/bootpd.plistを生成、インターネット共有の停止時に/etc/bootpd.plistを削除します。編集内容がリセットされないように、リードオンリーにするわけです。

  • 再度、「インターネット共有」のチェックボックスをONにして、インターネット共有を開始します。
  • chumbyの「Scanning or wireless connections...」の後の「Choose a wireless connection」に、さきほど設定したネットワーク名「chumby」が見えているはずですので、それを選択します。
  • 「Choose IP allocation method」は「Automaic (recommended)」を選択、後は流れ通りでOKなはずです。chumbyに振られるIPは「10.0.2.n」になると思います。

64kでつなぐと遅くて、スライドショー系、ストリーミング系は実用になりません。
W-ZERO3を使い、高速化サービスが有効になるような設定だと64kでも結構大丈夫です(即ち、Bluetooth PAN経由か、WMWifiRouterなど経由か)。

WMWifiRouterを使う

Windows Mobile上で動作するソフトウェアWiFiルータ、WMWifiRouterが使えます。

  • WMWifiRouterをインストールします。詳細は割愛します。
  • ファイル名「debugchumby」でテキストファイルを作ります。改行コードはLFにしておきます。内容は以下のようなものです。WMWifiRouterで使うessidが"WMWifiRouter"である必要があります。違う場合は書き換えてください。
#!/bin/sh
ESSID="WMWifiRouter"
LOG=/mnt/usb/adhoc-status.txt
fbwrite "connecting to Ad-Hoc Wi-Fi network ${ESSID}...."
echo >>${LOG}
date >>${LOG}
iwconfig rausb0 mode Ad-Hoc essid ${ESSID} key off >>${LOG} 2>&1
udhcpc -t 5 -n -p /var/run/udhcpc.rausb0.pid -i rausb0 >>${LOG} 2>&1
ifconfig rausb0 >>${LOG} 2>&1
  • テキストファイル「debugchumby」をUSBメモリのルートディレクトリにコピーし、chumbyのUSBポートに挿入します。
  • WMWifiRouterを起動し、接続準備を完了させます。
  • chumbyが起動中であれば一度電源を落としてから、chumbyを(再度)起動します。

起動シーケンス中に液晶の上の方に"connecting to Ad-Hoc Wi-Fi network WMWifiRouter...."と表示された後、WMWifiRouter経由でインターネットと通信しながら起動するはずです。
おかしい場合はUSBメモリに出来ているはずの「adhoc-status.txt」の内容が参考になるかもしれません。

Windows XPのインターネット接続の共有を使う

chumby側の手順はWMWifiRouterと同様。debugchumby内ESSIDを、PC側のそれに書き換えるだけです。

普通にWindows XPでインターネット接続の共有の設定をすればいいのですが、ハマるポイントがいくつかあるので念のため書いておきます。

W-ZERO3をUSBモデムとして使いインターネットに接続するダイヤルアップ接続を、無線LAN経由で共有する例です。
ダイヤルアップ接続の名前を「dialup01」という名前にしていると仮定して説明します。
「dialup01」でインターネットに接続できることを確認しておきます。
Bluetooth PANの場合でも、有線LANでも接続先が違うだけでほぼ同様です。

なお、自分が使っているのは、Windows XP Home SP2です。SP3だとちょっと違うかもしれません。

こっちも現状セキュリティ無しなので、気になる向きは設定をお願いします。

  • 「コントロールパネル>ネットワーク接続」を起動します。
  • ダイヤルアップ「dialup01」のプロパティを表示します。
  • 「詳細設定>インターネット接続の共有>ホーム ネットワーク接続」のドロップダウンリストから「ワイヤレス ネットワーク接続」を選択します。
  • 「詳細設定>インターネット接続の共有>ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしても接続を許可する」のチェックボックスをONにします。
  • また、その下にある「ネットワークのコンピュータがインターネットにアクセスを試みるたびにダイヤルアップ接続を確立する」のチェックボックスもONにします。
  • 「OK」ボタンを押してプロパティを閉じます。
  • 「コントロールパネル>ネットワーク接続」の中にある「ワイヤレス ネットワーク接続」のプロパティを表示します。
  • 「全般>この接続は次の項目を使用します>インターネット プロトコル (TCP/IP)」のプロパティを表示します。
  • 「全般」タブの「次の IP アドレスを使う」のラジオボタンをON、「IP アドレス」を「192.168.0.1」に、「サブネットマスク」を「255.255.255.0」に。
  • 「ワイヤレス ネットワーク」タブの「追加」ボタンを押します。
  • 「アソシエーション>ネットワーク名 (SSID)」を「chumby」に、「データの暗号化」を「無効」にします。
  • 「これはコンピュータ相互 (ad-hoc) のネットワークで、ワイヤレス アクセス ポイントを使用しないのチェックボックスをONにします。
  • さらに「OK」ボタンでプロパティを閉じます。
  • 「ワイヤレス ネットワーク」タブに戻ったので、「詳細設定」ボタンを押します。
  • 「アクセスするネットワーク」を「コンピュータ相互 (ad-hoc) のネットワークのみ」に、「優先でないネットワークに自動的に接続」のチェックボックスをOFFにします。
  • 「閉じる」ボタンで「詳細設定」のダイアログを閉じます。
  • 「詳細設定(タブ)>Windows ファイアウォール」の「設定」ボタンを押し、「無効 (推奨されません)」を選択してファイアウォールを切り、「OK」ボタンを押して「Windows ファイアウォール」のダイアログを閉じます。さらに「OK」ボタンを押して、「ワイヤレス ネットワーク接続のプロパティ」を閉じます。
  • ファイル名「debugchumby」のテキストファイルをテキストエディタで作ります。改行コードはLFにしておきます。内容は以下のようなものです。SSIDを「chumby」にしたので、「ESSID="chumby"」という記述になっています。変えた場合は書き換えてください。
#!/bin/sh
ESSID="chumby"
LOG=/mnt/usb/adhoc-status.txt
fbwrite "connecting to Ad-Hoc Wi-Fi network ${ESSID}...."
iwconfig rausb0 mode Ad-Hoc essid ${ESSID} key off >>${LOG} 2>&1
udhcpc -t 5 -n -p /var/run/udhcpc.rausb0.pid -i rausb0 >>${LOG} 2>&1
ifconfig rausb0 >>${LOG} 2>&1
  • 「debugchumby」をUSBメモリのルートディレクトリにコピーし、chumbyのUSBポートに挿入します。
  • chumbyが起動中であれば一度電源を落としてから、chumbyを(再度)起動します。
  • 起動シーケンス中に液晶の上の方に"connecting to Ad-Hoc Wi-Fi network chumby...."と表示された後、PC側でダイヤルアップが始まって、インターネットと通信しながら起動するはずです。
  • おかしい場合はUSBメモリに出来ているはずの「adhoc-status.txt」の内容が参考になるかもしれません。

PC側の無線LANを固定IPかつ「192.168.0.n」にするところがミソです。
こうしないとICSが機能しないそうです。
普段のDHCPを使う設定との切り換えをスムーズにする手段が必要ですね。

複数のプロファイルを持てる機能があるかどうかよく知りませんが、ひょっとしたらこういうのはnetコマンドでやるもんなんでしょうか。

また、PC側の無線LANのファイアウォールをOFFにしておかないと、chumbyがICSのDHCPを引けません。これもハマりポイント。
より選択的にファイアウォールをOFFにする方法があるかと思います。ご存知の方がいらしたら教えてください。

|

2008.07.05

非対応機種で無理矢理モバイル版Wassrを利用

TwitterのAPI制限は確かにいかがなものかと思うので、Yappo氏のアジテーションに乗ってWassrの利用を開始した。

Twitterのシンプルさが好きだし、ときたま発生する海外の方、Twitterを根城にする方との交流を楽しんでいるのでTwitterとは離れ難い。
WassrはTwitterとSNSとの間に位置するような使用感で、Twitterには無いシナジーが確かにあるので併用してみている。

モバイル版のWassrはWILLCOMへの対応をうたっているものの、Advanced/W-ZERO3[es]のIE/OperaでアクセスするとPC版に飛ばされる。
Twitterのように任意に使い分けられるのがベストだと思うが、そうはなってない。
後発としては柔軟な運用をお願いしたいところ。

NetFront Browser v3.5コンセプト版をインストールして、User-Agentを書き換えたらモバイル版にアクセスできた。
WILLCOMユーザーの誇りから、User-Agentは味ぽんのものに変更してみた。

Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0

しかし、NetFront Browser v3.5コンセプト版のスクロールはなんだか使いにくいなあ。スクロールと共にフォーカスが移っていくあの形式が使いやすいのに。

Mac/PCのブラウザでもUAを書き換えるとモバイル版が見られるが、IPもチェックしているようで、チャンネル以外はほぼ見られない。チャンネルは見られるが、書き込みはできなかった。

W-ZERO3をWMWifiRouterで無線LANルータ化したり、インターネット共有でBluetooth PANを組んだ上で、クライアント側からUser-Agentを詐称したブラウザでアクセスするといいが、そこまでするシチュエーションは無いかな。W-ZERO3+N810という組み合わせであれば意味はあるか。

NOKIA N810のブラウザでのUser-Agent変更は? とITTで調べると以下のbookmarkletで可能とのこと。同じく味ぽんのにしてみた。

User-Agentを味ぽんのものに変更


about:config?prefname=general.useragent.override&prefvalue=Mozilla%2F3.0%28DDIPOCKET%3BJRC%2FAH-J3001V%2CAH-J3002V%2F1.0%2F0100%2Fc50%29CNF%2F2.0

元に戻す


about:config?prefname=general.useragent.override&prefvalue=

ただ、about:configは重くて、自分のところではブラウザがハングアップしてしまうことがしばしば。
同じことは、~/.mozilla/microb/user.jsに設定を加えることでもできる。

User-Agentを味ぽんのものに変更


user_pref("general.useragent.override", "Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0");

元に戻す


user_pref("general.useragent.override", "");

補助スクリプトでトグルできるようにした方がいいだろうね。

|

« June 2008 | Main | August 2008 »