2012年12月22日土曜日

Android EmulatorからホストPCへアクセス

Android EmulatorからホストPCのWebサーバに接続してみました。

PC側のブラウザからは http://localhost/
Emulatorからは http://10.0.2.2/
で接続します。


PCからEmulatorへは10.0.2.7でいけるようなのですが、EmulatorでWebサーバを立てて接続しようとしましたが、WiFiが有効にならず、IPアドレスを取得できませんでした。

2012年12月17日月曜日

Mac10.8にWinodowsからリモート接続(VNC)

Macを10.8にアップグレードし、WindowsからマルチユーザでVNCで接続します

1.MACを10.8にアップグレード
2.MAC側の画面共有の設定を行う




3.今回利用したVNC
RealVNC(vnc-4_1_2-winjp)で接続する。vncviewerを立ち上げる
オプションからカラーレベルをFullにする



VNCパスワードを入力し接続する 。ユーザを選択



画面が でてきました。


2012年12月5日水曜日

Ubuntu10.4: phpMyAdminのインストール

Ubuntu10.4にphpMyAdminをインストールします。
apacheやmysqlなど何も入っていません。

$ sudo apt-get update
$ sudo apt-get install mysql-server
sudo apt-get install phpmyadmin
$ sudo /etc/init.d/mysql start
$ sudo /etc/init.d/apache2 start (既に起動済み)

http://localhost/phpmyadmin/ でアクセス

id : root, pass : android でログイン






2012年11月29日木曜日

動画

学生が作った動画です。





2012年11月19日月曜日

Dropboxでのファイル同期までの所要時間

経営工学会の2012年度(秋季)の発表に向けて行ったDropboxでの実証実験の結果です。

条件・環境
 ・DropboxがインストールされたPCを2台用意し、Dropboxのアカウントは同じものとする。
 (PC:Mac Book Pro ,アカウント:sangi_000)
 ・モバイルルータ(sangi.mobile1)を用意し、実験を行うPCだけを接続する。
 ・1号に同期したいファイル(500[MB])をアップロードしてから、2号に反映されるまでの時間を計測  する。



◎実験結果

(  )…1号でのアップロードが終わる時間
[ ]…2号でダウンロードが始まる時間


<<1号でアップロードして2号にダウンロードされるまでの時間>>

●1分おきにアップロード

×1回目
 1 1'39"30
 2 1'56"31
 3 2'34"11

2回目
 1 1'45"52 (37"25)
 2 1'45"52 (1'27"93)差分:45"52

3回目
 1 1'56"98(40"44)
 2 1'56"98(1'22"25)差分:56"98

×4回目
 1 2'38"03(38"49)
 2 2'38"03(1'19"97)差分:1'38"03


5回目
 1 1'50"28(35"99)
 2 1'50"28(1'13"67)差分:50"28

---------------------------------------------------------------------------------

●30秒おきに

1回目
 1 2'09"62(48"45)
 2 2'09"62(1'00"24)
 3 2'09"62(1'14"86)

2回目
 1 2'35"69(48"79)
 2 2'35"69(55"37)差分:2'05"69
 3 2'35"69(1'18"66)差分:1'35"69

3回目
 1 2'10"74(37"55)
 2 2'10"74(47"06)差分:1'40"74
 3 2'10"74(1'18"00)差分:1'10"74

---------------------------------------------------------------------------------

●2個いっぺんに

1回目
 1 1'48"98(41"04)
 2 1'26"47(34"73)

2回目
 1 1'51"57(36"21) [1'44"50]
 2 1'51"57(43"91) [←に同じ]

3回目
 1 1'37"58(47"10)[1'21"75]
 2 1'37"58(35"61)[1'21"74]

---------------------------------------------------------------------------------

●3個いっぺんに

1 2'13"64(53"62)[2'06"52]
2 2'13"64(37"60)[1'23"01]
3 2'13"64(53"00)[1'39"57]

1 2'18"01(57"43)[2'08"22]
2 2'18"01(36"87)[1'33"00]
3 2'18"01(57"43)[1'45"76]

1 2'12"82(52"53)[2'01"17]
2 2'12"82(37"21)[1'31"61]
3 2'12"82(52"53)[1'40"66]

---------------------------------------------------------------------------------

※ ×印は、実験段階で適切でないと思われる値です。

2012年11月9日金曜日

Beagleboard2:固定IPアドレス設定

Beagleboardを複数台ネットワークにつなげてDHCPでIPアドレスを取得するとIPアドレスが重複してしまう現象が起きてしまいました。そこで固定IPアドレスをBeagleboard-xmのプレビルドイメージに設定する方法です。

