2012年12月29日土曜日

デジカメをPQI Air CardでAndroidのテザリング子機として接続し、写真を自動で読み込んでみる。


ひとりぶろぐのmoyashiさんが楽しい事をしていたので真似してみた。



やりたい事は

テザリングONにしたAndroid端末にPQI Air Cardが接続したら自動でPQI Air Card内に保存された写真をAndroid端末内に取り込む。

Eye-Fiのダイレクトモード使えばいいじゃん?あれはダメだ、Eye-Fiと接続している間はネットに繋がらなくなるから。


使うアプリなどは以下



PQI Air Card側の設定

基本的にはmoyashiさんのところに書かれている通り。
autorun.shもそもままでもOKですが私はちょいと書き換えて使う事にしました。

#!/bin/sh
 
# IPアドレス情報を含むMentionの送り先のTwitter IDを記入
twitter_id=meyskld
 
# Stew GateのTokenを取得してxxxの代わりに記入 http://stewgate.appspot.com/sg1/
token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
# もしうまくテザリングできなかったらsleepの数字を増やす
sleep 5
 
# 以下スクリプト本体
ifconfig mlan0 down
/usr/bin/w2
 
# sleep disable
kcard_cmd -s 0
 
stewgate='http://stewgate.appspot.com/sg1/post/'
 
script=`cat <<'EOT'
if (-e '/mnt/sd/counter.txt') {
    open(DATAFILE, "< /mnt/sd/counter.txt") or die("error :$!");
    my $count = ;
    $count = $count + 1;
    print "$count";
    open(DATAFILE, "> /mnt/sd/counter.txt") or die("error :$!");
    print DATAFILE $count;
} else {
    open(DATAFILE, "> /mnt/sd/counter.txt") or die("error :$!");
    print "0";
    print DATAFILE "0";
}
EOT
`
 
cnt=`perl -e "$script" ;`
 
sync; sync; sync
 
ip=`ifconfig mlan0 | grep inet | perl -e ' =~ / +inet addr:([0-9\.]+).+/;print "$1\n";'`
 
wget -O - --post-data="_t=${token}&msg=${twitter_id} Connected PQI Air Card IP: ${ip} ${cnt}" ${stewgate}

TwiProwlで私のID、「meyskld」というワードでタイムラインを監視させているのでMention飛ばす必要は無いのでこんな感じに。
PQI Air CardがAPに接続した事が分かればそれでOK…な感じです。

TwiProwlの設定

がんばれ

Taskerの設定

TaskerのPlug inとしてNotify My Androidを使用する事が出来ます。

Notify My AndroidがPQI Air CardがAPに接続しましたよ通知を受け取ったタイミングでFolderSyncの同期を始めるよう、Taskerのスクリプトを書きます。

TaskerでNew Profileを作成。
First ContextにEvent→3rd Party→Notifi My Androidを選択

中身はこんな感じにする。

実行するタスクはFolderSyncの同期を実行するようにするだけ。

テザリングの親機によってはDHCPで割り当てされるIPアドレスが繋がっている子機次第で変動する場合があると思います。
その場合はTaskerで割り当てされるであろうIPアドレス分、Profileを作成すれば良いだろう。

J Butterflyはテザリング設定の「許可されたユーザーのみ」設定を有効にしたら常に同じIPアドレスを割り当てるような動作をしてる(っぽい、あまりその辺検証してない)


FolderSyncの設定

アカウントにPQI Aire Cardに割り当てされるIPアドレスをサーバーアドレスとしてftpアカウントを追加する。
ログイン方法は匿名ログインを使用でOKだ。

次にFolderpairの登録を行う。
特に難しい設定は無いので説明は省く。
気をつける点としては「接続」設定の「Edge/3G/4Gを使用」にチェックを入れておく必要があるくらい。

PQI Air Cardとのやり取りはWiFiで行うのだが、Android端末はWiFi接続ではなく、3Gや4Gで繋がっているため、Taskerで呼び出した際に「Edge/3G/4Gを使用」にチェックを入れておかないと同期を始めてくれない。

同期フィルターでrawファイルを同期しないようにフィルターを登録するなりすると幸せになれるかと思います。


以上で設定はおわり。
Android端末のテザリングをONにした状態でカメラの電源を入れ、しばらく経つと勝手に写真を吸い上げ始めます。



GXRとPQI Air Cardの相性悪くてまともに使えないんだよなぁ…

2012年12月26日水曜日

1500円で外でも使えるQi充電パッドを作る

ネタです、真似しないでください。

Lumia 920 はQi(チー)によるワイヤレス充電に対応しており、大変便利に使っております。

充電パッドはPanasonicのQETM101が3,000円程度とそれなりに安く購入出来ますが外で使用するにはちょっと大きいですしACアダプタを必要とします。
(出たばかりの頃に5,000円くらい出して買ったんだけど安くなったな…)



