2013年3月14日木曜日

AirCardのIPアドレスを知る - その2 AirCard側の改造

前回AirCardのIPアドレスを知るためのサーバ側の準備を行ったので、
今回はAirCardのファームウェアを改造します。
なお、改造して動かなくなっても私は知りませんので、やるなら自分の責任で行ってください。

ファームウェアの改造方法は以前書いているので省き、ここでは修正部分だけを記述します。
"/etc/dhcp.script"の
if [ "$1" = "bound" ]; then
から始まるifブロック内の最後に以下を加えるだけです。
cd /tmp
wget http://<サーバ名>/p/index.php?ip=$ip
sleep 5
wget http://<サーバ名>/p/ip.jpg
cp -f ip.jpg /mnt/sd/DCIM/199_WIFI/WSD00004.JPG
sync
mount -o remount /mnt/sd
AirCardをスマートフォンにテザリングしておけば、
AirCardの[緑の制御画像(Connect to Hotspot)]を削除して
インターネットにつながったとき"WSD00004.JPG"が生成されIPアドレスがわかるようになります。
ただし、いつも持ち歩いているLUMIX GF1に挿して実験してみると
ちょっと妙な動作になったので注意する必要があります。
"WSD00004.JPG"が存在しない状態から新規に作成された場合、
GF1の再生モードでそのファイルが閲覧できません。
ただその場合でも無線LAN経由でブラウザからAirCardのウェブインターフェイスに
直接アクセスする分にはAirCard内に存在するのが確認できます。
また、すでに存在していた状況で内容が更新される分には、
その更新された内容の画像が表示できます。
どうもファイルの存在についてはキャッシュが効いて、
内容については必要な瞬間に読んでいるように思えます。
このあたり差し込むデジカメ毎に挙動が異なる可能性があり注意が必要です。
デジカメではありませんがWindows8 PCに挿した場合は、
システムキャッシュのために挿しなおし以外に新しい画像を認識させる方法はないようです。
ちなみに、スマートフォン等のブラウザで
http://<サーバ名>/p/ip.jpg
の画像を直接見るなんて裏技もあるので、最悪でもそれで対応可能です。

まあ大した機能ではありませんし、端々までちゃんと作ってるわけではありませんが、
皆さんの参考になれば幸いです。
もしアレンジなどして面白い機能を実装されたらトラックバックなどいただけると嬉しいです。
最後になりますが、改造はくれぐれも自己責任でお願いします。

0 件のコメント:

コメントを投稿