プレビルドしたイメージを書き込んだMicroSDカードの
/media/rootfs/init.omap3.rc を作成します

on boot
setprop net.dns1 8.8.8.8
chmod 777 /system/etc/init.omap3.sh
service lan-setup /system/etc/init.omap3.sh
oneshot

/media/rootfs/system/etc/init.omap3.sh を作成します

#!/system/bin/sh
ifconfig usb0 192.168.1.100
netmask 255.255.255.0
route add default gw 192.168.1.1 dev usb0


これで起動時にIPアドレスが設定されます。


参考
http://shirangana.info/115/?page_id=142#2

Beagleboard1:モニターへの出力(plus one DVI LCD-8000DA)

Beagleboardで8インチモニター(plus one DVI LCD-8000DA)への出力を実施しました。PC用モニターでは簡単に出力できますが、8インチモニターでは解像度の関係で出力がうまくいかなかったです(何度かに1度映る程度)。

ターゲットボード:BeagleBoard-xm (c)
使用イメージ:beagleboard-xm.tar.gz(プレビルドイメージ)
モニター:plus one DVI LCD-8000DA (Century)

$ cd ~/TI_Android_GingerBread_2_3_4_DevKit_2_1/Tools/mk-bootscr
$ ./mkbootscr
とするとboot.srcが生成される(バイナリなので開けない)

$ sudo gedit boot.script (新規作成)
mmc initfatload mmc 1 80200000 uImagesetenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init omap_vout.vid1_static_vrfb_alloc=y omapfb.mode=dvi:8000x600MR-16 omapdss.def_disp="dvi" vram=8M omapfb.vram=0:8M'bootm 0x80200000
(解像度を800x600にしてみる)
boot.scriptはこちら

$ sudo ./mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'BeagleBoard' -d boot.script boot.scr (boot.scr作成)
boot.scrはこちら

これを
$ sudo cp boot.scr /media/boot/ で置き換え

これでLCDにうまく映ります。
ビルド済みイメージにboot.scrファイルのみ配布し書き換えてもらう。

S3とCloudFrontの測定の結果

 20130605追記 関


動画のダウンロード計測についてやり直しました。

Moodleにアップロード(参考)
70M     58.31
100M    1:21.17

S3、ClourFrontともにTokyoリージュンです。
Moodleは東京のデータセンタのVPSを利用し、平均17msecです(学校⇔VPS)
ダウンロード側
静岡産業技術専門学校教員専用回線(光回線 100Mbps 1本利用)
 

Cloudfront S3 Moodle

70M 100M 70M 100M 70M  100M
1回目 0:21.31 0:41.96 0:23.68 0:42.20 0:41.05 1:30.43
2回目 0:19.88 0:27.77 0:20.84 0:34.59 0:53.96 1:21.17
3回目 0:16.27 0:20.46 0:29.50 0:41.00 0:44.06 1:22.91
4回目 0:13.57 0:23.28 0:22.19 0:38.75 0:56.06 1:18.76
5回目 0:17.05 0:20.86 0:20.91 0:34.76 0:52.97 1:20.76
平均 0:17.62 0:26.87 0:23.42 0:38.26 0:49.62 1:22.81






---------------------------------

以下の条件の動画ダウンロードの速度を測定
①Moodle上から直接ダウンロードした場合
②クラウドフロントを利用した場合
③S3を利用した場合



AmazonEC2 負荷計測(CPU)

3ユーザでそれぞれAndroidエミュレータを同時に起動(合計3台)したときのCPUグラフです。
インスタンス毎掲載しています。 

実行動作
1.Eclipseを同時に起動(3ユーザがそれぞれEclipseを立ち上げる)
2.Avdマネージャから3ユーザが同時にそれぞれのAndroidエミュレータを立ち上げる

最初の山がEclipseでその後の山がAndroidエミュレータと考えられます。


◎micro












 
◎Small(CPU Utilization (Percent))


Large(CPU Utilization (Percent) )


High CPU Medium(CPU Utilization (Percent) )


Medium(CPU Utilization (Percent) )

Extra Large(CPU Utilization (Percent) )

High CPU Extra Large

High Memory Extra Large

High Memory Double Extra Large
High Memory Quad Extra Large




2012年11月8日木曜日

AmazonEC2 負荷計測

実行動作
1.Eclipseを同時に起動(3ユーザがそれぞれEclipseを立ち上げる)
2.Avdマネージャから3ユーザが同時にそれぞれのAndroidエミュレータを立ち上げる

Linux上でEclipseを起動・emulatorの起動した時の負荷計測



























 
  • Eclipse起動・・・Eclipseの画面が完全に表示される までの時間 
  • emulator起動・・・AVDManagerから起動し、ロック  画面が表示されるまでの時間
  • 空欄は10分以上経っても表示されなかった場合