モバイルバッテリーで使用する事ができ、かつ小さいパッドが欲しい!って事でとあるモノを使って作りました。



見た目は気にするな…

ちなみに中身は


やっつけ仕事すぎるのでアレですがちゃんと使えます…



材料はコレとAmazonの箱とマスキングテープ、ガムテープだけです、1500円あれば揃います。
道具はドライバーとドライヤーとハサミがあればなんとかなります。
面倒くさいので適当です、ビール飲みながら作りました。


Touchstone Charging Dockをバラす


先ず、裏のゴムパッドをドライヤーで暖めながら剥がします。


ネジ3本外し、蓋開ける。


基板をめくるとネジが4本出てくるので外す。


中はこんな感じ。コイル必要ですので外します。白いやつマイナスドライバーでツンツンすれば外れます。


必要になるのはコイツら。
写真撮り忘れたのですが、右上の黒いやつと銀色のオモリが強力な両面テープで貼り合わせてあるのでドライヤーで暖めながら剥がします。

あとはこいつらをダンボール上に配置してテープでとめて完成です。




見た目がよろしくないので適当なケースに入れておけばよいと思います。


なんか充電速度すげぇ遅い気がしないでもないのだが気にしない事にするか…

ぱっと見給電されてるようでされません。そもそもQiじゃないしなー

2012年12月23日日曜日

Nokia Lumia 920 : Push Notification


Nokia Lumia 920 を使い始めてから1週間ほど経った。

初めて使ったWindowsPhone はHTC 7 Mozart の1年半程前、今年頭に購入したNokia Lumia 800 は数ヶ月間メインのスマートフォンとして使用していたからか、Lumia 920 も戸惑うこと無く、OS7.5 の時とほぼ同じ感覚で使えている。
OS 2.3 から4.0 になり、UI がガラっと変わったAndroid ほど大きな変化はWindowsPhone には無い。

Lumia 920 のReview はGSMArena 辺りを読んで頂ければと思う。
ここではmeyskld の中の人がLumia 920 を、WindowsPhone をこんな感じに使ってますよ!といった内容でダラダラと書いていく。

今回は通知まわりのお話


Push! Push ! Push !! Push Notification


あきらめない あきらめない あきらめない あきらめない あきらめない

WindowsPhone の通知は画面上部に表示されるToast 通知、Homeに設置したTile を用いたTile 通知とLockScreenでの通知。
Microsoft Push Notification Service を使用したアプリケーションであればリアルタイムにPush Notificationを受信出来る。


普段良く使うサービス、アプリケーションのTile をHome の一番上に配置しておけば通知を見落とす事は殆ど無いだろう。
WindowsPhone8 になり、Tile を小さくし、OS7.5 の時よりも一画面に多くのTile を設置する事が出来るようになったのでHome を下にスクロールさせなくても殆ど確認出来るだろう。



WindowsPhone8 からはLockScreen の通知がサードパーティー製アプリケーションにも開放された。


特によく使うサービスはここに登録しておくのが良いだろう。
まだLockscreen の通知エリアに登録する事の出来るアプリケーションはあまり無いが時間が解決してくれるだろう。
Facebook は公式アプリ が対応している。
右端のBattery 残量を表示しているものは Battery Level for WP8 というアプリケーションだ。

ふぁぼれよ! Fav、RT、Mention、DM通知やエゴサーチはtoasty で



Android のNotifiMyAndroid みたいなアプリですよ…と言っても分かる人が何人居るのか分かりませんが、そんな感じのアプリケーションがtoasty です。

使い方はtoasty api を見れば分かると思います、簡単です。分からない人は勉強してください。

私はレンタルしているさくらVPS上でPython で適当に書いたtwitter監視サービスを動かし、twitterまわりの通知をさせています。

いちから書くの面倒臭い人はにゃーすあいさんのTwiProwl をtoasty 対応させるなりすれば少し楽出来るかと思います。
WindowsPhone のメール通知はtoast 通知してくれなくてイマイチだと感じる人はIMAProwl を使うと幸せになれるかもしれません。



通知LED無いのは諦めろ。


2012年11月23日金曜日

ついうっかりNokia Lumia 920を発注した



送料込み61000円くらいですかね。
「12月5日入荷予定や、今回もあまり台数入らないから!」らしいです、cloveさん曰く

さて、SBM LTE SIM用意しなきゃ…

2012年10月22日月曜日

Motorola RAZR i XT890のKernelをビルドしてみた


Kernel sourceが公開されたのでビルドして実機で動かしてみた。
sourceはここ
ここに書いてあるとおりにビルドすればOK…だけど面倒くさいので


https://github.com/turl/linux-razr-i
turlさんがgithubにあげてくれてるコレを使う。

作業はUbuntu 11.04 32bitで行った、64bitでは「cast from pointer to integer of different size」が沢山出てきて修正すんの面倒くさいので32bitで…

