📅 2014 年 7 月 21 日

手元に、普段使っているiPhoneと以前購入して使っていないAndroidスマホがありました。
以前から、自宅の様子などを遠隔地から監視できないかと思っていましたが、カメラ付きAndroidスマホを使えば簡単にできるということを思い付きました。
前提として、Androidスマホは携帯回線を契約しているか、Wi-Fi(無線LAN)に接続していることが条件になります。遠隔操作なので、ネットワークへの接続は必須です。
今回は携帯回線は解約済みで、Wi-Fi接続しているとします。
まず、AndroidスマホにAirDroidをインストールします。
最初に起動した際に求められるパスワード設定などはスキップして構いません。家庭内のネットワークからの操作なら不要でしょう。
次に、同じネットワークに接続しているデバイス(PC|iPhone)のブラウザから、Androidスマホに表示されているIPアドレスへアクセスします。

すると、Androidスマホ画面に承認するかどうかのアラートが出ますので、当然承認します。この承認は毎回必要ですが、設定で承認不要にすることもできます。

接続中にはこうなります。

ブラウザから色んな操作ができますので、遊んで下さい。カメラを起動すれば、遠隔で監視できます。撮影ももちろんできます。

ところで、スマホを放置し、スリープモードに入ってしまうと、AirDroid動作しなくなり、当然外部からアクセスもできなくなるようです。それを防ぐためには、KeepScreenなどのアプリで、スリープしないようにするなどの対策が必要です。
裏技として、AirDroidで使われているポート宛てに、ルータのマスカレード設定をすれば、内部ネットワークからだけでなく、出先からでもインターネットを経由して、Androidスマホにアクセスできるようになります。
防水のAndroidスマホに安いデータ用SIMを入れ、外部バッテリーを取りつければ、長時間稼働できる格安の監視システムの完成です!
探偵とかだと捗るんでしょうね!
📅 2013 年 2 月 5 日

シンプルなウェブページであれば、ヘッダー部分でmetaタグのviewportを指定すれば、簡易的なiPhoneやAndroidなどのスマホに対応したページにすることできます。
そこで、JavaScriptとPHPの二通りの方法でUserAgentを判別し、iPhoneやAndroid(タブレットは除く)であれば、viewportを書き出すソースを書いてみます。
自分で指定したUserAgentの端末のみviewportが書き出されますので、例えばiPadなどにはviewportは書き出されず、シンプルな一種の振り分けとなります。
JavaScript
|
|
<script type="text/javascript"> var d = window.document; if(navigator.userAgent.indexOf('iPhone') > -1){ d.write('<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />'); }else if(navigator.userAgent.indexOf('iPod') > -1){ d.write('<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />'); }else if(navigator.userAgent.indexOf('Android') > -1 && navigator.userAgent.indexOf('Mobile') > -1){ d.write('<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />'); }else if(navigator.userAgent.indexOf('Windows Phone') > -1){ d.write('<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0" />'); } </script> |
PHP
|
|
<?php $ua = $_SERVER["HTTP_USER_AGENT"]; if (mb_ereg("iPhone|iPod|Android.*Mobile|Windows.*Phone|blackberry|webOS", $ua)) { $viewport = "<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0\" />"; echo $viewport; } ?> |
どちらもの間の上の方に書くといいと思います。
今回はあくまでviewportの書き出しでしたが、UserAgentの判定によるページ振り分けは色々と応用方法があると思います。