学生のPCだと
Eclipse起動…01'28"50
emulator起動…01'16"00
 
となるので3人で1台のサーバで運用するにはExtra Largeレベルが必要です。

2012年11月2日金曜日

AmazonEC2でAndroidのビルド環境構築4-1(ビルド実行:コア数指定)

http://sdc.sangi.jp/2012/10/amazonec2android4.html
で行ったAmazonEC2でのAndroidのビルドをコア数を指定して行います。
前回はすべてコア数1で設定したところ、100分以上早くてもかかりました。
コア数を割当の最大数にして、ビルドを実行します。



High CPU Extra Large 8Core
Android Build
start
Fri Nov  2 02:06:18 UTC 2012
end
Fri Nov  2 02:30:54 UTC 2012
----------------------------------
----------------------------------
24分36秒


Large 2Core
Android Build
start
Fri Nov  2 01:33:28 UTC 2012
end
Fri Nov  2 02:41:04 UTC 2012
----------------------------------
----------------------------------
1時間7分36秒


Extra Large 4Core
Android Build
start
Fri Nov  2 01:39:17 UTC 2012
end
Fri Nov  2 02:15:43 UTC 2012
----------------------------------
----------------------------------
36分26秒


High Memory Extra Large 2Core
Android Build
start
Fri Nov  2 01:45:32 UTC 2012
end
Fri Nov  2 02:40:18 UTC 2012
----------------------------------
----------------------------------
54分46秒


High Memory Double Extra Large 4Core
Android Build
start
Fri Nov  2 01:50:43 UTC 2012
end
Fri Nov  2 02:21:05 UTC 2012
----------------------------------
----------------------------------

High Memory Quad Extra Large 8Core
Android Build
start
Fri Nov  2 01:57:23 UTC 2012
end
Fri Nov  2 02:16:00 UTC 2012
----------------------------------
----------------------------------
18分37秒


High CPU Medium 2Core
Android Build
start
Fri Nov  2 02:02:18 UTC 2012
end
Fri Nov  2 03:12:37 UTC 2012
----------------------------------
----------------------------------
1時間10分19秒

最短18分37秒でビルドが可能でした。

次に、コア数の倍でスレッド数を指定してみました。
今までで一番早かったHigh Memory Quad Extra Large 8Coreで実験しました。

High Memory Quad Extra Large 8Core 16Thread
Android Build
start
Fri Nov  2 03:45:39 UTC 2012
end
Fri Nov  2 04:05:04 UTC 2012
----------------------------------
----------------------------------
19分25秒となり、返って遅くなりました.
-jXで指定するXはやはりコア数が良いようです。

2012年11月1日木曜日

AmazonS3利用1(セットアップ)

AmazonS3を利用する方法です。

1.Bucketを用意