git clone git://github.com/turl/linux-razr-i.git
とりあえずsourceをローカルに
それとhardware_ti_wlan.tar.gzとvendor_authentec_vpndriver.tar.gzも必要になるのsourceforgeからダウンロードしておく。

toolchainにAndroidのソースのprebuiltに入ってるものを使用するのでそれもrepo syncするなりしておく。

んでビルド
export PATH=/home/meyskld/android/xt890_kernel/prebuilt/linux-x86/toolchain/i686-android-linux-4.4.3/bin:$PATH
export ARCH=i386
export CROSS_COMPILE=i686-android-linux-
export ARCH_BUILD_FLAGS="ANDROID_TOOLCHAIN_FLAGS=-mno-android"

make i386_mfld_moto_defconfig
time make -j4

export INSTALL_MOD_PATH=/home/meyskld/android/xt890_kernel/modules/
make modules_install
Kernelだけのビルドなので数分で終わる。
Kernelは下記ディレクトリにbzImageという名前で保存される。
/arch/x86/boot/

make modules_installを実行するとINSTALL_MOD_PATHで指定したディレクトリにドライバたちが保存される。
WlanとVPNのドライバは下記URLに書かれている手順で別途ビルドする。
http://sourceforge.net/projects/razr-i.motorola/files/razr-i/8.7.1I-110_IFW-31/
Build compat.ko & wl12xx-sdio.ko~ってところ見れば分かると思う。

"apwr3_0.ko","pax.ko","sep3_7.ko"の3つがビルドされないのだがどーすればええねん?

ビルドした.koをramdiskのlib/modulesにコピー
ramdiskのunpack、repackは以前書いたこのエントリ通りに行えばOK
あれ - Motorola RAZR i XT890: rooted

cpio.gz作るところまでやっておく。

bzImageとramdisk.cpio.gzをくっつける作業をする。
mkbootimg的なツールがあれば良いのだが無いのでバイナリエディタで結合させた…とりあえず動けばいいやなノリ

オリジナルのboot.imgをバイナリエディタで開く。
アドレス0x2000までがheaderでその後ろにbzImage(kernel)をくっつける。
bzImage(kernel)の後ろにramdisk.cpio.gzをくっつける。この際、開始位置をオリジナルと同じにしておく。
headerの0x400にramdiskの開始位置とramdiskのサイズが書かれているのでここを書き換えるのでもOK
最後にオリジナルのfooterを張り付けて保存
物凄い無理やり感ありますけど…

あとはfastbootで焼いて起動するのを確認
fastboot flash boot boot_mod.img


さて、オーバークロックして遊ぶかー

2012年10月6日土曜日

Motorola RAZR i XT890: rooted




まだ実機は手に入ってないのですが、xda-developersのmember、mattlgroffさんが実機で試してくれました。
私がやった事、どっから入手したのか分からないXT890 Stock boot.imgのUnpack、default.propのro.secure=0化とRepackです。
unsecured kernel作ったって事です。

そもそもなんでunsecured kernelが使えるのか?というところですが、RAZR i XT890はBootloader Unlockが可能なモデルです。


Unlock手順についてはこちらを



RAZR i XT890 boot.imgのUnpack/Repack方法についてざっくり書きます。

Unpack

  1. バイナリエディタでboot.imgを開く
  2. "1F 8B 08"で検索する。
    数件ヒットするかと思いますがramdiskの部分は"Failed to allocate space for phdrs"と書かれているところの少し下になります。
    "1F 8B 08"はgzipのヘッダー
  3. "1F 8B 08"から後半の"FF"で埋められてるエリアの手前までをコピー
  4. 3.でコピーしたものをramdisk.cpio.gzという名前で保存
    gzipで圧縮されたcpioって事ですね。
  5. ramdisk.cpio.gzを展開する…Windows環境でも7-Zip等で展開出来ます。
Repack

  1. gzip圧縮されたcpioを作る。名前はramdisk_mod.cpio.gzとします
    作業はLinux環境で行う。
    cd ramdisk_mod
    find | cpio -H newc -o | gzip -9 > ramdisk_mod.cpio.gz
    
  2. バイナリエディタでramdisk_mod.cpio.gzを開く
  3. ramdisk_mod.cpio.gzをboot.imgの抜き出した部分に上書きし、保存
    ファイルサイズをオリジナルのboot.imgと同じにしてあげる必要があります。
    "00"で埋めてあげればOKです。
こんな感じです。
Motorolaさん、XT890のkernel sourceはよ!

2012年10月4日木曜日

ついうっかりMotorola RAZR i XT890を発注した

Unlockable BootloaderらしいってのとIntelの石積んでるとか楽しくないですか?って事で。
ディスプレイがPentileだとかBluetoothがv2.1だったりするのはイマイチだけどまぁいいか…な感じです。