2011年7月6日水曜日

DropadA8でBluetoothPanクライアント化(書き途中)

DropadA8でBluetoothPanクライアント化

WillcomのWS027SHを所有している。
こいつをルータ化しようとすると
WifiSnapやICS Contlor等のアプリケーションを
使用することになるが、無線Lanの接続がAd-Hoc接続になる。
AndroidはネイティブでAd-hocに対応していない
WS027SHは標準でBluetoothを使用した
インターネット共有ができる。

DropadA8のFirmwareが2.3に対応してから
Bluetoothのドングルが使えるようになった。

キタコレ

===========================================================
用意するもの
===========================================================

 ---------------------------------------------------------
 端末
 ---------------------------------------------------------
  Rooted(←これ重要)かつBluetoothに対応したFirmwareのもの
  私の場合、EnotarV2.1を使用

 ---------------------------------------------------------
 USB接続のBluetoothドングル
 ---------------------------------------------------------
  昔買った部屋に転がっていた
  Bluetooth2.1規格のものを使用しました。

 ---------------------------------------------------------
 Androidのアプリケーション
 ---------------------------------------------------------
  Wireless Tether for Root Users(以下 Wireless Tether)
   このアプリに入っている「pand」というものが必要


   入手はマーケットまたは、
   「Wireless Tether」でググルと出てくる。
   私は、ググッテ入手


  Gscript
   Windowsで言うとバッチファイルを作成できるような
   アプリケーション
   フリーの「GscriptLite」でOK
   入手はマーケットにて入手

===========================================================
準備
===========================================================
 ---------------------------------------------------------
 Wireless Tetherをインストール
   インストール後Wireless Tetherを
   一度起動し終了しておく。
   私の環境だとWireless Tetherをインストール後
   起動してない状態だと「pand」が
   「/data/data/android.tether/bin/pand」に
   作成されていなかった。
   一度起動させてあげることで作成された。
 ---------------------------------------------------------


 ---------------------------------------------------------
 Gscriptインストール
 ---------------------------------------------------------


 ---------------------------------------------------------
 シェルスクリプトを書く(重要)


  ///////////////////////////////////////////////////////
  BluetoothPAN有効化スクリプト


    下記スクリプトを「BT_PAN_ON.sh」という名称で作成し
    SDカードに保存。
    一行目はそれぞれの環境にあわせる必要があるので
    下記「スクリプト解説」を参照


   ↓↓↓↓↓↓↓↓↓↓↓スクリプト↓↓↓↓↓↓↓↓↓↓↓
   /data/data/android.tether/bin/pand -s -r PANU -c **:**:**:**:**:**
   sleep 5
   /system/bin/ifconfig bnep0 down 192.168.0.2 netmask 255.255.255.0 up
   /system/bin/route add default gw 192.168.0.1 dev bnep0
   /system/bin/setprop net.bnep0.dns1 8.8.8.8
   /system/bin/setprop net.dns1 8.8.8.8
   /system/bin/ifconfig rmnet0 down
   echo done.
   ↑↑↑↑↑↑↑↑↑↑↑スクリプト↑↑↑↑↑↑↑↑↑↑↑


   スクリプト解説


     1行目 PANクライアント実行
      「/data/data/android.tether/bin/pand」は、
       Wireless Tetherをインストールして、
       一回実行すると作成されるので
       RootExploerでファイルがあるか確認
      「**:**:**:**:**:**」
       WS027SHのBluetoothのアドレスを記述する
       確認方法はワイアレスマネージャでBluetoothを
       オンにすると表示されるアドレスを記述


     2行目 PANクライアントが実行完了するまで待つ
      とりあえずこのまま


     3行目 ネットワーク設定
      「192.168.0.2 netmask 255.255.255.0」
       WS027SHをpanサーバにする場合はこのままで
       他の端末を使用する場合は、端末が使用する
       IPアドレスにあわせる。


     4行目 ネットワーク設定
      「192.168.0.1」
       WS027SHをpanサーバにする場合はこのままで
       他の端末を使用する場合は、端末が使用する
       IPアドレスにあわせる。


     5行目 DNS設定
      「8.8.8.8」
       GoogleのパブリックDNSを指定してるがお好みで


     6行目 DNS設定
      「8.8.8.8」
       GoogleのパブリックDNSを指定してるがお好みで


     7行目 3Gネットワークを停止
       Dropadだといらないかも、確認して書き直します。


  ///////////////////////////////////////////////////////


  ///////////////////////////////////////////////////////
  BluetoothPAN無効化スクリプト


    下記スクリプトを「BT_PAN_OFF.sh」という名称で作成し
    SDカードに保存


    ↓↓↓↓↓↓↓↓↓↓↓スクリプト↓↓↓↓↓↓↓↓↓↓↓
    /system/bin/ifconfig bnep0 down
    /data/data/android.tether/bin/pand -K
    echo disconnected.
    ↑↑↑↑↑↑↑↑↑↑↑スクリプト↑↑↑↑↑↑↑↑↑↑↑


   スクリプト解説


     1行目 Buletoothネットワーク無効化
      Bluetoothネットワークを無効化します。


     2行目 pandを終了
      pandコマンドを終了します。


     3行目 メッセージ表示
      切断したよのメッセージ


  ///////////////////////////////////////////////////////
 ---------------------------------------------------------


書いたシェルスクリプトをGscriptに食わせる
(お手軽に起動するため)


接続方法
DropadA8とWS027SHでBluetoothを接続する。

pand有効化スクリプトを実行

WS027SH側のインターネット共有画面にて接続確認ができる。

pand無効化スクリプトを実行することで切断


超簡単まとめ

Android 端末はRooted

Wireless Tetherインストール一回起動する
起動した後は用済みだがアンインストールしちゃ駄目

シェルスクリプト書く

Gscriptでお手軽起動させる(お好みで)

以上って感じ