今回は[movie-work-XXXX」とします(ユニークでないといけません)。

2.Firefoxのアドオン(s3fox)をインストール
Firefoxを開き->ツール->アドオン->s3foxを検索、インストールします.

Firefoxの再起動後、有効になります。

3.Firefox -> ツール -> S3 Organizer -> manage accounts
account name : 任意
access key : 指定のもの
secret key : 指定のもの
これで接続ができます。


これで簡単にS3にアップロードできます。

2012年10月31日水曜日

AmazonEC2でAndroidのビルド環境構築2(beagleboard接続)

Beagleboard-xmを起動させ作業用PCから接続します。

1. beagleboard-xmビルド済みイメージのダウンロード
[コンパイルされたAndroidの入手]
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/index_FDS.html
より「beagleboard-xm.tar.gz」をダウンロード

[SDカードの作成]
$ tar xzvf beagleboard-xm.tar.gz
$ cd beagleboard-xm/
カードリーダーライターでmicroSDカードを認識後、
$ df (microSDカードのデバイス名を確認。例:/dev/sdb )
$ LANG=C sudo ./mkmmc-android.sh /dev/sdb
microSDカードを装着し、電源をいれます

これはAmazonEC2からはできないので、PC上に作成された仮想イメージで行います。

HDMI→DVIケーブルで接続されたモニタにAndroidが起動すればOKです。

2. Android SDKのコマンドラインツール の利用
[パスを通す]
/home/ubuntu/.bashrc に下記を追加
export PATH=$PATH:/home/ubuntu/Desktop/eclipse/android-sdk-linux/platform-tools (adb)
export PATH=$PATH:/home/ubuntu/Desktop/eclipse/android-sdk-linux/tools   (ddms,emulator)
@ubuntu:~$ source ~/.bashrc

[emulatorコマンド]
@ubuntu:~$ emulator -avd avd2.3.3

3. ボードとPCの接続
ボードとの接続は2通りあります。
・ネットワーク経由
・USB接続(miniUSBポート利用)

続きは後で。

AmazonEC2でAndroidのビルド環境構築5(ファイル共有)

Ubuntuで作成したファイルを共有する方法です。
今回はUbuntu Oneを利用します。

1.Ubuntu One起動

パスフレーズを入力(キーリング:defaultのパスワード)


画面が起動し、ブラウザも起動する。この状態だとunknown

ブラウザでIDを持ってなければ、作成する。


IDを作成してログインすると
「PCが登録されていなければ、UbuntuPCを登録するようにする」

PCを追加すると、次の画面がでてくる

アプリケーションに戻り「Connect」を押す

成功すると、ホームディレクトリに「Ubuntu One」というフォルダがあり、同期がとれる状態になっている。
そこにファイルをいれると同期ができる。

Windows、MACからもUbuntu One用のソフトがあるので、それを利用すれば簡単に共有ができる。「Dropbox」のイメージで結構使いやすく、同期も早そう。

2012年10月30日火曜日

JavaBeansプログラミング3(フォーム利用:MVC)

フォーム(HTML)、受け取り(Servlet)、データ格納(JavaBeans)、データ表示(JSP)を行います。
MVCで行います。
M:JavaBeans、V:JSP、C:Servletです。

1.Tomcatプロジェクト作成
プロジェクト名:HelloMVC
ルートディレクトリ:sample

パッケージ作成
パッケージ名:hellomvc

ファイル作成
・sample/form.html
・sample/HelloMVC.jsp
・sample/WEB-INF/src/hellomvc/HelloMVC_Servlet.java
・sample/WEB-INF/src/hellomvc/HelloMVC_Bean.java
・sample/WEB-INF/web.xml




IDとパスワードの変更画面(入力して表示するだけ)を作成します。

2.コード作成
2-1 HTMLフォーム
[form.html]

ソースコードはこちら




[HelloMVC_Servlet.java]

package hellomvc;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloMVC_Servlet extends HttpServlet {
  /**
*
*/
private static final long serialVersionUID = -1378958237392312712L;

public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
// リクエストパラメータの文字エンコーディングを設定
request.setCharacterEncoding("Windows-31J");
// JavaBeansSendMailをインスタンス化
HelloMVC_Bean objBean = new HelloMVC_Bean();

objBean.setId(request.getParameter("user"));
objBean.setPassword(request.getParameter("passwd"));

// HelloMVC_Beanクラスをリクエスト属性にセット.これがないとJSP側で同じオブジェクトを使えません。
request.setAttribute("mvc",objBean);
   // 処理をHelloMVC.jspに転送
  getServletContext().getRequestDispatcher("/HelloMVC.jsp").
  forward(request,response);
  }
}



[HelloMVC_Bean.java]

package hellomvc;

public class HelloMVC_Bean {

// 各種パラメータを保存するプライベート変数を定義
  private String id;
  private String password;

// コンストラクタ
  public HelloMVC_Bean(){
  }

  // 各種プロパティのアクセサメソッド
  public String getId(){
  return id;
  }
  public String getPassword(){
                  return password;
          }

  public void setId(String id){
  this.id=id;
  }
  public void setPassword(String password){
  this.password=password;
  }

}



[HelloMVC.jsp]

<a href="https://docs.google.com/open?id=0B2K8r-qA0vpLTDJESFdwdWtKazg">ソースはこちら</a>[web.xml]
ソースはこちら

うまく実行できれば




①HTML(フォーム)から情報をServletに送信します。

②サーブレットでは

JavaBeanのクラスインスタンスを生成し
HelloMVC_Bean objBean = new HelloMVC_Bean();



objBean.setId(request.getParameter("user"));
objBean.setPassword(request.getParameter("passwd"));

パラメータを受け取り格納します。

その後JSPで同じオブジェクトを利用できるように、オブジェクトをJSPに転送します
// HelloMVC_Beanクラスをリクエスト属性にセット.これがないとJSP側で同じオブジェクトを使えません。
request.setAttribute("mvc",objBean);
   // 処理をHelloMVC.jspに転送
  getServletContext().getRequestDispatcher("/HelloMVC.jsp").
  forward(request,response);

③JSPでは同じオブジェクトを利用し、表示します。

この流れがMVC基本形です。
HTML,Servlet(C),JavaBeans(M),JSP(V)の連携を理解してください。

2012年10月29日月曜日

JavaBeansプログラミング2(HelloServlet)

Servletの確認を行います。

1.プロジェクト、ファイル作成
Tomcatプロジェクトを作成し、
パッケージ名:hello
クラス名:HelloServlet.java
ルートディレクトリ/sample/
を作成します。

2.Servlet用ファイル作成
パッケージ作成「hello」
sample/WEB-INF/src/hello

helloパッケージの中に「HelloWorld.java」を作成


[HelloWorld.java]

package hello; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { /** * */ private static final long serialVersionUID = -2003654477020348689L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("&lt;html&gt;"); out.println("&lt;head&gt;"); out.println("&lt;title&gt;Hello World Servlet!&lt;/title&gt;"); out.println("&lt;/head&gt;"); out.println("&lt;body&gt;"); out.println("&lt;h1&gt;Hello World Servlet!&lt;/h1&gt;"); out.println("&lt;/body&gt;"); out.println("&lt;/html&gt;"); } }

ここで



private static final long serialVersionUID = -2003654477020348689L;はServletではserial IDを振ることになっているので&#12289;警告がでます&#12290;クラス名を右クリックして自動生成します&#12290;doGet()はデフォルトです&#12290;何も指定しなければdoGet()メソッドが呼ばれます&#12290;3. web.xml作成sample/WEB-INF/の中にweb.xmlを作成します&#12290;


[web.xml]



4. 表示http://localhost:8080/HelloServlet/hello/HelloServletプロジェクト名/パッケージ名/ソース名

が表示されればここまで大丈夫です&#12290;

JavaBeansプログラミング1(JSPタグ利用方法)

JavaBeansプログラミングの基本です。

http://sdc.sangi.jp/2012/10/macjsp.html
で作成したプロジェクトをそのまま利用します。

1. JavaBeans用パッケージを追加します。
sample/WEB-INF/src の下にパッケージを作成します。
今回は「javaBeans」とします。



同じくクラスをこのパッケージの中に作成します.


2. javaBeansファイルの作成
(慣例的にJavaBeansのクラス名の最後はBeanにします。)
ファイル名「BicycleBean.java」

package javabeans;

public class BicycleBean {

private int number;

public int getNumber(){
return number;
}

public void setNumber(int num){
this.number = num;
}

}

3.  javaBeansにアクセスするタグ
[JSPからjavaBeansのオブジェクト生成]
scope:使用するBeanのスコープを「page、request、session、application」から指定。 初期値 : page

[プロパティに値を設定するsetter]


[プロパティから値を取り出すgetter]

4. JSP作成

<%@ page contentType="text/html; charset=Shift_JIS" %>
<html>
<head>
<title>Hello! JSP</title>
</head>

<jsp:useBean id="bicycle" scope="page" class="javabeans.BicycleBean"/>
<jsp:setProperty name="bicycle" property="number" value="10"/>

<body>
<%
    String item = "Hello JSP!";
%>
<h2>
<%=item%>
<h2/>

バイクの台数は:${bicycle.number}台です。<br>

バイクの台数は:<jsp:getProperty name="bicycle" property="number" />台です。<br>

</body>
</html>

アクセスすると、下記が見られます。

2012年10月25日木曜日

AmazonEC2でAndroidのビルド環境構築4(ビルド実行)

AmazonEC2を利用してLinuxのビルド、Androidのビルドを行います。

実験としてインスタンスを変更してどの位ビルド時間がちがうか確認します。
Linux、Androidともに初回のビルドの環境で行います。
簡単なスクリプトを記述して、準備します。

[Linuxビルド用スクリプト]

#!/bin/bash

echo "Small Instance" >> result.txt
echo "Linux Build" >> result.txt
echo "start" >> result.txt
date >> result.txt

cd $HOME/rowboat-android/kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- distclean
make ARCH=arm CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig
make ARCH=arm CROSS_COMPILE=arm-eabi- uImage

cd ..
echo "end" >> result.txt
date >> result.txt
echo "----------------------------------" >> result.txt
echo "----------------------------------" >> result.txt

[Androidビルド用スクリプト]

#!/bin/bash

echo "Small Instance" >> result.txt
echo "Android Build" >> result.txt
echo "start" >> result.txt
date >> result.txt

cd $HOME/rowboat-android/
make TARGET_PRODUCT=beagleboard OMAPES=5.x

echo "end" >> result.txt
date >> result.txt
echo "----------------------------------" >> result.txt
echo "----------------------------------" >> result.txt

ここまで準備ができたらインスタンスをstopして、対象インスタンスにチェック。
-> Create image -> AMIsに作成される
AMIsで対象にチェックし -> Launch
後はインスタンスタイプなどを決めていつもと同じように起動します。

[Linuxビルド所用時間]

Micro Instance
Linux Build
start
Wed Oct 24 15:38:52 UTC 2012
end
Wed Oct 24 16:40:08 UTC 2012
----------------------------------
----------------------------------
1時間1分16秒


Small Instance
Linux Build
start
Wed Oct 24 16:12:32 UTC 2012
end
Wed Oct 24 16:32:11 UTC 2012
----------------------------------
----------------------------------
19分28秒


HIGH CPU Medium Instance
Linux Build
start
Wed Oct 24 16:26:09 UTC 2012
end
Wed Oct 24 16:36:27 UTC 2012
----------------------------------
----------------------------------
10分18秒


Medium Instance
Linux Build
start
Wed Oct 24 16:32:36 UTC 2012
end
Wed Oct 24 16:42:56 UTC 2012
----------------------------------
----------------------------------
10分20秒

Large Instance
Linux Build
start
Thu Oct 25 06:42:29 UTC 2012
end
Thu Oct 25 06:53:35 UTC 2012
----------------------------------
----------------------------------
11分6秒

Extra Large Instance
Linux Build
start
Thu Oct 25 06:46:45 UTC 2012
end
Thu Oct 25 06:57:49 UTC 2012
----------------------------------
----------------------------------
 11分4秒

High CPU Extra Large Instance
Linux Build
start
Thu Oct 25 06:52:50 UTC 2012
end
Thu Oct 25 07:04:15 UTC 2012
----------------------------------
----------------------------------
11分25秒

########2012/11/11追加#########
各インスタンスでビルド時にジョブ数(コア数)をを指定した場合
make ARCH=arm CROSS_COMPILE=arm-eabi- uImage -jx


Large Instance Core2
Linux Build
start
Sun Nov 11 14:58:44 UTC 2012
end
Sun Nov 11 15:04:47 UTC 2012
----------------------------------
----------------------------------

6分3秒


Extra Large Instance 4Core
Linux Build
start
Tue Nov 13 19:29:40 UTC 2012
end
Tue Nov 13 19:34:18 UTC 2012
----------------------------------
----------------------------------
4分38秒


High Memory Extra Large Instance 2Core
Linux Build
start
Tue Nov 13 19:33:05 UTC 2012
end
Tue Nov 13 19:38:08 UTC 2012
----------------------------------
----------------------------------
5分3秒


High Memory Double Extra Large Instance 4Core
Linux Build
start
Tue Nov 13 19:56:56 UTC 2012
end
Tue Nov 13 19:59:27 UTC 2012
----------------------------------
----------------------------------
2分31秒


High Memory Quad Extra Large Instance 8Core
Linux Build
start
Tue Nov 13 20:06:26 UTC 2012
end
Tue Nov 13 20:09:12 UTC 2012
----------------------------------
----------------------------------
2分46秒


High CPU Medium Instance 2Core
Linux Build
start
Wed Nov 14 13:02:43 UTC 2012
end
Wed Nov 14 13:09:25 UTC 2012
----------------------------------
----------------------------------
6分42秒


High CPU Extra Large Instance 8Core
Linux Build
start
Wed Nov 14 13:09:02 UTC 2012
end
Wed Nov 14 13:12:03 UTC 2012
----------------------------------
----------------------------------
3分1秒


[Androidビルド所用時間]
Micro Instance
Android Build
ビルドできず
----------------------------------
----------------------------------

Small Instance
Android Build
start
Wed Oct 24 20:32:33 UTC 2012
end
Thu Oct 25 00:45:13 UTC 2012
----------------------------------
----------------------------------
4時間12分40秒

High CPU Medium Instance
Android Build
start
Wed Oct 24 20:34:05 UTC 2012
end
Wed Oct 24 22:25:59 UTC 2012
----------------------------------
----------------------------------
1時間51分54秒

Medium Instance
Android Build
start
Wed Oct 24 20:34:14 UTC 2012
end
Wed Oct 24 22:38:44 UTC 2012
----------------------------------
----------------------------------
2時間4分30秒

Large Instance
Android Build
start
Thu Oct 25 06:54:53 UTC 2012
end
Thu Oct 25 08:46:59 UTC 2012
----------------------------------
----------------------------------
1時間52分6秒

Extra Large Instance
Android Build
start
Thu Oct 25 07:00:15 UTC 2012
end
Thu Oct 25 08:47:31 UTC 2012
----------------------------------
----------------------------------
 1時間47分16秒

High CPU Extra Large Instance
Android Build
start
Thu Oct 25 07:07:29 UTC 2012
end
Thu Oct 25 09:01:06 UTC 2012
----------------------------------
----------------------------------
1時間53分37秒

e-learning学会論文用計測データ


sangi.mobile1を使用

PC
Google drive
00'13"62
00'08"87
00'07"88

wordファイル
00'17"28
00'13"72
00'13"41


Galaxy Tab
Google drive(ブラウザで表示)
01'09"75
00'38"77
00'42"57
00'41"84
00'38"85
00'51"99
00'49"50

wordファイル(Olive Office)
03'33"61
03'33"35
03'35"72



iPad
Google drive(ブラウザで表示)
00'10"84
00'50"18

00'12"75
00'09"59
00'51"98
00'09"54
00'07"42
00'10"35

wordファイル(ブラウザ)
00'09"30
00'09"32
00'09"71
00'08"06


時間にばらつきがありますが、明らかに遅いものは恐らくモバイルルータの3G回線が入っていなかったんだと思います。

PCはdrive(ドキュメント)はブラウザ、wordファイルはダウンロードが完了されるまでの時間です。

Galaxy Tabは、driveはブラウザ、wordファイルはアプリ(OliveOffice)で表示されるまでの時間です。

iPadは、drive、wordファイルどちらもブラウザで表示されるまでの時間です。



2012年10月24日水曜日

動画制作の環境設定


【動画制作の環境設定】
先に用意するもの
・PowerPoint2010 以上

----------------------
以下のものをダウンロード、設定します。
1.PowerPointの音声設定
2.XMedia Recode (動画ファイルの形式変換ソフト)
3.AG-デスクトップレコーダー (動画キャプチャソフト)

----------------------
■1.PowerPointの音声設定
下記に必要なファイル・設定はまとめてあります。
http://office.microsoft.com/ja-jp/powerpoint-help/HA101825279.aspx
設定がすべて完了したら
1.PowerPointを開き、適当な文章を入力
2.文章を選択して反転
3.読み上げボタンを押す
音声が文章を読み上げれば成功です。




■2.XMedia Recode (動画ファイルの形式変換ソフト)
下記のページから
http://www.xmedia-recode.de/download.html
「xmedia-recode」をダウンロード
※最新版なら一番上、安定板は一番下のようです。どちらでもOK
スクリーンショットは最新版を示してます。
インストールしてください。
動画ファイルの変換ソフトです。

1.変換したいファイルの読み込み
2.変換したい形式の選択
    PowerPointに貼り付ける際、
       動画        : WMV(Windows Media Video)形式
       音楽(音声)  : MP3形式
    にしておくと都合がいいです。
3.変換したファイルの保存先選択
4.リストに追加ボタンを押す
5.エンコードを押して変換が始まります(時間がかかる可能性があります)
 


詳しい使い方↓
http://www.gigafree.net/media/conv/xmediarecode.html



■3.AG-デスクトップレコーダー (動画キャプチャソフト)
下記のページから
http://t-ishii.la.coocan.jp/download/AGDRec.html

AG-デスクトップレコーダーをダウンロードしてインストール
PC画面をそのまま録画して動画ファイルにするソフトです。
音声も録れます。

※音声のみは録れないので、音声のみ欲しい場合は
AG-デスクトップレコーダーで音声付き動画を撮影 → XMedia Recodeで音声だけを抽出の手順です。

このソフトについては後程また追記します。


詳しい使い方↓
http://www.gigafree.net/media/recording/agdesktoprecorder.html

2012年10月23日火曜日

AmazonEC2でAndroidのビルド環境構築3(ビルド環境準備)

Ubuntu10.04上にAndroidのビルド環境を用意します。

1. Androidのビルドに必要なソフトウェアをインストール
Ubuntu10.04上で作業します。
(i) Androidのビルドに必要なソフトウェアのインストール
~$ sudo apt-get update
~$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zligb1g-dev gcc-multilib g++-multilib lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev uboot-mkimage
※うまくいかない場合もあるので1つずつインストールした方が無難かも

※32bit版Ubuntuの場合には
lib32ncurses5-dev , lib32readline5-dev lib32z-dev はインストール不要
libncurses5-dev がインストール必要

2. DevKitのインストール
DevKitと呼ばれるrowboatの開発者向けソフトウェア群をインストール
ビルドにはAOSPに含まれる開発ツールだけでは不足している のでDevKitで不足を補える
(ii) DevKitのインストール
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_4_DevKit_2_1/index_FDS.html
より「TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz」をダウンロード

$ tar xzvf TI_Android_GingerBread_2_3_4_DevKit_2_1.tar.gz -C $HOME
$ mkdir $HOME/bin
$ cd $HOME/bin
~/bin$ cp /home/Ubuntu/TI_Android_GingerBread_2_3_4_DevKit_2_1/Tools/signGP/signGP $HOME/bin
~/bin$ gedit $HOME/.bashrc
最終行に export PATH=$PATH:$HOME/bin を追加
~/bin$ source $HOME/.bashrc


3. ソースコードのダウンロード 
[repoコマンド設定]
~$ cd $HOME/bin
~/bin$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > $HOME/bin/repo
~/bin$ chmod a+x repo

[Android2.3のソースコードのダウンロード]
~$ mkdir $HOME/rowboat-android
~$ cd $HOME/rowboat-android
~/rowboat-android$ repo init -u git://gitorious.org/rowboat/manifest.git -m TI-Android-GingerBread-2.3.4-DevKit-2.1.xml

途中下記を聞いてきますが、デフォルトで答えます
Your Name  [Ubuntu]: 
Your Email [ubuntu@ip-10-150-101-252.ap-northeast-1.compute.internal]: 

Your identity is: Ubuntu
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white 
  bold     dim      ul       reverse 
Enable color display in this user account (y/N)? y

repo initialized in /home/ubuntu/rowboat-android


~/rowboat-android$ repo sync -j4 (時間がかかる:90分程度でした)
-j4はコア数によって。-j4は無くても良いです。

[パスの設定]
~/rowboat-android$ gedit $HOME/.bashrc
export PATH=$HOME/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
最終行に追加
~/rowboat-android$ source $HOME/.bashrc

[補足]
repoでソースコードをダウンロードしているときに容量の不足になってしまいました。
(8GByteしかEBSでとってなかったので当然ですが)
8GByte→30GByteに拡張します。
(i) 対象のインスタンスを「stop」
(ii) ELASTIC VOLUME STORE -> Volumes ->対象のVolumeにチェック -> Create Snapshot
(iii) 作成されたSnapshotにチェックし -> Create Volume
※ZONEもインスタンスとそろえないと接続できないようです。
(iv) 今までついていた8GのVolumeをチェックし、-> Detach Volume をクリックしインスタンスからはずす
(v) 新しく作成したVolumeをチェックして、Attach Volumeをチェックし「/dev/sda1」として接続
(vi) インスタンスをスタート
(vii) sshで接続して見てみるとまだ反映されていません。

$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              8256952   7783216     54308 100% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        80    880664   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt


(viii) リサイズ sudo resize2fs /dev/sda1を実行

$ sudo resize2fs /dev/sda1
resize2fs 1.41.11 (14-Mar-2010)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/sda1 to 7864320 (4k) blocks.
The filesystem on /dev/sda1 is now 7864320 blocks long.

~$ df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             30963708   7788064  21603064  27% /
none                    830400       116    830284   1% /dev
none                    880744         0    880744   0% /dev/shm
none                    880744        76    880668   1% /var/run
none                    880744         0    880744   0% /var/lock
none                    880744         0    880744   0% /lib/init/rw
/dev/sdb             153899044    192068 145889352   1% /mnt
これでEBS容量の拡張ができました。

2012年10月22日月曜日

AmazonEC2でAndroidのビルド環境構築1(アプリ開発環境)

AmazonEC2でAndroidのビルド環境構築の方法です。

1. Eclipseのダウンロード及び設定
$ sudo apt-get install openjdk-6-jdk
$ sudo apt-get install ia32-libs

ブラウザからEclipse IDE for Java Developers 4.2 をデスクトップにダウンロード
展開
$tar zxvf eclipse-java-juno-linux-gtk-x86_64.tar.gz

念のため、Javaのバージョンを確認しておく
$ java -version

java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.10.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

Eclipseを立ち上げる.


※microインスタンスではEclipseを立ち上げると落ちてしまう。
ここからsmallインスタンスに変更します。
※インスタンスをstopして、change Instance Typeでsmallにします。
public DNSも変更されます。

2. ADTのインストール
[help]⇒[Install New Software...]
名前:Android
URL:https://dl-ssl.google.com/android/eclipse/を入力
Developers Toolsを選択
(NDKは不要)インストール
同意してインストールを開始

3. Android SDKのインストール
ADTインストール後、Eclipse再起動時にインストール画面がでてくる
デフォルトだと最新版しかインストールされない(4.2は必要無いのでチェックを外す)。
Android SDK Managerよりandroid 2.3.3をインストール
SDKの保存場所は /home/ubuntu/Desktop/eclipse/android-sdkとします

4. Android エミュレータの設定
[Android Virtual Device Managerを起動]
[Window]⇒[AVD Manager]から起動
[AVDの作成]
AVDの[New]ボタンより作成
NameにAVD2.3.3
TargetにAndroid2.3.3-API Level 10を選択
[Create AVD]ボタンを押す


[エミュレータの起動]
作成したAVD2.3.3を選択し、[Start]ボタンを押す

ここまででAndroidのアプリ開発はOKです。